effect 4.0.0-beta.3 → 4.0.0-beta.30

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 (983) hide show
  1. package/dist/Array.d.ts +126 -299
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +102 -62
  4. package/dist/Array.js.map +1 -1
  5. package/dist/Brand.d.ts +1 -1
  6. package/dist/Brand.d.ts.map +1 -1
  7. package/dist/Brand.js +1 -1
  8. package/dist/Brand.js.map +1 -1
  9. package/dist/Cache.d.ts +2 -2
  10. package/dist/Cache.d.ts.map +1 -1
  11. package/dist/Cache.js +6 -5
  12. package/dist/Cache.js.map +1 -1
  13. package/dist/Cause.d.ts +2 -2
  14. package/dist/Cause.d.ts.map +1 -1
  15. package/dist/Channel.d.ts +116 -30
  16. package/dist/Channel.d.ts.map +1 -1
  17. package/dist/Channel.js +82 -37
  18. package/dist/Channel.js.map +1 -1
  19. package/dist/Chunk.d.ts +54 -247
  20. package/dist/Chunk.d.ts.map +1 -1
  21. package/dist/Chunk.js +36 -67
  22. package/dist/Chunk.js.map +1 -1
  23. package/dist/Combiner.d.ts +280 -13
  24. package/dist/Combiner.d.ts.map +1 -1
  25. package/dist/Combiner.js +198 -7
  26. package/dist/Combiner.js.map +1 -1
  27. package/dist/Config.d.ts +165 -9
  28. package/dist/Config.d.ts.map +1 -1
  29. package/dist/Config.js +65 -10
  30. package/dist/Config.js.map +1 -1
  31. package/dist/ConfigProvider.d.ts +1 -1
  32. package/dist/Cron.d.ts +1 -1
  33. package/dist/Data.d.ts +535 -366
  34. package/dist/Data.d.ts.map +1 -1
  35. package/dist/Data.js +132 -79
  36. package/dist/Data.js.map +1 -1
  37. package/dist/DateTime.d.ts +23 -161
  38. package/dist/DateTime.d.ts.map +1 -1
  39. package/dist/DateTime.js +6 -51
  40. package/dist/DateTime.js.map +1 -1
  41. package/dist/Duration.d.ts +11 -11
  42. package/dist/Duration.d.ts.map +1 -1
  43. package/dist/Duration.js +11 -11
  44. package/dist/Duration.js.map +1 -1
  45. package/dist/Effect.d.ts +1206 -924
  46. package/dist/Effect.d.ts.map +1 -1
  47. package/dist/Effect.js +390 -329
  48. package/dist/Effect.js.map +1 -1
  49. package/dist/Encoding.d.ts +194 -0
  50. package/dist/Encoding.d.ts.map +1 -0
  51. package/dist/Encoding.js +352 -0
  52. package/dist/Encoding.js.map +1 -0
  53. package/dist/Equal.d.ts +276 -109
  54. package/dist/Equal.d.ts.map +1 -1
  55. package/dist/Equal.js +124 -48
  56. package/dist/Equal.js.map +1 -1
  57. package/dist/ErrorReporter.d.ts +374 -0
  58. package/dist/ErrorReporter.d.ts.map +1 -0
  59. package/dist/ErrorReporter.js +244 -0
  60. package/dist/ErrorReporter.js.map +1 -0
  61. package/dist/Exit.d.ts +24 -12
  62. package/dist/Exit.d.ts.map +1 -1
  63. package/dist/Exit.js +8 -4
  64. package/dist/Exit.js.map +1 -1
  65. package/dist/Fiber.d.ts +3 -2
  66. package/dist/Fiber.d.ts.map +1 -1
  67. package/dist/Fiber.js.map +1 -1
  68. package/dist/FileSystem.d.ts +1 -1
  69. package/dist/FileSystem.d.ts.map +1 -1
  70. package/dist/FileSystem.js +5 -5
  71. package/dist/FileSystem.js.map +1 -1
  72. package/dist/Filter.d.ts +34 -38
  73. package/dist/Filter.d.ts.map +1 -1
  74. package/dist/Filter.js +15 -13
  75. package/dist/Filter.js.map +1 -1
  76. package/dist/Formatter.d.ts +131 -47
  77. package/dist/Formatter.d.ts.map +1 -1
  78. package/dist/Formatter.js +229 -51
  79. package/dist/Formatter.js.map +1 -1
  80. package/dist/Function.d.ts +1 -9
  81. package/dist/Function.d.ts.map +1 -1
  82. package/dist/Function.js +2 -10
  83. package/dist/Function.js.map +1 -1
  84. package/dist/Graph.d.ts +1 -1
  85. package/dist/Graph.d.ts.map +1 -1
  86. package/dist/Graph.js +5 -8
  87. package/dist/Graph.js.map +1 -1
  88. package/dist/HashMap.d.ts +15 -14
  89. package/dist/HashMap.d.ts.map +1 -1
  90. package/dist/HashMap.js +4 -4
  91. package/dist/HashMap.js.map +1 -1
  92. package/dist/Iterable.d.ts +39 -39
  93. package/dist/Iterable.d.ts.map +1 -1
  94. package/dist/Iterable.js +94 -22
  95. package/dist/Iterable.js.map +1 -1
  96. package/dist/JsonSchema.d.ts +299 -10
  97. package/dist/JsonSchema.d.ts.map +1 -1
  98. package/dist/JsonSchema.js +323 -4
  99. package/dist/JsonSchema.js.map +1 -1
  100. package/dist/Latch.d.ts +109 -0
  101. package/dist/Latch.d.ts.map +1 -0
  102. package/dist/Latch.js +72 -0
  103. package/dist/Latch.js.map +1 -0
  104. package/dist/Layer.d.ts +121 -126
  105. package/dist/Layer.d.ts.map +1 -1
  106. package/dist/Layer.js +43 -44
  107. package/dist/Layer.js.map +1 -1
  108. package/dist/LayerMap.d.ts +8 -8
  109. package/dist/LayerMap.d.ts.map +1 -1
  110. package/dist/LayerMap.js +3 -3
  111. package/dist/LogLevel.d.ts +32 -0
  112. package/dist/LogLevel.d.ts.map +1 -1
  113. package/dist/LogLevel.js +28 -100
  114. package/dist/LogLevel.js.map +1 -1
  115. package/dist/Logger.d.ts +29 -95
  116. package/dist/Logger.d.ts.map +1 -1
  117. package/dist/Logger.js +2 -3
  118. package/dist/Logger.js.map +1 -1
  119. package/dist/ManagedRuntime.d.ts +2 -2
  120. package/dist/ManagedRuntime.js +2 -2
  121. package/dist/Metric.d.ts +4 -6
  122. package/dist/Metric.d.ts.map +1 -1
  123. package/dist/Metric.js +3 -5
  124. package/dist/Metric.js.map +1 -1
  125. package/dist/Newtype.d.ts +291 -0
  126. package/dist/Newtype.d.ts.map +1 -0
  127. package/dist/Newtype.js +161 -0
  128. package/dist/Newtype.js.map +1 -0
  129. package/dist/Optic.d.ts +947 -18
  130. package/dist/Optic.d.ts.map +1 -1
  131. package/dist/Optic.js +454 -5
  132. package/dist/Optic.js.map +1 -1
  133. package/dist/Option.d.ts +23 -16
  134. package/dist/Option.d.ts.map +1 -1
  135. package/dist/Option.js +15 -9
  136. package/dist/Option.js.map +1 -1
  137. package/dist/Pipeable.d.ts +17 -0
  138. package/dist/Pipeable.d.ts.map +1 -1
  139. package/dist/Pipeable.js +19 -1
  140. package/dist/Pipeable.js.map +1 -1
  141. package/dist/PlatformError.d.ts +10 -9
  142. package/dist/PlatformError.d.ts.map +1 -1
  143. package/dist/PlatformError.js +2 -2
  144. package/dist/PlatformError.js.map +1 -1
  145. package/dist/Pool.d.ts +6 -4
  146. package/dist/Pool.d.ts.map +1 -1
  147. package/dist/Pool.js +7 -5
  148. package/dist/Pool.js.map +1 -1
  149. package/dist/PubSub.d.ts +3 -2
  150. package/dist/PubSub.d.ts.map +1 -1
  151. package/dist/PubSub.js +3 -2
  152. package/dist/PubSub.js.map +1 -1
  153. package/dist/Pull.d.ts.map +1 -1
  154. package/dist/Pull.js +1 -1
  155. package/dist/Pull.js.map +1 -1
  156. package/dist/Queue.d.ts.map +1 -1
  157. package/dist/Queue.js +0 -1
  158. package/dist/Queue.js.map +1 -1
  159. package/dist/Random.d.ts +35 -1
  160. package/dist/Random.d.ts.map +1 -1
  161. package/dist/Random.js +46 -12
  162. package/dist/Random.js.map +1 -1
  163. package/dist/RcMap.d.ts +2 -2
  164. package/dist/RcMap.d.ts.map +1 -1
  165. package/dist/RcMap.js +1 -1
  166. package/dist/RcMap.js.map +1 -1
  167. package/dist/RcRef.d.ts +1 -1
  168. package/dist/RcRef.d.ts.map +1 -1
  169. package/dist/Record.d.ts +23 -120
  170. package/dist/Record.d.ts.map +1 -1
  171. package/dist/Record.js +21 -41
  172. package/dist/Record.js.map +1 -1
  173. package/dist/Reducer.d.ts +166 -7
  174. package/dist/Reducer.d.ts.map +1 -1
  175. package/dist/Reducer.js +135 -1
  176. package/dist/Reducer.js.map +1 -1
  177. package/dist/References.d.ts +9 -4
  178. package/dist/References.d.ts.map +1 -1
  179. package/dist/References.js +6 -1
  180. package/dist/References.js.map +1 -1
  181. package/dist/Request.d.ts +1 -1
  182. package/dist/Request.d.ts.map +1 -1
  183. package/dist/Request.js +2 -1
  184. package/dist/Request.js.map +1 -1
  185. package/dist/RequestResolver.d.ts +25 -45
  186. package/dist/RequestResolver.d.ts.map +1 -1
  187. package/dist/RequestResolver.js +10 -30
  188. package/dist/RequestResolver.js.map +1 -1
  189. package/dist/Result.d.ts +1 -1
  190. package/dist/Result.d.ts.map +1 -1
  191. package/dist/Result.js +1 -2
  192. package/dist/Result.js.map +1 -1
  193. package/dist/Runtime.d.ts +66 -0
  194. package/dist/Runtime.d.ts.map +1 -1
  195. package/dist/Runtime.js +79 -6
  196. package/dist/Runtime.js.map +1 -1
  197. package/dist/Schedule.d.ts +191 -102
  198. package/dist/Schedule.d.ts.map +1 -1
  199. package/dist/Schedule.js +152 -66
  200. package/dist/Schedule.js.map +1 -1
  201. package/dist/Scheduler.d.ts +9 -0
  202. package/dist/Scheduler.d.ts.map +1 -1
  203. package/dist/Scheduler.js +11 -0
  204. package/dist/Scheduler.js.map +1 -1
  205. package/dist/Schema.d.ts +309 -88
  206. package/dist/Schema.d.ts.map +1 -1
  207. package/dist/Schema.js +499 -109
  208. package/dist/Schema.js.map +1 -1
  209. package/dist/SchemaAST.d.ts.map +1 -1
  210. package/dist/SchemaAST.js +129 -23
  211. package/dist/SchemaAST.js.map +1 -1
  212. package/dist/SchemaGetter.d.ts +5 -5
  213. package/dist/SchemaGetter.d.ts.map +1 -1
  214. package/dist/SchemaGetter.js +12 -14
  215. package/dist/SchemaGetter.js.map +1 -1
  216. package/dist/SchemaParser.d.ts +5 -0
  217. package/dist/SchemaParser.d.ts.map +1 -1
  218. package/dist/SchemaParser.js +10 -0
  219. package/dist/SchemaParser.js.map +1 -1
  220. package/dist/SchemaRepresentation.d.ts +44 -43
  221. package/dist/SchemaRepresentation.d.ts.map +1 -1
  222. package/dist/SchemaRepresentation.js +49 -24
  223. package/dist/SchemaRepresentation.js.map +1 -1
  224. package/dist/SchemaTransformation.d.ts +107 -3
  225. package/dist/SchemaTransformation.d.ts.map +1 -1
  226. package/dist/SchemaTransformation.js +159 -4
  227. package/dist/SchemaTransformation.js.map +1 -1
  228. package/dist/ScopedCache.d.ts +2 -2
  229. package/dist/ScopedCache.d.ts.map +1 -1
  230. package/dist/ScopedCache.js +1 -1
  231. package/dist/ScopedCache.js.map +1 -1
  232. package/dist/Semaphore.d.ts +211 -0
  233. package/dist/Semaphore.d.ts.map +1 -0
  234. package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
  235. package/dist/Semaphore.js.map +1 -0
  236. package/dist/ServiceMap.d.ts +41 -31
  237. package/dist/ServiceMap.d.ts.map +1 -1
  238. package/dist/ServiceMap.js +3 -3
  239. package/dist/ServiceMap.js.map +1 -1
  240. package/dist/Sink.d.ts +13 -13
  241. package/dist/Sink.d.ts.map +1 -1
  242. package/dist/Sink.js +53 -6
  243. package/dist/Sink.js.map +1 -1
  244. package/dist/Stdio.d.ts +16 -4
  245. package/dist/Stdio.d.ts.map +1 -1
  246. package/dist/Stdio.js +18 -0
  247. package/dist/Stdio.js.map +1 -1
  248. package/dist/Stream.d.ts +250 -428
  249. package/dist/Stream.d.ts.map +1 -1
  250. package/dist/Stream.js +137 -82
  251. package/dist/Stream.js.map +1 -1
  252. package/dist/Struct.d.ts +16 -0
  253. package/dist/Struct.d.ts.map +1 -1
  254. package/dist/Struct.js +22 -0
  255. package/dist/Struct.js.map +1 -1
  256. package/dist/SubscriptionRef.d.ts +2 -1
  257. package/dist/SubscriptionRef.d.ts.map +1 -1
  258. package/dist/SubscriptionRef.js +2 -1
  259. package/dist/SubscriptionRef.js.map +1 -1
  260. package/dist/SynchronizedRef.d.ts +2 -1
  261. package/dist/SynchronizedRef.d.ts.map +1 -1
  262. package/dist/SynchronizedRef.js +2 -1
  263. package/dist/SynchronizedRef.js.map +1 -1
  264. package/dist/Trie.d.ts +18 -17
  265. package/dist/Trie.d.ts.map +1 -1
  266. package/dist/Trie.js +5 -5
  267. package/dist/Trie.js.map +1 -1
  268. package/dist/TxChunk.d.ts +37 -37
  269. package/dist/TxChunk.d.ts.map +1 -1
  270. package/dist/TxChunk.js +3 -3
  271. package/dist/TxChunk.js.map +1 -1
  272. package/dist/TxDeferred.d.ts +328 -0
  273. package/dist/TxDeferred.d.ts.map +1 -0
  274. package/dist/TxDeferred.js +196 -0
  275. package/dist/TxDeferred.js.map +1 -0
  276. package/dist/TxHashMap.d.ts +84 -83
  277. package/dist/TxHashMap.d.ts.map +1 -1
  278. package/dist/TxHashMap.js +24 -24
  279. package/dist/TxHashMap.js.map +1 -1
  280. package/dist/TxHashSet.d.ts +35 -35
  281. package/dist/TxHashSet.d.ts.map +1 -1
  282. package/dist/TxHashSet.js +14 -14
  283. package/dist/TxHashSet.js.map +1 -1
  284. package/dist/TxPriorityQueue.d.ts +609 -0
  285. package/dist/TxPriorityQueue.d.ts.map +1 -0
  286. package/dist/TxPriorityQueue.js +415 -0
  287. package/dist/TxPriorityQueue.js.map +1 -0
  288. package/dist/TxPubSub.d.ts +585 -0
  289. package/dist/TxPubSub.d.ts.map +1 -0
  290. package/dist/TxPubSub.js +521 -0
  291. package/dist/TxPubSub.js.map +1 -0
  292. package/dist/TxQueue.d.ts +32 -32
  293. package/dist/TxQueue.d.ts.map +1 -1
  294. package/dist/TxQueue.js +26 -26
  295. package/dist/TxQueue.js.map +1 -1
  296. package/dist/TxReentrantLock.d.ts +523 -0
  297. package/dist/TxReentrantLock.d.ts.map +1 -0
  298. package/dist/TxReentrantLock.js +504 -0
  299. package/dist/TxReentrantLock.js.map +1 -0
  300. package/dist/TxRef.d.ts +34 -34
  301. package/dist/TxRef.d.ts.map +1 -1
  302. package/dist/TxRef.js +21 -14
  303. package/dist/TxRef.js.map +1 -1
  304. package/dist/TxSemaphore.d.ts +8 -8
  305. package/dist/TxSemaphore.d.ts.map +1 -1
  306. package/dist/TxSemaphore.js +7 -7
  307. package/dist/TxSemaphore.js.map +1 -1
  308. package/dist/TxSubscriptionRef.d.ts +508 -0
  309. package/dist/TxSubscriptionRef.d.ts.map +1 -0
  310. package/dist/TxSubscriptionRef.js +293 -0
  311. package/dist/TxSubscriptionRef.js.map +1 -0
  312. package/dist/Types.d.ts +80 -23
  313. package/dist/Types.d.ts.map +1 -1
  314. package/dist/Utils.d.ts +137 -65
  315. package/dist/Utils.d.ts.map +1 -1
  316. package/dist/Utils.js +38 -66
  317. package/dist/Utils.js.map +1 -1
  318. package/dist/index.d.ts +718 -23
  319. package/dist/index.d.ts.map +1 -1
  320. package/dist/index.js +718 -23
  321. package/dist/index.js.map +1 -1
  322. package/dist/internal/core.js +11 -3
  323. package/dist/internal/core.js.map +1 -1
  324. package/dist/internal/dateTime.js +3 -11
  325. package/dist/internal/dateTime.js.map +1 -1
  326. package/dist/internal/effect.js +264 -126
  327. package/dist/internal/effect.js.map +1 -1
  328. package/dist/internal/hashMap.js +5 -4
  329. package/dist/internal/hashMap.js.map +1 -1
  330. package/dist/internal/random.d.ts +2 -0
  331. package/dist/internal/random.d.ts.map +1 -0
  332. package/dist/internal/random.js +13 -0
  333. package/dist/internal/random.js.map +1 -0
  334. package/dist/internal/rcRef.js +3 -2
  335. package/dist/internal/rcRef.js.map +1 -1
  336. package/dist/internal/request.js +2 -2
  337. package/dist/internal/request.js.map +1 -1
  338. package/dist/internal/schema/annotations.js +2 -0
  339. package/dist/internal/schema/annotations.js.map +1 -1
  340. package/dist/internal/schema/representation.js +47 -106
  341. package/dist/internal/schema/representation.js.map +1 -1
  342. package/dist/internal/schema/schema.js +1 -0
  343. package/dist/internal/schema/schema.js.map +1 -1
  344. package/dist/internal/schema/to-codec.js +7 -10
  345. package/dist/internal/schema/to-codec.js.map +1 -1
  346. package/dist/internal/trie.js +5 -4
  347. package/dist/internal/trie.js.map +1 -1
  348. package/dist/testing/TestClock.d.ts +8 -7
  349. package/dist/testing/TestClock.d.ts.map +1 -1
  350. package/dist/testing/TestClock.js +6 -4
  351. package/dist/testing/TestClock.js.map +1 -1
  352. package/dist/testing/TestSchema.d.ts +266 -32
  353. package/dist/testing/TestSchema.d.ts.map +1 -1
  354. package/dist/testing/TestSchema.js +296 -23
  355. package/dist/testing/TestSchema.js.map +1 -1
  356. package/dist/testing/index.d.ts +64 -1
  357. package/dist/testing/index.d.ts.map +1 -1
  358. package/dist/testing/index.js +64 -1
  359. package/dist/testing/index.js.map +1 -1
  360. package/dist/unstable/ai/AiError.d.ts +134 -51
  361. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  362. package/dist/unstable/ai/AiError.js +19 -16
  363. package/dist/unstable/ai/AiError.js.map +1 -1
  364. package/dist/unstable/ai/Chat.d.ts +5 -5
  365. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  366. package/dist/unstable/ai/Chat.js +38 -44
  367. package/dist/unstable/ai/Chat.js.map +1 -1
  368. package/dist/unstable/ai/LanguageModel.d.ts +16 -30
  369. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  370. package/dist/unstable/ai/LanguageModel.js +97 -37
  371. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  372. package/dist/unstable/ai/McpSchema.d.ts +183 -88
  373. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  374. package/dist/unstable/ai/McpSchema.js +57 -12
  375. package/dist/unstable/ai/McpSchema.js.map +1 -1
  376. package/dist/unstable/ai/McpServer.d.ts +66 -13
  377. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  378. package/dist/unstable/ai/McpServer.js +193 -51
  379. package/dist/unstable/ai/McpServer.js.map +1 -1
  380. package/dist/unstable/ai/Model.d.ts +25 -7
  381. package/dist/unstable/ai/Model.d.ts.map +1 -1
  382. package/dist/unstable/ai/Model.js +22 -6
  383. package/dist/unstable/ai/Model.js.map +1 -1
  384. package/dist/unstable/ai/Prompt.d.ts +20 -20
  385. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  386. package/dist/unstable/ai/Response.d.ts +26 -26
  387. package/dist/unstable/ai/Response.d.ts.map +1 -1
  388. package/dist/unstable/ai/Response.js +1 -1
  389. package/dist/unstable/ai/Response.js.map +1 -1
  390. package/dist/unstable/ai/Tool.d.ts +20 -4
  391. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  392. package/dist/unstable/ai/Tool.js +14 -9
  393. package/dist/unstable/ai/Tool.js.map +1 -1
  394. package/dist/unstable/ai/Toolkit.d.ts +1 -1
  395. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  396. package/dist/unstable/ai/Toolkit.js +4 -11
  397. package/dist/unstable/ai/Toolkit.js.map +1 -1
  398. package/dist/unstable/ai/index.d.ts +1 -1
  399. package/dist/unstable/ai/index.js +1 -1
  400. package/dist/unstable/ai/internal/codec-transformer.js +0 -5
  401. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  402. package/dist/unstable/cli/CliError.d.ts +27 -60
  403. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  404. package/dist/unstable/cli/CliError.js +25 -57
  405. package/dist/unstable/cli/CliError.js.map +1 -1
  406. package/dist/unstable/cli/CliOutput.js +59 -6
  407. package/dist/unstable/cli/CliOutput.js.map +1 -1
  408. package/dist/unstable/cli/Command.d.ts +368 -56
  409. package/dist/unstable/cli/Command.d.ts.map +1 -1
  410. package/dist/unstable/cli/Command.js +325 -64
  411. package/dist/unstable/cli/Command.js.map +1 -1
  412. package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
  413. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
  414. package/dist/unstable/cli/GlobalFlag.js +118 -0
  415. package/dist/unstable/cli/GlobalFlag.js.map +1 -0
  416. package/dist/unstable/cli/HelpDoc.d.ts +70 -2
  417. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  418. package/dist/unstable/cli/Primitive.d.ts +1 -1
  419. package/dist/unstable/cli/Primitive.js +1 -1
  420. package/dist/unstable/cli/Prompt.js +35 -8
  421. package/dist/unstable/cli/Prompt.js.map +1 -1
  422. package/dist/unstable/cli/index.d.ts +4 -0
  423. package/dist/unstable/cli/index.d.ts.map +1 -1
  424. package/dist/unstable/cli/index.js +4 -0
  425. package/dist/unstable/cli/index.js.map +1 -1
  426. package/dist/unstable/cli/internal/command.d.ts +40 -14
  427. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  428. package/dist/unstable/cli/internal/command.js +72 -46
  429. package/dist/unstable/cli/internal/command.js.map +1 -1
  430. package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
  431. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
  432. package/dist/unstable/cli/internal/config.js +42 -0
  433. package/dist/unstable/cli/internal/config.js.map +1 -1
  434. package/dist/unstable/cli/internal/help.d.ts +33 -0
  435. package/dist/unstable/cli/internal/help.d.ts.map +1 -0
  436. package/dist/unstable/cli/internal/help.js +125 -0
  437. package/dist/unstable/cli/internal/help.js.map +1 -0
  438. package/dist/unstable/cli/internal/parser.js +55 -42
  439. package/dist/unstable/cli/internal/parser.js.map +1 -1
  440. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  441. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  442. package/dist/unstable/cluster/ClusterCron.js +1 -1
  443. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  444. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  445. package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -3
  446. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  447. package/dist/unstable/cluster/Entity.d.ts +7 -6
  448. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  449. package/dist/unstable/cluster/Entity.js.map +1 -1
  450. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  451. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  452. package/dist/unstable/cluster/Envelope.d.ts +1 -1
  453. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  454. package/dist/unstable/cluster/K8sHttpClient.js +4 -4
  455. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  456. package/dist/unstable/cluster/Message.d.ts +10 -10
  457. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  458. package/dist/unstable/cluster/MessageStorage.js +2 -1
  459. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  460. package/dist/unstable/cluster/Reply.d.ts +6 -6
  461. package/dist/unstable/cluster/Runner.d.ts +1 -1
  462. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  463. package/dist/unstable/cluster/Runners.js +4 -3
  464. package/dist/unstable/cluster/Runners.js.map +1 -1
  465. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  466. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  467. package/dist/unstable/cluster/Sharding.js +9 -7
  468. package/dist/unstable/cluster/Sharding.js.map +1 -1
  469. package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
  470. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  471. package/dist/unstable/cluster/ShardingConfig.js +20 -20
  472. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  473. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  474. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  475. package/dist/unstable/cluster/internal/entityManager.js +5 -4
  476. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  477. package/dist/unstable/cluster/internal/entityReaper.js +2 -1
  478. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  479. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  480. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  481. package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
  482. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  483. package/dist/unstable/encoding/Ndjson.d.ts +1 -1
  484. package/dist/unstable/encoding/Sse.d.ts +4 -4
  485. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  486. package/dist/unstable/encoding/Sse.js +1 -1
  487. package/dist/unstable/encoding/Sse.js.map +1 -1
  488. package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
  489. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  490. package/dist/unstable/eventlog/EventLog.js +2 -1
  491. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  492. package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
  493. package/dist/unstable/http/Cookies.d.ts +47 -3
  494. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  495. package/dist/unstable/http/Cookies.js +24 -2
  496. package/dist/unstable/http/Cookies.js.map +1 -1
  497. package/dist/unstable/http/Headers.d.ts +16 -0
  498. package/dist/unstable/http/Headers.d.ts.map +1 -1
  499. package/dist/unstable/http/Headers.js +38 -10
  500. package/dist/unstable/http/Headers.js.map +1 -1
  501. package/dist/unstable/http/HttpBody.d.ts +3 -3
  502. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  503. package/dist/unstable/http/HttpBody.js +6 -6
  504. package/dist/unstable/http/HttpBody.js.map +1 -1
  505. package/dist/unstable/http/HttpClient.d.ts +117 -15
  506. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  507. package/dist/unstable/http/HttpClient.js +189 -12
  508. package/dist/unstable/http/HttpClient.js.map +1 -1
  509. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  510. package/dist/unstable/http/HttpClientRequest.d.ts +16 -11
  511. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  512. package/dist/unstable/http/HttpClientRequest.js +31 -20
  513. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  514. package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
  515. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  516. package/dist/unstable/http/HttpClientResponse.js +4 -0
  517. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  518. package/dist/unstable/http/HttpEffect.d.ts +7 -5
  519. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  520. package/dist/unstable/http/HttpEffect.js +46 -54
  521. package/dist/unstable/http/HttpEffect.js.map +1 -1
  522. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  523. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  524. package/dist/unstable/http/HttpMethod.js +3 -3
  525. package/dist/unstable/http/HttpMethod.js.map +1 -1
  526. package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
  527. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  528. package/dist/unstable/http/HttpMiddleware.js +8 -17
  529. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  530. package/dist/unstable/http/HttpServerError.d.ts +20 -33
  531. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  532. package/dist/unstable/http/HttpServerError.js +37 -44
  533. package/dist/unstable/http/HttpServerError.js.map +1 -1
  534. package/dist/unstable/http/HttpServerRequest.d.ts +12 -1
  535. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  536. package/dist/unstable/http/HttpServerRequest.js +291 -1
  537. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  538. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  539. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  540. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  541. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  542. package/dist/unstable/http/HttpServerResponse.d.ts +50 -3
  543. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  544. package/dist/unstable/http/HttpServerResponse.js +234 -1
  545. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  546. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  547. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  548. package/dist/unstable/http/HttpStaticServer.js +353 -0
  549. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  550. package/dist/unstable/http/Multipart.d.ts +3 -3
  551. package/dist/unstable/http/UrlParams.d.ts +14 -6
  552. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  553. package/dist/unstable/http/UrlParams.js +1 -1
  554. package/dist/unstable/http/UrlParams.js.map +1 -1
  555. package/dist/unstable/http/index.d.ts +4 -0
  556. package/dist/unstable/http/index.d.ts.map +1 -1
  557. package/dist/unstable/http/index.js +4 -0
  558. package/dist/unstable/http/index.js.map +1 -1
  559. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  560. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  561. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  562. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  563. package/dist/unstable/httpapi/HttpApi.d.ts +4 -4
  564. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  565. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  566. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
  567. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  568. package/dist/unstable/httpapi/HttpApiBuilder.js +28 -18
  569. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  570. package/dist/unstable/httpapi/HttpApiClient.d.ts +66 -6
  571. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  572. package/dist/unstable/httpapi/HttpApiClient.js +40 -3
  573. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  574. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +41 -54
  575. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  576. package/dist/unstable/httpapi/HttpApiEndpoint.js +17 -26
  577. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  578. package/dist/unstable/httpapi/HttpApiError.d.ts +16 -14
  579. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  580. package/dist/unstable/httpapi/HttpApiError.js +44 -29
  581. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  582. package/dist/unstable/httpapi/HttpApiGroup.d.ts +4 -3
  583. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  584. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  585. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
  586. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  587. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  588. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  589. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  590. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  591. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
  592. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  593. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  594. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  595. package/dist/unstable/httpapi/OpenApi.js +32 -21
  596. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  597. package/dist/unstable/observability/Otlp.d.ts +12 -12
  598. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  599. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  600. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  601. package/dist/unstable/observability/OtlpExporter.js +1 -1
  602. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  603. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  604. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  605. package/dist/unstable/observability/OtlpLogger.js +7 -4
  606. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  607. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  608. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  609. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  610. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  611. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  612. package/dist/unstable/persistence/KeyValueStore.js +6 -6
  613. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  614. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  615. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  616. package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
  617. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  618. package/dist/unstable/persistence/PersistedCache.js +2 -1
  619. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  620. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  621. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  622. package/dist/unstable/persistence/PersistedQueue.js +12 -11
  623. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  624. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  625. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  626. package/dist/unstable/persistence/Persistence.js +2 -2
  627. package/dist/unstable/persistence/Persistence.js.map +1 -1
  628. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  629. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  630. package/dist/unstable/persistence/RateLimiter.js +1 -1
  631. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  632. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  633. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  634. package/dist/unstable/process/ChildProcess.js +1 -65
  635. package/dist/unstable/process/ChildProcess.js.map +1 -1
  636. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
  637. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  638. package/dist/unstable/process/ChildProcessSpawner.js +21 -1
  639. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  640. package/dist/unstable/reactivity/Atom.d.ts +73 -12
  641. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  642. package/dist/unstable/reactivity/Atom.js +107 -20
  643. package/dist/unstable/reactivity/Atom.js.map +1 -1
  644. package/dist/unstable/reactivity/AtomHttpApi.d.ts +10 -12
  645. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  646. package/dist/unstable/reactivity/AtomHttpApi.js +42 -12
  647. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  648. package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
  649. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  650. package/dist/unstable/reactivity/AtomRegistry.js +50 -9
  651. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  652. package/dist/unstable/reactivity/AtomRpc.d.ts +9 -9
  653. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  654. package/dist/unstable/reactivity/AtomRpc.js +47 -21
  655. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  656. package/dist/unstable/reactivity/Hydration.d.ts +39 -0
  657. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
  658. package/dist/unstable/reactivity/Hydration.js +76 -0
  659. package/dist/unstable/reactivity/Hydration.js.map +1 -0
  660. package/dist/unstable/reactivity/index.d.ts +4 -0
  661. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  662. package/dist/unstable/reactivity/index.js +4 -0
  663. package/dist/unstable/reactivity/index.js.map +1 -1
  664. package/dist/unstable/rpc/Rpc.d.ts +5 -5
  665. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  666. package/dist/unstable/rpc/Rpc.js.map +1 -1
  667. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  668. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  669. package/dist/unstable/rpc/RpcClient.js +6 -13
  670. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  671. package/dist/unstable/rpc/RpcGroup.d.ts +2 -2
  672. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  673. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  674. package/dist/unstable/rpc/RpcMiddleware.d.ts +8 -8
  675. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  676. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  677. package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
  678. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  679. package/dist/unstable/rpc/RpcSchema.js +14 -0
  680. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  681. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  682. package/dist/unstable/rpc/RpcSerialization.js +34 -9
  683. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  684. package/dist/unstable/rpc/RpcServer.d.ts +5 -9
  685. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  686. package/dist/unstable/rpc/RpcServer.js +17 -17
  687. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  688. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  689. package/dist/unstable/rpc/Utils.js +3 -2
  690. package/dist/unstable/rpc/Utils.js.map +1 -1
  691. package/dist/unstable/schema/Model.d.ts +22 -1
  692. package/dist/unstable/schema/Model.d.ts.map +1 -1
  693. package/dist/unstable/schema/Model.js +15 -0
  694. package/dist/unstable/schema/Model.js.map +1 -1
  695. package/dist/unstable/schema/VariantSchema.d.ts +5 -5
  696. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  697. package/dist/unstable/schema/VariantSchema.js +6 -6
  698. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  699. package/dist/unstable/socket/Socket.d.ts +4 -4
  700. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  701. package/dist/unstable/socket/Socket.js +6 -5
  702. package/dist/unstable/socket/Socket.js.map +1 -1
  703. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  704. package/dist/unstable/sql/Migrator.d.ts +1 -1
  705. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  706. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  707. package/dist/unstable/sql/SqlError.d.ts +14 -14
  708. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  709. package/dist/unstable/sql/SqlError.js +9 -3
  710. package/dist/unstable/sql/SqlError.js.map +1 -1
  711. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  712. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  713. package/dist/unstable/sql/SqlModel.js +3 -3
  714. package/dist/unstable/sql/SqlModel.js.map +1 -1
  715. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  716. package/dist/unstable/sql/SqlResolver.js +17 -8
  717. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  718. package/dist/unstable/sql/SqlSchema.d.ts +17 -6
  719. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  720. package/dist/unstable/sql/SqlSchema.js +17 -7
  721. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  722. package/dist/unstable/sql/Statement.js +0 -1
  723. package/dist/unstable/sql/Statement.js.map +1 -1
  724. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  725. package/dist/unstable/workers/Worker.js +2 -1
  726. package/dist/unstable/workers/Worker.js.map +1 -1
  727. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  728. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  729. package/dist/unstable/workflow/DurableClock.js +3 -3
  730. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  731. package/dist/unstable/workflow/DurableDeferred.js +2 -2
  732. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  733. package/dist/unstable/workflow/Workflow.d.ts +3 -3
  734. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  735. package/dist/unstable/workflow/Workflow.js +1 -1
  736. package/dist/unstable/workflow/Workflow.js.map +1 -1
  737. package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
  738. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  739. package/dist/unstable/workflow/WorkflowEngine.js +137 -1
  740. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  741. package/package.json +2 -2
  742. package/src/Array.ts +192 -342
  743. package/src/Brand.ts +1 -1
  744. package/src/Cache.ts +9 -8
  745. package/src/Cause.ts +2 -2
  746. package/src/Channel.ts +554 -138
  747. package/src/Chunk.ts +81 -268
  748. package/src/Combiner.ts +280 -13
  749. package/src/Config.ts +186 -24
  750. package/src/Data.ts +539 -376
  751. package/src/DateTime.ts +24 -164
  752. package/src/Duration.ts +13 -13
  753. package/src/Effect.ts +1477 -1126
  754. package/src/Encoding.ts +879 -0
  755. package/src/Equal.ts +278 -111
  756. package/src/ErrorReporter.ts +457 -0
  757. package/src/Exit.ts +24 -12
  758. package/src/Fiber.ts +10 -2
  759. package/src/FileSystem.ts +7 -8
  760. package/src/Filter.ts +52 -63
  761. package/src/Formatter.ts +253 -51
  762. package/src/Function.ts +2 -10
  763. package/src/Graph.ts +24 -11
  764. package/src/HashMap.ts +15 -14
  765. package/src/Iterable.ts +104 -50
  766. package/src/JsonSchema.ts +383 -10
  767. package/src/Latch.ts +112 -0
  768. package/src/Layer.ts +123 -132
  769. package/src/LayerMap.ts +9 -9
  770. package/src/LogLevel.ts +37 -0
  771. package/src/Logger.ts +33 -100
  772. package/src/ManagedRuntime.ts +2 -2
  773. package/src/Metric.ts +6 -8
  774. package/src/Newtype.ts +308 -0
  775. package/src/Optic.ts +948 -19
  776. package/src/Option.ts +32 -24
  777. package/src/Pipeable.ts +32 -1
  778. package/src/PlatformError.ts +5 -5
  779. package/src/Pool.ts +13 -11
  780. package/src/PubSub.ts +10 -9
  781. package/src/Pull.ts +1 -1
  782. package/src/Queue.ts +0 -1
  783. package/src/Random.ts +51 -14
  784. package/src/RcMap.ts +5 -5
  785. package/src/RcRef.ts +1 -1
  786. package/src/Record.ts +42 -152
  787. package/src/Reducer.ts +166 -7
  788. package/src/References.ts +10 -5
  789. package/src/Request.ts +3 -2
  790. package/src/RequestResolver.ts +29 -49
  791. package/src/Result.ts +2 -4
  792. package/src/Runtime.ts +102 -6
  793. package/src/Schedule.ts +462 -242
  794. package/src/Scheduler.ts +12 -0
  795. package/src/Schema.ts +796 -194
  796. package/src/SchemaAST.ts +164 -31
  797. package/src/SchemaGetter.ts +15 -17
  798. package/src/SchemaParser.ts +11 -0
  799. package/src/SchemaRepresentation.ts +49 -24
  800. package/src/SchemaTransformation.ts +189 -4
  801. package/src/ScopedCache.ts +3 -3
  802. package/src/Semaphore.ts +356 -0
  803. package/src/ServiceMap.ts +50 -40
  804. package/src/Sink.ts +78 -26
  805. package/src/Stdio.ts +27 -4
  806. package/src/Stream.ts +586 -608
  807. package/src/Struct.ts +26 -0
  808. package/src/SubscriptionRef.ts +3 -2
  809. package/src/SynchronizedRef.ts +3 -2
  810. package/src/Trie.ts +18 -17
  811. package/src/TxChunk.ts +72 -53
  812. package/src/TxDeferred.ts +394 -0
  813. package/src/TxHashMap.ts +332 -285
  814. package/src/TxHashSet.ts +111 -116
  815. package/src/TxPriorityQueue.ts +767 -0
  816. package/src/TxPubSub.ts +789 -0
  817. package/src/TxQueue.ts +241 -251
  818. package/src/TxReentrantLock.ts +753 -0
  819. package/src/TxRef.ts +50 -38
  820. package/src/TxSemaphore.ts +29 -32
  821. package/src/TxSubscriptionRef.ts +639 -0
  822. package/src/Types.ts +73 -19
  823. package/src/Utils.ts +137 -111
  824. package/src/index.ts +728 -24
  825. package/src/internal/core.ts +12 -5
  826. package/src/internal/dateTime.ts +9 -30
  827. package/src/internal/effect.ts +774 -301
  828. package/src/internal/hashMap.ts +8 -7
  829. package/src/internal/random.ts +20 -0
  830. package/src/internal/rcRef.ts +4 -3
  831. package/src/internal/request.ts +2 -2
  832. package/src/internal/schema/annotations.ts +2 -0
  833. package/src/internal/schema/representation.ts +45 -94
  834. package/src/internal/schema/schema.ts +1 -0
  835. package/src/internal/schema/to-codec.ts +7 -17
  836. package/src/internal/trie.ts +15 -9
  837. package/src/testing/TestClock.ts +13 -11
  838. package/src/testing/TestSchema.ts +332 -35
  839. package/src/testing/index.ts +64 -1
  840. package/src/unstable/ai/AiError.ts +105 -48
  841. package/src/unstable/ai/Chat.ts +47 -61
  842. package/src/unstable/ai/LanguageModel.ts +153 -68
  843. package/src/unstable/ai/McpSchema.ts +73 -13
  844. package/src/unstable/ai/McpServer.ts +271 -61
  845. package/src/unstable/ai/Model.ts +40 -9
  846. package/src/unstable/ai/Prompt.ts +37 -37
  847. package/src/unstable/ai/Response.ts +25 -25
  848. package/src/unstable/ai/Tool.ts +20 -14
  849. package/src/unstable/ai/Toolkit.ts +5 -14
  850. package/src/unstable/ai/index.ts +1 -1
  851. package/src/unstable/ai/internal/codec-transformer.ts +0 -7
  852. package/src/unstable/cli/CliError.ts +47 -59
  853. package/src/unstable/cli/CliOutput.ts +75 -6
  854. package/src/unstable/cli/Command.ts +796 -187
  855. package/src/unstable/cli/GlobalFlag.ts +243 -0
  856. package/src/unstable/cli/HelpDoc.ts +80 -2
  857. package/src/unstable/cli/Primitive.ts +1 -1
  858. package/src/unstable/cli/Prompt.ts +31 -9
  859. package/src/unstable/cli/index.ts +5 -0
  860. package/src/unstable/cli/internal/command.ts +109 -63
  861. package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
  862. package/src/unstable/cli/internal/config.ts +49 -0
  863. package/src/unstable/cli/internal/help.ts +171 -0
  864. package/src/unstable/cli/internal/parser.ts +66 -61
  865. package/src/unstable/cluster/ClusterCron.ts +2 -2
  866. package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
  867. package/src/unstable/cluster/Entity.ts +11 -10
  868. package/src/unstable/cluster/EntityResource.ts +4 -4
  869. package/src/unstable/cluster/Envelope.ts +1 -1
  870. package/src/unstable/cluster/K8sHttpClient.ts +5 -5
  871. package/src/unstable/cluster/MessageStorage.ts +3 -5
  872. package/src/unstable/cluster/Runners.ts +6 -5
  873. package/src/unstable/cluster/Sharding.ts +12 -10
  874. package/src/unstable/cluster/ShardingConfig.ts +30 -31
  875. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  876. package/src/unstable/cluster/internal/entityManager.ts +9 -8
  877. package/src/unstable/cluster/internal/entityReaper.ts +2 -1
  878. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  879. package/src/unstable/encoding/Sse.ts +3 -5
  880. package/src/unstable/eventlog/EventLog.ts +2 -1
  881. package/src/unstable/http/Cookies.ts +87 -3
  882. package/src/unstable/http/Headers.ts +62 -13
  883. package/src/unstable/http/HttpBody.ts +6 -6
  884. package/src/unstable/http/HttpClient.ts +374 -33
  885. package/src/unstable/http/HttpClientRequest.ts +38 -30
  886. package/src/unstable/http/HttpClientResponse.ts +7 -2
  887. package/src/unstable/http/HttpEffect.ts +54 -68
  888. package/src/unstable/http/HttpMethod.ts +16 -4
  889. package/src/unstable/http/HttpMiddleware.ts +9 -24
  890. package/src/unstable/http/HttpServerError.ts +42 -45
  891. package/src/unstable/http/HttpServerRequest.ts +389 -2
  892. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  893. package/src/unstable/http/HttpServerResponse.ts +337 -4
  894. package/src/unstable/http/HttpStaticServer.ts +456 -0
  895. package/src/unstable/http/Multipart.ts +2 -2
  896. package/src/unstable/http/UrlParams.ts +20 -5
  897. package/src/unstable/http/index.ts +5 -0
  898. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  899. package/src/unstable/httpapi/HttpApi.ts +6 -6
  900. package/src/unstable/httpapi/HttpApiBuilder.ts +81 -28
  901. package/src/unstable/httpapi/HttpApiClient.ts +100 -11
  902. package/src/unstable/httpapi/HttpApiEndpoint.ts +71 -87
  903. package/src/unstable/httpapi/HttpApiError.ts +51 -28
  904. package/src/unstable/httpapi/HttpApiGroup.ts +7 -6
  905. package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
  906. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  907. package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
  908. package/src/unstable/httpapi/OpenApi.ts +41 -23
  909. package/src/unstable/observability/Otlp.ts +12 -12
  910. package/src/unstable/observability/OtlpExporter.ts +3 -3
  911. package/src/unstable/observability/OtlpLogger.ts +13 -9
  912. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  913. package/src/unstable/observability/OtlpTracer.ts +4 -4
  914. package/src/unstable/persistence/KeyValueStore.ts +6 -6
  915. package/src/unstable/persistence/Persistable.ts +2 -2
  916. package/src/unstable/persistence/PersistedCache.ts +20 -9
  917. package/src/unstable/persistence/PersistedQueue.ts +25 -24
  918. package/src/unstable/persistence/Persistence.ts +3 -3
  919. package/src/unstable/persistence/RateLimiter.ts +4 -4
  920. package/src/unstable/process/ChildProcess.ts +6 -208
  921. package/src/unstable/process/ChildProcessSpawner.ts +75 -14
  922. package/src/unstable/reactivity/Atom.ts +211 -50
  923. package/src/unstable/reactivity/AtomHttpApi.ts +66 -31
  924. package/src/unstable/reactivity/AtomRegistry.ts +61 -9
  925. package/src/unstable/reactivity/AtomRpc.ts +51 -20
  926. package/src/unstable/reactivity/Hydration.ts +112 -0
  927. package/src/unstable/reactivity/index.ts +5 -0
  928. package/src/unstable/rpc/Rpc.ts +7 -9
  929. package/src/unstable/rpc/RpcClient.ts +12 -54
  930. package/src/unstable/rpc/RpcGroup.ts +4 -4
  931. package/src/unstable/rpc/RpcMiddleware.ts +15 -9
  932. package/src/unstable/rpc/RpcSchema.ts +17 -0
  933. package/src/unstable/rpc/RpcSerialization.ts +44 -9
  934. package/src/unstable/rpc/RpcServer.ts +28 -32
  935. package/src/unstable/rpc/Utils.ts +3 -2
  936. package/src/unstable/schema/Model.ts +31 -0
  937. package/src/unstable/schema/VariantSchema.ts +9 -9
  938. package/src/unstable/socket/Socket.ts +16 -17
  939. package/src/unstable/sql/SqlClient.ts +1 -1
  940. package/src/unstable/sql/SqlError.ts +11 -9
  941. package/src/unstable/sql/SqlModel.ts +5 -5
  942. package/src/unstable/sql/SqlResolver.ts +17 -7
  943. package/src/unstable/sql/SqlSchema.ts +42 -26
  944. package/src/unstable/sql/Statement.ts +0 -1
  945. package/src/unstable/workers/Worker.ts +2 -1
  946. package/src/unstable/workflow/DurableClock.ts +8 -8
  947. package/src/unstable/workflow/DurableDeferred.ts +2 -2
  948. package/src/unstable/workflow/Workflow.ts +6 -2
  949. package/src/unstable/workflow/WorkflowEngine.ts +185 -2
  950. package/dist/PartitionedSemaphore.d.ts +0 -52
  951. package/dist/PartitionedSemaphore.d.ts.map +0 -1
  952. package/dist/PartitionedSemaphore.js.map +0 -1
  953. package/dist/encoding/Base64.d.ts +0 -67
  954. package/dist/encoding/Base64.d.ts.map +0 -1
  955. package/dist/encoding/Base64.js +0 -146
  956. package/dist/encoding/Base64.js.map +0 -1
  957. package/dist/encoding/Base64Url.d.ts +0 -60
  958. package/dist/encoding/Base64Url.d.ts.map +0 -1
  959. package/dist/encoding/Base64Url.js +0 -89
  960. package/dist/encoding/Base64Url.js.map +0 -1
  961. package/dist/encoding/EncodingError.d.ts +0 -31
  962. package/dist/encoding/EncodingError.d.ts.map +0 -1
  963. package/dist/encoding/EncodingError.js +0 -22
  964. package/dist/encoding/EncodingError.js.map +0 -1
  965. package/dist/encoding/Hex.d.ts +0 -61
  966. package/dist/encoding/Hex.d.ts.map +0 -1
  967. package/dist/encoding/Hex.js +0 -115
  968. package/dist/encoding/Hex.js.map +0 -1
  969. package/dist/encoding/index.d.ts +0 -26
  970. package/dist/encoding/index.d.ts.map +0 -1
  971. package/dist/encoding/index.js +0 -27
  972. package/dist/encoding/index.js.map +0 -1
  973. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  974. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  975. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  976. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  977. package/src/PartitionedSemaphore.ts +0 -182
  978. package/src/encoding/Base64.ts +0 -366
  979. package/src/encoding/Base64Url.ts +0 -104
  980. package/src/encoding/EncodingError.ts +0 -35
  981. package/src/encoding/Hex.ts +0 -390
  982. package/src/encoding/index.ts +0 -31
  983. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
