effect 4.0.1 → 4.0.2

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 (917) 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 +21 -0
  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 +5 -0
  76. package/dist/Crypto.d.ts.map +1 -1
  77. package/dist/Crypto.js +3 -0
  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 +171 -0
  84. package/dist/DateTime.d.ts.map +1 -1
  85. package/dist/DateTime.js +89 -0
  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 +90 -0
  95. package/dist/Duration.d.ts.map +1 -1
  96. package/dist/Duration.js +53 -0
  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 +15 -0
  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 +496 -1
  389. package/dist/Schema.d.ts.map +1 -1
  390. package/dist/Schema.js +280 -1
  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 +7 -0
  440. package/dist/Stdio.d.ts.map +1 -1
  441. package/dist/Stdio.js +5 -0
  442. package/dist/Stdio.js.map +1 -1
  443. package/dist/Stream.d.ts +558 -0
  444. package/dist/Stream.d.ts.map +1 -1
  445. package/dist/Stream.js +261 -13
  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 +32 -11
  560. package/dist/ai/McpServer.d.ts.map +1 -1
  561. package/dist/ai/McpServer.js +213 -169
  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/mcpRuntime.js +79 -46
  568. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  569. package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
  570. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  571. package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
  572. package/dist/cluster/K8sHttpClient.js +5 -2
  573. package/dist/cluster/K8sHttpClient.js.map +1 -1
  574. package/dist/encoding/Base64.d.ts +4 -0
  575. package/dist/encoding/Base64.d.ts.map +1 -1
  576. package/dist/encoding/Base64.js +4 -0
  577. package/dist/encoding/Base64.js.map +1 -1
  578. package/dist/encoding/Base64Url.d.ts +4 -0
  579. package/dist/encoding/Base64Url.d.ts.map +1 -1
  580. package/dist/encoding/Base64Url.js +4 -0
  581. package/dist/encoding/Base64Url.js.map +1 -1
  582. package/dist/encoding/EncodingError.d.ts +4 -0
  583. package/dist/encoding/EncodingError.d.ts.map +1 -1
  584. package/dist/encoding/EncodingError.js +4 -0
  585. package/dist/encoding/EncodingError.js.map +1 -1
  586. package/dist/encoding/Hex.d.ts +5 -0
  587. package/dist/encoding/Hex.d.ts.map +1 -1
  588. package/dist/encoding/Hex.js +5 -0
  589. package/dist/encoding/Hex.js.map +1 -1
  590. package/dist/encoding/Toml.js +2 -2
  591. package/dist/encoding/Toml.js.map +1 -1
  592. package/dist/encoding/Yaml.d.ts.map +1 -1
  593. package/dist/encoding/Yaml.js +6 -4
  594. package/dist/encoding/Yaml.js.map +1 -1
  595. package/dist/encoding/index.d.ts +4 -0
  596. package/dist/encoding/index.d.ts.map +1 -1
  597. package/dist/encoding/index.js +4 -0
  598. package/dist/encoding/index.js.map +1 -1
  599. package/dist/eventlog/SqlEventJournal.js +8 -4
  600. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  601. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
  602. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  603. package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
  604. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  605. package/dist/http/Headers.d.ts +3 -1
  606. package/dist/http/Headers.d.ts.map +1 -1
  607. package/dist/http/Headers.js +4 -2
  608. package/dist/http/Headers.js.map +1 -1
  609. package/dist/http/HttpClient.d.ts +9 -0
  610. package/dist/http/HttpClient.d.ts.map +1 -1
  611. package/dist/http/HttpClient.js +40 -21
  612. package/dist/http/HttpClient.js.map +1 -1
  613. package/dist/http/HttpClientResponse.js +3 -1
  614. package/dist/http/HttpClientResponse.js.map +1 -1
  615. package/dist/http/HttpEffect.d.ts +3 -0
  616. package/dist/http/HttpEffect.d.ts.map +1 -1
  617. package/dist/http/HttpEffect.js +5 -2
  618. package/dist/http/HttpEffect.js.map +1 -1
  619. package/dist/http/HttpMiddleware.d.ts +17 -0
  620. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  621. package/dist/http/HttpMiddleware.js +56 -39
  622. package/dist/http/HttpMiddleware.js.map +1 -1
  623. package/dist/http/HttpServer.d.ts +1 -1
  624. package/dist/http/HttpServer.d.ts.map +1 -1
  625. package/dist/http/internal/tracing.d.ts +2 -0
  626. package/dist/http/internal/tracing.d.ts.map +1 -0
  627. package/dist/http/internal/tracing.js +37 -0
  628. package/dist/http/internal/tracing.js.map +1 -0
  629. package/dist/http-api/HttpApiBuilder.js +2 -1
  630. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  631. package/dist/http-api/HttpApiClient.d.ts +12 -3
  632. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  633. package/dist/http-api/HttpApiClient.js.map +1 -1
  634. package/dist/http-api/HttpApiError.d.ts +4 -3
  635. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  636. package/dist/http-api/HttpApiError.js +7 -4
  637. package/dist/http-api/HttpApiError.js.map +1 -1
  638. package/dist/http-api/HttpApiSecurity.d.ts +8 -8
  639. package/dist/http-api/HttpApiSecurity.js +8 -8
  640. package/dist/index.d.ts +155 -0
  641. package/dist/index.d.ts.map +1 -1
  642. package/dist/index.js +155 -0
  643. package/dist/index.js.map +1 -1
  644. package/dist/internal/arbitrary/array.js +3 -3
  645. package/dist/internal/arbitrary/array.js.map +1 -1
  646. package/dist/internal/arbitrary/model.js +26 -11
  647. package/dist/internal/arbitrary/model.js.map +1 -1
  648. package/dist/internal/arbitrary/runner.js +8 -8
  649. package/dist/internal/arbitrary/runner.js.map +1 -1
  650. package/dist/internal/arbitrary/schema.js +4 -5
  651. package/dist/internal/arbitrary/schema.js.map +1 -1
  652. package/dist/internal/effect.js +41 -39
  653. package/dist/internal/effect.js.map +1 -1
  654. package/dist/internal/schedule.js +7 -5
  655. package/dist/internal/schedule.js.map +1 -1
  656. package/dist/internal/schema/standardSchema.js +2 -2
  657. package/dist/internal/schema/standardSchema.js.map +1 -1
  658. package/dist/internal/version.d.ts +2 -0
  659. package/dist/internal/version.d.ts.map +1 -0
  660. package/dist/internal/version.js +3 -0
  661. package/dist/internal/version.js.map +1 -0
  662. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  663. package/dist/observability/OtlpExporter.js +5 -6
  664. package/dist/observability/OtlpExporter.js.map +1 -1
  665. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  666. package/dist/observability/OtlpLogger.js +23 -27
  667. package/dist/observability/OtlpLogger.js.map +1 -1
  668. package/dist/observability/OtlpMetrics.d.ts +5 -3
  669. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  670. package/dist/observability/OtlpMetrics.js +21 -94
  671. package/dist/observability/OtlpMetrics.js.map +1 -1
  672. package/dist/observability/OtlpResource.d.ts +4 -3
  673. package/dist/observability/OtlpResource.d.ts.map +1 -1
  674. package/dist/observability/OtlpResource.js +20 -23
  675. package/dist/observability/OtlpResource.js.map +1 -1
  676. package/dist/observability/OtlpTracer.d.ts +1 -0
  677. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  678. package/dist/observability/OtlpTracer.js +32 -36
  679. package/dist/observability/OtlpTracer.js.map +1 -1
  680. package/dist/observability/internal/otlpProtobuf.js +32 -1
  681. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  682. package/dist/reactivity/AsyncResult.d.ts +1 -1
  683. package/dist/reactivity/Atom.d.ts +5 -5
  684. package/dist/reactivity/Atom.d.ts.map +1 -1
  685. package/dist/reactivity/Atom.js +9 -5
  686. package/dist/reactivity/Atom.js.map +1 -1
  687. package/dist/reactivity/AtomHttpApi.d.ts +2 -2
  688. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  689. package/dist/reactivity/AtomRegistry.d.ts +8 -0
  690. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  691. package/dist/reactivity/AtomRegistry.js.map +1 -1
  692. package/dist/rpc/RpcClient.d.ts +21 -3
  693. package/dist/rpc/RpcClient.d.ts.map +1 -1
  694. package/dist/rpc/RpcClient.js +38 -20
  695. package/dist/rpc/RpcClient.js.map +1 -1
  696. package/dist/rpc/RpcServer.d.ts.map +1 -1
  697. package/dist/rpc/RpcServer.js +18 -21
  698. package/dist/rpc/RpcServer.js.map +1 -1
  699. package/dist/rpc/internal/tracing.d.ts +2 -0
  700. package/dist/rpc/internal/tracing.d.ts.map +1 -0
  701. package/dist/rpc/internal/tracing.js +18 -0
  702. package/dist/rpc/internal/tracing.js.map +1 -0
  703. package/dist/schema/SchemaCompiler/runtime.js +9 -1
  704. package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
  705. package/dist/sql/SqlClient.js +4 -4
  706. package/dist/sql/SqlClient.js.map +1 -1
  707. package/dist/sql/Statement.d.ts +21 -1
  708. package/dist/sql/Statement.d.ts.map +1 -1
  709. package/dist/sql/Statement.js +55 -7
  710. package/dist/sql/Statement.js.map +1 -1
  711. package/dist/testing/TestClock.d.ts +8 -0
  712. package/dist/testing/TestClock.d.ts.map +1 -1
  713. package/dist/testing/TestClock.js +7 -0
  714. package/dist/testing/TestClock.js.map +1 -1
  715. package/dist/testing/TestConsole.d.ts +7 -0
  716. package/dist/testing/TestConsole.d.ts.map +1 -1
  717. package/dist/testing/TestConsole.js +6 -0
  718. package/dist/testing/TestConsole.js.map +1 -1
  719. package/dist/testing/index.d.ts +3 -0
  720. package/dist/testing/index.d.ts.map +1 -1
  721. package/dist/testing/index.js +3 -0
  722. package/dist/testing/index.js.map +1 -1
  723. package/package.json +3 -3
  724. package/src/Array.ts +351 -3
  725. package/src/BigDecimal.ts +88 -0
  726. package/src/BigInt.ts +68 -0
  727. package/src/Boolean.ts +34 -0
  728. package/src/Brand.ts +10 -0
  729. package/src/ByteSize.ts +87 -0
  730. package/src/Cache.ts +50 -8
  731. package/src/Cause.ts +82 -0
  732. package/src/Channel.ts +368 -18
  733. package/src/ChannelSchema.ts +13 -0
  734. package/src/Chunk.ts +193 -0
  735. package/src/Clock.ts +7 -0
  736. package/src/Combiner.ts +10 -0
  737. package/src/Config.ts +82 -8
  738. package/src/ConfigProvider.ts +28 -0
  739. package/src/Console.ts +26 -0
  740. package/src/Context.ts +50 -0
  741. package/src/Cron.ts +32 -1
  742. package/src/Crypto.ts +5 -0
  743. package/src/Data.ts +13 -0
  744. package/src/DateTime.ts +171 -0
  745. package/src/Deferred.ts +51 -0
  746. package/src/Differ.ts +2 -0
  747. package/src/Duration.ts +90 -0
  748. package/src/Effect.ts +539 -5
  749. package/src/Effectable.ts +4 -0
  750. package/src/Equal.ts +12 -1
  751. package/src/Equivalence.ts +22 -0
  752. package/src/ErrorReporter.ts +36 -0
  753. package/src/ExecutionPlan.ts +58 -14
  754. package/src/Exit.ts +40 -0
  755. package/src/Fiber.ts +20 -0
  756. package/src/FiberHandle.ts +29 -4
  757. package/src/FiberMap.ts +38 -0
  758. package/src/FiberSet.ts +21 -0
  759. package/src/FileSystem.ts +16 -0
  760. package/src/Filter.ts +55 -0
  761. package/src/Formatter.ts +42 -1
  762. package/src/Function.ts +30 -0
  763. package/src/Graph.ts +317 -36
  764. package/src/HKT.ts +5 -0
  765. package/src/Hash.ts +15 -0
  766. package/src/HashMap.ts +91 -0
  767. package/src/HashRing.ts +18 -0
  768. package/src/HashSet.ts +53 -0
  769. package/src/Inspectable.ts +8 -0
  770. package/src/Iterable.ts +127 -0
  771. package/src/JsonPatch.ts +5 -0
  772. package/src/JsonPointer.ts +5 -0
  773. package/src/JsonSchema.ts +17 -0
  774. package/src/Latch.ts +14 -0
  775. package/src/Layer.ts +101 -1
  776. package/src/LayerMap.ts +7 -0
  777. package/src/LayerRef.ts +5 -0
  778. package/src/LogLevel.ts +20 -0
  779. package/src/Logger.ts +41 -5
  780. package/src/ManagedRuntime.ts +12 -1
  781. package/src/Match.ts +52 -0
  782. package/src/Metric.ts +69 -0
  783. package/src/MutableHashMap.ts +44 -0
  784. package/src/MutableHashSet.ts +17 -0
  785. package/src/MutableList.ts +21 -0
  786. package/src/MutableRef.ts +32 -0
  787. package/src/Newtype.ts +9 -0
  788. package/src/NonEmptyIterable.ts +4 -0
  789. package/src/Number.ts +61 -0
  790. package/src/Optic.ts +57 -0
  791. package/src/Option.ts +134 -0
  792. package/src/Order.ts +30 -0
  793. package/src/Ordering.ts +7 -0
  794. package/src/PartitionedSemaphore.ts +61 -22
  795. package/src/Path.ts +6 -0
  796. package/src/Pipeable.ts +7 -0
  797. package/src/PlatformError.ts +8 -0
  798. package/src/Pool.ts +20 -1
  799. package/src/Predicate.ts +85 -0
  800. package/src/PrimaryKey.ts +5 -0
  801. package/src/PubSub.ts +90 -9
  802. package/src/Pull.ts +20 -0
  803. package/src/Queue.ts +80 -10
  804. package/src/Random.ts +13 -0
  805. package/src/RcMap.ts +23 -0
  806. package/src/RcRef.ts +6 -0
  807. package/src/Record.ts +100 -0
  808. package/src/Redactable.ts +6 -0
  809. package/src/Redacted.ts +8 -0
  810. package/src/Reducer.ts +4 -0
  811. package/src/Ref.ts +42 -0
  812. package/src/References.ts +21 -0
  813. package/src/RegExp.ts +4 -0
  814. package/src/Request.ts +32 -0
  815. package/src/RequestResolver.ts +59 -10
  816. package/src/Resource.ts +7 -0
  817. package/src/Result.ts +93 -0
  818. package/src/Runtime.ts +10 -0
  819. package/src/Schedule.ts +61 -0
  820. package/src/Scheduler.ts +7 -0
  821. package/src/Schema.ts +499 -4
  822. package/src/SchemaAST.ts +115 -1
  823. package/src/SchemaGetter.ts +80 -4
  824. package/src/SchemaIssue.ts +34 -0
  825. package/src/SchemaParser.ts +26 -0
  826. package/src/SchemaRepresentation.ts +148 -0
  827. package/src/SchemaTransformation.ts +53 -0
  828. package/src/Scope.ts +19 -0
  829. package/src/ScopedCache.ts +55 -3
  830. package/src/ScopedRef.ts +9 -0
  831. package/src/Semaphore.ts +26 -0
  832. package/src/Sink.ts +126 -2
  833. package/src/StandardSchema.ts +1 -0
  834. package/src/Stdio.ts +7 -0
  835. package/src/Stream.ts +622 -15
  836. package/src/String.ts +87 -0
  837. package/src/Struct.ts +46 -0
  838. package/src/SubscriptionRef.ts +65 -0
  839. package/src/Symbol.ts +2 -0
  840. package/src/SynchronizedRef.ts +63 -0
  841. package/src/Take.ts +3 -0
  842. package/src/Terminal.ts +8 -0
  843. package/src/Tracer.ts +23 -0
  844. package/src/Trie.ts +68 -0
  845. package/src/Tuple.ts +38 -0
  846. package/src/TxChunk.ts +52 -0
  847. package/src/TxDeferred.ts +15 -0
  848. package/src/TxHashMap.ts +97 -6
  849. package/src/TxHashSet.ts +83 -3
  850. package/src/TxPriorityQueue.ts +34 -2
  851. package/src/TxPubSub.ts +26 -0
  852. package/src/TxQueue.ts +51 -0
  853. package/src/TxReentrantLock.ts +53 -36
  854. package/src/TxRef.ts +14 -0
  855. package/src/TxSemaphore.ts +47 -31
  856. package/src/TxSubscriptionRef.ts +25 -0
  857. package/src/Types.ts +36 -0
  858. package/src/UndefinedOr.ts +15 -0
  859. package/src/Unify.ts +15 -0
  860. package/src/Utils.ts +4 -0
  861. package/src/Version.ts +38 -0
  862. package/src/ai/Chat.ts +1 -1
  863. package/src/ai/DecisionModel.ts +42 -1
  864. package/src/ai/LanguageModel.ts +16 -19
  865. package/src/ai/McpServer.ts +107 -36
  866. package/src/ai/Telemetry.ts +62 -58
  867. package/src/ai/internal/mcpRuntime.ts +84 -43
  868. package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
  869. package/src/cluster/K8sHttpClient.ts +12 -2
  870. package/src/encoding/Base64.ts +4 -0
  871. package/src/encoding/Base64Url.ts +4 -0
  872. package/src/encoding/EncodingError.ts +5 -0
  873. package/src/encoding/Hex.ts +5 -0
  874. package/src/encoding/Toml.ts +2 -2
  875. package/src/encoding/Yaml.ts +8 -4
  876. package/src/encoding/index.ts +4 -0
  877. package/src/eventlog/SqlEventJournal.ts +18 -4
  878. package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
  879. package/src/http/Headers.ts +8 -2
  880. package/src/http/HttpClient.ts +44 -27
  881. package/src/http/HttpClientResponse.ts +3 -1
  882. package/src/http/HttpEffect.ts +11 -2
  883. package/src/http/HttpMiddleware.ts +60 -45
  884. package/src/http/HttpServer.ts +1 -1
  885. package/src/http/internal/tracing.ts +52 -0
  886. package/src/http-api/HttpApiBuilder.ts +5 -1
  887. package/src/http-api/HttpApiClient.ts +13 -4
  888. package/src/http-api/HttpApiError.ts +8 -4
  889. package/src/http-api/HttpApiSecurity.ts +8 -8
  890. package/src/index.ts +156 -0
  891. package/src/internal/arbitrary/array.ts +3 -3
  892. package/src/internal/arbitrary/model.ts +37 -14
  893. package/src/internal/arbitrary/runner.ts +7 -7
  894. package/src/internal/arbitrary/schema.ts +4 -3
  895. package/src/internal/effect.ts +47 -45
  896. package/src/internal/schedule.ts +23 -17
  897. package/src/internal/schema/standardSchema.ts +2 -2
  898. package/src/internal/version.ts +2 -0
  899. package/src/observability/OtlpExporter.ts +9 -6
  900. package/src/observability/OtlpLogger.ts +20 -21
  901. package/src/observability/OtlpMetrics.ts +34 -93
  902. package/src/observability/OtlpResource.ts +18 -27
  903. package/src/observability/OtlpTracer.ts +34 -40
  904. package/src/observability/internal/otlpProtobuf.ts +60 -0
  905. package/src/reactivity/AsyncResult.ts +1 -1
  906. package/src/reactivity/Atom.ts +10 -6
  907. package/src/reactivity/AtomHttpApi.ts +2 -4
  908. package/src/reactivity/AtomRegistry.ts +7 -0
  909. package/src/rpc/RpcClient.ts +48 -24
  910. package/src/rpc/RpcServer.ts +26 -24
  911. package/src/rpc/internal/tracing.ts +22 -0
  912. package/src/schema/SchemaCompiler/runtime.ts +4 -1
  913. package/src/sql/SqlClient.ts +4 -4
  914. package/src/sql/Statement.ts +59 -7
  915. package/src/testing/TestClock.ts +9 -0
  916. package/src/testing/TestConsole.ts +8 -0
  917. package/src/testing/index.ts +3 -0
