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/Metric.js CHANGED
@@ -448,7 +448,7 @@ class SummaryMetric extends Metric$ {
448
448
  #quantiles;
449
449
  constructor(id, options) {
450
450
  super(id, options?.description, attributesToRecord(options?.attributes));
451
- this.#maxAge = Math.max(Duration.toMillis(Duration.fromDurationInputUnsafe(options.maxAge)), 0);
451
+ this.#maxAge = Math.max(Duration.toMillis(Duration.fromInputUnsafe(options.maxAge)), 0);
452
452
  this.#maxSize = options.maxSize;
453
453
  this.#quantiles = options.quantiles;
454
454
  }
@@ -1867,7 +1867,7 @@ export const FiberRuntimeMetricsImpl = {
1867
1867
  * Effect.gen(function*() {
1868
1868
  * yield* Effect.sleep(`${50 + id * 10} millis`)
1869
1869
  * if (id % 7 === 0) {
1870
- * yield* Effect.fail(new AppError({ operation: `fetch-user-${id}` }))
1870
+ * return yield* new AppError({ operation: `fetch-user-${id}` })
1871
1871
  * }
1872
1872
  * return { id, name: `User ${id}`, email: `user${id}@example.com` }
1873
1873
  * })
@@ -2004,9 +2004,7 @@ export const disableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntim
2004
2004
  * yield* Effect.sleep(`${100 + i * 50} millis`)
2005
2005
  * if (i % 4 === 0) {
2006
2006
  * // Simulate some failures
2007
- * yield* Effect.fail(
2008
- * new RuntimeMetricsError({ operation: `task-${i}` })
2009
- * )
2007
+ * return yield* new RuntimeMetricsError({ operation: `task-${i}` })
2010
2008
  * }
2011
2009
  * return `Task ${i} completed`
2012
2010
  * }).pipe(
@@ -1 +1 @@
1
- {"version":3,"file":"Metric.js","names":["Arr","Duration","constUndefined","dual","InternalEffect","InternalMetric","Layer","Order","pipeArguments","Predicate","ServiceMap","_String","CurrentMetricAttributesKey","CurrentMetricAttributes","Reference","defaultValue","MetricRegistryKey","MetricRegistry","Map","TypeId","Metric$","metadataCache","WeakMap","metadata","id","description","attributes","constructor","valueUnsafe","context","hook","get","modifyUnsafe","input","modify","updateUnsafe","update","extraAttributes","Object","keys","length","isNotUndefined","hooks","getOrCreate","mergedAttributes","mergeAttributes","set","key","makeKey","registry","has","createHooks","meta","type","attributesToRecord","pipe","arguments","bigint0","BigInt","CounterMetric","bigint","incremental","options","count","canUpdate","value","_value","makeHooks","GaugeMetric","FrequencyMetric","preregisteredWords","occurrences","word","HistogramMetric","boundaries","bounds","size","values","Uint32Array","Float64Array","sum","min","Number","MAX_VALUE","max","MIN_VALUE","map","sort","n","i","from","to","mid","Math","floor","boundary","getBuckets","builder","allocate","cumulated","buckets","SummaryMetric","maxAge","maxSize","quantiles","toMillis","fromDurationInputUnsafe","sortedQuantiles","observations","quantile","Error","head","snapshot","now","observation","timestamp","age","push","samples","sampleSize","q","undefined","index","ceil","observe","target","clock","ClockRef","currentTimeMillisUnsafe","MetricTransform","metric","isMetric","u","hasProperty","counter","name","gauge","frequency","histogram","summary","mapInput","summaryWithTimestamp","timer","exponentialBoundaries","start","factor","time_unit","self","flatMap","services","sync","servicesWith","f","withConstantInput","withAttributes","addAttributesToServiceMap","snapshotUnsafe","dump","metrics","maxNameLength","reduce","maxDescriptionLength","maxTypeLength","maxAttributesLength","attributesToString","grouped","entries","groupBy","sorted","sortWith","entry","rendered","group","renderName","renderDescription","renderType","renderAttributes","renderState","join","succeed","Array","state","padTo","padEnd","attrs","padding","repeat","prefix","renderKeyValues","printableQuantiles","keyValues","attr","boundariesFromIterable","iterable","append","filter","Set","POSITIVE_INFINITY","linearBoundaries","makeBy","width","pow","fibersActive","fibersStarted","fiberSuccesses","fiberFailures","FiberRuntimeMetricsKey","FiberRuntimeMetrics","FiberRuntimeMetricsImpl","recordFiberStart","recordFiberEnd","exit","exitIsSuccess","enableRuntimeMetricsLayer","disableRuntimeMetricsLayer","enableRuntimeMetrics","provideService","disableRuntimeMetrics","serializeAttributes","serializeEntries","isArray","other","acc","current","updated","add"],"sources":["../src/Metric.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Metric.js","names":["Arr","Duration","constUndefined","dual","InternalEffect","InternalMetric","Layer","Order","pipeArguments","Predicate","ServiceMap","_String","CurrentMetricAttributesKey","CurrentMetricAttributes","Reference","defaultValue","MetricRegistryKey","MetricRegistry","Map","TypeId","Metric$","metadataCache","WeakMap","metadata","id","description","attributes","constructor","valueUnsafe","context","hook","get","modifyUnsafe","input","modify","updateUnsafe","update","extraAttributes","Object","keys","length","isNotUndefined","hooks","getOrCreate","mergedAttributes","mergeAttributes","set","key","makeKey","registry","has","createHooks","meta","type","attributesToRecord","pipe","arguments","bigint0","BigInt","CounterMetric","bigint","incremental","options","count","canUpdate","value","_value","makeHooks","GaugeMetric","FrequencyMetric","preregisteredWords","occurrences","word","HistogramMetric","boundaries","bounds","size","values","Uint32Array","Float64Array","sum","min","Number","MAX_VALUE","max","MIN_VALUE","map","sort","n","i","from","to","mid","Math","floor","boundary","getBuckets","builder","allocate","cumulated","buckets","SummaryMetric","maxAge","maxSize","quantiles","toMillis","fromInputUnsafe","sortedQuantiles","observations","quantile","Error","head","snapshot","now","observation","timestamp","age","push","samples","sampleSize","q","undefined","index","ceil","observe","target","clock","ClockRef","currentTimeMillisUnsafe","MetricTransform","metric","isMetric","u","hasProperty","counter","name","gauge","frequency","histogram","summary","mapInput","summaryWithTimestamp","timer","exponentialBoundaries","start","factor","time_unit","self","flatMap","services","sync","servicesWith","f","withConstantInput","withAttributes","addAttributesToServiceMap","snapshotUnsafe","dump","metrics","maxNameLength","reduce","maxDescriptionLength","maxTypeLength","maxAttributesLength","attributesToString","grouped","entries","groupBy","sorted","sortWith","entry","rendered","group","renderName","renderDescription","renderType","renderAttributes","renderState","join","succeed","Array","state","padTo","padEnd","attrs","padding","repeat","prefix","renderKeyValues","printableQuantiles","keyValues","attr","boundariesFromIterable","iterable","append","filter","Set","POSITIVE_INFINITY","linearBoundaries","makeBy","width","pow","fibersActive","fibersStarted","fiberSuccesses","fiberFailures","FiberRuntimeMetricsKey","FiberRuntimeMetrics","FiberRuntimeMetricsImpl","recordFiberStart","recordFiberEnd","exit","exitIsSuccess","enableRuntimeMetricsLayer","disableRuntimeMetricsLayer","enableRuntimeMetrics","provideService","disableRuntimeMetrics","serializeAttributes","serializeEntries","isArray","other","acc","current","updated","add"],"sources":["../src/Metric.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,291 @@
1
+ /**
2
+ * Lightweight wrapper types that prevent accidental mixing of structurally
3
+ * identical values (e.g. `UserId` vs `OrderId`, both `string` at runtime).
4
+ *
5
+ * **Mental model**
6
+ *
7
+ * - **Newtype** — a compile-time wrapper around a **carrier** type (the
8
+ * underlying primitive or object). At runtime the value is unchanged; the
9
+ * tag exists only in the type system.
10
+ * - **Key** — a unique string literal that distinguishes one newtype from
11
+ * another (e.g. `"Label"`, `"UserId"`).
12
+ * - **Carrier** — the underlying type the newtype wraps (e.g. `string`,
13
+ * `number`).
14
+ * - **Iso** — a lossless two-way conversion between a newtype and its carrier,
15
+ * created with {@link makeIso}. Use `iso.set(carrier)` to wrap and
16
+ * `iso.get(newtype)` to unwrap.
17
+ *
18
+ * **Common tasks**
19
+ *
20
+ * - Define a newtype → declare an `interface` extending
21
+ * `Newtype.Newtype<Key, Carrier>`
22
+ * - Wrap / unwrap values → {@link makeIso} (returns an `Optic.Iso`)
23
+ * - Unwrap only → {@link value}
24
+ * - Lift an `Equivalence` → {@link makeEquivalence}
25
+ * - Lift an `Order` → {@link makeOrder}
26
+ * - Lift a `Combiner` → {@link makeCombiner}
27
+ * - Lift a `Reducer` → {@link makeReducer}
28
+ *
29
+ * **Gotchas**
30
+ *
31
+ * - Newtypes are **purely compile-time**. There is zero runtime overhead;
32
+ * `value` and `makeIso` use identity casts.
33
+ * - Two newtypes sharing the same key string will be assignable to each other.
34
+ * Choose unique key strings.
35
+ * - A newtype value is **not** assignable to its carrier type without
36
+ * explicitly unwrapping via {@link value} or an iso.
37
+ *
38
+ * **Quickstart**
39
+ *
40
+ * **Example** (defining and using a newtype)
41
+ *
42
+ * ```ts
43
+ * import { Newtype } from "effect"
44
+ *
45
+ * // 1. Define a newtype
46
+ * interface Label extends Newtype.Newtype<"Label", string> {}
47
+ *
48
+ * // 2. Create an iso for wrapping/unwrapping
49
+ * const labelIso = Newtype.makeIso<Label>()
50
+ *
51
+ * // 3. Wrap a raw string
52
+ * const myLabel: Label = labelIso.set("hello")
53
+ *
54
+ * // 4. Unwrap back to string
55
+ * const raw: string = labelIso.get(myLabel) // "hello"
56
+ * ```
57
+ *
58
+ * **See also**
59
+ *
60
+ * - {@link Newtype} (the tagged interface)
61
+ * - {@link makeIso} (wrap and unwrap)
62
+ * - {@link value} (unwrap only)
63
+ *
64
+ * @since 4.0.0
65
+ */
66
+ import type * as Combiner from "./Combiner.ts";
67
+ import type * as Equivalence from "./Equivalence.ts";
68
+ import * as Optic from "./Optic.ts";
69
+ import type * as Order from "./Order.ts";
70
+ import type * as Reducer from "./Reducer.ts";
71
+ declare const TypeId = "~effect/Newtype";
72
+ /**
73
+ * A tagged interface that wraps a carrier type under a unique key, preventing
74
+ * accidental interchange of structurally identical values.
75
+ *
76
+ * - Define your newtype as an `interface` extending
77
+ * `Newtype<"MyKey", CarrierType>`.
78
+ * - The tag is compile-time only; no runtime wrapper is allocated.
79
+ * - Use {@link makeIso} to create a two-way conversion, or {@link value} to
80
+ * unwrap.
81
+ *
82
+ * **Example** (defining a newtype)
83
+ *
84
+ * ```ts
85
+ * import { Newtype } from "effect"
86
+ *
87
+ * interface UserId extends Newtype.Newtype<"UserId", number> {}
88
+ * interface OrderId extends Newtype.Newtype<"OrderId", number> {}
89
+ *
90
+ * // UserId and OrderId are not assignable to each other
91
+ * // even though both wrap `number`.
92
+ * ```
93
+ *
94
+ * @see {@link makeIso} — create an iso to wrap and unwrap
95
+ * @see {@link value} — unwrap a newtype value
96
+ *
97
+ * @since 4.0.0
98
+ */
99
+ export interface Newtype<in out Key extends string, out Carrier> {
100
+ readonly [TypeId]: {
101
+ readonly key: Key;
102
+ readonly carrier: Carrier;
103
+ };
104
+ }
105
+ /**
106
+ * @since 4.0.0
107
+ */
108
+ export declare namespace Newtype {
109
+ /**
110
+ * A type that matches any `Newtype`, useful as a generic constraint:
111
+ * `<N extends Newtype.Any>`.
112
+ *
113
+ * @see {@link Newtype} — the base tagged interface
114
+ *
115
+ * @since 4.0.0
116
+ */
117
+ type Any = Newtype<any, unknown>;
118
+ /**
119
+ * Extracts the key literal type from a newtype.
120
+ *
121
+ * - Useful in generic code that needs to inspect or constrain the key.
122
+ *
123
+ * @since 4.0.0
124
+ */
125
+ type Key<N extends Any> = N extends Newtype<infer Key, unknown> ? Key : never;
126
+ /**
127
+ * Extracts the carrier (underlying) type from a newtype.
128
+ *
129
+ * - Useful when you need to refer to the wrapped type in generic utilities.
130
+ *
131
+ * @since 4.0.0
132
+ */
133
+ type Carrier<N extends Any> = N extends Newtype<infer _Key, infer Carrier> ? Carrier : never;
134
+ }
135
+ /**
136
+ * Unwraps a newtype value, returning the underlying carrier value.
137
+ *
138
+ * - Use when you only need to read the inner value and do not need to wrap new
139
+ * values.
140
+ * - For both wrapping and unwrapping, prefer {@link makeIso}.
141
+ * - Zero runtime cost: this is an identity cast.
142
+ *
143
+ * **Example** (unwrapping a newtype)
144
+ *
145
+ * ```ts
146
+ * import { Newtype } from "effect"
147
+ *
148
+ * interface Label extends Newtype.Newtype<"Label", string> {}
149
+ *
150
+ * const iso = Newtype.makeIso<Label>()
151
+ * const label = iso.set("hello")
152
+ *
153
+ * const raw: string = Newtype.value(label) // "hello"
154
+ * ```
155
+ *
156
+ * @see {@link makeIso} — two-way conversion (wrap and unwrap)
157
+ *
158
+ * @since 4.0.0
159
+ */
160
+ export declare const value: <N extends Newtype.Any>(newtype: N) => Newtype.Carrier<N>;
161
+ /**
162
+ * Creates an `Optic.Iso` for a newtype, providing both wrapping (`set`) and
163
+ * unwrapping (`get`).
164
+ *
165
+ * - Use this as the primary way to construct and deconstruct newtype values.
166
+ * - The returned iso composes with other optics via the standard `Optic` API.
167
+ * - Zero runtime cost: both directions are identity casts.
168
+ *
169
+ * **Example** (wrapping and unwrapping with an iso)
170
+ *
171
+ * ```ts
172
+ * import { Newtype } from "effect"
173
+ *
174
+ * interface Label extends Newtype.Newtype<"Label", string> {}
175
+ *
176
+ * const labelIso = Newtype.makeIso<Label>()
177
+ *
178
+ * const label: Label = labelIso.set("world")
179
+ * const str: string = labelIso.get(label) // "world"
180
+ * ```
181
+ *
182
+ * @see {@link value} — unwrap only
183
+ *
184
+ * @since 4.0.0
185
+ */
186
+ export declare function makeIso<N extends Newtype.Any>(): Optic.Iso<N, Newtype.Carrier<N>>;
187
+ /**
188
+ * Lifts an `Equivalence` for the carrier type into an `Equivalence` for the
189
+ * newtype.
190
+ *
191
+ * - Use when you need to compare two newtype values for equality.
192
+ * - The returned equivalence delegates to the provided carrier equivalence.
193
+ * - Zero runtime cost beyond the underlying equivalence check.
194
+ *
195
+ * **Example** (comparing newtypes)
196
+ *
197
+ * ```ts
198
+ * import { Newtype, Equivalence } from "effect"
199
+ *
200
+ * interface Label extends Newtype.Newtype<"Label", string> {}
201
+ *
202
+ * const eq = Newtype.makeEquivalence<Label>(Equivalence.String)
203
+ * const iso = Newtype.makeIso<Label>()
204
+ *
205
+ * eq(iso.set("a"), iso.set("a")) // true
206
+ * eq(iso.set("a"), iso.set("b")) // false
207
+ * ```
208
+ *
209
+ * @see {@link makeOrder} — lift an `Order` for the carrier
210
+ *
211
+ * @since 4.0.0
212
+ */
213
+ export declare const makeEquivalence: <N extends Newtype.Any>(equivalence: Equivalence.Equivalence<Newtype.Carrier<N>>) => Equivalence.Equivalence<N>;
214
+ /**
215
+ * Lifts an `Order` for the carrier type into an `Order` for the newtype.
216
+ *
217
+ * - Use when you need to sort or compare newtype values.
218
+ * - The returned order delegates to the provided carrier order.
219
+ *
220
+ * **Example** (ordering newtypes)
221
+ *
222
+ * ```ts
223
+ * import { Newtype, Order } from "effect"
224
+ *
225
+ * interface Score extends Newtype.Newtype<"Score", number> {}
226
+ *
227
+ * const ord = Newtype.makeOrder<Score>(Order.Number)
228
+ * const iso = Newtype.makeIso<Score>()
229
+ *
230
+ * ord(iso.set(1), iso.set(2)) // -1
231
+ * ```
232
+ *
233
+ * @see {@link makeEquivalence} — lift an `Equivalence` for the carrier
234
+ *
235
+ * @since 4.0.0
236
+ */
237
+ export declare const makeOrder: <N extends Newtype.Any>(order: Order.Order<Newtype.Carrier<N>>) => Order.Order<N>;
238
+ /**
239
+ * Lifts a `Combiner` for the carrier type into a `Combiner` for the newtype.
240
+ *
241
+ * - Use when you need to combine (e.g. concatenate, add) newtype values.
242
+ * - The returned combiner delegates to the provided carrier combiner.
243
+ *
244
+ * **Example** (combining newtypes)
245
+ *
246
+ * ```ts
247
+ * import { Newtype, Combiner } from "effect"
248
+ *
249
+ * interface Amount extends Newtype.Newtype<"Amount", number> {}
250
+ *
251
+ * const sum = Combiner.make<number>((a, b) => a + b)
252
+ * const combiner = Newtype.makeCombiner<Amount>(sum)
253
+ * const iso = Newtype.makeIso<Amount>()
254
+ *
255
+ * const total = combiner.combine(iso.set(10), iso.set(20))
256
+ * Newtype.value(total) // 30
257
+ * ```
258
+ *
259
+ * @see {@link makeReducer} — lift a `Reducer` for the carrier
260
+ *
261
+ * @since 4.0.0
262
+ */
263
+ export declare const makeCombiner: <N extends Newtype.Any>(combiner: Combiner.Combiner<Newtype.Carrier<N>>) => Combiner.Combiner<N>;
264
+ /**
265
+ * Lifts a `Reducer` for the carrier type into a `Reducer` for the newtype.
266
+ *
267
+ * - Use when you need to fold/reduce over a collection of newtype values.
268
+ * - The returned reducer delegates to the provided carrier reducer.
269
+ *
270
+ * **Example** (reducing newtypes)
271
+ *
272
+ * ```ts
273
+ * import { Newtype, Reducer } from "effect"
274
+ *
275
+ * interface Score extends Newtype.Newtype<"Score", number> {}
276
+ *
277
+ * const sum = Reducer.make<number>((a, b) => a + b, 0)
278
+ * const reducer = Newtype.makeReducer<Score>(sum)
279
+ * const iso = Newtype.makeIso<Score>()
280
+ *
281
+ * const total = reducer.combineAll([iso.set(1), iso.set(2), iso.set(3)])
282
+ * Newtype.value(total) // 6
283
+ * ```
284
+ *
285
+ * @see {@link makeCombiner} — lift a `Combiner` for the carrier
286
+ *
287
+ * @since 4.0.0
288
+ */
289
+ export declare const makeReducer: <N extends Newtype.Any>(reducer: Reducer.Reducer<Newtype.Carrier<N>>) => Reducer.Reducer<N>;
290
+ export {};
291
+ //# sourceMappingURL=Newtype.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Newtype.d.ts","sourceRoot":"","sources":["../src/Newtype.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAE5C,QAAA,MAAM,MAAM,oBAAoB,CAAA;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,CAAC,OAAO;IAC7D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QACjB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;QACjB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAC1B,CAAA;CACF;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B;;;;;;;OAOG;IACH,KAAY,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAEvC;;;;;;OAMG;IACH,KAAY,GAAG,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,GAAG,KAAK,CAAA;IAEpF;;;;;;OAMG;IACH,KAAY,OAAO,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAA;CACpG;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAQ,CAAA;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAEjF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAClD,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KACrD,WAAW,CAAC,WAAW,CAAC,CAAC,CAAQ,CAAA;AAEtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAQ,CAAA;AAEhH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAC5C,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAQ,CAAA;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAC9G,CAAA"}
@@ -0,0 +1,161 @@
1
+ import { cast } from "./Function.js";
2
+ import * as Optic from "./Optic.js";
3
+ const TypeId = "~effect/Newtype";
4
+ /**
5
+ * Unwraps a newtype value, returning the underlying carrier value.
6
+ *
7
+ * - Use when you only need to read the inner value and do not need to wrap new
8
+ * values.
9
+ * - For both wrapping and unwrapping, prefer {@link makeIso}.
10
+ * - Zero runtime cost: this is an identity cast.
11
+ *
12
+ * **Example** (unwrapping a newtype)
13
+ *
14
+ * ```ts
15
+ * import { Newtype } from "effect"
16
+ *
17
+ * interface Label extends Newtype.Newtype<"Label", string> {}
18
+ *
19
+ * const iso = Newtype.makeIso<Label>()
20
+ * const label = iso.set("hello")
21
+ *
22
+ * const raw: string = Newtype.value(label) // "hello"
23
+ * ```
24
+ *
25
+ * @see {@link makeIso} — two-way conversion (wrap and unwrap)
26
+ *
27
+ * @since 4.0.0
28
+ */
29
+ export const value = cast;
30
+ /**
31
+ * Creates an `Optic.Iso` for a newtype, providing both wrapping (`set`) and
32
+ * unwrapping (`get`).
33
+ *
34
+ * - Use this as the primary way to construct and deconstruct newtype values.
35
+ * - The returned iso composes with other optics via the standard `Optic` API.
36
+ * - Zero runtime cost: both directions are identity casts.
37
+ *
38
+ * **Example** (wrapping and unwrapping with an iso)
39
+ *
40
+ * ```ts
41
+ * import { Newtype } from "effect"
42
+ *
43
+ * interface Label extends Newtype.Newtype<"Label", string> {}
44
+ *
45
+ * const labelIso = Newtype.makeIso<Label>()
46
+ *
47
+ * const label: Label = labelIso.set("world")
48
+ * const str: string = labelIso.get(label) // "world"
49
+ * ```
50
+ *
51
+ * @see {@link value} — unwrap only
52
+ *
53
+ * @since 4.0.0
54
+ */
55
+ export function makeIso() {
56
+ return Optic.makeIso(value, cast);
57
+ }
58
+ /**
59
+ * Lifts an `Equivalence` for the carrier type into an `Equivalence` for the
60
+ * newtype.
61
+ *
62
+ * - Use when you need to compare two newtype values for equality.
63
+ * - The returned equivalence delegates to the provided carrier equivalence.
64
+ * - Zero runtime cost beyond the underlying equivalence check.
65
+ *
66
+ * **Example** (comparing newtypes)
67
+ *
68
+ * ```ts
69
+ * import { Newtype, Equivalence } from "effect"
70
+ *
71
+ * interface Label extends Newtype.Newtype<"Label", string> {}
72
+ *
73
+ * const eq = Newtype.makeEquivalence<Label>(Equivalence.String)
74
+ * const iso = Newtype.makeIso<Label>()
75
+ *
76
+ * eq(iso.set("a"), iso.set("a")) // true
77
+ * eq(iso.set("a"), iso.set("b")) // false
78
+ * ```
79
+ *
80
+ * @see {@link makeOrder} — lift an `Order` for the carrier
81
+ *
82
+ * @since 4.0.0
83
+ */
84
+ export const makeEquivalence = cast;
85
+ /**
86
+ * Lifts an `Order` for the carrier type into an `Order` for the newtype.
87
+ *
88
+ * - Use when you need to sort or compare newtype values.
89
+ * - The returned order delegates to the provided carrier order.
90
+ *
91
+ * **Example** (ordering newtypes)
92
+ *
93
+ * ```ts
94
+ * import { Newtype, Order } from "effect"
95
+ *
96
+ * interface Score extends Newtype.Newtype<"Score", number> {}
97
+ *
98
+ * const ord = Newtype.makeOrder<Score>(Order.Number)
99
+ * const iso = Newtype.makeIso<Score>()
100
+ *
101
+ * ord(iso.set(1), iso.set(2)) // -1
102
+ * ```
103
+ *
104
+ * @see {@link makeEquivalence} — lift an `Equivalence` for the carrier
105
+ *
106
+ * @since 4.0.0
107
+ */
108
+ export const makeOrder = cast;
109
+ /**
110
+ * Lifts a `Combiner` for the carrier type into a `Combiner` for the newtype.
111
+ *
112
+ * - Use when you need to combine (e.g. concatenate, add) newtype values.
113
+ * - The returned combiner delegates to the provided carrier combiner.
114
+ *
115
+ * **Example** (combining newtypes)
116
+ *
117
+ * ```ts
118
+ * import { Newtype, Combiner } from "effect"
119
+ *
120
+ * interface Amount extends Newtype.Newtype<"Amount", number> {}
121
+ *
122
+ * const sum = Combiner.make<number>((a, b) => a + b)
123
+ * const combiner = Newtype.makeCombiner<Amount>(sum)
124
+ * const iso = Newtype.makeIso<Amount>()
125
+ *
126
+ * const total = combiner.combine(iso.set(10), iso.set(20))
127
+ * Newtype.value(total) // 30
128
+ * ```
129
+ *
130
+ * @see {@link makeReducer} — lift a `Reducer` for the carrier
131
+ *
132
+ * @since 4.0.0
133
+ */
134
+ export const makeCombiner = cast;
135
+ /**
136
+ * Lifts a `Reducer` for the carrier type into a `Reducer` for the newtype.
137
+ *
138
+ * - Use when you need to fold/reduce over a collection of newtype values.
139
+ * - The returned reducer delegates to the provided carrier reducer.
140
+ *
141
+ * **Example** (reducing newtypes)
142
+ *
143
+ * ```ts
144
+ * import { Newtype, Reducer } from "effect"
145
+ *
146
+ * interface Score extends Newtype.Newtype<"Score", number> {}
147
+ *
148
+ * const sum = Reducer.make<number>((a, b) => a + b, 0)
149
+ * const reducer = Newtype.makeReducer<Score>(sum)
150
+ * const iso = Newtype.makeIso<Score>()
151
+ *
152
+ * const total = reducer.combineAll([iso.set(1), iso.set(2), iso.set(3)])
153
+ * Newtype.value(total) // 6
154
+ * ```
155
+ *
156
+ * @see {@link makeCombiner} — lift a `Combiner` for the carrier
157
+ *
158
+ * @since 4.0.0
159
+ */
160
+ export const makeReducer = cast;
161
+ //# sourceMappingURL=Newtype.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Newtype.js","names":["cast","Optic","TypeId","value","makeIso","makeEquivalence","makeOrder","makeCombiner","makeReducer"],"sources":["../src/Newtype.ts"],"sourcesContent":[null],"mappings":"AAmEA,SAASA,IAAI,QAAQ,eAAe;AACpC,OAAO,KAAKC,KAAK,MAAM,YAAY;AAInC,MAAMC,MAAM,GAAG,iBAAiB;AAqEhC;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,OAAO,MAAMC,KAAK,GAA8DH,IAAI;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,OAAM,SAAUI,OAAOA,CAAA;EACrB,OAAOH,KAAK,CAACG,OAAO,CAACD,KAAK,EAAEH,IAAI,CAAC;AACnC;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,OAAO,MAAMK,eAAe,GAEML,IAAI;AAEtC;;;;;;;;;;;;;;;;;;;;;;;AAuBA,OAAO,MAAMM,SAAS,GAAsFN,IAAI;AAEhH;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,OAAO,MAAMO,YAAY,GAEGP,IAAI;AAEhC;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,OAAO,MAAMQ,WAAW,GACtBR,IAAI","ignoreList":[]}