package/dist/Equal.js CHANGED
@@ -2,7 +2,39 @@ import * as Hash from "./Hash.js";
2
2
  import { byReferenceInstances, getAllObjectKeys } from "./internal/equal.js";
3
3
  import { hasProperty } from "./Predicate.js";
4
4
  /**
5
- * The unique identifier used to identify objects that implement the `Equal` interface.
5
+ * The unique string identifier for the {@link Equal} interface.
6
+ *
7
+ * Use this as a computed property key when implementing custom equality on a
8
+ * class or object literal.
9
+ *
10
+ * When to use:
11
+ * - As the method name when implementing the {@link Equal} interface.
12
+ * - To check manually whether an object carries an equality method (prefer
13
+ * {@link isEqual} instead).
14
+ *
15
+ * Behavior:
16
+ * - Pure constant — no allocation or side effects.
17
+ *
18
+ * **Example** (implementing Equal on a class)
19
+ *
20
+ * ```ts
21
+ * import { Equal, Hash } from "effect"
22
+ *
23
+ * class UserId implements Equal.Equal {
24
+ * constructor(readonly id: string) {}
25
+ *
26
+ * [Equal.symbol](that: Equal.Equal): boolean {
27
+ * return that instanceof UserId && this.id === that.id
28
+ * }
29
+ *
30
+ * [Hash.symbol](): number {
31
+ * return Hash.string(this.id)
32
+ * }
33
+ * }
34
+ * ```
35
+ *
36
+ * @see {@link Equal} — the interface that uses this symbol
37
+ * @see {@link isEqual} — type guard for `Equal` implementors
6
38
  *
7
39
  * @since 2.0.0
8
40
  */