package/src/TxQueue.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * full bounded queue. This makes the queue useful for coordinating producers
9
9
  * and consumers alongside other transactional state changes.
10
10
  *
11
+ * @stability stable
11
12
  * @since 4.0.0
12
13
  */
13
14
  import type * as Arr from "./Array.ts"
@@ -44,6 +45,7 @@ import type * as Types from "./Types.ts"
44
45
  * state._tag // => "Open"
45
46
  * ```
46
47
  *
48
+ * @stability stable
47
49
  * @category models
48
50
  * @since 4.0.0
49
51
  */
@@ -67,6 +69,7 @@ const TypeId = "~effect/TxQueue"
67
69
  /**
68
70
  * Namespace containing type definitions for TxEnqueue variance annotations.
69
71
  *
72
+ * @stability stable
70
73
  * @since 4.0.0
71
74
  */
72
75
  export declare namespace TxEnqueue {
@@ -85,6 +88,7 @@ export declare namespace TxEnqueue {
85
88
  /**
86
89
  * Namespace containing type definitions for TxDequeue variance annotations.
87
90
  *
91
+ * @stability stable
88
92
  * @since 4.0.0
89
93
  */
90
94
  export declare namespace TxDequeue {
@@ -103,6 +107,7 @@ export declare namespace TxDequeue {
103
107
  /**
104
108
  * Namespace containing type definitions for TxQueue variance annotations.
105
109
  *
110
+ * @stability stable
106
111
  * @since 4.0.0
107
112
  */
108
113
  export declare namespace TxQueue {
@@ -123,6 +128,7 @@ export declare namespace TxQueue {
123
128
  * This interface contains the core properties needed for queue state inspection
124
129
  * operations like size, capacity, and completion status.
125
130
  *
131
+ * @stability unstable
126
132
  * @category models
127
133
  * @since 4.0.0
128
134
  */
@@ -167,6 +173,7 @@ export interface TxQueueState extends Inspectable {
167
173
  * await Effect.runPromise(program) // => true
168
174
  * ```