@@ -175,37 +207,61 @@ export function makeCompareSet(equivalence) {
175
207
  }
176
208
  const compareSets = /*#__PURE__*/makeCompareSet(compareBoth);
177
209
  /**
178
- * Determines if a value implements the `Equal` interface.
210
+ * Checks whether a value implements the {@link Equal} interface.
211
+ *
212
+ * When to use:
213
+ * - To branch on whether a value supports custom equality before calling
214
+ * its `[Equal.symbol]` method directly.
215
+ * - In generic utility code that needs to distinguish `Equal` implementors
216
+ * from plain values.
217
+ *
218
+ * Behavior:
219
+ * - Pure function, no side effects.
220
+ * - Returns `true` if and only if `u` has a property keyed by
221
+ * {@link symbol}.
222
+ * - Acts as a TypeScript type guard, narrowing the input to {@link Equal}.
223
+ *
224
+ * **Example** (type guard)
179
225
  *
180
- * @example
181
226
  * ```ts
182
227
  * import { Equal, Hash } from "effect"
183
- * import * as assert from "node:assert"
184
228
  *
185
- * class MyClass implements Equal.Equal {
229
+ * class Token implements Equal.Equal {
230
+ * constructor(readonly value: string) {}
186
231
  * [Equal.symbol](that: Equal.Equal): boolean {
187
- * return that instanceof MyClass
232
+ * return that instanceof Token && this.value === that.value
188
233
  * }
189
234
  * [Hash.symbol](): number {
190
- * return 0
235
+ * return Hash.string(this.value)
191
236
  * }
192
237
  * }
193
238
  *
194
- * const instance = new MyClass()
195
- * assert(Equal.isEqual(instance) === true)
196
- * assert(Equal.isEqual({}) === false)
197
- * assert(Equal.isEqual(42) === false)
239
+ * console.log(Equal.isEqual(new Token("abc"))) // true
240
+ * console.log(Equal.isEqual({ x: 1 })) // false
241
+ * console.log(Equal.isEqual(42)) // false
198
242
  * ```
199
243
  *
244
+ * @see {@link Equal} — the interface being checked
245
+ * @see {@link symbol} — the property key that signals `Equal` support
246
+ *
200
247
  * @category guards
201
248
  * @since 2.0.0
202
249
  */
203
250
  export const isEqual = u => hasProperty(u, symbol);
204
251
  /**
205
- * Creates an `Equivalence` instance using the `equals` function.
206
- * This allows the equality logic to be used with APIs that expect an `Equivalence`.
252
+ * Wraps {@link equals} as an `Equivalence<A>`.
253
+ *
254
+ * When to use:
255
+ * - When an API (e.g. `Array.dedupeWith`, `Equivalence.mapInput`) requires an
256
+ * `Equivalence` and you want to reuse `Equal.equals`.
257
+ *
258
+ * Behavior:
259
+ * - Returns a function `(a: A, b: A) => boolean` that delegates to
260
+ * {@link equals}.
261
+ * - Pure; allocates a thin wrapper on each call.
262
+ *
263
+ * **Example** (deduplicating with Equal semantics)
207
264
  *
208
- * @example
209
265
  * ```ts
210
266
  * import { Array, Equal } from "effect"
211
267
  *
@@ -214,70 +270,90 @@ export const isEqual = u => hasProperty(u, symbol);
214
270
  * console.log(result) // [1, 2, 3]
215
271
  * ```
216
272
  *
273
+ * @see {@link equals} — the underlying comparison function
274
+ *
217
275
  * @category instances
218
276
  * @since 2.0.0
219
277
  */