169
175
  *
176
+ * @stability unstable
170
177
  * @category models
171
178
  * @since 4.0.0
172
179
  */
@@ -202,6 +209,7 @@ export interface TxEnqueue<in A, in E = never> extends TxQueueState {
202
209
  * await Effect.runPromise(program) // => [42, "processing failed", "processing failed"]
203
210
  * ```
204
211
  *
212
+ * @stability unstable
205
213
  * @category models
206
214
  * @since 4.0.0
207
215
  */
@@ -238,6 +246,7 @@ export interface TxDequeue<out A, out E = never> extends TxQueueState {
238
246
  * await Effect.runPromise(program) // => [true, 42, "queue failed"]
239
247
  * ```
240
248
  *
249
+ * @stability unstable
241
250
  * @category models
242
251
  * @since 4.0.0
243
252
  */
@@ -257,6 +266,7 @@ export interface TxQueue<in out A, in out E = never> extends TxEnqueue<A, E>, Tx
257
266
  * TxQueue.isTxEnqueue(someValue) // => false
258
267
  * ```
259
268
  *
269
+ * @stability unstable
260
270
  * @category guards
261
271
  * @since 4.0.0
262
272
  */
@@ -274,6 +284,7 @@ export const isTxEnqueue = <A = unknown, E = unknown>(u: unknown): u is TxEnqueu
274
284
  * TxQueue.isTxDequeue(someValue) // => false
275
285
  * ```
276
286
  *
287
+ * @stability unstable
277
288
  * @category guards
278
289
  * @since 4.0.0
279
290
  */
@@ -291,6 +302,7 @@ export const isTxDequeue = <A = unknown, E = unknown>(u: unknown): u is TxDequeu
291
302
  * TxQueue.isTxQueue(someValue) // => false
292
303
  * ```
293
304
  *
305
+ * @stability unstable
294
306
  * @category guards
295
307
  * @since 4.0.0
296
308
  */
@@ -352,6 +364,7 @@ const TxQueueProto = {
352
364
  * await Effect.runPromise(program) // => 1
353
365
  * ```
354
366
  *
367
+ * @stability unstable
355
368
  * @category constructors
356
369
  * @since 2.0.0
357
370
  */
@@ -399,6 +412,7 @@ export const bounded = <A = never, E = never>(
399
412
  * await Effect.runPromise(program) // => 2
400
413
  * ```
401
414
  *
415
+ * @stability unstable
402
416
  * @category constructors
403
417
  * @since 2.0.0
404
418
  */
@@ -442,6 +456,7 @@ export const unbounded = <A = never, E = never>(): Effect.Effect<TxQueue<A, E>>
442
456
  * await Effect.runPromise(program) // => false
443
457
  * ```
444
458
  *
459
+ * @stability unstable
445
460
  * @category constructors
446
461
  * @since 2.0.0
447
462
  */
@@ -489,6 +504,7 @@ export const dropping = <A = never, E = never>(
489
504
  * await Effect.runPromise(program) // => 2
490
505
  * ```
491
506
  *
507
+ * @stability unstable
492
508
  * @category constructors
493
509
  * @since 2.0.0
494
510
  */
@@ -533,6 +549,7 @@ export const sliding = <A = never, E = never>(
533
549
  * await Effect.runPromise(program) // => true
534
550
  * ```
535
551
  *
552
+ * @stability unstable
536
553
  * @category combinators
537
554
  * @since 2.0.0
538
555
  */
@@ -563,6 +580,7 @@ export const offer: {
563
580
  * await Effect.runPromise(program) // => true
564
581
  * ```
565
582
  *
583
+ * @stability unstable
566
584
  * @category combinators
567
585
  * @since 2.0.0
568
586
  */
@@ -593,6 +611,7 @@ export const offer: {
593
611
  * await Effect.runPromise(program) // => true
594
612
  * ```
595
613
  *
614
+ * @stability unstable
596
615
  * @category combinators
597
616
  * @since 2.0.0
598
617
  */
@@ -659,6 +678,7 @@ export const offer: {
659
678
  * await Effect.runPromise(program) // => []
660
679
  * ```
661
680
  *
681
+ * @stability unstable
662
682
  * @category combinators
663
683
  * @since 2.0.0
664
684
  */
@@ -686,6 +706,7 @@ export const offerAll: {
686
706
  * await Effect.runPromise(program) // => []
687
707
  * ```
688
708
  *
709
+ * @stability unstable
689
710
  * @category combinators
690
711
  * @since 2.0.0
691
712
  */
@@ -713,6 +734,7 @@ export const offerAll: {
713
734
  * await Effect.runPromise(program) // => []
714
735
  * ```
715
736
  *
737
+ * @stability unstable
716
738
  * @category combinators
717
739
  * @since 2.0.0
718
740
  */
@@ -766,6 +788,7 @@ export const offerAll: {
766
788
  * await Effect.runPromise(program) // => [42, Exit.fail("queue error")]
767
789
  * ```
768
790
  *
791
+ * @stability unstable
769
792
  * @category combinators
770
793
  * @since 2.0.0
771
794
  */
@@ -822,6 +845,7 @@ export const take = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
822
845
  * await Effect.runPromise(program) // => [Option.none(), Option.some(42)]
823
846
  * ```
824
847
  *
848
+ * @stability unstable
825
849
  * @category combinators
826
850
  * @since 2.0.0
827
851
  */
@@ -881,6 +905,7 @@ export const poll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Option.Option<A
881
905
  * await Effect.runPromise(errorExample) // => Exit.fail("processing error")
882
906
  * ```
883
907
  *
908
+ * @stability unstable
884
909
  * @category combinators
885
910
  * @since 2.0.0
886
911
  */
@@ -939,6 +964,7 @@ export const takeAll = <A, E>(self: TxDequeue<A, E>): Effect.Effect<Arr.NonEmpty
939
964
  * await Effect.runPromise(program) // => [[1, 2, 3, 4], [5, 6, 7, 8, 9]]
940
965
  * ```
941
966
  *
967
+ * @stability unstable
942
968
  * @category combinators
943
969
  * @since 2.0.0
944
970
  */
@@ -970,6 +996,7 @@ export const takeN: {
970
996
  * await Effect.runPromise(program) // => [[1, 2, 3, 4], [5, 6, 7, 8, 9]]
971
997
  * ```
972
998
  *
999
+ * @stability unstable
973
1000
  * @category combinators
974
1001
  * @since 2.0.0
975
1002
  */
@@ -1001,6 +1028,7 @@ export const takeN: {
1001
1028
  * await Effect.runPromise(program) // => [[1, 2, 3, 4], [5, 6, 7, 8, 9]]
1002
1029
  * ```
1003
1030
  *
1031
+ * @stability unstable
1004
1032
  * @category combinators
1005
1033
  * @since 2.0.0
1006
1034
  */
@@ -1094,6 +1122,7 @@ export const takeN: {
1094
1122
  * await Effect.runPromise(program) // => [[1, 2, 3, 4, 5], [6, 7, 8]]
1095
1123
  * ```
1096
1124
  *
1125
+ * @stability unstable
1097
1126
  * @category taking
1098
1127
  * @since 2.0.0
1099
1128
  */
@@ -1129,6 +1158,7 @@ export const takeBetween: {
1129
1158
  * await Effect.runPromise(program) // => [[1, 2, 3, 4, 5], [6, 7, 8]]
1130
1159
  * ```
1131
1160
  *
1161
+ * @stability unstable
1132
1162
  * @category taking
1133
1163
  * @since 2.0.0
1134
1164
  */
@@ -1164,6 +1194,7 @@ export const takeBetween: {
1164
1194
  * await Effect.runPromise(program) // => [[1, 2, 3, 4, 5], [6, 7, 8]]
1165
1195
  * ```
1166
1196
  *
1197
+ * @stability unstable
1167
1198
  * @category taking
1168
1199
  * @since 2.0.0
1169
1200
  */
@@ -1261,6 +1292,7 @@ export const takeBetween: {
1261
1292
  * await Effect.runPromise(errorExample) // => Exit.fail("queue failed")
1262
1293
  * ```
1263
1294
  *
1295
+ * @stability unstable
1264
1296
  * @category combinators
1265
1297
  * @since 2.0.0
1266
1298
  */
@@ -1298,6 +1330,7 @@ export const peek = <A, E>(self: TxDequeue<A, E>): Effect.Effect<A, E> =>
1298
1330
  * await Effect.runPromise(program) // => 3
1299
1331
  * ```
1300
1332
  *
1333
+ * @stability unstable
1301
1334
  * @category combinators
1302
1335
  * @since 2.0.0
1303
1336
  */
@@ -1324,6 +1357,7 @@ export const size = (self: TxQueueState): Effect.Effect<number> => TxChunk.size(
1324
1357
  * await Effect.runPromise(program) // => [true, false]
1325
1358
  * ```
1326
1359
  *
1360
+ * @stability unstable
1327
1361
  * @category predicates
1328
1362
  * @since 2.0.0
1329
1363
  */
@@ -1350,6 +1384,7 @@ export const isEmpty = (self: TxQueueState): Effect.Effect<boolean> => TxChunk.i
1350
1384
  * await Effect.runPromise(program) // => [false, true]
1351
1385
  * ```
1352
1386
  *
1387
+ * @stability unstable
1353
1388
  * @category predicates
1354
1389
  * @since 4.0.0
1355
1390
  */
@@ -1376,6 +1411,7 @@ export const isNonEmpty = (self: TxQueueState): Effect.Effect<boolean> => TxChun
1376
1411
  * await Effect.runPromise(program) // => [false, true]
1377
1412
  * ```
1378
1413
  *
1414
+ * @stability unstable
1379
1415
  * @category predicates
1380
1416
  * @since 2.0.0
1381
1417
  */
@@ -1407,6 +1443,7 @@ export const isFull = (self: TxQueueState): Effect.Effect<boolean> =>
1407
1443
  * await Effect.runPromise(program) // => true
1408
1444
  * ```
1409
1445
  *
1446
+ * @stability unstable
1410
1447
  * @category combinators
1411
1448
  * @since 4.0.0
1412
1449
  */
@@ -1435,6 +1472,7 @@ export const interrupt = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean> =
1435
1472
  * await Effect.runPromise(program) // => true
1436
1473
  * ```
1437
1474
  *
1475
+ * @stability unstable
1438
1476
  * @category combinators
1439
1477
  * @since 4.0.0
1440
1478
  */
@@ -1461,6 +1499,7 @@ export const fail: {
1461
1499
  * await Effect.runPromise(program) // => true
1462
1500
  * ```
1463
1501
  *
1502
+ * @stability unstable
1464
1503
  * @category combinators
1465
1504
  * @since 4.0.0
1466
1505
  */
@@ -1487,6 +1526,7 @@ export const fail: {
1487
1526
  * await Effect.runPromise(program) // => true
1488
1527
  * ```
1489
1528
  *
1529
+ * @stability unstable
1490
1530
  * @category combinators
1491
1531
  * @since 4.0.0
1492
1532
  */
@@ -1533,6 +1573,7 @@ export const fail: {
1533
1573
  * await Effect.runPromise(program) // => [Cause.interrupt(), true]
1534
1574
  * ```
1535
1575
  *
1576
+ * @stability unstable
1536
1577
  * @category combinators
1537
1578
  * @since 4.0.0
1538
1579
  */
@@ -1561,6 +1602,7 @@ export const failCause: {
1561
1602
  * await Effect.runPromise(program) // => [Cause.interrupt(), true]
1562
1603
  * ```
1563
1604
  *
1605
+ * @stability unstable
1564
1606
  * @category combinators
1565
1607
  * @since 4.0.0
1566
1608
  */
@@ -1589,6 +1631,7 @@ export const failCause: {
1589
1631
  * await Effect.runPromise(program) // => [Cause.interrupt(), true]
1590
1632
  * ```
1591
1633
  *
1634
+ * @stability unstable
1592
1635
  * @category combinators
1593
1636
  * @since 4.0.0
1594
1637
  */
@@ -1643,6 +1686,7 @@ export const failCause: {
1643
1686
  * await Effect.runPromise(program) // => [true, Exit.fail(Cause.Done()), Exit.fail(Cause.Done())]
1644
1687
  * ```
1645
1688
  *
1689
+ * @stability unstable
1646
1690
  * @category combinators
1647
1691
  * @since 4.0.0
1648
1692
  */
@@ -1676,6 +1720,7 @@ export const end = <A, E>(self: TxEnqueue<A, E | Cause.Done>): Effect.Effect<boo
1676
1720
  * await Effect.runPromise(program) // => [5, [1, 2, 3, 4, 5], 0]
1677
1721
  * ```
1678
1722
  *
1723
+ * @stability unstable
1679
1724
  * @category combinators
1680
1725
  * @since 4.0.0
1681
1726
  */
@@ -1726,6 +1771,7 @@ export const clear = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<Array<A>, Excl
1726
1771
  * await Effect.runPromise(program) // => [5, 0, true]
1727
1772
  * ```
1728
1773
  *
1774
+ * @stability unstable
1729
1775
  * @category combinators
1730
1776
  * @since 2.0.0
1731
1777
  */
@@ -1756,6 +1802,7 @@ export const shutdown = <A, E>(self: TxEnqueue<A, E>): Effect.Effect<boolean> =>
1756
1802
  * await Effect.runPromise(program) // => [true, false]
1757
1803
  * ```
1758
1804
  *
1805
+ * @stability unstable
1759
1806
  * @category predicates
1760
1807
  * @since 4.0.0
1761
1808
  */
@@ -1784,6 +1831,7 @@ export const isOpen = (self: TxQueueState): Effect.Effect<boolean> =>
1784
1831
  * await Effect.runPromise(program) // => [false, true]
1785
1832
  * ```
1786
1833
  *
1834
+ * @stability unstable
1787
1835
  * @category predicates
1788
1836
  * @since 4.0.0
1789
1837
  */
@@ -1811,6 +1859,7 @@ export const isClosing = (self: TxQueueState): Effect.Effect<boolean> =>
1811
1859
  * await Effect.runPromise(program) // => [false, true]
1812
1860
  * ```
1813
1861
  *
1862
+ * @stability unstable
1814
1863
  * @category predicates
1815
1864
  * @since 4.0.0
1816
1865
  */
@@ -1838,6 +1887,7 @@ export const isDone = (self: TxQueueState): Effect.Effect<boolean> =>
1838
1887
  * await Effect.runPromise(program) // => [false, true]
1839
1888
  * ```
1840
1889
  *
1890
+ * @stability unstable
1841
1891
  * @category predicates
1842
1892
  * @since 2.0.0
1843
1893
  */
@@ -1864,6 +1914,7 @@ export const isShutdown = (self: TxQueueState): Effect.Effect<boolean> => isDone
1864
1914
  * await Effect.runPromise(program) // => "Queue completed successfully"
1865
1915
  * ```
1866
1916
  *
1917
+ * @stability unstable
1867
1918
  * @category combinators
1868
1919
  * @since 4.0.0
1869
1920
  */
@@ -8,9 +8,11 @@
8
8
  * until the lock becomes available. This module includes manual, scoped, and
9
9
  * wrapper-style operations for read and write locking.
10
10
  *
11
+ * @stability stable
11
12
  * @since 4.0.0
12
13
  */
13
14
  import * as Effect from "./Effect.ts"
15
+ import { dual } from "./Function.ts"
14
16
  import * as HashMap from "./HashMap.ts"
15
17
  import type { Inspectable } from "./Inspectable.ts"
16
18
  import { NodeInspectSymbol, toJson } from "./Inspectable.ts"
@@ -61,6 +63,7 @@ const emptyState: LockState = {
61
63
  * await Effect.runPromise(program) // => ["reading", "writing"]
62
64
  * ```
63
65
  *
66
+ * @stability stable
64
67
  * @category models
65
68
  * @since 4.0.0
66
69
  */
@@ -105,6 +108,7 @@ const TxReentrantLockProto: Omit<TxReentrantLock, typeof TypeId | "stateRef"> =
105
108
  * await Effect.runPromise(program) // => false
106
109
  * ```
107
110
  *
111
+ * @stability stable
108
112
  * @category constructors
109
113
  * @since 2.0.0
110
114
  */
@@ -141,6 +145,7 @@ export const make = (): Effect.Effect<TxReentrantLock> =>
141
145
  * await Effect.runPromise(program) // => 1
142
146
  * ```
143
147
  *
148
+ * @stability stable
144
149
  * @category mutations
145
150
  * @since 2.0.0
146
151
  */
@@ -197,6 +202,7 @@ export const acquireRead = (self: TxReentrantLock): Effect.Effect<number> =>
197
202
  * await Effect.runPromise(program) // => 1
198
203
  * ```
199
204
  *
205
+ * @stability stable
200
206
  * @category mutations
201
207
  * @since 2.0.0
202
208
  */
@@ -293,6 +299,7 @@ const releaseReadFor = (self: TxReentrantLock, fiberId: number): Effect.Effect<n
293
299
  *
294
300
  * Returns the remaining number of read locks held by this fiber.
295
301
  *
302
+ * @stability stable
296
303
  * @category mutations
297
304
  * @since 2.0.0
298
305
  */
@@ -353,6 +360,7 @@ const releaseWriteFor = (self: TxReentrantLock, fiberId: number): Effect.Effect<
353
360
  *
354
361
  * Returns the remaining number of write locks held by this fiber.
355
362
  *
363
+ * @stability stable
356
364
  * @category mutations
357
365
  * @since 2.0.0
358
366
  */
@@ -385,6 +393,7 @@ export const releaseWrite = (self: TxReentrantLock): Effect.Effect<number> =>
385
393
  * await Effect.runPromise(program) // => [1, 0]
386
394
  * ```
387
395
  *
396
+ * @stability stable
388
397
  * @category mutations
389
398
  * @since 2.0.0
390
399
  */
@@ -392,7 +401,8 @@ export const readLock = (self: TxReentrantLock): Effect.Effect<number, never, Sc
392
401
  Effect.withFiber((fiber) =>
393
402
  Effect.acquireRelease(
394
403
  acquireRead(self),
395
- () => releaseReadFor(self, fiber.id)
404
+ () => releaseReadFor(self, fiber.id),
405
+ { interruptible: true }
396
406
  )
397
407
  )
398
408
 
@@ -422,6 +432,7 @@ export const readLock = (self: TxReentrantLock): Effect.Effect<number, never, Sc
422
432
  * await Effect.runPromise(program) // => [1, 0]
423
433
  * ```
424
434
  *
435
+ * @stability stable
425
436
  * @category mutations
426
437
  * @since 2.0.0
427
438
  */
@@ -429,10 +440,25 @@ export const writeLock = (self: TxReentrantLock): Effect.Effect<number, never, S
429
440
  Effect.withFiber((fiber) =>
430
441
  Effect.acquireRelease(
431
442
  acquireWrite(self),
432
- () => releaseWriteFor(self, fiber.id)
443
+ () => releaseWriteFor(self, fiber.id),
444
+ { interruptible: true }
433
445
  )
434
446
  )
435
447
 
448
+ /**
449
+ * Runs `effect` between `acquire` and `release`. Acquisition and `effect`
450
+ * inherit the caller's interruptibility, while the handoff from a successful
451
+ * acquisition to the release finalizer stays protected.
452
+ */
453
+ const withAcquired = <A, E, R>(
454
+ acquire: Effect.Effect<number>,
455
+ effect: Effect.Effect<A, E, R>,
456
+ release: Effect.Effect<number>
457
+ ): Effect.Effect<A, E, R> =>
458
+ Effect.uninterruptibleMask((restore) =>
459
+ Effect.flatMap(restore(acquire), () => Effect.ensuring(restore(effect), release))
460
+ )
461
+
436
462
  /**
437
463
  * Runs the provided effect while holding a read lock. The lock is automatically
438
464
  * released after the effect completes, fails, or is interrupted.
@@ -453,6 +479,7 @@ export const writeLock = (self: TxReentrantLock): Effect.Effect<number, never, S
453
479
  * await Effect.runPromise(program) // => "read data"
454
480
  * ```
455
481
  *
482
+ * @stability stable
456
483
  * @category mutations
457
484
  * @since 2.0.0
458
485
  */
@@ -477,6 +504,7 @@ export const withReadLock: {
477
504
  * await Effect.runPromise(program) // => "read data"
478
505
  * ```
479
506
  *
507
+ * @stability stable
480
508
  * @category mutations
481
509
  * @since 2.0.0
482
510
  */
@@ -501,27 +529,16 @@ export const withReadLock: {
501
529
  * await Effect.runPromise(program) // => "read data"
502
530
  * ```
503
531
  *
532
+ * @stability stable
504
533
  * @category mutations
505
534
  * @since 2.0.0
506
535
  */
507
536
  <A, E, R>(self: TxReentrantLock, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
508
- } = ((...args: Array<any>) => {
509
- if (args.length === 1) {
510
- const [effect] = args
511
- return (self: TxReentrantLock) =>
512
- Effect.acquireUseRelease(
513
- acquireRead(self),
514
- () => effect,
515
- () => releaseRead(self)
516
- )
517
- }
518
- const [self, effect] = args
519
- return Effect.acquireUseRelease(
520
- acquireRead(self),
521
- () => effect,
522
- () => releaseRead(self)
523
- )
524
- }) as any
537
+ } = dual(
538
+ 2,
539
+ <A, E, R>(self: TxReentrantLock, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
540
+ withAcquired(acquireRead(self), effect, releaseRead(self))
541
+ )
525
542
 
526
543
  /**
527
544
  * Runs the provided effect while holding a write lock. The lock is automatically
@@ -543,6 +560,7 @@ export const withReadLock: {
543
560
  * await Effect.runPromise(program) // => "wrote data"
544
561
  * ```
545
562
  *
563
+ * @stability stable
546
564
  * @category mutations
547
565
  * @since 2.0.0
548
566
  */
@@ -567,6 +585,7 @@ export const withWriteLock: {
567
585
  * await Effect.runPromise(program) // => "wrote data"
568
586
  * ```
569
587
  *
588
+ * @stability stable
570
589
  * @category mutations
571
590
  * @since 2.0.0
572
591
  */
@@ -591,27 +610,16 @@ export const withWriteLock: {
591
610
  * await Effect.runPromise(program) // => "wrote data"
592
611
  * ```
593
612
  *
613
+ * @stability stable
594
614
  * @category mutations
595
615
  * @since 2.0.0
596
616
  */
597
617
  <A, E, R>(self: TxReentrantLock, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
598
- } = ((...args: Array<any>) => {
599
- if (args.length === 1) {
600
- const [effect] = args
601
- return (self: TxReentrantLock) =>
602
- Effect.acquireUseRelease(
603
- acquireWrite(self),
604
- () => effect,
605
- () => releaseWrite(self)
606
- )
607
- }
608
- const [self, effect] = args
609
- return Effect.acquireUseRelease(
610
- acquireWrite(self),
611
- () => effect,
612
- () => releaseWrite(self)
613
- )
614
- }) as any
618
+ } = dual(
619
+ 2,
620
+ <A, E, R>(self: TxReentrantLock, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
621
+ withAcquired(acquireWrite(self), effect, releaseWrite(self))
622
+ )
615
623
 
616
624
  /**
617
625
  * Runs an effect while holding a write lock.
@@ -637,6 +645,7 @@ export const withWriteLock: {
637
645
  * await Effect.runPromise(program) // => "exclusive operation"
638
646
  * ```
639
647
  *
648
+ * @stability stable
640
649
  * @category mutations
641
650
  * @since 2.0.0
642
651
  */
@@ -665,6 +674,7 @@ export const withLock: {
665
674
  * await Effect.runPromise(program) // => "exclusive operation"
666
675
  * ```
667
676
  *
677
+ * @stability stable
668
678
  * @category mutations
669
679
  * @since 2.0.0
670
680
  */
@@ -693,6 +703,7 @@ export const withLock: {
693
703
  * await Effect.runPromise(program) // => "exclusive operation"
694
704
  * ```
695
705
  *
706
+ * @stability stable
696
707
  * @category mutations
697
708
  * @since 2.0.0
698
709
  */
@@ -722,6 +733,7 @@ export const withLock: {
722
733
  * await Effect.runPromise(program) // => 1
723
734
  * ```
724
735
  *
736
+ * @stability stable
725
737
  * @category getters
726
738
  * @since 2.0.0
727
739
  */
@@ -751,6 +763,7 @@ export const readLocks = (self: TxReentrantLock): Effect.Effect<number> =>
751
763
  * await Effect.runPromise(program) // => 0
752
764
  * ```
753
765
  *
766
+ * @stability stable
754
767
  * @category getters
755
768
  * @since 2.0.0
756
769
  */
@@ -776,6 +789,7 @@ export const writeLocks = (self: TxReentrantLock): Effect.Effect<number> =>
776
789
  * await Effect.runPromise(program) // => false
777
790
  * ```
778
791
  *
792
+ * @stability stable
779
793
  * @category getters
780
794
  * @since 2.0.0
781
795
  */
@@ -801,6 +815,7 @@ export const locked = (self: TxReentrantLock): Effect.Effect<boolean> =>
801
815
  * await Effect.runPromise(program) // => false
802
816
  * ```
803
817
  *
818
+ * @stability stable
804
819
  * @category getters
805
820
  * @since 2.0.0
806
821
  */
@@ -826,6 +841,7 @@ export const readLocked = (self: TxReentrantLock): Effect.Effect<boolean> =>
826
841
  * await Effect.runPromise(program) // => false
827
842
  * ```
828
843
  *
844
+ * @stability stable
829
845
  * @category getters
830
846
  * @since 2.0.0
831
847
  */
@@ -852,6 +868,7 @@ export const writeLocked = (self: TxReentrantLock): Effect.Effect<boolean> =>
852
868
  * TxReentrantLock.isTxReentrantLock(someValue) // => false
853
869
  * ```
854
870
  *
871
+ * @stability stable
855
872
  * @category guards
856
873
  * @since 4.0.0
857
874
  */