220
278
  export const asEquivalence = () => equals;
221
279
  /**
222
- * Creates a proxy of an object that uses reference equality instead of structural equality.
280
+ * Creates a proxy that uses reference equality instead of structural equality.
223
281
  *
224
- * By default, plain objects and arrays use structural equality. This function creates
225
- * a proxy that behaves exactly like the original object but uses reference equality
226
- * for comparison purposes.
282
+ * When to use:
283
+ * - When you have a plain object or array that should be compared by identity
284
+ * (reference), not by contents.
285
+ * - When you want to preserve the original object unchanged and get a new
286
+ * reference-equal handle.
227
287
  *
228
- * @example
229
- * ```ts
230
- * import { Equal } from "effect"
231
- * import * as assert from "node:assert"
288
+ * Behavior:
289
+ * - Returns a `Proxy` wrapping `obj`. The proxy reads through to the
290
+ * original, so property access is unchanged.
291
+ * - The proxy is registered in an internal WeakSet; {@link equals} returns
292
+ * `false` for any pair where at least one operand is in that set (unless
293
+ * they are the same reference).
294
+ * - Each call creates a **new** proxy, so `byReference(x) !== byReference(x)`.
295
+ * - Does **not** mutate the original object (unlike {@link byReferenceUnsafe}).
232
296
  *
233
- * const obj1 = { a: 1, b: 2 }
234
- * const obj2 = { a: 1, b: 2 }
297
+ * **Example** (opting out of structural equality)
235
298
  *
236
- * // Normal structural equality
237
- * assert(Equal.equals(obj1, obj2) === true)
299
+ * ```ts
300
+ * import { Equal } from "effect"
238
301
  *
239
- * // Create reference equality version
240
- * const obj1ByRef = Equal.byReference(obj1)
241
- * assert(Equal.equals(obj1ByRef, obj2) === false) // uses reference equality
242
- * assert(Equal.equals(obj1ByRef, obj1ByRef) === true) // same reference
302
+ * const a = { x: 1 }
303
+ * const b = { x: 1 }
243
304
  *
244
- * // Each call creates a new proxy instance
245
- * const obj1ByRef2 = Equal.byReference(obj1)
246
- * assert(Equal.equals(obj1ByRef, obj1ByRef2) === false) // different instances
305
+ * console.log(Equal.equals(a, b)) // true (structural)
247
306
  *
248
- * // Proxy behaves like the original
249
- * assert(obj1ByRef.a === 1)
307
+ * const aRef = Equal.byReference(a)
308
+ * console.log(Equal.equals(aRef, b)) // false (reference)
309
+ * console.log(Equal.equals(aRef, aRef)) // true (same reference)
310
+ * console.log(aRef.x) // 1 (proxy reads through)
250
311
  * ```
251
312
  *
313
+ * @see {@link byReferenceUnsafe} — same effect without a proxy (mutates the
314
+ * original)
315
+ * @see {@link equals} — the comparison function affected by this opt-out
316
+ *
252
317
  * @category utility
253
318
  * @since 2.0.0
254
319
  */
255
320
  export const byReference = obj => byReferenceUnsafe(new Proxy(obj, {}));
256
321
  /**
257
- * Marks an object to use reference equality instead of structural equality, without creating a proxy.
322
+ * Permanently marks an object to use reference equality, without creating a
323
+ * proxy.
324
+ *
325
+ * When to use:
326
+ * - When you want reference equality semantics and can accept that the
327
+ * original object is **permanently** modified.
328
+ * - When proxy overhead is unacceptable (hot paths, large collections).
258
329
  *
259
- * Unlike `byReference`, this function directly modifies the object's equality behavior
260
- * without creating a proxy wrapper. This is more performant but "unsafe" because
261
- * it permanently changes how the object is compared.
330
+ * Behavior:
331
+ * - Adds `obj` to an internal WeakSet. From that point on, {@link equals}
332
+ * treats it as reference-only.
333
+ * - Returns the **same** object (not a copy or proxy), so
334
+ * `byReferenceUnsafe(x) === x`.
335
+ * - The marking is irreversible for the lifetime of the object.
336
+ * - Does **not** affect the object's prototype, properties, or behavior
337
+ * beyond equality checks.
338
+ *
339
+ * **Example** (marking an object for reference equality)
262
340
  *
263
- * @example
264
341
  * ```ts
265
342
  * import { Equal } from "effect"
266
- * import * as assert from "node:assert"
267
343
  *
268
344
  * const obj1 = { a: 1, b: 2 }
269
345
  * const obj2 = { a: 1, b: 2 }
270
346
  *
271
- * // Mark obj1 for reference equality (modifies obj1 directly)
272
- * const obj1ByRef = Equal.byReferenceUnsafe(obj1)
273
- * assert(obj1ByRef === obj1) // Same object, no proxy created
274
- * assert(Equal.equals(obj1ByRef, obj2) === false) // uses reference equality
275
- * assert(Equal.equals(obj1ByRef, obj1ByRef) === true) // same reference
347
+ * Equal.byReferenceUnsafe(obj1)
276
348
  *
277
- * // The original obj1 is now permanently marked for reference equality
278
- * assert(Equal.equals(obj1, obj2) === false) // obj1 uses reference equality
349
+ * console.log(Equal.equals(obj1, obj2)) // false (reference)
350
+ * console.log(Equal.equals(obj1, obj1)) // true (same reference)
351
+ * console.log(obj1 === Equal.byReferenceUnsafe(obj1)) // true (same object)
279
352
  * ```
280
353
  *
354
+ * @see {@link byReference} — safer alternative that creates a proxy
355
+ * @see {@link equals} — the comparison function affected by this opt-out
356
+ *
281
357
  * @category utility
282
358
  * @since 2.0.0
283
359
  */
package/dist/Equal.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Equal.js","names":["Hash","byReferenceInstances","getAllObjectKeys","hasProperty","symbol","equals","arguments","length","self","compareBoth","that","selfType","has","withCache","compareObjects","withVisitedTracking","fn","hasLeft","visitedLeft","hasRight","visitedRight","add","result","delete","WeakSet","hash","Date","toISOString","RegExp","toString","selfIsEqual","isEqual","thatIsEqual","bothEquals","Array","isArray","compareArrays","Map","size","compareMaps","Set","compareSets","compareRecords","f","selfMap","equalityCache","get","WeakMap","set","thatMap","i","selfKeys","thatKeys","key","makeCompareMap","keyEquivalence","valueEquivalence","selfKey","selfValue","found","thatKey","thatValue","makeCompareSet","equivalence","u","asEquivalence","byReference","obj","byReferenceUnsafe","Proxy"],"sources":["../src/Equal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Equal.js","names":["Hash","byReferenceInstances","getAllObjectKeys","hasProperty","symbol","equals","arguments","length","self","compareBoth","that","selfType","has","withCache","compareObjects","withVisitedTracking","fn","hasLeft","visitedLeft","hasRight","visitedRight","add","result","delete","WeakSet","hash","Date","toISOString","RegExp","toString","selfIsEqual","isEqual","thatIsEqual","bothEquals","Array","isArray","compareArrays","Map","size","compareMaps","Set","compareSets","compareRecords","f","selfMap","equalityCache","get","WeakMap","set","thatMap","i","selfKeys","thatKeys","key","makeCompareMap","keyEquivalence","valueEquivalence","selfKey","selfValue","found","thatKey","thatValue","makeCompareSet","equivalence","u","asEquivalence","byReference","obj","byReferenceUnsafe","Proxy"],"sources":["../src/Equal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,374 @@
1
+ /**
2
+ * Pluggable error reporting for Effect programs.
3
+ *
4
+ * Reporting is triggered by `Effect.withErrorReporting`,
5
+ * `ErrorReporter.report`, or built-in reporting boundaries in the HTTP and
6
+ * RPC server modules.
7
+ *
8
+ * Each reporter receives a structured callback with the failing `Cause`, a
9
+ * pretty-printed `Error`, severity, and any extra attributes attached to the
10
+ * original error — making it straightforward to forward failures to Sentry,
11
+ * Datadog, or a custom logging backend.
12
+ *
13
+ * Use the annotation symbols (`ignore`, `severity`, `attributes`) on your
14
+ * error classes to control reporting behavior per-error.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { Data, Effect, ErrorReporter } from "effect"
19
+ *
20
+ * // A reporter that logs to the console
21
+ * const consoleReporter = ErrorReporter.make(({ error, severity }) => {
22
+ * console.error(`[${severity}]`, error.message)
23
+ * })
24
+ *
25
+ * // An error that should be ignored by reporters
26
+ * class NotFoundError extends Data.TaggedError("NotFoundError")<{}> {
27
+ * readonly [ErrorReporter.ignore] = true
28
+ * }
29
+ *
30
+ * // An error with custom severity and attributes
31
+ * class RateLimitError extends Data.TaggedError("RateLimitError")<{
32
+ * readonly retryAfter: number
33
+ * }> {
34
+ * readonly [ErrorReporter.severity] = "Warn" as const
35
+ * readonly [ErrorReporter.attributes] = {
36
+ * retryAfter: this.retryAfter
37
+ * }
38
+ * }
39
+ *
40
+ * // Opt in to error reporting with Effect.withErrorReporting
41
+ * const program = Effect.gen(function*() {
42
+ * return yield* new RateLimitError({ retryAfter: 60 })
43
+ * }).pipe(
44
+ * Effect.withErrorReporting,
45
+ * Effect.provide(ErrorReporter.layer([consoleReporter]))
46
+ * )
47
+ * ```
48
+ *
49
+ * @since 4.0.0
50
+ */
51
+ import type * as Cause from "./Cause.ts";
52
+ import * as Effect from "./Effect.ts";
53
+ import type * as Fiber from "./Fiber.ts";
54
+ import * as Layer from "./Layer.ts";
55
+ import type { Severity } from "./LogLevel.ts";
56
+ import type { ReadonlyRecord } from "./Record.ts";
57
+ import type * as Scope from "./Scope.ts";
58
+ import type * as ServiceMap from "./ServiceMap.ts";
59
+ /**
60
+ * @since 4.0.0
61
+ * @category Type Identifiers
62
+ */
63
+ export type TypeId = "~effect/ErrorReporter";
64
+ /**
65
+ * @since 4.0.0
66
+ * @category Type Identifiers
67
+ */
68
+ export declare const TypeId: TypeId;
69
+ /**
70
+ * An `ErrorReporter` receives reported failures and forwards them to an
71
+ * external system (logging service, error tracker, etc.).
72
+ *
73
+ * Reporting is triggered by `Effect.withErrorReporting`,
74
+ * `ErrorReporter.report`, or built-in boundaries in the HTTP and RPC server
75
+ * modules. Use {@link make} to create a reporter — it handles deduplication
76
+ * and per-error annotation extraction automatically.
77
+ *
78
+ * @since 4.0.0
79
+ * @category Models
80
+ */
81
+ export interface ErrorReporter {
82
+ readonly [TypeId]: TypeId;
83
+ report(options: {
84
+ readonly cause: Cause.Cause<unknown>;
85
+ readonly fiber: Fiber.Fiber<unknown, unknown>;
86
+ readonly timestamp: bigint;
87
+ }): void;
88
+ }
89
+ /**
90
+ * Creates an `ErrorReporter` from a callback.
91
+ *
92
+ * The returned reporter automatically deduplicates causes and individual
93
+ * errors (the same object is never reported twice), skips interruptions,
94
+ * and resolves the `ignore`, `severity`, and `attributes` annotations on
95
+ * each error before invoking your callback.
96
+ *
97
+ * @example
98
+ * ```ts
99
+ * import { ErrorReporter } from "effect"
100
+ *
101
+ * // Forward every failure to the console
102
+ * const consoleReporter = ErrorReporter.make(
103
+ * ({ error, severity, attributes }) => {
104
+ * console.error(`[${severity}]`, error.message, attributes)
105
+ * }
106
+ * )
107
+ * ```
108
+ *
109
+ * @since 4.0.0
110
+ * @category Constructors
111
+ */
112
+ export declare const make: (report: (options: {
113
+ readonly cause: Cause.Cause<unknown>;
114
+ readonly error: Error;
115
+ readonly attributes: ReadonlyRecord<string, unknown>;
116
+ readonly severity: Severity;
117
+ readonly fiber: Fiber.Fiber<unknown, unknown>;
118
+ readonly timestamp: bigint;
119
+ }) => void) => ErrorReporter;
120
+ /**
121
+ * A `ServiceMap.Reference` holding the set of active `ErrorReporter`s for the
122
+ * current fiber. Defaults to an empty set (no reporting).
123
+ *
124
+ * Prefer {@link layer} to configure reporters via the `Layer` API. Use this
125
+ * reference directly only when you need low-level control (e.g. reading the
126
+ * current reporters or swapping them inside a `FiberRef`).
127
+ *
128
+ * @since 4.0.0
129
+ * @category References
130
+ */
131
+ export declare const CurrentErrorReporters: ServiceMap.Reference<ReadonlySet<ErrorReporter>>;
132
+ /**
133
+ * Creates a `Layer` that registers one or more `ErrorReporter`s.
134
+ *
135
+ * Reporters can be plain `ErrorReporter` values or effectful
136
+ * `Effect<ErrorReporter>` values that are resolved when the layer is built.
137
+ *
138
+ * By default the provided reporters **replace** any previously registered
139
+ * reporters. Set `mergeWithExisting: true` to add them alongside existing
140
+ * ones.
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * import { Effect, ErrorReporter } from "effect"
145
+ *
146
+ * const consoleReporter = ErrorReporter.make(({ error, severity }) => {
147
+ * console.error(`[${severity}]`, error.message)
148
+ * })
149
+ *
150
+ * const metricsReporter = ErrorReporter.make(({ severity }) => {
151
+ * // increment an error counter by severity
152
+ * })
153
+ *
154
+ * // Replace all existing reporters
155
+ * const ReporterLive = ErrorReporter.layer([
156
+ * consoleReporter,
157
+ * metricsReporter
158
+ * ])
159
+ *
160
+ * // Add to existing reporters instead of replacing
161
+ * const ReporterMerged = ErrorReporter.layer(
162
+ * [metricsReporter],
163
+ * { mergeWithExisting: true }
164
+ * )
165
+ *
166
+ * const program = Effect.fail("boom").pipe(
167
+ * Effect.withErrorReporting,
168
+ * Effect.provide(ReporterLive)
169
+ * )
170
+ * ```
171
+ *
172
+ * @since 4.0.0
173
+ * @category Layers
174
+ */
175
+ export declare const layer: <const Reporters extends ReadonlyArray<ErrorReporter | Effect.Effect<ErrorReporter, any, any>>>(reporters: Reporters, options?: {
176
+ readonly mergeWithExisting?: boolean | undefined;
177
+ } | undefined) => Layer.Layer<never, Reporters extends readonly [] ? never : Effect.Error<Reporters[number]>, Exclude<Reporters extends readonly [] ? never : Effect.Services<Reporters[number]>, Scope.Scope>>;
178
+ /**
179
+ * Manually report a `Cause` to all registered `ErrorReporter`s on the
180
+ * current fiber.
181
+ *
182
+ * This is useful when you want to report an error for observability without
183
+ * actually failing the fiber.
184
+ *
185
+ * @example
186
+ * ```ts
187
+ * import { Cause, Effect, ErrorReporter } from "effect"
188
+ *
189
+ * // Log the cause for monitoring, then continue with a fallback
190
+ * const program = Effect.gen(function*() {
191
+ * const cause = Cause.fail("something went wrong")
192
+ * yield* ErrorReporter.report(cause)
193
+ * return "fallback value"
194
+ * })
195
+ * ```
196
+ *
197
+ * @since 4.0.0
198
+ * @category Reporting
199
+ */
200
+ export declare const report: <E>(cause: Cause.Cause<E>) => Effect.Effect<void>;
201
+ /**
202
+ * Interface that errors can implement to control reporting behavior.
203
+ *
204
+ * All three annotation properties are optional:
205
+ * - `[ErrorReporter.ignore]` — when `true`, the error is never reported
206
+ * - `[ErrorReporter.severity]` — overrides the default `"Error"` severity
207
+ * - `[ErrorReporter.attributes]` — extra key/value pairs forwarded to reporters
208
+ *
209
+ * The global `Error` interface is augmented with `Reportable`, so these
210
+ * properties are available on all `Error` instances.
211
+ *
212
+ * @since 4.0.0
213
+ * @category Annotations
214
+ */
215
+ export interface Reportable {
216
+ readonly [ignore]?: boolean;
217
+ readonly [severity]?: Severity;
218
+ readonly [attributes]?: ReadonlyRecord<string, unknown>;
219
+ }
220
+ declare global {
221
+ interface Error extends Reportable {
222
+ }
223
+ }
224
+ /**
225
+ * Symbol key used to mark an error as unreportable.
226
+ *
227
+ * Set this property to `true` on any error class to prevent it from being
228
+ * forwarded to reporters. Useful for expected errors such as HTTP 404s.
229
+ *
230
+ * @example
231
+ * ```ts
232
+ * import { Data, ErrorReporter } from "effect"
233
+ *
234
+ * class NotFoundError extends Data.TaggedError("NotFoundError")<{}> {
235
+ * readonly [ErrorReporter.ignore] = true
236
+ * }
237
+ * ```
238
+ *
239
+ * @since 4.0.0
240
+ * @category Annotations
241
+ */
242
+ export type ignore = "~effect/ErrorReporter/ignore";
243
+ /**
244
+ * Symbol key used to mark an error as unreportable.
245
+ *
246
+ * Set this property to `true` on any error class to prevent it from being
247
+ * forwarded to reporters. Useful for expected errors such as HTTP 404s.
248
+ *
249
+ * @example
250
+ * ```ts
251
+ * import { Data, ErrorReporter } from "effect"
252
+ *
253
+ * class NotFoundError extends Data.TaggedError("NotFoundError")<{}> {
254
+ * readonly [ErrorReporter.ignore] = true
255
+ * }
256
+ * ```
257
+ *
258
+ * @since 4.0.0
259
+ * @category Annotations
260
+ */
261
+ export declare const ignore: ignore;
262
+ /**
263
+ * Returns `true` if the given value has the `ErrorReporter.ignore` annotation
264
+ * set to `true`.
265
+ *
266
+ * @since 4.0.0
267
+ * @category Annotations
268
+ */
269
+ export declare const isIgnored: (u: unknown) => boolean;
270
+ /**
271
+ * Symbol key used to override the severity level of an error.
272
+ *
273
+ * When set, the reporter callback receives this value as `severity` instead
274
+ * of the default `"Error"`. Accepted values are the `LogLevel.Severity`
275
+ * literals: `"Trace"`, `"Debug"`, `"Info"`, `"Warn"`, `"Error"`, `"Fatal"`.
276
+ *
277
+ * @example
278
+ * ```ts
279
+ * import { Data, ErrorReporter } from "effect"
280
+ *
281
+ * class DeprecationWarning extends Data.TaggedError("DeprecationWarning")<{}> {
282
+ * readonly [ErrorReporter.severity] = "Warn" as const
283
+ * }
284
+ * ```
285
+ *
286
+ * @since 4.0.0
287
+ * @category Annotations
288
+ */
289
+ export type severity = "~effect/ErrorReporter/severity";
290
+ /**
291
+ * Symbol key used to override the severity level of an error.
292
+ *
293
+ * When set, the reporter callback receives this value as `severity` instead
294
+ * of the default `"Error"`. Accepted values are the `LogLevel.Severity`
295
+ * literals: `"Trace"`, `"Debug"`, `"Info"`, `"Warn"`, `"Error"`, `"Fatal"`.
296
+ *
297
+ * @example
298
+ * ```ts
299
+ * import { Data, ErrorReporter } from "effect"
300
+ *
301
+ * class DeprecationWarning extends Data.TaggedError("DeprecationWarning")<{}> {
302
+ * readonly [ErrorReporter.severity] = "Warn" as const
303
+ * }
304
+ * ```
305
+ *
306
+ * @since 4.0.0
307
+ * @category Annotations
308
+ */
309
+ export declare const severity: severity;
310
+ /**
311
+ * Reads the `ErrorReporter.severity` annotation from an error object,
312
+ * falling back to `"Error"` when unset or invalid.
313
+ *
314
+ * @since 4.0.0
315
+ * @category Annotations
316
+ */
317
+ export declare const getSeverity: (error: object) => Severity;
318
+ /**
319
+ * Symbol key used to attach extra key/value metadata to an error report.
320
+ *
321
+ * Reporters receive these attributes alongside the error, making it easy to
322
+ * include contextual information such as user IDs, request IDs, or any
323
+ * domain-specific data useful for debugging.
324
+ *
325
+ * @example
326
+ * ```ts
327
+ * import { Data, ErrorReporter } from "effect"
328
+ *
329
+ * class PaymentError extends Data.TaggedError("PaymentError")<{
330
+ * readonly orderId: string
331
+ * }> {
332
+ * readonly [ErrorReporter.attributes] = {
333
+ * orderId: this.orderId
334
+ * }
335
+ * }
336
+ * ```
337
+ *
338
+ * @since 4.0.0
339
+ * @category Annotations
340
+ */
341
+ export type attributes = "~effect/ErrorReporter/attributes";
342
+ /**
343
+ * Symbol key used to attach extra key/value metadata to an error report.
344
+ *
345
+ * Reporters receive these attributes alongside the error, making it easy to
346
+ * include contextual information such as user IDs, request IDs, or any
347
+ * domain-specific data useful for debugging.
348
+ *
349
+ * @example
350
+ * ```ts
351
+ * import { Data, ErrorReporter } from "effect"
352
+ *
353
+ * class PaymentError extends Data.TaggedError("PaymentError")<{
354
+ * readonly orderId: string
355
+ * }> {
356
+ * readonly [ErrorReporter.attributes] = {
357
+ * orderId: this.orderId
358
+ * }
359
+ * }
360
+ * ```
361
+ *
362
+ * @since 4.0.0
363
+ * @category Annotations
364
+ */
365
+ export declare const attributes: attributes;
366
+ /**
367
+ * Reads the `ErrorReporter.attributes` annotation from an error object,
368
+ * returning an empty record when unset.
369
+ *
370
+ * @since 4.0.0
371
+ * @category Annotations
372
+ */
373
+ export declare const getAttributes: (error: object) => ReadonlyRecord<string, unknown>;
374
+ //# sourceMappingURL=ErrorReporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorReporter.d.ts","sourceRoot":"","sources":["../src/ErrorReporter.ts"],"names":[],"mappings":"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"}