effect 4.0.0-beta.5 → 4.0.0-beta.50

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 (1504) hide show
  1. package/dist/Array.d.ts +213 -385
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +149 -102
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +82 -45
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +87 -38
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +39 -32
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +32 -29
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Brand.d.ts +1 -1
  14. package/dist/Brand.d.ts.map +1 -1
  15. package/dist/Brand.js +1 -1
  16. package/dist/Brand.js.map +1 -1
  17. package/dist/Cache.d.ts +14 -45
  18. package/dist/Cache.d.ts.map +1 -1
  19. package/dist/Cache.js +21 -47
  20. package/dist/Cache.js.map +1 -1
  21. package/dist/Cause.d.ts +54 -23
  22. package/dist/Cause.d.ts.map +1 -1
  23. package/dist/Cause.js +108 -10
  24. package/dist/Cause.js.map +1 -1
  25. package/dist/Channel.d.ts +166 -48
  26. package/dist/Channel.d.ts.map +1 -1
  27. package/dist/Channel.js +182 -91
  28. package/dist/Channel.js.map +1 -1
  29. package/dist/Chunk.d.ts +112 -304
  30. package/dist/Chunk.d.ts.map +1 -1
  31. package/dist/Chunk.js +56 -88
  32. package/dist/Chunk.js.map +1 -1
  33. package/dist/Clock.d.ts +2 -2
  34. package/dist/Clock.d.ts.map +1 -1
  35. package/dist/Clock.js.map +1 -1
  36. package/dist/Combiner.d.ts +280 -13
  37. package/dist/Combiner.d.ts.map +1 -1
  38. package/dist/Combiner.js +198 -7
  39. package/dist/Combiner.js.map +1 -1
  40. package/dist/Config.d.ts +171 -11
  41. package/dist/Config.d.ts.map +1 -1
  42. package/dist/Config.js +69 -11
  43. package/dist/Config.js.map +1 -1
  44. package/dist/ConfigProvider.d.ts +6 -6
  45. package/dist/ConfigProvider.d.ts.map +1 -1
  46. package/dist/ConfigProvider.js +5 -5
  47. package/dist/ConfigProvider.js.map +1 -1
  48. package/dist/Console.d.ts +2 -2
  49. package/dist/Console.d.ts.map +1 -1
  50. package/dist/Console.js.map +1 -1
  51. package/dist/Context.d.ts +1150 -0
  52. package/dist/Context.d.ts.map +1 -0
  53. package/dist/{ServiceMap.js → Context.js} +181 -165
  54. package/dist/Context.js.map +1 -0
  55. package/dist/Cron.d.ts +11 -7
  56. package/dist/Cron.d.ts.map +1 -1
  57. package/dist/Cron.js +120 -63
  58. package/dist/Cron.js.map +1 -1
  59. package/dist/Data.d.ts +535 -366
  60. package/dist/Data.d.ts.map +1 -1
  61. package/dist/Data.js +132 -79
  62. package/dist/Data.js.map +1 -1
  63. package/dist/DateTime.d.ts +74 -255
  64. package/dist/DateTime.d.ts.map +1 -1
  65. package/dist/DateTime.js +17 -62
  66. package/dist/DateTime.js.map +1 -1
  67. package/dist/Deferred.d.ts +12 -5
  68. package/dist/Deferred.d.ts.map +1 -1
  69. package/dist/Deferred.js +13 -5
  70. package/dist/Deferred.js.map +1 -1
  71. package/dist/Duration.d.ts +62 -32
  72. package/dist/Duration.d.ts.map +1 -1
  73. package/dist/Duration.js +108 -78
  74. package/dist/Duration.js.map +1 -1
  75. package/dist/Effect.d.ts +1377 -1147
  76. package/dist/Effect.d.ts.map +1 -1
  77. package/dist/Effect.js +465 -446
  78. package/dist/Effect.js.map +1 -1
  79. package/dist/Encoding.d.ts +194 -0
  80. package/dist/Encoding.d.ts.map +1 -0
  81. package/dist/Encoding.js +352 -0
  82. package/dist/Encoding.js.map +1 -0
  83. package/dist/Equal.d.ts +276 -109
  84. package/dist/Equal.d.ts.map +1 -1
  85. package/dist/Equal.js +140 -48
  86. package/dist/Equal.js.map +1 -1
  87. package/dist/Equivalence.d.ts +60 -3
  88. package/dist/Equivalence.d.ts.map +1 -1
  89. package/dist/Equivalence.js +70 -13
  90. package/dist/Equivalence.js.map +1 -1
  91. package/dist/ErrorReporter.d.ts +374 -0
  92. package/dist/ErrorReporter.d.ts.map +1 -0
  93. package/dist/ErrorReporter.js +245 -0
  94. package/dist/ErrorReporter.js.map +1 -0
  95. package/dist/ExecutionPlan.d.ts +6 -6
  96. package/dist/ExecutionPlan.d.ts.map +1 -1
  97. package/dist/ExecutionPlan.js +4 -4
  98. package/dist/ExecutionPlan.js.map +1 -1
  99. package/dist/Exit.d.ts +24 -12
  100. package/dist/Exit.d.ts.map +1 -1
  101. package/dist/Exit.js +8 -4
  102. package/dist/Exit.js.map +1 -1
  103. package/dist/Fiber.d.ts +10 -8
  104. package/dist/Fiber.d.ts.map +1 -1
  105. package/dist/Fiber.js.map +1 -1
  106. package/dist/FiberHandle.d.ts +11 -10
  107. package/dist/FiberHandle.d.ts.map +1 -1
  108. package/dist/FiberHandle.js +12 -11
  109. package/dist/FiberHandle.js.map +1 -1
  110. package/dist/FiberMap.d.ts +22 -21
  111. package/dist/FiberMap.d.ts.map +1 -1
  112. package/dist/FiberMap.js +10 -10
  113. package/dist/FiberMap.js.map +1 -1
  114. package/dist/FiberSet.d.ts +2 -2
  115. package/dist/FiberSet.d.ts.map +1 -1
  116. package/dist/FiberSet.js +4 -4
  117. package/dist/FiberSet.js.map +1 -1
  118. package/dist/FileSystem.d.ts +20 -19
  119. package/dist/FileSystem.d.ts.map +1 -1
  120. package/dist/FileSystem.js +17 -13
  121. package/dist/FileSystem.js.map +1 -1
  122. package/dist/Filter.d.ts +4 -37
  123. package/dist/Filter.d.ts.map +1 -1
  124. package/dist/Filter.js +0 -13
  125. package/dist/Filter.js.map +1 -1
  126. package/dist/Formatter.d.ts +131 -47
  127. package/dist/Formatter.d.ts.map +1 -1
  128. package/dist/Formatter.js +229 -51
  129. package/dist/Formatter.js.map +1 -1
  130. package/dist/Function.d.ts +1 -9
  131. package/dist/Function.d.ts.map +1 -1
  132. package/dist/Function.js +2 -10
  133. package/dist/Function.js.map +1 -1
  134. package/dist/Graph.d.ts +65 -65
  135. package/dist/Graph.d.ts.map +1 -1
  136. package/dist/Graph.js +60 -62
  137. package/dist/Graph.js.map +1 -1
  138. package/dist/Hash.js +1 -1
  139. package/dist/Hash.js.map +1 -1
  140. package/dist/HashMap.d.ts +26 -19
  141. package/dist/HashMap.d.ts.map +1 -1
  142. package/dist/HashMap.js +7 -5
  143. package/dist/HashMap.js.map +1 -1
  144. package/dist/Iterable.d.ts +50 -50
  145. package/dist/Iterable.d.ts.map +1 -1
  146. package/dist/Iterable.js +106 -34
  147. package/dist/Iterable.js.map +1 -1
  148. package/dist/JsonSchema.d.ts +299 -10
  149. package/dist/JsonSchema.d.ts.map +1 -1
  150. package/dist/JsonSchema.js +323 -4
  151. package/dist/JsonSchema.js.map +1 -1
  152. package/dist/Latch.d.ts +175 -0
  153. package/dist/Latch.d.ts.map +1 -0
  154. package/dist/Latch.js +130 -0
  155. package/dist/Latch.js.map +1 -0
  156. package/dist/Layer.d.ts +599 -379
  157. package/dist/Layer.d.ts.map +1 -1
  158. package/dist/Layer.js +249 -180
  159. package/dist/Layer.js.map +1 -1
  160. package/dist/LayerMap.d.ts +27 -26
  161. package/dist/LayerMap.d.ts.map +1 -1
  162. package/dist/LayerMap.js +21 -18
  163. package/dist/LayerMap.js.map +1 -1
  164. package/dist/LogLevel.d.ts +32 -0
  165. package/dist/LogLevel.d.ts.map +1 -1
  166. package/dist/LogLevel.js +28 -100
  167. package/dist/LogLevel.js.map +1 -1
  168. package/dist/Logger.d.ts +31 -97
  169. package/dist/Logger.d.ts.map +1 -1
  170. package/dist/Logger.js +2 -3
  171. package/dist/Logger.js.map +1 -1
  172. package/dist/ManagedRuntime.d.ts +8 -8
  173. package/dist/ManagedRuntime.d.ts.map +1 -1
  174. package/dist/ManagedRuntime.js +34 -25
  175. package/dist/ManagedRuntime.js.map +1 -1
  176. package/dist/Metric.d.ts +23 -25
  177. package/dist/Metric.d.ts.map +1 -1
  178. package/dist/Metric.js +24 -26
  179. package/dist/Metric.js.map +1 -1
  180. package/dist/MutableHashMap.d.ts +7 -0
  181. package/dist/MutableHashMap.d.ts.map +1 -1
  182. package/dist/MutableHashMap.js +8 -0
  183. package/dist/MutableHashMap.js.map +1 -1
  184. package/dist/MutableHashSet.d.ts +7 -0
  185. package/dist/MutableHashSet.d.ts.map +1 -1
  186. package/dist/MutableHashSet.js +8 -0
  187. package/dist/MutableHashSet.js.map +1 -1
  188. package/dist/MutableList.d.ts.map +1 -1
  189. package/dist/MutableList.js +3 -0
  190. package/dist/MutableList.js.map +1 -1
  191. package/dist/Newtype.d.ts +291 -0
  192. package/dist/Newtype.d.ts.map +1 -0
  193. package/dist/Newtype.js +161 -0
  194. package/dist/Newtype.js.map +1 -0
  195. package/dist/Number.d.ts +74 -18
  196. package/dist/Number.d.ts.map +1 -1
  197. package/dist/Number.js +46 -18
  198. package/dist/Number.js.map +1 -1
  199. package/dist/Optic.d.ts +947 -18
  200. package/dist/Optic.d.ts.map +1 -1
  201. package/dist/Optic.js +454 -5
  202. package/dist/Optic.js.map +1 -1
  203. package/dist/Option.d.ts +25 -16
  204. package/dist/Option.d.ts.map +1 -1
  205. package/dist/Option.js +15 -9
  206. package/dist/Option.js.map +1 -1
  207. package/dist/Order.d.ts +6 -1
  208. package/dist/Order.d.ts.map +1 -1
  209. package/dist/Order.js +19 -14
  210. package/dist/Order.js.map +1 -1
  211. package/dist/PartitionedSemaphore.d.ts +146 -15
  212. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  213. package/dist/PartitionedSemaphore.js +174 -61
  214. package/dist/PartitionedSemaphore.js.map +1 -1
  215. package/dist/Path.d.ts +2 -2
  216. package/dist/Path.d.ts.map +1 -1
  217. package/dist/Path.js +2 -2
  218. package/dist/Path.js.map +1 -1
  219. package/dist/Pipeable.d.ts +17 -0
  220. package/dist/Pipeable.d.ts.map +1 -1
  221. package/dist/Pipeable.js +19 -1
  222. package/dist/Pipeable.js.map +1 -1
  223. package/dist/PlatformError.d.ts +2 -2
  224. package/dist/Pool.d.ts +6 -4
  225. package/dist/Pool.d.ts.map +1 -1
  226. package/dist/Pool.js +11 -9
  227. package/dist/Pool.js.map +1 -1
  228. package/dist/PubSub.d.ts +8 -6
  229. package/dist/PubSub.d.ts.map +1 -1
  230. package/dist/PubSub.js +18 -10
  231. package/dist/PubSub.js.map +1 -1
  232. package/dist/Pull.d.ts.map +1 -1
  233. package/dist/Pull.js +1 -1
  234. package/dist/Pull.js.map +1 -1
  235. package/dist/Queue.d.ts +9 -6
  236. package/dist/Queue.d.ts.map +1 -1
  237. package/dist/Queue.js +7 -5
  238. package/dist/Queue.js.map +1 -1
  239. package/dist/Random.d.ts +36 -2
  240. package/dist/Random.d.ts.map +1 -1
  241. package/dist/Random.js +46 -35
  242. package/dist/Random.js.map +1 -1
  243. package/dist/RcMap.d.ts +4 -4
  244. package/dist/RcMap.d.ts.map +1 -1
  245. package/dist/RcMap.js +13 -13
  246. package/dist/RcMap.js.map +1 -1
  247. package/dist/RcRef.d.ts +1 -1
  248. package/dist/RcRef.d.ts.map +1 -1
  249. package/dist/Record.d.ts +63 -160
  250. package/dist/Record.d.ts.map +1 -1
  251. package/dist/Record.js +37 -56
  252. package/dist/Record.js.map +1 -1
  253. package/dist/Redactable.d.ts +139 -62
  254. package/dist/Redactable.d.ts.map +1 -1
  255. package/dist/Redactable.js +59 -55
  256. package/dist/Redactable.js.map +1 -1
  257. package/dist/Reducer.d.ts +166 -7
  258. package/dist/Reducer.d.ts.map +1 -1
  259. package/dist/Reducer.js +135 -1
  260. package/dist/Reducer.js.map +1 -1
  261. package/dist/References.d.ts +257 -229
  262. package/dist/References.d.ts.map +1 -1
  263. package/dist/References.js +240 -259
  264. package/dist/References.js.map +1 -1
  265. package/dist/Request.d.ts +6 -6
  266. package/dist/Request.d.ts.map +1 -1
  267. package/dist/Request.js +2 -1
  268. package/dist/Request.js.map +1 -1
  269. package/dist/RequestResolver.d.ts +25 -45
  270. package/dist/RequestResolver.d.ts.map +1 -1
  271. package/dist/RequestResolver.js +15 -36
  272. package/dist/RequestResolver.js.map +1 -1
  273. package/dist/Resource.d.ts +0 -3
  274. package/dist/Resource.d.ts.map +1 -1
  275. package/dist/Resource.js +5 -4
  276. package/dist/Resource.js.map +1 -1
  277. package/dist/Result.d.ts +1 -1
  278. package/dist/Result.d.ts.map +1 -1
  279. package/dist/Result.js +1 -2
  280. package/dist/Result.js.map +1 -1
  281. package/dist/Runtime.d.ts +66 -0
  282. package/dist/Runtime.d.ts.map +1 -1
  283. package/dist/Runtime.js +79 -6
  284. package/dist/Runtime.js.map +1 -1
  285. package/dist/Schedule.d.ts +176 -293
  286. package/dist/Schedule.d.ts.map +1 -1
  287. package/dist/Schedule.js +162 -136
  288. package/dist/Schedule.js.map +1 -1
  289. package/dist/Scheduler.d.ts +36 -125
  290. package/dist/Scheduler.d.ts.map +1 -1
  291. package/dist/Scheduler.js +37 -126
  292. package/dist/Scheduler.js.map +1 -1
  293. package/dist/Schema.d.ts +3269 -394
  294. package/dist/Schema.d.ts.map +1 -1
  295. package/dist/Schema.js +2284 -282
  296. package/dist/Schema.js.map +1 -1
  297. package/dist/SchemaAST.d.ts +7 -2
  298. package/dist/SchemaAST.d.ts.map +1 -1
  299. package/dist/SchemaAST.js +136 -40
  300. package/dist/SchemaAST.js.map +1 -1
  301. package/dist/SchemaGetter.d.ts +54 -10
  302. package/dist/SchemaGetter.d.ts.map +1 -1
  303. package/dist/SchemaGetter.js +82 -23
  304. package/dist/SchemaGetter.js.map +1 -1
  305. package/dist/SchemaParser.d.ts +44 -54
  306. package/dist/SchemaParser.d.ts.map +1 -1
  307. package/dist/SchemaParser.js +55 -2
  308. package/dist/SchemaParser.js.map +1 -1
  309. package/dist/SchemaRepresentation.d.ts +46 -45
  310. package/dist/SchemaRepresentation.d.ts.map +1 -1
  311. package/dist/SchemaRepresentation.js +65 -38
  312. package/dist/SchemaRepresentation.js.map +1 -1
  313. package/dist/SchemaTransformation.d.ts +252 -3
  314. package/dist/SchemaTransformation.d.ts.map +1 -1
  315. package/dist/SchemaTransformation.js +319 -13
  316. package/dist/SchemaTransformation.js.map +1 -1
  317. package/dist/Scope.d.ts +2 -2
  318. package/dist/Scope.d.ts.map +1 -1
  319. package/dist/Scope.js.map +1 -1
  320. package/dist/ScopedCache.d.ts +2 -2
  321. package/dist/ScopedCache.d.ts.map +1 -1
  322. package/dist/ScopedCache.js +5 -5
  323. package/dist/ScopedCache.js.map +1 -1
  324. package/dist/Semaphore.d.ts +307 -0
  325. package/dist/Semaphore.d.ts.map +1 -0
  326. package/dist/Semaphore.js +220 -0
  327. package/dist/Semaphore.js.map +1 -0
  328. package/dist/Sink.d.ts +22 -19
  329. package/dist/Sink.d.ts.map +1 -1
  330. package/dist/Sink.js +54 -7
  331. package/dist/Sink.js.map +1 -1
  332. package/dist/Stdio.d.ts +18 -6
  333. package/dist/Stdio.d.ts.map +1 -1
  334. package/dist/Stdio.js +20 -2
  335. package/dist/Stdio.js.map +1 -1
  336. package/dist/Stream.d.ts +465 -542
  337. package/dist/Stream.d.ts.map +1 -1
  338. package/dist/Stream.js +321 -144
  339. package/dist/Stream.js.map +1 -1
  340. package/dist/String.d.ts +114 -47
  341. package/dist/String.d.ts.map +1 -1
  342. package/dist/String.js +29 -47
  343. package/dist/String.js.map +1 -1
  344. package/dist/Struct.d.ts +23 -7
  345. package/dist/Struct.d.ts.map +1 -1
  346. package/dist/Struct.js +22 -0
  347. package/dist/Struct.js.map +1 -1
  348. package/dist/SubscriptionRef.d.ts +3 -3
  349. package/dist/SubscriptionRef.d.ts.map +1 -1
  350. package/dist/SubscriptionRef.js +85 -117
  351. package/dist/SubscriptionRef.js.map +1 -1
  352. package/dist/SynchronizedRef.d.ts +2 -1
  353. package/dist/SynchronizedRef.d.ts.map +1 -1
  354. package/dist/SynchronizedRef.js +2 -1
  355. package/dist/SynchronizedRef.js.map +1 -1
  356. package/dist/Terminal.d.ts +5 -4
  357. package/dist/Terminal.d.ts.map +1 -1
  358. package/dist/Terminal.js +2 -2
  359. package/dist/Terminal.js.map +1 -1
  360. package/dist/Tracer.d.ts +21 -20
  361. package/dist/Tracer.d.ts.map +1 -1
  362. package/dist/Tracer.js +13 -9
  363. package/dist/Tracer.js.map +1 -1
  364. package/dist/Trie.d.ts +44 -31
  365. package/dist/Trie.d.ts.map +1 -1
  366. package/dist/Trie.js +13 -9
  367. package/dist/Trie.js.map +1 -1
  368. package/dist/TxChunk.d.ts +4 -4
  369. package/dist/TxChunk.d.ts.map +1 -1
  370. package/dist/TxChunk.js +4 -4
  371. package/dist/TxChunk.js.map +1 -1
  372. package/dist/TxDeferred.d.ts +328 -0
  373. package/dist/TxDeferred.d.ts.map +1 -0
  374. package/dist/TxDeferred.js +197 -0
  375. package/dist/TxDeferred.js.map +1 -0
  376. package/dist/TxHashMap.d.ts +105 -86
  377. package/dist/TxHashMap.d.ts.map +1 -1
  378. package/dist/TxHashMap.js +51 -44
  379. package/dist/TxHashMap.js.map +1 -1
  380. package/dist/TxHashSet.d.ts +2 -2
  381. package/dist/TxHashSet.d.ts.map +1 -1
  382. package/dist/TxHashSet.js +16 -15
  383. package/dist/TxHashSet.js.map +1 -1
  384. package/dist/TxPriorityQueue.d.ts +609 -0
  385. package/dist/TxPriorityQueue.d.ts.map +1 -0
  386. package/dist/TxPriorityQueue.js +416 -0
  387. package/dist/TxPriorityQueue.js.map +1 -0
  388. package/dist/TxPubSub.d.ts +585 -0
  389. package/dist/TxPubSub.d.ts.map +1 -0
  390. package/dist/TxPubSub.js +521 -0
  391. package/dist/TxPubSub.js.map +1 -0
  392. package/dist/TxQueue.d.ts +1 -1
  393. package/dist/TxQueue.d.ts.map +1 -1
  394. package/dist/TxQueue.js +42 -57
  395. package/dist/TxQueue.js.map +1 -1
  396. package/dist/TxReentrantLock.d.ts +500 -0
  397. package/dist/TxReentrantLock.d.ts.map +1 -0
  398. package/dist/TxReentrantLock.js +481 -0
  399. package/dist/TxReentrantLock.js.map +1 -0
  400. package/dist/TxRef.d.ts +14 -20
  401. package/dist/TxRef.d.ts.map +1 -1
  402. package/dist/TxRef.js +8 -10
  403. package/dist/TxRef.js.map +1 -1
  404. package/dist/TxSemaphore.d.ts +162 -2
  405. package/dist/TxSemaphore.d.ts.map +1 -1
  406. package/dist/TxSemaphore.js +25 -10
  407. package/dist/TxSemaphore.js.map +1 -1
  408. package/dist/TxSubscriptionRef.d.ts +508 -0
  409. package/dist/TxSubscriptionRef.d.ts.map +1 -0
  410. package/dist/TxSubscriptionRef.js +293 -0
  411. package/dist/TxSubscriptionRef.js.map +1 -0
  412. package/dist/Types.d.ts +83 -17
  413. package/dist/Types.d.ts.map +1 -1
  414. package/dist/Unify.d.ts +8 -2
  415. package/dist/Unify.d.ts.map +1 -1
  416. package/dist/Unify.js.map +1 -1
  417. package/dist/Utils.d.ts +137 -65
  418. package/dist/Utils.d.ts.map +1 -1
  419. package/dist/Utils.js +38 -66
  420. package/dist/Utils.js.map +1 -1
  421. package/dist/index.d.ts +888 -71
  422. package/dist/index.d.ts.map +1 -1
  423. package/dist/index.js +888 -71
  424. package/dist/index.js.map +1 -1
  425. package/dist/internal/core.js +11 -3
  426. package/dist/internal/core.js.map +1 -1
  427. package/dist/internal/dateTime.js +77 -71
  428. package/dist/internal/dateTime.js.map +1 -1
  429. package/dist/internal/effect.js +343 -260
  430. package/dist/internal/effect.js.map +1 -1
  431. package/dist/internal/hashMap.js +7 -5
  432. package/dist/internal/hashMap.js.map +1 -1
  433. package/dist/internal/layer.js +3 -3
  434. package/dist/internal/layer.js.map +1 -1
  435. package/dist/internal/option.js +6 -0
  436. package/dist/internal/option.js.map +1 -1
  437. package/dist/internal/random.d.ts +2 -0
  438. package/dist/internal/random.d.ts.map +1 -0
  439. package/dist/internal/random.js +13 -0
  440. package/dist/internal/random.js.map +1 -0
  441. package/dist/internal/rcRef.js +11 -10
  442. package/dist/internal/rcRef.js.map +1 -1
  443. package/dist/internal/references.d.ts +2 -0
  444. package/dist/internal/references.d.ts.map +1 -0
  445. package/dist/internal/references.js +51 -0
  446. package/dist/internal/references.js.map +1 -0
  447. package/dist/internal/request.js +6 -6
  448. package/dist/internal/request.js.map +1 -1
  449. package/dist/internal/schedule.js +1 -1
  450. package/dist/internal/schedule.js.map +1 -1
  451. package/dist/internal/schema/annotations.js +2 -0
  452. package/dist/internal/schema/annotations.js.map +1 -1
  453. package/dist/internal/schema/representation.js +86 -107
  454. package/dist/internal/schema/representation.js.map +1 -1
  455. package/dist/internal/schema/schema.d.ts +10 -1
  456. package/dist/internal/schema/schema.d.ts.map +1 -1
  457. package/dist/internal/schema/schema.js +22 -1
  458. package/dist/internal/schema/schema.js.map +1 -1
  459. package/dist/internal/schema/to-codec.js +7 -10
  460. package/dist/internal/schema/to-codec.js.map +1 -1
  461. package/dist/internal/trie.js +8 -7
  462. package/dist/internal/trie.js.map +1 -1
  463. package/dist/testing/TestClock.d.ts +8 -7
  464. package/dist/testing/TestClock.d.ts.map +1 -1
  465. package/dist/testing/TestClock.js +6 -4
  466. package/dist/testing/TestClock.js.map +1 -1
  467. package/dist/testing/TestSchema.d.ts +267 -33
  468. package/dist/testing/TestSchema.d.ts.map +1 -1
  469. package/dist/testing/TestSchema.js +296 -23
  470. package/dist/testing/TestSchema.js.map +1 -1
  471. package/dist/testing/index.d.ts +64 -1
  472. package/dist/testing/index.d.ts.map +1 -1
  473. package/dist/testing/index.js +64 -1
  474. package/dist/testing/index.js.map +1 -1
  475. package/dist/unstable/ai/AiError.d.ts +155 -73
  476. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  477. package/dist/unstable/ai/AiError.js +29 -23
  478. package/dist/unstable/ai/AiError.js.map +1 -1
  479. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  480. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  481. package/dist/unstable/ai/AnthropicStructuredOutput.js +9 -2
  482. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  483. package/dist/unstable/ai/Chat.d.ts +39 -11
  484. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  485. package/dist/unstable/ai/Chat.js +41 -47
  486. package/dist/unstable/ai/Chat.js.map +1 -1
  487. package/dist/unstable/ai/EmbeddingModel.d.ts +130 -0
  488. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
  489. package/dist/unstable/ai/EmbeddingModel.js +127 -0
  490. package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
  491. package/dist/unstable/ai/IdGenerator.d.ts +2 -2
  492. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  493. package/dist/unstable/ai/IdGenerator.js +2 -2
  494. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  495. package/dist/unstable/ai/LanguageModel.d.ts +119 -49
  496. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  497. package/dist/unstable/ai/LanguageModel.js +260 -61
  498. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  499. package/dist/unstable/ai/McpSchema.d.ts +236 -141
  500. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  501. package/dist/unstable/ai/McpSchema.js +71 -19
  502. package/dist/unstable/ai/McpSchema.js.map +1 -1
  503. package/dist/unstable/ai/McpServer.d.ts +68 -15
  504. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  505. package/dist/unstable/ai/McpServer.js +218 -73
  506. package/dist/unstable/ai/McpServer.js.map +1 -1
  507. package/dist/unstable/ai/Model.d.ts +27 -9
  508. package/dist/unstable/ai/Model.d.ts.map +1 -1
  509. package/dist/unstable/ai/Model.js +25 -9
  510. package/dist/unstable/ai/Model.js.map +1 -1
  511. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  512. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  513. package/dist/unstable/ai/OpenAiStructuredOutput.js +9 -1
  514. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  515. package/dist/unstable/ai/Prompt.d.ts +20 -20
  516. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  517. package/dist/unstable/ai/Prompt.js +6 -9
  518. package/dist/unstable/ai/Prompt.js.map +1 -1
  519. package/dist/unstable/ai/Response.d.ts +27 -27
  520. package/dist/unstable/ai/Response.d.ts.map +1 -1
  521. package/dist/unstable/ai/Response.js +7 -8
  522. package/dist/unstable/ai/Response.js.map +1 -1
  523. package/dist/unstable/ai/ResponseIdTracker.d.ts +38 -0
  524. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
  525. package/dist/unstable/ai/ResponseIdTracker.js +68 -0
  526. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
  527. package/dist/unstable/ai/Telemetry.d.ts +35 -2
  528. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  529. package/dist/unstable/ai/Telemetry.js +2 -2
  530. package/dist/unstable/ai/Telemetry.js.map +1 -1
  531. package/dist/unstable/ai/Tokenizer.d.ts +2 -2
  532. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  533. package/dist/unstable/ai/Tokenizer.js +2 -2
  534. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  535. package/dist/unstable/ai/Tool.d.ts +46 -16
  536. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  537. package/dist/unstable/ai/Tool.js +68 -22
  538. package/dist/unstable/ai/Tool.js.map +1 -1
  539. package/dist/unstable/ai/Toolkit.d.ts +4 -4
  540. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  541. package/dist/unstable/ai/Toolkit.js +14 -21
  542. package/dist/unstable/ai/Toolkit.js.map +1 -1
  543. package/dist/unstable/ai/index.d.ts +22 -1
  544. package/dist/unstable/ai/index.d.ts.map +1 -1
  545. package/dist/unstable/ai/index.js +22 -1
  546. package/dist/unstable/ai/index.js.map +1 -1
  547. package/dist/unstable/ai/internal/codec-transformer.js +5 -7
  548. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  549. package/dist/unstable/cli/Argument.d.ts +4 -7
  550. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  551. package/dist/unstable/cli/Argument.js +1 -3
  552. package/dist/unstable/cli/Argument.js.map +1 -1
  553. package/dist/unstable/cli/CliError.d.ts +55 -67
  554. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  555. package/dist/unstable/cli/CliError.js +32 -57
  556. package/dist/unstable/cli/CliError.js.map +1 -1
  557. package/dist/unstable/cli/CliOutput.d.ts +5 -4
  558. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  559. package/dist/unstable/cli/CliOutput.js +67 -12
  560. package/dist/unstable/cli/CliOutput.js.map +1 -1
  561. package/dist/unstable/cli/Command.d.ts +372 -59
  562. package/dist/unstable/cli/Command.d.ts.map +1 -1
  563. package/dist/unstable/cli/Command.js +328 -66
  564. package/dist/unstable/cli/Command.js.map +1 -1
  565. package/dist/unstable/cli/Completions.d.ts +97 -0
  566. package/dist/unstable/cli/Completions.d.ts.map +1 -0
  567. package/dist/unstable/cli/Completions.js +25 -0
  568. package/dist/unstable/cli/Completions.js.map +1 -0
  569. package/dist/unstable/cli/Flag.d.ts +4 -5
  570. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  571. package/dist/unstable/cli/Flag.js +1 -1
  572. package/dist/unstable/cli/Flag.js.map +1 -1
  573. package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
  574. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
  575. package/dist/unstable/cli/GlobalFlag.js +118 -0
  576. package/dist/unstable/cli/GlobalFlag.js.map +1 -0
  577. package/dist/unstable/cli/HelpDoc.d.ts +81 -11
  578. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  579. package/dist/unstable/cli/Param.d.ts +34 -6
  580. package/dist/unstable/cli/Param.d.ts.map +1 -1
  581. package/dist/unstable/cli/Param.js +24 -14
  582. package/dist/unstable/cli/Param.js.map +1 -1
  583. package/dist/unstable/cli/Primitive.d.ts +2 -2
  584. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  585. package/dist/unstable/cli/Primitive.js +1 -1
  586. package/dist/unstable/cli/Primitive.js.map +1 -1
  587. package/dist/unstable/cli/Prompt.js +266 -86
  588. package/dist/unstable/cli/Prompt.js.map +1 -1
  589. package/dist/unstable/cli/index.d.ts +8 -0
  590. package/dist/unstable/cli/index.d.ts.map +1 -1
  591. package/dist/unstable/cli/index.js +8 -0
  592. package/dist/unstable/cli/index.js.map +1 -1
  593. package/dist/unstable/cli/internal/command.d.ts +41 -15
  594. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  595. package/dist/unstable/cli/internal/command.js +84 -47
  596. package/dist/unstable/cli/internal/command.js.map +1 -1
  597. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  598. package/dist/unstable/cli/internal/completions/descriptor.d.ts +2 -0
  599. package/dist/unstable/cli/internal/completions/descriptor.d.ts.map +1 -0
  600. package/dist/unstable/cli/internal/completions/{CommandDescriptor.js → descriptor.js} +17 -5
  601. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -0
  602. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  603. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  604. package/dist/unstable/cli/internal/config.js +42 -0
  605. package/dist/unstable/cli/internal/config.js.map +1 -1
  606. package/dist/unstable/cli/internal/help.d.ts +33 -0
  607. package/dist/unstable/cli/internal/help.d.ts.map +1 -0
  608. package/dist/unstable/cli/internal/help.js +125 -0
  609. package/dist/unstable/cli/internal/help.js.map +1 -0
  610. package/dist/unstable/cli/internal/parser.js +155 -58
  611. package/dist/unstable/cli/internal/parser.js.map +1 -1
  612. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  613. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  614. package/dist/unstable/cluster/ClusterCron.js +1 -1
  615. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  616. package/dist/unstable/cluster/ClusterError.d.ts +7 -7
  617. package/dist/unstable/cluster/ClusterSchema.d.ts +28 -7
  618. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  619. package/dist/unstable/cluster/ClusterSchema.js +28 -8
  620. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  621. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +4 -2
  622. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  623. package/dist/unstable/cluster/ClusterWorkflowEngine.js +97 -63
  624. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  625. package/dist/unstable/cluster/DeliverAt.js +1 -1
  626. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  627. package/dist/unstable/cluster/Entity.d.ts +18 -16
  628. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  629. package/dist/unstable/cluster/Entity.js +31 -25
  630. package/dist/unstable/cluster/Entity.js.map +1 -1
  631. package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
  632. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  633. package/dist/unstable/cluster/EntityAddress.js +1 -1
  634. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  635. package/dist/unstable/cluster/EntityProxy.js +3 -3
  636. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  637. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  638. package/dist/unstable/cluster/EntityProxyServer.js +4 -4
  639. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  640. package/dist/unstable/cluster/EntityResource.d.ts +4 -4
  641. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  642. package/dist/unstable/cluster/EntityResource.js +2 -2
  643. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  644. package/dist/unstable/cluster/Envelope.d.ts +4 -4
  645. package/dist/unstable/cluster/HttpRunner.js +2 -2
  646. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  647. package/dist/unstable/cluster/K8sHttpClient.d.ts +5 -5
  648. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  649. package/dist/unstable/cluster/K8sHttpClient.js +6 -6
  650. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  651. package/dist/unstable/cluster/Message.d.ts +21 -15
  652. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  653. package/dist/unstable/cluster/Message.js +16 -8
  654. package/dist/unstable/cluster/Message.js.map +1 -1
  655. package/dist/unstable/cluster/MessageStorage.d.ts +46 -23
  656. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  657. package/dist/unstable/cluster/MessageStorage.js +42 -26
  658. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  659. package/dist/unstable/cluster/Reply.d.ts +10 -9
  660. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  661. package/dist/unstable/cluster/Reply.js +8 -7
  662. package/dist/unstable/cluster/Reply.js.map +1 -1
  663. package/dist/unstable/cluster/Runner.d.ts +2 -2
  664. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  665. package/dist/unstable/cluster/Runner.js +1 -1
  666. package/dist/unstable/cluster/Runner.js.map +1 -1
  667. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  668. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  669. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  670. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  671. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
  672. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  673. package/dist/unstable/cluster/RunnerHealth.js +2 -2
  674. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  675. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  676. package/dist/unstable/cluster/RunnerServer.js +10 -9
  677. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  678. package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
  679. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  680. package/dist/unstable/cluster/RunnerStorage.js +3 -3
  681. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  682. package/dist/unstable/cluster/Runners.d.ts +5 -4
  683. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  684. package/dist/unstable/cluster/Runners.js +18 -16
  685. package/dist/unstable/cluster/Runners.js.map +1 -1
  686. package/dist/unstable/cluster/ShardId.d.ts +35 -49
  687. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  688. package/dist/unstable/cluster/ShardId.js +65 -67
  689. package/dist/unstable/cluster/ShardId.js.map +1 -1
  690. package/dist/unstable/cluster/Sharding.d.ts +4 -4
  691. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  692. package/dist/unstable/cluster/Sharding.js +66 -54
  693. package/dist/unstable/cluster/Sharding.js.map +1 -1
  694. package/dist/unstable/cluster/ShardingConfig.d.ts +28 -27
  695. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  696. package/dist/unstable/cluster/ShardingConfig.js +27 -27
  697. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  698. package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
  699. package/dist/unstable/cluster/Snowflake.d.ts +2 -2
  700. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  701. package/dist/unstable/cluster/Snowflake.js +2 -2
  702. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  703. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  704. package/dist/unstable/cluster/SqlMessageStorage.js +23 -20
  705. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  706. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  707. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  708. package/dist/unstable/cluster/internal/entityManager.js +34 -27
  709. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  710. package/dist/unstable/cluster/internal/entityReaper.js +4 -3
  711. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  712. package/dist/unstable/cluster/internal/resourceMap.js +3 -3
  713. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  714. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  715. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  716. package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
  717. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  718. package/dist/unstable/devtools/DevToolsClient.js +9 -8
  719. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  720. package/dist/unstable/devtools/DevToolsSchema.d.ts +40 -40
  721. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  722. package/dist/unstable/devtools/DevToolsSchema.js +9 -2
  723. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  724. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  725. package/dist/unstable/encoding/Ndjson.d.ts +9 -9
  726. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  727. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  728. package/dist/unstable/encoding/Sse.d.ts +4 -4
  729. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  730. package/dist/unstable/encoding/Sse.js +1 -1
  731. package/dist/unstable/encoding/Sse.js.map +1 -1
  732. package/dist/unstable/eventlog/Event.d.ts +0 -6
  733. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  734. package/dist/unstable/eventlog/Event.js +0 -5
  735. package/dist/unstable/eventlog/Event.js.map +1 -1
  736. package/dist/unstable/eventlog/EventGroup.d.ts +0 -2
  737. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  738. package/dist/unstable/eventlog/EventGroup.js +0 -2
  739. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  740. package/dist/unstable/eventlog/EventJournal.d.ts +28 -11
  741. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  742. package/dist/unstable/eventlog/EventJournal.js +130 -71
  743. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  744. package/dist/unstable/eventlog/EventLog.d.ts +94 -37
  745. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  746. package/dist/unstable/eventlog/EventLog.js +225 -150
  747. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  748. package/dist/unstable/eventlog/EventLogEncryption.d.ts +11 -9
  749. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  750. package/dist/unstable/eventlog/EventLogEncryption.js +15 -17
  751. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  752. package/dist/unstable/eventlog/EventLogMessage.d.ts +228 -0
  753. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -0
  754. package/dist/unstable/eventlog/EventLogMessage.js +214 -0
  755. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -0
  756. package/dist/unstable/eventlog/EventLogRemote.d.ts +112 -194
  757. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  758. package/dist/unstable/eventlog/EventLogRemote.js +168 -322
  759. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  760. package/dist/unstable/eventlog/EventLogServer.d.ts +26 -48
  761. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  762. package/dist/unstable/eventlog/EventLogServer.js +128 -199
  763. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  764. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +60 -0
  765. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -0
  766. package/dist/unstable/eventlog/EventLogServerEncrypted.js +166 -0
  767. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -0
  768. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +183 -0
  769. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -0
  770. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +461 -0
  771. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -0
  772. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +117 -0
  773. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -0
  774. package/dist/unstable/eventlog/EventLogSessionAuth.js +284 -0
  775. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -0
  776. package/dist/unstable/eventlog/{SqlEventLogJournal.d.ts → SqlEventJournal.d.ts} +2 -2
  777. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -0
  778. package/dist/unstable/eventlog/{SqlEventLogJournal.js → SqlEventJournal.js} +22 -16
  779. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -0
  780. package/dist/unstable/eventlog/{SqlEventLogServer.d.ts → SqlEventLogServerEncrypted.d.ts} +5 -5
  781. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -0
  782. package/dist/unstable/eventlog/{SqlEventLogServer.js → SqlEventLogServerEncrypted.js} +65 -24
  783. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -0
  784. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +25 -0
  785. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -0
  786. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +354 -0
  787. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -0
  788. package/dist/unstable/eventlog/index.d.ts +22 -2
  789. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  790. package/dist/unstable/eventlog/index.js +22 -2
  791. package/dist/unstable/eventlog/index.js.map +1 -1
  792. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts +2 -0
  793. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts.map +1 -0
  794. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js +89 -0
  795. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -0
  796. package/dist/unstable/http/Cookies.d.ts +52 -7
  797. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  798. package/dist/unstable/http/Cookies.js +27 -6
  799. package/dist/unstable/http/Cookies.js.map +1 -1
  800. package/dist/unstable/http/Etag.d.ts +2 -2
  801. package/dist/unstable/http/Etag.d.ts.map +1 -1
  802. package/dist/unstable/http/Etag.js +7 -3
  803. package/dist/unstable/http/Etag.js.map +1 -1
  804. package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
  805. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  806. package/dist/unstable/http/FetchHttpClient.js +5 -5
  807. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  808. package/dist/unstable/http/Headers.d.ts +24 -4
  809. package/dist/unstable/http/Headers.d.ts.map +1 -1
  810. package/dist/unstable/http/Headers.js +42 -13
  811. package/dist/unstable/http/Headers.js.map +1 -1
  812. package/dist/unstable/http/HttpBody.d.ts +1 -1
  813. package/dist/unstable/http/HttpClient.d.ts +125 -21
  814. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  815. package/dist/unstable/http/HttpClient.js +197 -19
  816. package/dist/unstable/http/HttpClient.js.map +1 -1
  817. package/dist/unstable/http/HttpClientError.d.ts +8 -8
  818. package/dist/unstable/http/HttpClientRequest.d.ts +43 -15
  819. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  820. package/dist/unstable/http/HttpClientRequest.js +131 -21
  821. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  822. package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
  823. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  824. package/dist/unstable/http/HttpClientResponse.js +6 -1
  825. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  826. package/dist/unstable/http/HttpEffect.d.ts +13 -11
  827. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  828. package/dist/unstable/http/HttpEffect.js +67 -75
  829. package/dist/unstable/http/HttpEffect.js.map +1 -1
  830. package/dist/unstable/http/HttpIncomingMessage.d.ts +5 -4
  831. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  832. package/dist/unstable/http/HttpIncomingMessage.js +2 -2
  833. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  834. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  835. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  836. package/dist/unstable/http/HttpMethod.js +3 -3
  837. package/dist/unstable/http/HttpMethod.js.map +1 -1
  838. package/dist/unstable/http/HttpMiddleware.d.ts +4 -9
  839. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  840. package/dist/unstable/http/HttpMiddleware.js +47 -43
  841. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  842. package/dist/unstable/http/HttpPlatform.d.ts +2 -2
  843. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  844. package/dist/unstable/http/HttpPlatform.js +5 -4
  845. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  846. package/dist/unstable/http/HttpRouter.d.ts +9 -8
  847. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  848. package/dist/unstable/http/HttpRouter.js +36 -36
  849. package/dist/unstable/http/HttpRouter.js.map +1 -1
  850. package/dist/unstable/http/HttpServer.d.ts +2 -2
  851. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  852. package/dist/unstable/http/HttpServer.js +4 -4
  853. package/dist/unstable/http/HttpServer.js.map +1 -1
  854. package/dist/unstable/http/HttpServerError.d.ts +22 -34
  855. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  856. package/dist/unstable/http/HttpServerError.js +39 -45
  857. package/dist/unstable/http/HttpServerError.js.map +1 -1
  858. package/dist/unstable/http/HttpServerRequest.d.ts +19 -7
  859. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  860. package/dist/unstable/http/HttpServerRequest.js +307 -13
  861. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  862. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  863. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  864. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  865. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  866. package/dist/unstable/http/HttpServerResponse.d.ts +52 -5
  867. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  868. package/dist/unstable/http/HttpServerResponse.js +240 -5
  869. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  870. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  871. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  872. package/dist/unstable/http/HttpStaticServer.js +353 -0
  873. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  874. package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
  875. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  876. package/dist/unstable/http/HttpTraceContext.js +27 -15
  877. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  878. package/dist/unstable/http/Multipart.d.ts +9 -9
  879. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  880. package/dist/unstable/http/Multipart.js +7 -7
  881. package/dist/unstable/http/Multipart.js.map +1 -1
  882. package/dist/unstable/http/Url.d.ts +604 -0
  883. package/dist/unstable/http/Url.d.ts.map +1 -0
  884. package/dist/unstable/http/Url.js +256 -0
  885. package/dist/unstable/http/Url.js.map +1 -0
  886. package/dist/unstable/http/UrlParams.d.ts +19 -10
  887. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  888. package/dist/unstable/http/UrlParams.js +6 -7
  889. package/dist/unstable/http/UrlParams.js.map +1 -1
  890. package/dist/unstable/http/index.d.ts +8 -0
  891. package/dist/unstable/http/index.d.ts.map +1 -1
  892. package/dist/unstable/http/index.js +8 -0
  893. package/dist/unstable/http/index.js.map +1 -1
  894. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  895. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  896. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  897. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  898. package/dist/unstable/httpapi/HttpApi.d.ts +11 -11
  899. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  900. package/dist/unstable/httpapi/HttpApi.js +8 -8
  901. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  902. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +12 -9
  903. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  904. package/dist/unstable/httpapi/HttpApiBuilder.js +53 -39
  905. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  906. package/dist/unstable/httpapi/HttpApiClient.d.ts +83 -7
  907. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  908. package/dist/unstable/httpapi/HttpApiClient.js +79 -11
  909. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  910. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +211 -105
  911. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  912. package/dist/unstable/httpapi/HttpApiEndpoint.js +53 -47
  913. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  914. package/dist/unstable/httpapi/HttpApiError.d.ts +43 -26
  915. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  916. package/dist/unstable/httpapi/HttpApiError.js +125 -32
  917. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  918. package/dist/unstable/httpapi/HttpApiGroup.d.ts +9 -8
  919. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  920. package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
  921. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  922. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +49 -18
  923. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  924. package/dist/unstable/httpapi/HttpApiMiddleware.js +38 -8
  925. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  926. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  927. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  928. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  929. package/dist/unstable/httpapi/HttpApiSchema.d.ts +88 -9
  930. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  931. package/dist/unstable/httpapi/HttpApiSchema.js +86 -11
  932. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  933. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
  934. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  935. package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
  936. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  937. package/dist/unstable/httpapi/OpenApi.d.ts +16 -15
  938. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  939. package/dist/unstable/httpapi/OpenApi.js +57 -49
  940. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  941. package/dist/unstable/observability/Otlp.d.ts +12 -12
  942. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  943. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  944. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  945. package/dist/unstable/observability/OtlpExporter.js +8 -8
  946. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  947. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  948. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  949. package/dist/unstable/observability/OtlpLogger.js +7 -4
  950. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  951. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  952. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  953. package/dist/unstable/observability/OtlpMetrics.js +1 -1
  954. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  955. package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
  956. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  957. package/dist/unstable/observability/OtlpSerialization.js +2 -2
  958. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  959. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  960. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  961. package/dist/unstable/observability/OtlpTracer.js +7 -3
  962. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  963. package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
  964. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  965. package/dist/unstable/observability/PrometheusMetrics.js +4 -33
  966. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  967. package/dist/unstable/persistence/KeyValueStore.d.ts +24 -3
  968. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  969. package/dist/unstable/persistence/KeyValueStore.js +148 -6
  970. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  971. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  972. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  973. package/dist/unstable/persistence/Persistable.js +1 -1
  974. package/dist/unstable/persistence/Persistable.js.map +1 -1
  975. package/dist/unstable/persistence/PersistedCache.d.ts +6 -6
  976. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  977. package/dist/unstable/persistence/PersistedCache.js +12 -12
  978. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  979. package/dist/unstable/persistence/PersistedQueue.d.ts +16 -16
  980. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  981. package/dist/unstable/persistence/PersistedQueue.js +15 -14
  982. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  983. package/dist/unstable/persistence/Persistence.d.ts +5 -5
  984. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  985. package/dist/unstable/persistence/Persistence.js +5 -5
  986. package/dist/unstable/persistence/Persistence.js.map +1 -1
  987. package/dist/unstable/persistence/RateLimiter.d.ts +9 -9
  988. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  989. package/dist/unstable/persistence/RateLimiter.js +4 -4
  990. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  991. package/dist/unstable/persistence/Redis.d.ts +3 -3
  992. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  993. package/dist/unstable/persistence/Redis.js +2 -2
  994. package/dist/unstable/persistence/Redis.js.map +1 -1
  995. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  996. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  997. package/dist/unstable/process/ChildProcess.js +1 -65
  998. package/dist/unstable/process/ChildProcess.js.map +1 -1
  999. package/dist/unstable/process/ChildProcessSpawner.d.ts +89 -8
  1000. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1001. package/dist/unstable/process/ChildProcessSpawner.js +22 -2
  1002. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1003. package/dist/unstable/reactivity/Atom.d.ts +108 -47
  1004. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1005. package/dist/unstable/reactivity/Atom.js +105 -25
  1006. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1007. package/dist/unstable/reactivity/AtomHttpApi.d.ts +22 -20
  1008. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1009. package/dist/unstable/reactivity/AtomHttpApi.js +58 -26
  1010. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1011. package/dist/unstable/reactivity/AtomRegistry.d.ts +8 -2
  1012. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1013. package/dist/unstable/reactivity/AtomRegistry.js +57 -14
  1014. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1015. package/dist/unstable/reactivity/AtomRpc.d.ts +12 -12
  1016. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1017. package/dist/unstable/reactivity/AtomRpc.js +59 -31
  1018. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1019. package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
  1020. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1021. package/dist/unstable/reactivity/Reactivity.js +6 -6
  1022. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1023. package/dist/unstable/reactivity/index.d.ts +2 -2
  1024. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  1025. package/dist/unstable/reactivity/index.js +2 -2
  1026. package/dist/unstable/reactivity/index.js.map +1 -1
  1027. package/dist/unstable/rpc/Rpc.d.ts +47 -19
  1028. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1029. package/dist/unstable/rpc/Rpc.js +39 -7
  1030. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1031. package/dist/unstable/rpc/RpcClient.d.ts +26 -47
  1032. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1033. package/dist/unstable/rpc/RpcClient.js +120 -77
  1034. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1035. package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
  1036. package/dist/unstable/rpc/RpcGroup.d.ts +15 -11
  1037. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1038. package/dist/unstable/rpc/RpcGroup.js +30 -20
  1039. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1040. package/dist/unstable/rpc/RpcMiddleware.d.ts +12 -12
  1041. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1042. package/dist/unstable/rpc/RpcMiddleware.js +5 -5
  1043. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1044. package/dist/unstable/rpc/RpcSchema.d.ts +14 -1
  1045. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1046. package/dist/unstable/rpc/RpcSchema.js +17 -2
  1047. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1048. package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
  1049. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1050. package/dist/unstable/rpc/RpcSerialization.js +46 -18
  1051. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1052. package/dist/unstable/rpc/RpcServer.d.ts +8 -12
  1053. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1054. package/dist/unstable/rpc/RpcServer.js +78 -46
  1055. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1056. package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
  1057. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1058. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1059. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1060. package/dist/unstable/rpc/Utils.d.ts +6 -3
  1061. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  1062. package/dist/unstable/rpc/Utils.js +48 -6
  1063. package/dist/unstable/rpc/Utils.js.map +1 -1
  1064. package/dist/unstable/schema/Model.d.ts +24 -3
  1065. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1066. package/dist/unstable/schema/Model.js +17 -4
  1067. package/dist/unstable/schema/Model.js.map +1 -1
  1068. package/dist/unstable/schema/VariantSchema.d.ts +7 -7
  1069. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1070. package/dist/unstable/schema/VariantSchema.js +7 -18
  1071. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1072. package/dist/unstable/socket/Socket.d.ts +16 -15
  1073. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1074. package/dist/unstable/socket/Socket.js +22 -19
  1075. package/dist/unstable/socket/Socket.js.map +1 -1
  1076. package/dist/unstable/socket/SocketServer.d.ts +8 -5
  1077. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  1078. package/dist/unstable/socket/SocketServer.js +2 -2
  1079. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1080. package/dist/unstable/sql/Migrator.d.ts +1 -1
  1081. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1082. package/dist/unstable/sql/Migrator.js +2 -2
  1083. package/dist/unstable/sql/Migrator.js.map +1 -1
  1084. package/dist/unstable/sql/SqlClient.d.ts +5 -5
  1085. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1086. package/dist/unstable/sql/SqlClient.js +7 -7
  1087. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1088. package/dist/unstable/sql/SqlConnection.d.ts +2 -2
  1089. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  1090. package/dist/unstable/sql/SqlConnection.js +5 -2
  1091. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1092. package/dist/unstable/sql/SqlError.d.ts +237 -17
  1093. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1094. package/dist/unstable/sql/SqlError.js +260 -4
  1095. package/dist/unstable/sql/SqlError.js.map +1 -1
  1096. package/dist/unstable/sql/SqlModel.d.ts +8 -9
  1097. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  1098. package/dist/unstable/sql/SqlModel.js +12 -38
  1099. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1100. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1101. package/dist/unstable/sql/SqlResolver.js +26 -17
  1102. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1103. package/dist/unstable/sql/SqlSchema.d.ts +17 -6
  1104. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1105. package/dist/unstable/sql/SqlSchema.js +17 -7
  1106. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1107. package/dist/unstable/sql/Statement.d.ts +2 -2
  1108. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1109. package/dist/unstable/sql/Statement.js +2 -3
  1110. package/dist/unstable/sql/Statement.js.map +1 -1
  1111. package/dist/unstable/workers/Transferable.d.ts +4 -4
  1112. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1113. package/dist/unstable/workers/Transferable.js +7 -7
  1114. package/dist/unstable/workers/Transferable.js.map +1 -1
  1115. package/dist/unstable/workers/Worker.d.ts +3 -3
  1116. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1117. package/dist/unstable/workers/Worker.js +8 -4
  1118. package/dist/unstable/workers/Worker.js.map +1 -1
  1119. package/dist/unstable/workers/WorkerError.d.ts +5 -5
  1120. package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
  1121. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1122. package/dist/unstable/workers/WorkerRunner.js +5 -2
  1123. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1124. package/dist/unstable/workflow/Activity.d.ts +7 -2
  1125. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  1126. package/dist/unstable/workflow/Activity.js +17 -4
  1127. package/dist/unstable/workflow/Activity.js.map +1 -1
  1128. package/dist/unstable/workflow/DurableClock.d.ts +3 -6
  1129. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1130. package/dist/unstable/workflow/DurableClock.js +6 -6
  1131. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1132. package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
  1133. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1134. package/dist/unstable/workflow/DurableDeferred.js +15 -15
  1135. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1136. package/dist/unstable/workflow/Workflow.d.ts +13 -12
  1137. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1138. package/dist/unstable/workflow/Workflow.js +18 -18
  1139. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1140. package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -8
  1141. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1142. package/dist/unstable/workflow/WorkflowEngine.js +167 -17
  1143. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1144. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  1145. package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
  1146. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1147. package/package.json +11 -11
  1148. package/src/Array.ts +304 -447
  1149. package/src/BigDecimal.ts +117 -66
  1150. package/src/BigInt.ts +49 -41
  1151. package/src/Brand.ts +1 -1
  1152. package/src/Cache.ts +27 -54
  1153. package/src/Cause.ts +58 -23
  1154. package/src/Channel.ts +693 -224
  1155. package/src/Chunk.ts +149 -331
  1156. package/src/Clock.ts +2 -2
  1157. package/src/Combiner.ts +280 -13
  1158. package/src/Config.ts +197 -27
  1159. package/src/ConfigProvider.ts +5 -5
  1160. package/src/Console.ts +2 -2
  1161. package/src/Context.ts +1454 -0
  1162. package/src/Cron.ts +155 -63
  1163. package/src/Data.ts +539 -376
  1164. package/src/DateTime.ts +77 -258
  1165. package/src/Deferred.ts +15 -6
  1166. package/src/Duration.ts +122 -66
  1167. package/src/Effect.ts +1629 -1355
  1168. package/src/Encoding.ts +879 -0
  1169. package/src/Equal.ts +295 -111
  1170. package/src/Equivalence.ts +114 -52
  1171. package/src/ErrorReporter.ts +458 -0
  1172. package/src/ExecutionPlan.ts +8 -9
  1173. package/src/Exit.ts +24 -12
  1174. package/src/Fiber.ts +17 -8
  1175. package/src/FiberHandle.ts +15 -14
  1176. package/src/FiberMap.ts +27 -27
  1177. package/src/FiberSet.ts +5 -5
  1178. package/src/FileSystem.ts +34 -30
  1179. package/src/Filter.ts +4 -62
  1180. package/src/Formatter.ts +253 -51
  1181. package/src/Function.ts +2 -10
  1182. package/src/Graph.ts +131 -117
  1183. package/src/Hash.ts +2 -2
  1184. package/src/HashMap.ts +26 -19
  1185. package/src/Iterable.ts +117 -63
  1186. package/src/JsonSchema.ts +383 -10
  1187. package/src/Latch.ts +194 -0
  1188. package/src/Layer.ts +728 -441
  1189. package/src/LayerMap.ts +38 -35
  1190. package/src/LogLevel.ts +37 -0
  1191. package/src/Logger.ts +35 -102
  1192. package/src/ManagedRuntime.ts +61 -48
  1193. package/src/Metric.ts +64 -66
  1194. package/src/MutableHashMap.ts +9 -0
  1195. package/src/MutableHashSet.ts +9 -0
  1196. package/src/MutableList.ts +3 -0
  1197. package/src/Newtype.ts +308 -0
  1198. package/src/Number.ts +98 -29
  1199. package/src/Optic.ts +948 -19
  1200. package/src/Option.ts +34 -24
  1201. package/src/Order.ts +39 -32
  1202. package/src/PartitionedSemaphore.ts +288 -56
  1203. package/src/Path.ts +2 -2
  1204. package/src/Pipeable.ts +32 -1
  1205. package/src/Pool.ts +18 -16
  1206. package/src/PubSub.ts +30 -20
  1207. package/src/Pull.ts +1 -1
  1208. package/src/Queue.ts +11 -9
  1209. package/src/Random.ts +51 -14
  1210. package/src/RcMap.ts +19 -19
  1211. package/src/RcRef.ts +1 -1
  1212. package/src/Record.ts +94 -199
  1213. package/src/Redactable.ts +146 -72
  1214. package/src/Reducer.ts +166 -7
  1215. package/src/References.ts +283 -287
  1216. package/src/Request.ts +8 -7
  1217. package/src/RequestResolver.ts +34 -55
  1218. package/src/Resource.ts +6 -5
  1219. package/src/Result.ts +2 -4
  1220. package/src/Runtime.ts +102 -6
  1221. package/src/Schedule.ts +460 -451
  1222. package/src/Scheduler.ts +52 -129
  1223. package/src/Schema.ts +4102 -663
  1224. package/src/SchemaAST.ts +177 -47
  1225. package/src/SchemaGetter.ts +88 -32
  1226. package/src/SchemaParser.ts +92 -27
  1227. package/src/SchemaRepresentation.ts +59 -32
  1228. package/src/SchemaTransformation.ts +364 -13
  1229. package/src/Scope.ts +2 -2
  1230. package/src/ScopedCache.ts +8 -8
  1231. package/src/Semaphore.ts +442 -0
  1232. package/src/Sink.ts +89 -34
  1233. package/src/Stdio.ts +29 -6
  1234. package/src/Stream.ts +898 -752
  1235. package/src/String.ts +122 -69
  1236. package/src/Struct.ts +33 -7
  1237. package/src/SubscriptionRef.ts +101 -120
  1238. package/src/SynchronizedRef.ts +3 -2
  1239. package/src/Terminal.ts +5 -4
  1240. package/src/Tracer.ts +23 -22
  1241. package/src/Trie.ts +44 -31
  1242. package/src/TxChunk.ts +26 -16
  1243. package/src/TxDeferred.ts +391 -0
  1244. package/src/TxHashMap.ts +347 -291
  1245. package/src/TxHashSet.ts +54 -61
  1246. package/src/TxPriorityQueue.ts +762 -0
  1247. package/src/TxPubSub.ts +787 -0
  1248. package/src/TxQueue.ts +221 -245
  1249. package/src/TxReentrantLock.ts +729 -0
  1250. package/src/TxRef.ts +31 -31
  1251. package/src/TxSemaphore.ts +203 -31
  1252. package/src/TxSubscriptionRef.ts +637 -0
  1253. package/src/Types.ts +78 -17
  1254. package/src/Unify.ts +26 -2
  1255. package/src/Utils.ts +137 -111
  1256. package/src/index.ts +898 -72
  1257. package/src/internal/core.ts +19 -12
  1258. package/src/internal/dateTime.ts +91 -96
  1259. package/src/internal/effect.ts +918 -506
  1260. package/src/internal/hashMap.ts +12 -10
  1261. package/src/internal/layer.ts +7 -7
  1262. package/src/internal/option.ts +7 -0
  1263. package/src/internal/random.ts +20 -0
  1264. package/src/internal/rcRef.ts +14 -13
  1265. package/src/internal/references.ts +72 -0
  1266. package/src/internal/request.ts +8 -8
  1267. package/src/internal/schedule.ts +3 -1
  1268. package/src/internal/schema/annotations.ts +2 -0
  1269. package/src/internal/schema/representation.ts +81 -95
  1270. package/src/internal/schema/schema.ts +25 -1
  1271. package/src/internal/schema/to-codec.ts +7 -17
  1272. package/src/internal/trie.ts +21 -15
  1273. package/src/testing/TestClock.ts +13 -11
  1274. package/src/testing/TestSchema.ts +333 -36
  1275. package/src/testing/index.ts +64 -1
  1276. package/src/unstable/ai/AiError.ts +112 -54
  1277. package/src/unstable/ai/AnthropicStructuredOutput.ts +7 -3
  1278. package/src/unstable/ai/Chat.ts +137 -88
  1279. package/src/unstable/ai/EmbeddingModel.ts +209 -0
  1280. package/src/unstable/ai/IdGenerator.ts +2 -2
  1281. package/src/unstable/ai/LanguageModel.ts +685 -255
  1282. package/src/unstable/ai/McpSchema.ts +84 -22
  1283. package/src/unstable/ai/McpServer.ts +299 -87
  1284. package/src/unstable/ai/Model.ts +44 -13
  1285. package/src/unstable/ai/OpenAiStructuredOutput.ts +9 -2
  1286. package/src/unstable/ai/Prompt.ts +43 -49
  1287. package/src/unstable/ai/Response.ts +31 -33
  1288. package/src/unstable/ai/ResponseIdTracker.ts +95 -0
  1289. package/src/unstable/ai/Telemetry.ts +2 -2
  1290. package/src/unstable/ai/Tokenizer.ts +2 -2
  1291. package/src/unstable/ai/Tool.ts +62 -36
  1292. package/src/unstable/ai/Toolkit.ts +17 -26
  1293. package/src/unstable/ai/index.ts +24 -1
  1294. package/src/unstable/ai/internal/codec-transformer.ts +3 -9
  1295. package/src/unstable/cli/Argument.ts +5 -8
  1296. package/src/unstable/cli/CliError.ts +67 -66
  1297. package/src/unstable/cli/CliOutput.ts +87 -15
  1298. package/src/unstable/cli/Command.ts +808 -193
  1299. package/src/unstable/cli/Completions.ts +107 -0
  1300. package/src/unstable/cli/Flag.ts +5 -6
  1301. package/src/unstable/cli/GlobalFlag.ts +242 -0
  1302. package/src/unstable/cli/HelpDoc.ts +91 -11
  1303. package/src/unstable/cli/Param.ts +54 -27
  1304. package/src/unstable/cli/Primitive.ts +2 -2
  1305. package/src/unstable/cli/Prompt.ts +275 -104
  1306. package/src/unstable/cli/index.ts +10 -0
  1307. package/src/unstable/cli/internal/command.ts +125 -64
  1308. package/src/unstable/cli/internal/completions/bash.ts +7 -7
  1309. package/src/unstable/cli/internal/completions/{CommandDescriptor.ts → descriptor.ts} +16 -58
  1310. package/src/unstable/cli/internal/completions/fish.ts +7 -7
  1311. package/src/unstable/cli/internal/completions/zsh.ts +8 -14
  1312. package/src/unstable/cli/internal/config.ts +49 -0
  1313. package/src/unstable/cli/internal/help.ts +171 -0
  1314. package/src/unstable/cli/internal/parser.ts +201 -84
  1315. package/src/unstable/cluster/ClusterCron.ts +2 -2
  1316. package/src/unstable/cluster/ClusterSchema.ts +38 -10
  1317. package/src/unstable/cluster/ClusterWorkflowEngine.ts +144 -81
  1318. package/src/unstable/cluster/DeliverAt.ts +1 -1
  1319. package/src/unstable/cluster/Entity.ts +59 -45
  1320. package/src/unstable/cluster/EntityAddress.ts +1 -1
  1321. package/src/unstable/cluster/EntityProxy.ts +3 -3
  1322. package/src/unstable/cluster/EntityProxyServer.ts +4 -4
  1323. package/src/unstable/cluster/EntityResource.ts +6 -6
  1324. package/src/unstable/cluster/Envelope.ts +1 -1
  1325. package/src/unstable/cluster/HttpRunner.ts +2 -2
  1326. package/src/unstable/cluster/K8sHttpClient.ts +7 -7
  1327. package/src/unstable/cluster/Message.ts +30 -17
  1328. package/src/unstable/cluster/MessageStorage.ts +76 -46
  1329. package/src/unstable/cluster/Reply.ts +13 -10
  1330. package/src/unstable/cluster/Runner.ts +1 -1
  1331. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1332. package/src/unstable/cluster/RunnerHealth.ts +2 -2
  1333. package/src/unstable/cluster/RunnerServer.ts +11 -14
  1334. package/src/unstable/cluster/RunnerStorage.ts +9 -9
  1335. package/src/unstable/cluster/Runners.ts +21 -19
  1336. package/src/unstable/cluster/ShardId.ts +84 -74
  1337. package/src/unstable/cluster/Sharding.ts +83 -66
  1338. package/src/unstable/cluster/ShardingConfig.ts +39 -40
  1339. package/src/unstable/cluster/Snowflake.ts +2 -2
  1340. package/src/unstable/cluster/SqlMessageStorage.ts +28 -20
  1341. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  1342. package/src/unstable/cluster/internal/entityManager.ts +66 -46
  1343. package/src/unstable/cluster/internal/entityReaper.ts +4 -3
  1344. package/src/unstable/cluster/internal/resourceMap.ts +3 -3
  1345. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  1346. package/src/unstable/devtools/DevToolsClient.ts +26 -21
  1347. package/src/unstable/devtools/DevToolsSchema.ts +16 -3
  1348. package/src/unstable/encoding/Ndjson.ts +17 -17
  1349. package/src/unstable/encoding/Sse.ts +3 -5
  1350. package/src/unstable/eventlog/Event.ts +0 -8
  1351. package/src/unstable/eventlog/EventGroup.ts +0 -4
  1352. package/src/unstable/eventlog/EventJournal.ts +148 -80
  1353. package/src/unstable/eventlog/EventLog.ts +360 -233
  1354. package/src/unstable/eventlog/EventLogEncryption.ts +18 -32
  1355. package/src/unstable/eventlog/EventLogMessage.ts +277 -0
  1356. package/src/unstable/eventlog/EventLogRemote.ts +264 -410
  1357. package/src/unstable/eventlog/EventLogServer.ts +183 -275
  1358. package/src/unstable/eventlog/EventLogServerEncrypted.ts +206 -0
  1359. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +749 -0
  1360. package/src/unstable/eventlog/EventLogSessionAuth.ts +437 -0
  1361. package/src/unstable/eventlog/{SqlEventLogJournal.ts → SqlEventJournal.ts} +28 -20
  1362. package/src/unstable/eventlog/{SqlEventLogServer.ts → SqlEventLogServerEncrypted.ts} +102 -40
  1363. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +500 -0
  1364. package/src/unstable/eventlog/index.ts +27 -2
  1365. package/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
  1366. package/src/unstable/http/Cookies.ts +94 -11
  1367. package/src/unstable/http/Etag.ts +7 -5
  1368. package/src/unstable/http/FetchHttpClient.ts +5 -5
  1369. package/src/unstable/http/Headers.ts +70 -20
  1370. package/src/unstable/http/HttpClient.ts +385 -42
  1371. package/src/unstable/http/HttpClientRequest.ts +151 -39
  1372. package/src/unstable/http/HttpClientResponse.ts +12 -6
  1373. package/src/unstable/http/HttpEffect.ts +86 -100
  1374. package/src/unstable/http/HttpIncomingMessage.ts +5 -4
  1375. package/src/unstable/http/HttpMethod.ts +16 -4
  1376. package/src/unstable/http/HttpMiddleware.ts +50 -50
  1377. package/src/unstable/http/HttpPlatform.ts +5 -4
  1378. package/src/unstable/http/HttpRouter.ts +46 -46
  1379. package/src/unstable/http/HttpServer.ts +5 -11
  1380. package/src/unstable/http/HttpServerError.ts +45 -47
  1381. package/src/unstable/http/HttpServerRequest.ts +414 -23
  1382. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  1383. package/src/unstable/http/HttpServerResponse.ts +351 -13
  1384. package/src/unstable/http/HttpStaticServer.ts +456 -0
  1385. package/src/unstable/http/HttpTraceContext.ts +31 -17
  1386. package/src/unstable/http/Multipart.ts +10 -10
  1387. package/src/unstable/http/Url.ts +650 -0
  1388. package/src/unstable/http/UrlParams.ts +31 -19
  1389. package/src/unstable/http/index.ts +10 -0
  1390. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  1391. package/src/unstable/httpapi/HttpApi.ts +21 -21
  1392. package/src/unstable/httpapi/HttpApiBuilder.ts +128 -55
  1393. package/src/unstable/httpapi/HttpApiClient.ts +186 -34
  1394. package/src/unstable/httpapi/HttpApiEndpoint.ts +225 -113
  1395. package/src/unstable/httpapi/HttpApiError.ts +108 -30
  1396. package/src/unstable/httpapi/HttpApiGroup.ts +18 -17
  1397. package/src/unstable/httpapi/HttpApiMiddleware.ts +95 -33
  1398. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  1399. package/src/unstable/httpapi/HttpApiSchema.ts +106 -11
  1400. package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
  1401. package/src/unstable/httpapi/OpenApi.ts +71 -58
  1402. package/src/unstable/observability/Otlp.ts +12 -12
  1403. package/src/unstable/observability/OtlpExporter.ts +14 -10
  1404. package/src/unstable/observability/OtlpLogger.ts +13 -9
  1405. package/src/unstable/observability/OtlpMetrics.ts +5 -5
  1406. package/src/unstable/observability/OtlpSerialization.ts +2 -2
  1407. package/src/unstable/observability/OtlpTracer.ts +14 -10
  1408. package/src/unstable/observability/PrometheusMetrics.ts +5 -5
  1409. package/src/unstable/persistence/KeyValueStore.ts +230 -7
  1410. package/src/unstable/persistence/Persistable.ts +3 -3
  1411. package/src/unstable/persistence/PersistedCache.ts +35 -21
  1412. package/src/unstable/persistence/PersistedQueue.ts +28 -27
  1413. package/src/unstable/persistence/Persistence.ts +7 -7
  1414. package/src/unstable/persistence/RateLimiter.ts +7 -7
  1415. package/src/unstable/persistence/Redis.ts +2 -2
  1416. package/src/unstable/process/ChildProcess.ts +6 -208
  1417. package/src/unstable/process/ChildProcessSpawner.ts +120 -15
  1418. package/src/unstable/reactivity/Atom.ts +280 -124
  1419. package/src/unstable/reactivity/AtomHttpApi.ts +115 -59
  1420. package/src/unstable/reactivity/AtomRegistry.ts +70 -16
  1421. package/src/unstable/reactivity/AtomRpc.ts +82 -37
  1422. package/src/unstable/reactivity/Reactivity.ts +6 -6
  1423. package/src/unstable/reactivity/index.ts +2 -2
  1424. package/src/unstable/rpc/Rpc.ts +77 -32
  1425. package/src/unstable/rpc/RpcClient.ts +165 -145
  1426. package/src/unstable/rpc/RpcGroup.ts +51 -34
  1427. package/src/unstable/rpc/RpcMiddleware.ts +28 -22
  1428. package/src/unstable/rpc/RpcSchema.ts +24 -6
  1429. package/src/unstable/rpc/RpcSerialization.ts +56 -18
  1430. package/src/unstable/rpc/RpcServer.ts +97 -69
  1431. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1432. package/src/unstable/rpc/Utils.ts +65 -5
  1433. package/src/unstable/schema/Model.ts +35 -6
  1434. package/src/unstable/schema/VariantSchema.ts +14 -27
  1435. package/src/unstable/socket/Socket.ts +42 -38
  1436. package/src/unstable/socket/SocketServer.ts +2 -2
  1437. package/src/unstable/sql/Migrator.ts +7 -5
  1438. package/src/unstable/sql/SqlClient.ts +13 -11
  1439. package/src/unstable/sql/SqlConnection.ts +2 -2
  1440. package/src/unstable/sql/SqlError.ts +365 -11
  1441. package/src/unstable/sql/SqlModel.ts +57 -85
  1442. package/src/unstable/sql/SqlResolver.ts +26 -16
  1443. package/src/unstable/sql/SqlSchema.ts +42 -26
  1444. package/src/unstable/sql/Statement.ts +2 -3
  1445. package/src/unstable/workers/Transferable.ts +17 -19
  1446. package/src/unstable/workers/Worker.ts +6 -5
  1447. package/src/unstable/workers/WorkerRunner.ts +2 -2
  1448. package/src/unstable/workflow/Activity.ts +27 -4
  1449. package/src/unstable/workflow/DurableClock.ts +11 -11
  1450. package/src/unstable/workflow/DurableDeferred.ts +16 -16
  1451. package/src/unstable/workflow/Workflow.ts +32 -25
  1452. package/src/unstable/workflow/WorkflowEngine.ts +239 -25
  1453. package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
  1454. package/dist/NullOr.d.ts +0 -149
  1455. package/dist/NullOr.d.ts.map +0 -1
  1456. package/dist/NullOr.js +0 -152
  1457. package/dist/NullOr.js.map +0 -1
  1458. package/dist/ServiceMap.d.ts +0 -1126
  1459. package/dist/ServiceMap.d.ts.map +0 -1
  1460. package/dist/ServiceMap.js.map +0 -1
  1461. package/dist/encoding/Base64.d.ts +0 -67
  1462. package/dist/encoding/Base64.d.ts.map +0 -1
  1463. package/dist/encoding/Base64.js +0 -146
  1464. package/dist/encoding/Base64.js.map +0 -1
  1465. package/dist/encoding/Base64Url.d.ts +0 -60
  1466. package/dist/encoding/Base64Url.d.ts.map +0 -1
  1467. package/dist/encoding/Base64Url.js +0 -89
  1468. package/dist/encoding/Base64Url.js.map +0 -1
  1469. package/dist/encoding/EncodingError.d.ts +0 -31
  1470. package/dist/encoding/EncodingError.d.ts.map +0 -1
  1471. package/dist/encoding/EncodingError.js +0 -22
  1472. package/dist/encoding/EncodingError.js.map +0 -1
  1473. package/dist/encoding/Hex.d.ts +0 -61
  1474. package/dist/encoding/Hex.d.ts.map +0 -1
  1475. package/dist/encoding/Hex.js +0 -115
  1476. package/dist/encoding/Hex.js.map +0 -1
  1477. package/dist/encoding/index.d.ts +0 -26
  1478. package/dist/encoding/index.d.ts.map +0 -1
  1479. package/dist/encoding/index.js +0 -27
  1480. package/dist/encoding/index.js.map +0 -1
  1481. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  1482. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  1483. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  1484. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  1485. package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts +0 -2
  1486. package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts.map +0 -1
  1487. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +0 -1
  1488. package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
  1489. package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
  1490. package/dist/unstable/cli/internal/completions/Completions.js +0 -23
  1491. package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
  1492. package/dist/unstable/eventlog/SqlEventLogJournal.d.ts.map +0 -1
  1493. package/dist/unstable/eventlog/SqlEventLogJournal.js.map +0 -1
  1494. package/dist/unstable/eventlog/SqlEventLogServer.d.ts.map +0 -1
  1495. package/dist/unstable/eventlog/SqlEventLogServer.js.map +0 -1
  1496. package/src/NullOr.ts +0 -204
  1497. package/src/ServiceMap.ts +0 -1410
  1498. package/src/encoding/Base64.ts +0 -366
  1499. package/src/encoding/Base64Url.ts +0 -104
  1500. package/src/encoding/EncodingError.ts +0 -35
  1501. package/src/encoding/Hex.ts +0 -390
  1502. package/src/encoding/index.ts +0 -31
  1503. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
  1504. package/src/unstable/cli/internal/completions/Completions.ts +0 -31
package/src/ServiceMap.ts DELETED
@@ -1,1410 +0,0 @@
1
- /**
2
- * This module provides a data structure called `ServiceMap` that can be used
3
- * for dependency injection in effectful programs. It is essentially a table
4
- * mapping `Service`s identifiers to their implementations, and can be used to
5
- * manage dependencies in a type-safe way. The `ServiceMap` data structure is
6
- * essentially a way of providing access to a set of related services that can
7
- * be passed around as a single unit. This module provides functions to create,
8
- * modify, and query the contents of a `ServiceMap`, as well as a number of
9
- * utility types for working with a `ServiceMap`.
10
- *
11
- * @since 4.0.0
12
- */
13
- import type { Effect, EffectIterator, Yieldable } from "./Effect.ts"
14
- import * as Equal from "./Equal.ts"
15
- import { constant, dual, type LazyArg } from "./Function.ts"
16
- import * as Hash from "./Hash.ts"
17
- import type { Inspectable } from "./Inspectable.ts"
18
- import { exitSucceed, PipeInspectableProto, withFiber, YieldableProto } from "./internal/core.ts"
19
- import type { ErrorWithStackTraceLimit } from "./internal/tracer.ts"
20
- import * as Option from "./Option.ts"
21
- import type { Pipeable } from "./Pipeable.ts"
22
- import { hasProperty } from "./Predicate.ts"
23
- import type * as Types from "./Types.ts"
24
-
25
- const ServiceTypeId = "~effect/ServiceMap/Service" as const
26
-
27
- /**
28
- * @example
29
- * ```ts
30
- * import { ServiceMap } from "effect"
31
- *
32
- * // Define an identifier for a database service
33
- * const Database = ServiceMap.Service<{ query: (sql: string) => string }>(
34
- * "Database"
35
- * )
36
- *
37
- * // The key can be used to store and retrieve services
38
- * const services = ServiceMap.make(Database, { query: (sql) => `Result: ${sql}` })
39
- * ```
40
- *
41
- * @since 4.0.0
42
- * @category Models
43
- */
44
- export interface Service<in out Identifier, in out Shape>
45
- extends Pipeable, Inspectable, Yieldable<Service<Identifier, Shape>, Shape, never, Identifier>
46
- {
47
- readonly [ServiceTypeId]: {
48
- readonly _Service: Types.Invariant<Shape>
49
- readonly _Identifier: Types.Invariant<Identifier>
50
- }
51
- readonly Service: Shape
52
- readonly Identifier: Identifier
53
- of(self: Shape): Shape
54
- serviceMap(self: Shape): ServiceMap<Identifier>
55
- use<A, E, R>(f: (service: Shape) => Effect<A, E, R>): Effect<A, E, R | Identifier>
56
- useSync<A>(f: (service: Shape) => A): Effect<A, never, Identifier>
57
-
58
- readonly stack?: string | undefined
59
- readonly key: string
60
- }
61
-
62
- /**
63
- * @since 4.0.0
64
- * @category Models
65
- */
66
- export interface ServiceClass<in out Self, in out Identifier extends string, in out Shape>
67
- extends Service<Self, Shape>
68
- {
69
- new(_: never): ServiceClass.Shape<Identifier, Shape>
70
- readonly key: Identifier
71
- }
72
-
73
- /**
74
- * @since 4.0.0
75
- * @category Models
76
- */
77
- export declare namespace ServiceClass {
78
- /**
79
- * @since 4.0.0
80
- * @category Models
81
- */
82
- export interface Shape<Identifier extends string, Service> {
83
- readonly [ServiceTypeId]: typeof ServiceTypeId
84
- readonly key: Identifier
85
- readonly Service: Service
86
- }
87
- }
88
-
89
- /**
90
- * @example
91
- * ```ts
92
- * import { ServiceMap } from "effect"
93
- *
94
- * // Create a simple service
95
- * const Database = ServiceMap.Service<{
96
- * query: (sql: string) => string
97
- * }>("Database")
98
- *
99
- * // Create a service class
100
- * class Config extends ServiceMap.Service<Config, {
101
- * port: number
102
- * }>()("Config") {}
103
- *
104
- * // Use the services to create service maps
105
- * const db = ServiceMap.make(Database, {
106
- * query: (sql) => `Result: ${sql}`
107
- * })
108
- * const config = ServiceMap.make(Config, { port: 8080 })
109
- * ```
110
- *
111
- * @since 4.0.0
112
- * @category Constructors
113
- */
114
- export const Service: {
115
- /**
116
- * @example
117
- * ```ts
118
- * import { ServiceMap } from "effect"
119
- *
120
- * // Create a simple service
121
- * const Database = ServiceMap.Service<{
122
- * query: (sql: string) => string
123
- * }>("Database")
124
- *
125
- * // Create a service class
126
- * class Config extends ServiceMap.Service<Config, {
127
- * port: number
128
- * }>()("Config") {}
129
- *
130
- * // Use the services to create service maps
131
- * const db = ServiceMap.make(Database, {
132
- * query: (sql) => `Result: ${sql}`
133
- * })
134
- * const config = ServiceMap.make(Config, { port: 8080 })
135
- * ```
136
- *
137
- * @since 4.0.0
138
- * @category Constructors
139
- */
140
- <Identifier, Shape = Identifier>(key: string): Service<Identifier, Shape>
141
- /**
142
- * @example
143
- * ```ts
144
- * import { ServiceMap } from "effect"
145
- *
146
- * // Create a simple service
147
- * const Database = ServiceMap.Service<{
148
- * query: (sql: string) => string
149
- * }>("Database")
150
- *
151
- * // Create a service class
152
- * class Config extends ServiceMap.Service<Config, {
153
- * port: number
154
- * }>()("Config") {}
155
- *
156
- * // Use the services to create service maps
157
- * const db = ServiceMap.make(Database, {
158
- * query: (sql) => `Result: ${sql}`
159
- * })
160
- * const config = ServiceMap.make(Config, { port: 8080 })
161
- * ```
162
- *
163
- * @since 4.0.0
164
- * @category Constructors
165
- */
166
- <Self, Shape>(): <
167
- const Identifier extends string,
168
- E,
169
- R = Types.unassigned,
170
- Args extends ReadonlyArray<any> = never
171
- >(
172
- id: Identifier,
173
- options?: {
174
- readonly make: ((...args: Args) => Effect<Shape, E, R>) | Effect<Shape, E, R> | undefined
175
- } | undefined
176
- ) =>
177
- & ServiceClass<Self, Identifier, Shape>
178
- & ([Types.unassigned] extends [R] ? unknown
179
- : { readonly make: [Args] extends [never] ? Effect<Shape, E, R> : (...args: Args) => Effect<Shape, E, R> })
180
- /**
181
- * @example
182
- * ```ts
183
- * import { ServiceMap } from "effect"
184
- *
185
- * // Create a simple service
186
- * const Database = ServiceMap.Service<{
187
- * query: (sql: string) => string
188
- * }>("Database")
189
- *
190
- * // Create a service class
191
- * class Config extends ServiceMap.Service<Config, {
192
- * port: number
193
- * }>()("Config") {}
194
- *
195
- * // Use the services to create service maps
196
- * const db = ServiceMap.make(Database, {
197
- * query: (sql) => `Result: ${sql}`
198
- * })
199
- * const config = ServiceMap.make(Config, { port: 8080 })
200
- * ```
201
- *
202
- * @since 4.0.0
203
- * @category Constructors
204
- */
205
- <Self>(): <
206
- const Identifier extends string,
207
- Make extends Effect<any, any, any> | ((...args: any) => Effect<any, any, any>)
208
- >(
209
- id: Identifier,
210
- options: {
211
- readonly make: Make
212
- }
213
- ) =>
214
- & ServiceClass<
215
- Self,
216
- Identifier,
217
- Make extends
218
- Effect<infer _A, infer _E, infer _R> | ((...args: infer _Args) => Effect<infer _A, infer _E, infer _R>) ? _A
219
- : never
220
- >
221
- & { readonly make: Make }
222
- } = function() {
223
- const prevLimit = (Error as ErrorWithStackTraceLimit).stackTraceLimit
224
- ;(Error as ErrorWithStackTraceLimit)
225
- .stackTraceLimit = 2
226
- const err = new Error()
227
- ;(Error as ErrorWithStackTraceLimit).stackTraceLimit = prevLimit
228
- function KeyClass() {}
229
- const self = KeyClass as any as Types.Mutable<Reference<any>>
230
- Object.setPrototypeOf(self, ServiceProto)
231
- Object.defineProperty(self, "stack", {
232
- get() {
233
- return err.stack
234
- }
235
- })
236
- if (arguments.length > 0) {
237
- self.key = arguments[0]
238
- if (arguments[1]?.defaultValue) {
239
- self[ReferenceTypeId] = ReferenceTypeId
240
- self.defaultValue = arguments[1].defaultValue
241
- }
242
- return self
243
- }
244
- return function(key: string, options?: {
245
- readonly make?: any
246
- }) {
247
- self.key = key
248
- if (options?.make) {
249
- ;(self as any).make = options.make
250
- }
251
- return self
252
- }
253
- } as any
254
-
255
- const ServiceProto: any = {
256
- [ServiceTypeId]: {
257
- _Service: (_: unknown) => _,
258
- _Identifier: (_: unknown) => _
259
- },
260
- ...PipeInspectableProto,
261
- ...YieldableProto,
262
- toJSON<I, A>(this: Service<I, A>) {
263
- return {
264
- _id: "Service",
265
- key: this.key,
266
- stack: this.stack
267
- }
268
- },
269
- asEffect(this: any) {
270
- const fn = this.asEffect = constant(withFiber((fiber) => exitSucceed(get(fiber.services, this))))
271
- return fn()
272
- },
273
- of<Service>(self: Service): Service {
274
- return self
275
- },
276
- serviceMap<Identifier, Shape>(
277
- this: Service<Identifier, Shape>,
278
- self: Shape
279
- ): ServiceMap<Identifier> {
280
- return make(this, self)
281
- },
282
- use<A, E, R>(this: Service<never, any>, f: (service: any) => Effect<A, E, R>): Effect<A, E, R> {
283
- return withFiber((fiber) => f(get(fiber.services, this)))
284
- },
285
- useSync<A>(this: Service<never, any>, f: (service: any) => A): Effect<A, never, never> {
286
- return withFiber((fiber) => exitSucceed(f(get(fiber.services, this))))
287
- }
288
- }
289
-
290
- const ReferenceTypeId = "~effect/ServiceMap/Reference" as const
291
-
292
- /**
293
- * @example
294
- * ```ts
295
- * import { ServiceMap } from "effect"
296
- *
297
- * // Define a reference with a default value
298
- * const LoggerRef: ServiceMap.Reference<{ log: (msg: string) => void }> =
299
- * ServiceMap.Reference("Logger", {
300
- * defaultValue: () => ({ log: (msg: string) => console.log(msg) })
301
- * })
302
- *
303
- * // The reference can be used without explicit provision
304
- * const serviceMap = ServiceMap.empty()
305
- * const logger = ServiceMap.get(serviceMap, LoggerRef) // Uses default value
306
- * ```
307
- *
308
- * @since 4.0.0
309
- * @category Models
310
- */
311
- export interface Reference<in out Shape> extends Service<never, Shape> {
312
- readonly [ReferenceTypeId]: typeof ReferenceTypeId
313
- readonly defaultValue: () => Shape
314
- [Symbol.iterator](): EffectIterator<Reference<Shape>>
315
- }
316
-
317
- /**
318
- * @example
319
- * ```ts
320
- * import { ServiceMap } from "effect"
321
- *
322
- * const Database = ServiceMap.Service<{
323
- * query: (sql: string) => string
324
- * }>("Database")
325
- *
326
- * // Extract service type from a key
327
- * type DatabaseService = ServiceMap.Service.Shape<typeof Database>
328
- *
329
- * // Extract identifier type from a key
330
- * type DatabaseId = ServiceMap.Service.Identifier<typeof Database>
331
- * ```
332
- *
333
- * @since 4.0.0
334
- * @category Models
335
- */
336
- export declare namespace Service {
337
- /**
338
- * @example
339
- * ```ts
340
- * import type { ServiceMap } from "effect"
341
- *
342
- * // Variance interface is used internally for type inference
343
- * type MyVariance = ServiceMap.Service.Variance<"MyId", { value: number }>
344
- * ```
345
- *
346
- * @since 4.0.0
347
- * @category Models
348
- */
349
- export interface Variance<in out Identifier, in out Shape> {
350
- readonly [ServiceTypeId]: {
351
- readonly _Service: Types.Invariant<Shape>
352
- readonly _Identifier: Types.Invariant<Identifier>
353
- }
354
- }
355
-
356
- /**
357
- * @example
358
- * ```ts
359
- * import { ServiceMap } from "effect"
360
- *
361
- * // Any represents any possible service type
362
- * const services: Array<ServiceMap.Service.Any> = [
363
- * ServiceMap.Service<{ log: (msg: string) => void }>("Logger"),
364
- * ServiceMap.Service<{ query: (sql: string) => string }>("Database")
365
- * ]
366
- * ```
367
- *
368
- * @since 4.0.0
369
- * @category Models
370
- */
371
- export type Any = Service<never, any> | Service<any, any>
372
-
373
- /**
374
- * @example
375
- * ```ts
376
- * import { ServiceMap } from "effect"
377
- *
378
- * const Database = ServiceMap.Service<{ query: (sql: string) => string }>(
379
- * "Database"
380
- * )
381
- *
382
- * // Extract the service shape from the service
383
- * type DatabaseService = ServiceMap.Service.Shape<typeof Database>
384
- * // DatabaseService is { query: (sql: string) => string }
385
- * ```
386
- *
387
- * @since 4.0.0
388
- * @category Models
389
- */
390
- export type Shape<T> = T extends Variance<infer _I, infer S> ? S : never
391
-
392
- /**
393
- * @example
394
- * ```ts
395
- * import { ServiceMap } from "effect"
396
- *
397
- * const Database = ServiceMap.Service<{ query: (sql: string) => string }>(
398
- * "Database"
399
- * )
400
- *
401
- * // Extract the identifier type from a key
402
- * type DatabaseId = ServiceMap.Service.Identifier<typeof Database>
403
- * // DatabaseId is the identifier type
404
- * ```
405
- *
406
- * @since 4.0.0
407
- * @category Models
408
- */
409
- export type Identifier<T> = T extends Variance<infer I, infer _S> ? I : never
410
- }
411
-
412
- const TypeId = "~effect/ServiceMap" as const
413
-
414
- /**
415
- * @example
416
- * ```ts
417
- * import { ServiceMap } from "effect"
418
- *
419
- * // Create a service map with multiple services
420
- * const Logger = ServiceMap.Service<{ log: (msg: string) => void }>("Logger")
421
- * const Database = ServiceMap.Service<{ query: (sql: string) => string }>(
422
- * "Database"
423
- * )
424
- *
425
- * const services = ServiceMap.make(Logger, {
426
- * log: (msg: string) => console.log(msg)
427
- * })
428
- * .pipe(ServiceMap.add(Database, { query: (sql) => `Result: ${sql}` }))
429
- * ```
430
- *
431
- * @since 4.0.0
432
- * @category Models
433
- */
434
- export interface ServiceMap<in Services> extends Equal.Equal, Pipeable, Inspectable {
435
- readonly [TypeId]: {
436
- readonly _Services: Types.Contravariant<Services>
437
- }
438
- readonly mapUnsafe: ReadonlyMap<string, any>
439
- }
440
-
441
- /**
442
- * @example
443
- * ```ts
444
- * import { ServiceMap } from "effect"
445
- *
446
- * // Create a service map from a Map (unsafe)
447
- * const map = new Map([
448
- * ["Logger", { log: (msg: string) => console.log(msg) }]
449
- * ])
450
- *
451
- * const services = ServiceMap.makeUnsafe(map)
452
- * ```
453
- *
454
- * @since 4.0.0
455
- * @category Constructors
456
- */
457
- export const makeUnsafe = <Services = never>(mapUnsafe: ReadonlyMap<string, any>): ServiceMap<Services> => {
458
- const self = Object.create(Proto)
459
- self.mapUnsafe = mapUnsafe
460
- return self
461
- }
462
-
463
- const Proto: Omit<ServiceMap<never>, "mapUnsafe"> = {
464
- ...PipeInspectableProto,
465
- [TypeId]: {
466
- _Services: (_: never) => _
467
- },
468
- toJSON(this: ServiceMap<never>) {
469
- return {
470
- _id: "ServiceMap",
471
- services: Array.from(this.mapUnsafe).map(([key, value]) => ({ key, value }))
472
- }
473
- },
474
- [Equal.symbol]<A>(this: ServiceMap<A>, that: unknown): boolean {
475
- if (
476
- !isServiceMap(that)
477
- || this.mapUnsafe.size !== that.mapUnsafe.size
478
- ) return false
479
- for (const k of this.mapUnsafe.keys()) {
480
- if (
481
- !that.mapUnsafe.has(k) ||
482
- !Equal.equals(this.mapUnsafe.get(k), that.mapUnsafe.get(k))
483
- ) {
484
- return false
485
- }
486
- }
487
- return true
488
- },
489
- [Hash.symbol]<A>(this: ServiceMap<A>): number {
490
- return Hash.number(this.mapUnsafe.size)
491
- }
492
- }
493
-
494
- /**
495
- * Checks if the provided argument is a `ServiceMap`.
496
- *
497
- * @example
498
- * ```ts
499
- * import { ServiceMap } from "effect"
500
- * import * as assert from "node:assert"
501
- *
502
- * assert.strictEqual(ServiceMap.isServiceMap(ServiceMap.empty()), true)
503
- * ```
504
- *
505
- * @since 4.0.0
506
- * @category Guards
507
- */
508
- export const isServiceMap = (u: unknown): u is ServiceMap<never> => hasProperty(u, TypeId)
509
-
510
- /**
511
- * Checks if the provided argument is a `Service`.
512
- *
513
- * @example
514
- * ```ts
515
- * import { ServiceMap } from "effect"
516
- * import * as assert from "node:assert"
517
- *
518
- * assert.strictEqual(ServiceMap.isService(ServiceMap.Service("Service")), true)
519
- * ```
520
- *
521
- * @since 4.0.0
522
- * @category Guards
523
- */
524
- export const isService = (u: unknown): u is Service<any, any> => hasProperty(u, ServiceTypeId)
525
-
526
- /**
527
- * Checks if the provided argument is a `Reference`.
528
- *
529
- * @example
530
- * ```ts
531
- * import { ServiceMap } from "effect"
532
- * import * as assert from "node:assert"
533
- *
534
- * const LoggerRef = ServiceMap.Reference("Logger", {
535
- * defaultValue: () => ({ log: (msg: string) => console.log(msg) })
536
- * })
537
- *
538
- * assert.strictEqual(ServiceMap.isReference(LoggerRef), true)
539
- * assert.strictEqual(ServiceMap.isReference(ServiceMap.Service("Key")), false)
540
- * ```
541
- *
542
- * @since 4.0.0
543
- * @category Guards
544
- */
545
- export const isReference = (u: unknown): u is Reference<any> => hasProperty(u, ReferenceTypeId)
546
-
547
- /**
548
- * Returns an empty `ServiceMap`.
549
- *
550
- * @example
551
- * ```ts
552
- * import { ServiceMap } from "effect"
553
- * import * as assert from "node:assert"
554
- *
555
- * assert.strictEqual(ServiceMap.isServiceMap(ServiceMap.empty()), true)
556
- * ```
557
- *
558
- * @since 4.0.0
559
- * @category Constructors
560
- */
561
- export const empty = (): ServiceMap<never> => emptyServiceMap
562
- const emptyServiceMap = makeUnsafe(new Map())
563
-
564
- /**
565
- * Creates a new `ServiceMap` with a single service associated to the key.
566
- *
567
- * @example
568
- * ```ts
569
- * import { ServiceMap } from "effect"
570
- * import * as assert from "node:assert"
571
- *
572
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
573
- *
574
- * const Services = ServiceMap.make(Port, { PORT: 8080 })
575
- *
576
- * assert.deepStrictEqual(ServiceMap.get(Services, Port), { PORT: 8080 })
577
- * ```
578
- *
579
- * @since 4.0.0
580
- * @category Constructors
581
- */
582
- export const make = <I, S>(
583
- key: Service<I, S>,
584
- service: Types.NoInfer<S>
585
- ): ServiceMap<I> => makeUnsafe(new Map([[key.key, service]]))
586
-
587
- /**
588
- * Adds a service to a given `ServiceMap`.
589
- *
590
- * @example
591
- * ```ts
592
- * import { pipe, ServiceMap } from "effect"
593
- * import * as assert from "node:assert"
594
- *
595
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
596
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
597
- *
598
- * const someServiceMap = ServiceMap.make(Port, { PORT: 8080 })
599
- *
600
- * const Services = pipe(
601
- * someServiceMap,
602
- * ServiceMap.add(Timeout, { TIMEOUT: 5000 })
603
- * )
604
- *
605
- * assert.deepStrictEqual(ServiceMap.get(Services, Port), { PORT: 8080 })
606
- * assert.deepStrictEqual(ServiceMap.get(Services, Timeout), { TIMEOUT: 5000 })
607
- * ```
608
- *
609
- * @since 4.0.0
610
- * @category Adders
611
- */
612
- export const add: {
613
- /**
614
- * Adds a service to a given `ServiceMap`.
615
- *
616
- * @example
617
- * ```ts
618
- * import { pipe, ServiceMap } from "effect"
619
- * import * as assert from "node:assert"
620
- *
621
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
622
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
623
- *
624
- * const someServiceMap = ServiceMap.make(Port, { PORT: 8080 })
625
- *
626
- * const Services = pipe(
627
- * someServiceMap,
628
- * ServiceMap.add(Timeout, { TIMEOUT: 5000 })
629
- * )
630
- *
631
- * assert.deepStrictEqual(ServiceMap.get(Services, Port), { PORT: 8080 })
632
- * assert.deepStrictEqual(ServiceMap.get(Services, Timeout), { TIMEOUT: 5000 })
633
- * ```
634
- *
635
- * @since 4.0.0
636
- * @category Adders
637
- */
638
- <I, S>(key: Service<I, S>, service: Types.NoInfer<S>): <Services>(self: ServiceMap<Services>) => ServiceMap<Services | I>
639
- /**
640
- * Adds a service to a given `ServiceMap`.
641
- *
642
- * @example
643
- * ```ts
644
- * import { pipe, ServiceMap } from "effect"
645
- * import * as assert from "node:assert"
646
- *
647
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
648
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
649
- *
650
- * const someServiceMap = ServiceMap.make(Port, { PORT: 8080 })
651
- *
652
- * const Services = pipe(
653
- * someServiceMap,
654
- * ServiceMap.add(Timeout, { TIMEOUT: 5000 })
655
- * )
656
- *
657
- * assert.deepStrictEqual(ServiceMap.get(Services, Port), { PORT: 8080 })
658
- * assert.deepStrictEqual(ServiceMap.get(Services, Timeout), { TIMEOUT: 5000 })
659
- * ```
660
- *
661
- * @since 4.0.0
662
- * @category Adders
663
- */
664
- <Services, I, S>(self: ServiceMap<Services>, key: Service<I, S>, service: Types.NoInfer<S>): ServiceMap<Services | I>
665
- } = dual(3, <Services, I, S>(
666
- self: ServiceMap<Services>,
667
- key: Service<I, S>,
668
- service: Types.NoInfer<S>
669
- ): ServiceMap<Services | I> => {
670
- const map = new Map(self.mapUnsafe)
671
- map.set(key.key, service)
672
- return makeUnsafe(map)
673
- })
674
-
675
- /**
676
- * @since 4.0.0
677
- * @category Adders
678
- */
679
- export const addOrOmit: {
680
- /**
681
- * @since 4.0.0
682
- * @category Adders
683
- */
684
- <I, S>(key: Service<I, S>, service: Option.Option<Types.NoInfer<S>>): <Services>(self: ServiceMap<Services>) => ServiceMap<Services | I>
685
- /**
686
- * @since 4.0.0
687
- * @category Adders
688
- */
689
- <Services, I, S>(
690
- self: ServiceMap<Services>,
691
- key: Service<I, S>,
692
- service: Option.Option<Types.NoInfer<S>>
693
- ): ServiceMap<Services | I>
694
- } = dual(3, <Services, I, S>(
695
- self: ServiceMap<Services>,
696
- key: Service<I, S>,
697
- service: Option.Option<Types.NoInfer<S>>
698
- ): ServiceMap<Services | I> => {
699
- const map = new Map(self.mapUnsafe)
700
- if (service._tag === "None") {
701
- map.delete(key.key)
702
- } else {
703
- map.set(key.key, service.value)
704
- }
705
- return makeUnsafe(map)
706
- })
707
-
708
- /**
709
- * Get a service from the context that corresponds to the given key, or
710
- * use the fallback value.
711
- *
712
- * @example
713
- * ```ts
714
- * import { ServiceMap } from "effect"
715
- * import * as assert from "node:assert"
716
- *
717
- * const Logger = ServiceMap.Service<{ log: (msg: string) => void }>("Logger")
718
- * const Database = ServiceMap.Service<{ query: (sql: string) => string }>(
719
- * "Database"
720
- * )
721
- *
722
- * const services = ServiceMap.make(Logger, {
723
- * log: (msg: string) => console.log(msg)
724
- * })
725
- *
726
- * const logger = ServiceMap.getOrElse(services, Logger, () => ({ log: () => {} }))
727
- * const database = ServiceMap.getOrElse(
728
- * services,
729
- * Database,
730
- * () => ({ query: () => "fallback" })
731
- * )
732
- *
733
- * assert.deepStrictEqual(logger, { log: (msg: string) => console.log(msg) })
734
- * assert.deepStrictEqual(database, { query: () => "fallback" })
735
- * ```
736
- *
737
- * @since 4.0.0
738
- * @category Getters
739
- */
740
- export const getOrElse: {
741
- /**
742
- * Get a service from the context that corresponds to the given key, or
743
- * use the fallback value.
744
- *
745
- * @example
746
- * ```ts
747
- * import { ServiceMap } from "effect"
748
- * import * as assert from "node:assert"
749
- *
750
- * const Logger = ServiceMap.Service<{ log: (msg: string) => void }>("Logger")
751
- * const Database = ServiceMap.Service<{ query: (sql: string) => string }>(
752
- * "Database"
753
- * )
754
- *
755
- * const services = ServiceMap.make(Logger, {
756
- * log: (msg: string) => console.log(msg)
757
- * })
758
- *
759
- * const logger = ServiceMap.getOrElse(services, Logger, () => ({ log: () => {} }))
760
- * const database = ServiceMap.getOrElse(
761
- * services,
762
- * Database,
763
- * () => ({ query: () => "fallback" })
764
- * )
765
- *
766
- * assert.deepStrictEqual(logger, { log: (msg: string) => console.log(msg) })
767
- * assert.deepStrictEqual(database, { query: () => "fallback" })
768
- * ```
769
- *
770
- * @since 4.0.0
771
- * @category Getters
772
- */
773
- <S, I, B>(key: Service<I, S>, orElse: LazyArg<B>): <Services>(self: ServiceMap<Services>) => S | B
774
- /**
775
- * Get a service from the context that corresponds to the given key, or
776
- * use the fallback value.
777
- *
778
- * @example
779
- * ```ts
780
- * import { ServiceMap } from "effect"
781
- * import * as assert from "node:assert"
782
- *
783
- * const Logger = ServiceMap.Service<{ log: (msg: string) => void }>("Logger")
784
- * const Database = ServiceMap.Service<{ query: (sql: string) => string }>(
785
- * "Database"
786
- * )
787
- *
788
- * const services = ServiceMap.make(Logger, {
789
- * log: (msg: string) => console.log(msg)
790
- * })
791
- *
792
- * const logger = ServiceMap.getOrElse(services, Logger, () => ({ log: () => {} }))
793
- * const database = ServiceMap.getOrElse(
794
- * services,
795
- * Database,
796
- * () => ({ query: () => "fallback" })
797
- * )
798
- *
799
- * assert.deepStrictEqual(logger, { log: (msg: string) => console.log(msg) })
800
- * assert.deepStrictEqual(database, { query: () => "fallback" })
801
- * ```
802
- *
803
- * @since 4.0.0
804
- * @category Getters
805
- */
806
- <Services, S, I, B>(self: ServiceMap<Services>, key: Service<I, S>, orElse: LazyArg<B>): S | B
807
- } = dual(3, <Services, S, I, B>(self: ServiceMap<Services>, key: Service<I, S>, orElse: LazyArg<B>): S | B => {
808
- if (self.mapUnsafe.has(key.key)) {
809
- return self.mapUnsafe.get(key.key)! as any
810
- }
811
- return isReference(key) ? getDefaultValue(key) : orElse()
812
- })
813
-
814
- /**
815
- * @since 4.0.0
816
- * @category Getters
817
- */
818
- export const getOrUndefined: {
819
- /**
820
- * @since 4.0.0
821
- * @category Getters
822
- */
823
- <S, I>(key: Service<I, S>): <Services>(self: ServiceMap<Services>) => S | undefined
824
- /**
825
- * @since 4.0.0
826
- * @category Getters
827
- */
828
- <Services, S, I>(self: ServiceMap<Services>, key: Service<I, S>): S | undefined
829
- } = dual(
830
- 2,
831
- <Services, S, I>(self: ServiceMap<Services>, key: Service<I, S>): S | undefined => self.mapUnsafe.get(key.key)
832
- )
833
-
834
- /**
835
- * Get a service from the context that corresponds to the given key.
836
- *
837
- * This function is unsafe because if the key is not present in the context, a
838
- * runtime error will be thrown.
839
- *
840
- * For a safer version see {@link getOption}.
841
- *
842
- * @param self - The `ServiceMap` to search for the service.
843
- * @param service - The `Service` of the service to retrieve.
844
- *
845
- * @example
846
- * ```ts
847
- * import { ServiceMap } from "effect"
848
- * import * as assert from "node:assert"
849
- *
850
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
851
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
852
- *
853
- * const Services = ServiceMap.make(Port, { PORT: 8080 })
854
- *
855
- * assert.deepStrictEqual(ServiceMap.getUnsafe(Services, Port), { PORT: 8080 })
856
- * assert.throws(() => ServiceMap.getUnsafe(Services, Timeout))
857
- * ```
858
- *
859
- * @since 4.0.0
860
- * @category unsafe
861
- */
862
- export const getUnsafe: {
863
- /**
864
- * Get a service from the context that corresponds to the given key.
865
- *
866
- * This function is unsafe because if the key is not present in the context, a
867
- * runtime error will be thrown.
868
- *
869
- * For a safer version see {@link getOption}.
870
- *
871
- * @param self - The `ServiceMap` to search for the service.
872
- * @param service - The `Service` of the service to retrieve.
873
- *
874
- * @example
875
- * ```ts
876
- * import { ServiceMap } from "effect"
877
- * import * as assert from "node:assert"
878
- *
879
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
880
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
881
- *
882
- * const Services = ServiceMap.make(Port, { PORT: 8080 })
883
- *
884
- * assert.deepStrictEqual(ServiceMap.getUnsafe(Services, Port), { PORT: 8080 })
885
- * assert.throws(() => ServiceMap.getUnsafe(Services, Timeout))
886
- * ```
887
- *
888
- * @since 4.0.0
889
- * @category unsafe
890
- */
891
- <S, I>(service: Service<I, S>): <Services>(self: ServiceMap<Services>) => S
892
- /**
893
- * Get a service from the context that corresponds to the given key.
894
- *
895
- * This function is unsafe because if the key is not present in the context, a
896
- * runtime error will be thrown.
897
- *
898
- * For a safer version see {@link getOption}.
899
- *
900
- * @param self - The `ServiceMap` to search for the service.
901
- * @param service - The `Service` of the service to retrieve.
902
- *
903
- * @example
904
- * ```ts
905
- * import { ServiceMap } from "effect"
906
- * import * as assert from "node:assert"
907
- *
908
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
909
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
910
- *
911
- * const Services = ServiceMap.make(Port, { PORT: 8080 })
912
- *
913
- * assert.deepStrictEqual(ServiceMap.getUnsafe(Services, Port), { PORT: 8080 })
914
- * assert.throws(() => ServiceMap.getUnsafe(Services, Timeout))
915
- * ```
916
- *
917
- * @since 4.0.0
918
- * @category unsafe
919
- */
920
- <Services, S, I>(self: ServiceMap<Services>, services: Service<I, S>): S
921
- } = dual(
922
- 2,
923
- <Services, I extends Services, S>(self: ServiceMap<Services>, service: Service<I, S>): S => {
924
- if (!self.mapUnsafe.has(service.key)) {
925
- if (ReferenceTypeId in service) return getDefaultValue(service as any)
926
- throw serviceNotFoundError(service)
927
- }
928
- return self.mapUnsafe.get(service.key)! as any
929
- }
930
- )
931
-
932
- /**
933
- * Get a service from the context that corresponds to the given key.
934
- *
935
- * @param self - The `ServiceMap` to search for the service.
936
- * @param service - The `Service` of the service to retrieve.
937
- *
938
- * @example
939
- * ```ts
940
- * import { pipe, ServiceMap } from "effect"
941
- * import * as assert from "node:assert"
942
- *
943
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
944
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
945
- *
946
- * const Services = pipe(
947
- * ServiceMap.make(Port, { PORT: 8080 }),
948
- * ServiceMap.add(Timeout, { TIMEOUT: 5000 })
949
- * )
950
- *
951
- * assert.deepStrictEqual(ServiceMap.get(Services, Timeout), { TIMEOUT: 5000 })
952
- * ```
953
- *
954
- * @since 4.0.0
955
- * @category Getters
956
- */
957
- export const get: {
958
- /**
959
- * Get a service from the context that corresponds to the given key.
960
- *
961
- * @param self - The `ServiceMap` to search for the service.
962
- * @param service - The `Service` of the service to retrieve.
963
- *
964
- * @example
965
- * ```ts
966
- * import { pipe, ServiceMap } from "effect"
967
- * import * as assert from "node:assert"
968
- *
969
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
970
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
971
- *
972
- * const Services = pipe(
973
- * ServiceMap.make(Port, { PORT: 8080 }),
974
- * ServiceMap.add(Timeout, { TIMEOUT: 5000 })
975
- * )
976
- *
977
- * assert.deepStrictEqual(ServiceMap.get(Services, Timeout), { TIMEOUT: 5000 })
978
- * ```
979
- *
980
- * @since 4.0.0
981
- * @category Getters
982
- */
983
- <Services, I extends Services, S>(service: Service<I, S>): (self: ServiceMap<Services>) => S
984
- /**
985
- * Get a service from the context that corresponds to the given key.
986
- *
987
- * @param self - The `ServiceMap` to search for the service.
988
- * @param service - The `Service` of the service to retrieve.
989
- *
990
- * @example
991
- * ```ts
992
- * import { pipe, ServiceMap } from "effect"
993
- * import * as assert from "node:assert"
994
- *
995
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
996
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
997
- *
998
- * const Services = pipe(
999
- * ServiceMap.make(Port, { PORT: 8080 }),
1000
- * ServiceMap.add(Timeout, { TIMEOUT: 5000 })
1001
- * )
1002
- *
1003
- * assert.deepStrictEqual(ServiceMap.get(Services, Timeout), { TIMEOUT: 5000 })
1004
- * ```
1005
- *
1006
- * @since 4.0.0
1007
- * @category Getters
1008
- */
1009
- <Services, I extends Services, S>(self: ServiceMap<Services>, service: Service<I, S>): S
1010
- } = getUnsafe
1011
-
1012
- /**
1013
- * @example
1014
- * ```ts
1015
- * import { ServiceMap } from "effect"
1016
- * import * as assert from "node:assert"
1017
- *
1018
- * const LoggerRef = ServiceMap.Reference("Logger", {
1019
- * defaultValue: () => ({ log: (msg: string) => console.log(msg) })
1020
- * })
1021
- *
1022
- * const services = ServiceMap.empty()
1023
- * const logger = ServiceMap.getReferenceUnsafe(services, LoggerRef)
1024
- *
1025
- * assert.deepStrictEqual(logger, { log: (msg: string) => console.log(msg) })
1026
- * ```
1027
- *
1028
- * @since 4.0.0
1029
- * @category unsafe
1030
- */
1031
- export const getReferenceUnsafe = <Services, S>(self: ServiceMap<Services>, service: Reference<S>): S => {
1032
- if (!self.mapUnsafe.has(service.key)) {
1033
- return getDefaultValue(service as any)
1034
- }
1035
- return self.mapUnsafe.get(service.key)! as any
1036
- }
1037
-
1038
- const defaultValueCacheKey = "~effect/ServiceMap/defaultValue" as const
1039
-
1040
- const getDefaultValue = (ref: Reference<any>) => {
1041
- if (defaultValueCacheKey in ref) {
1042
- return ref[defaultValueCacheKey] as any
1043
- }
1044
- return (ref as any)[defaultValueCacheKey] = ref.defaultValue()
1045
- }
1046
-
1047
- const serviceNotFoundError = (service: Service<any, any>) => {
1048
- const error = new Error(
1049
- `Service not found${service.key ? `: ${String(service.key)}` : ""}`
1050
- )
1051
- if (service.stack) {
1052
- const lines = service.stack.split("\n")
1053
- if (lines.length > 2) {
1054
- const afterAt = lines[2].match(/at (.*)/)
1055
- if (afterAt) {
1056
- error.message = error.message + ` (defined at ${afterAt[1]})`
1057
- }
1058
- }
1059
- }
1060
- if (error.stack) {
1061
- const lines = error.stack.split("\n")
1062
- lines.splice(1, 3)
1063
- error.stack = lines.join("\n")
1064
- }
1065
- return error
1066
- }
1067
-
1068
- /**
1069
- * Get the value associated with the specified key from the context wrapped in
1070
- * an `Option` object. If the key is not found, the `Option` object will be
1071
- * `None`.
1072
- *
1073
- * @param self - The `ServiceMap` to search for the service.
1074
- * @param service - The `Service` of the service to retrieve.
1075
- *
1076
- * @example
1077
- * ```ts
1078
- * import { Option, ServiceMap } from "effect"
1079
- * import * as assert from "node:assert"
1080
- *
1081
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
1082
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
1083
- *
1084
- * const Services = ServiceMap.make(Port, { PORT: 8080 })
1085
- *
1086
- * assert.deepStrictEqual(
1087
- * ServiceMap.getOption(Services, Port),
1088
- * Option.some({ PORT: 8080 })
1089
- * )
1090
- * assert.deepStrictEqual(ServiceMap.getOption(Services, Timeout), Option.none())
1091
- * ```
1092
- *
1093
- * @since 4.0.0
1094
- * @category Getters
1095
- */
1096
- export const getOption: {
1097
- /**
1098
- * Get the value associated with the specified key from the context wrapped in
1099
- * an `Option` object. If the key is not found, the `Option` object will be
1100
- * `None`.
1101
- *
1102
- * @param self - The `ServiceMap` to search for the service.
1103
- * @param service - The `Service` of the service to retrieve.
1104
- *
1105
- * @example
1106
- * ```ts
1107
- * import { Option, ServiceMap } from "effect"
1108
- * import * as assert from "node:assert"
1109
- *
1110
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
1111
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
1112
- *
1113
- * const Services = ServiceMap.make(Port, { PORT: 8080 })
1114
- *
1115
- * assert.deepStrictEqual(
1116
- * ServiceMap.getOption(Services, Port),
1117
- * Option.some({ PORT: 8080 })
1118
- * )
1119
- * assert.deepStrictEqual(ServiceMap.getOption(Services, Timeout), Option.none())
1120
- * ```
1121
- *
1122
- * @since 4.0.0
1123
- * @category Getters
1124
- */
1125
- <S, I>(service: Service<I, S>): <Services>(self: ServiceMap<Services>) => Option.Option<S>
1126
- /**
1127
- * Get the value associated with the specified key from the context wrapped in
1128
- * an `Option` object. If the key is not found, the `Option` object will be
1129
- * `None`.
1130
- *
1131
- * @param self - The `ServiceMap` to search for the service.
1132
- * @param service - The `Service` of the service to retrieve.
1133
- *
1134
- * @example
1135
- * ```ts
1136
- * import { Option, ServiceMap } from "effect"
1137
- * import * as assert from "node:assert"
1138
- *
1139
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
1140
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
1141
- *
1142
- * const Services = ServiceMap.make(Port, { PORT: 8080 })
1143
- *
1144
- * assert.deepStrictEqual(
1145
- * ServiceMap.getOption(Services, Port),
1146
- * Option.some({ PORT: 8080 })
1147
- * )
1148
- * assert.deepStrictEqual(ServiceMap.getOption(Services, Timeout), Option.none())
1149
- * ```
1150
- *
1151
- * @since 4.0.0
1152
- * @category Getters
1153
- */
1154
- <Services, S, I>(self: ServiceMap<Services>, service: Service<I, S>): Option.Option<S>
1155
- } = dual(2, <Services, I extends Services, S>(self: ServiceMap<Services>, service: Service<I, S>): Option.Option<S> => {
1156
- if (self.mapUnsafe.has(service.key)) {
1157
- return Option.some(self.mapUnsafe.get(service.key)! as any)
1158
- }
1159
- return isReference(service) ? Option.some(getDefaultValue(service as any)) : Option.none()
1160
- })
1161
-
1162
- /**
1163
- * Merges two `ServiceMap`s, returning a new `ServiceMap` containing the services of both.
1164
- *
1165
- * @param self - The first `ServiceMap` to merge.
1166
- * @param that - The second `ServiceMap` to merge.
1167
- *
1168
- * @example
1169
- * ```ts
1170
- * import { ServiceMap } from "effect"
1171
- * import * as assert from "node:assert"
1172
- *
1173
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
1174
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
1175
- *
1176
- * const firstServiceMap = ServiceMap.make(Port, { PORT: 8080 })
1177
- * const secondServiceMap = ServiceMap.make(Timeout, { TIMEOUT: 5000 })
1178
- *
1179
- * const Services = ServiceMap.merge(firstServiceMap, secondServiceMap)
1180
- *
1181
- * assert.deepStrictEqual(ServiceMap.get(Services, Port), { PORT: 8080 })
1182
- * assert.deepStrictEqual(ServiceMap.get(Services, Timeout), { TIMEOUT: 5000 })
1183
- * ```
1184
- *
1185
- * @since 4.0.0
1186
- * @category Utils
1187
- */
1188
- export const merge: {
1189
- /**
1190
- * Merges two `ServiceMap`s, returning a new `ServiceMap` containing the services of both.
1191
- *
1192
- * @param self - The first `ServiceMap` to merge.
1193
- * @param that - The second `ServiceMap` to merge.
1194
- *
1195
- * @example
1196
- * ```ts
1197
- * import { ServiceMap } from "effect"
1198
- * import * as assert from "node:assert"
1199
- *
1200
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
1201
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
1202
- *
1203
- * const firstServiceMap = ServiceMap.make(Port, { PORT: 8080 })
1204
- * const secondServiceMap = ServiceMap.make(Timeout, { TIMEOUT: 5000 })
1205
- *
1206
- * const Services = ServiceMap.merge(firstServiceMap, secondServiceMap)
1207
- *
1208
- * assert.deepStrictEqual(ServiceMap.get(Services, Port), { PORT: 8080 })
1209
- * assert.deepStrictEqual(ServiceMap.get(Services, Timeout), { TIMEOUT: 5000 })
1210
- * ```
1211
- *
1212
- * @since 4.0.0
1213
- * @category Utils
1214
- */
1215
- <R1>(that: ServiceMap<R1>): <Services>(self: ServiceMap<Services>) => ServiceMap<R1 | Services>
1216
- /**
1217
- * Merges two `ServiceMap`s, returning a new `ServiceMap` containing the services of both.
1218
- *
1219
- * @param self - The first `ServiceMap` to merge.
1220
- * @param that - The second `ServiceMap` to merge.
1221
- *
1222
- * @example
1223
- * ```ts
1224
- * import { ServiceMap } from "effect"
1225
- * import * as assert from "node:assert"
1226
- *
1227
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
1228
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
1229
- *
1230
- * const firstServiceMap = ServiceMap.make(Port, { PORT: 8080 })
1231
- * const secondServiceMap = ServiceMap.make(Timeout, { TIMEOUT: 5000 })
1232
- *
1233
- * const Services = ServiceMap.merge(firstServiceMap, secondServiceMap)
1234
- *
1235
- * assert.deepStrictEqual(ServiceMap.get(Services, Port), { PORT: 8080 })
1236
- * assert.deepStrictEqual(ServiceMap.get(Services, Timeout), { TIMEOUT: 5000 })
1237
- * ```
1238
- *
1239
- * @since 4.0.0
1240
- * @category Utils
1241
- */
1242
- <Services, R1>(self: ServiceMap<Services>, that: ServiceMap<R1>): ServiceMap<Services | R1>
1243
- } = dual(2, <Services, R1>(self: ServiceMap<Services>, that: ServiceMap<R1>): ServiceMap<Services | R1> => {
1244
- if (self.mapUnsafe.size === 0) return that as any
1245
- if (that.mapUnsafe.size === 0) return self as any
1246
- const map = new Map(self.mapUnsafe)
1247
- that.mapUnsafe.forEach((value, key) => map.set(key, value))
1248
- return makeUnsafe(map)
1249
- })
1250
-
1251
- /**
1252
- * Merges any number of `ServiceMap`s, returning a new `ServiceMap` containing the services of all.
1253
- *
1254
- * @example
1255
- * ```ts
1256
- * import { ServiceMap } from "effect"
1257
- * import * as assert from "node:assert"
1258
- *
1259
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
1260
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
1261
- * const Host = ServiceMap.Service<{ HOST: string }>("Host")
1262
- *
1263
- * const firstServiceMap = ServiceMap.make(Port, { PORT: 8080 })
1264
- * const secondServiceMap = ServiceMap.make(Timeout, { TIMEOUT: 5000 })
1265
- * const thirdServiceMap = ServiceMap.make(Host, { HOST: "localhost" })
1266
- *
1267
- * const Services = ServiceMap.mergeAll(
1268
- * firstServiceMap,
1269
- * secondServiceMap,
1270
- * thirdServiceMap
1271
- * )
1272
- *
1273
- * assert.deepStrictEqual(ServiceMap.get(Services, Port), { PORT: 8080 })
1274
- * assert.deepStrictEqual(ServiceMap.get(Services, Timeout), { TIMEOUT: 5000 })
1275
- * assert.deepStrictEqual(ServiceMap.get(Services, Host), { HOST: "localhost" })
1276
- * ```
1277
- *
1278
- * @since 3.12.0
1279
- */
1280
- export const mergeAll = <T extends Array<unknown>>(
1281
- ...ctxs: [...{ [K in keyof T]: ServiceMap<T[K]> }]
1282
- ): ServiceMap<T[number]> => {
1283
- const map = new Map()
1284
- for (let i = 0; i < ctxs.length; i++) {
1285
- ctxs[i].mapUnsafe.forEach((value, key) => {
1286
- map.set(key, value)
1287
- })
1288
- }
1289
- return makeUnsafe(map)
1290
- }
1291
-
1292
- /**
1293
- * Returns a new `ServiceMap` that contains only the specified services.
1294
- *
1295
- * @param self - The `ServiceMap` to prune services from.
1296
- * @param services - The list of `Service`s to be included in the new `ServiceMap`.
1297
- *
1298
- * @example
1299
- * ```ts
1300
- * import { Option, pipe, ServiceMap } from "effect"
1301
- * import * as assert from "node:assert"
1302
- *
1303
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
1304
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
1305
- *
1306
- * const someServiceMap = pipe(
1307
- * ServiceMap.make(Port, { PORT: 8080 }),
1308
- * ServiceMap.add(Timeout, { TIMEOUT: 5000 })
1309
- * )
1310
- *
1311
- * const Services = pipe(someServiceMap, ServiceMap.pick(Port))
1312
- *
1313
- * assert.deepStrictEqual(
1314
- * ServiceMap.getOption(Services, Port),
1315
- * Option.some({ PORT: 8080 })
1316
- * )
1317
- * assert.deepStrictEqual(ServiceMap.getOption(Services, Timeout), Option.none())
1318
- * ```
1319
- *
1320
- * @since 4.0.0
1321
- * @category Utils
1322
- */
1323
- export const pick = <S extends ReadonlyArray<Service<any, any>>>(
1324
- ...services: S
1325
- ) =>
1326
- <Services>(self: ServiceMap<Services>): ServiceMap<Services & Service.Identifier<S[number]>> => {
1327
- const map = new Map<string, any>()
1328
- const keySet = new Set(services.map((key) => key.key))
1329
- self.mapUnsafe.forEach((value, key) => {
1330
- if (keySet.has(key)) {
1331
- map.set(key, value)
1332
- }
1333
- })
1334
- return makeUnsafe(map)
1335
- }
1336
-
1337
- /**
1338
- * @example
1339
- * ```ts
1340
- * import { Option, pipe, ServiceMap } from "effect"
1341
- * import * as assert from "node:assert"
1342
- *
1343
- * const Port = ServiceMap.Service<{ PORT: number }>("Port")
1344
- * const Timeout = ServiceMap.Service<{ TIMEOUT: number }>("Timeout")
1345
- *
1346
- * const someServiceMap = pipe(
1347
- * ServiceMap.make(Port, { PORT: 8080 }),
1348
- * ServiceMap.add(Timeout, { TIMEOUT: 5000 })
1349
- * )
1350
- *
1351
- * const Services = pipe(someServiceMap, ServiceMap.omit(Timeout))
1352
- *
1353
- * assert.deepStrictEqual(
1354
- * ServiceMap.getOption(Services, Port),
1355
- * Option.some({ PORT: 8080 })
1356
- * )
1357
- * assert.deepStrictEqual(ServiceMap.getOption(Services, Timeout), Option.none())
1358
- * ```
1359
- *
1360
- * @since 4.0.0
1361
- * @category Utils
1362
- */
1363
- export const omit = <S extends ReadonlyArray<Service<any, any>>>(
1364
- ...keys: S
1365
- ) =>
1366
- <Services>(self: ServiceMap<Services>): ServiceMap<Exclude<Services, Service.Identifier<S[number]>>> => {
1367
- const map = new Map(self.mapUnsafe)
1368
- for (let i = 0; i < keys.length; i++) {
1369
- map.delete(keys[i].key)
1370
- }
1371
- return makeUnsafe(map)
1372
- }
1373
-
1374
- /**
1375
- * Creates a service map key with a default value.
1376
- *
1377
- * **Details**
1378
- *
1379
- * `ServiceMap.Reference` allows you to create a key that can hold a value. You
1380
- * can provide a default value for the service, which will automatically be used
1381
- * when the context is accessed, or override it with a custom implementation
1382
- * when needed.
1383
- *
1384
- * @example
1385
- * ```ts
1386
- * import { ServiceMap } from "effect"
1387
- *
1388
- * // Create a reference with a default value
1389
- * const LoggerRef = ServiceMap.Reference("Logger", {
1390
- * defaultValue: () => ({ log: (msg: string) => console.log(msg) })
1391
- * })
1392
- *
1393
- * // The reference provides the default value when accessed from an empty context
1394
- * const services = ServiceMap.empty()
1395
- * const logger = ServiceMap.get(services, LoggerRef)
1396
- *
1397
- * // You can also override the default value
1398
- * const customServices = ServiceMap.make(LoggerRef, {
1399
- * log: (msg: string) => `Custom: ${msg}`
1400
- * })
1401
- * const customLogger = ServiceMap.get(customServices, LoggerRef)
1402
- * ```
1403
- *
1404
- * @since 4.0.0
1405
- * @category References
1406
- */
1407
- export const Reference: <Service>(
1408
- key: string,
1409
- options: { readonly defaultValue: () => Service }
1410
- ) => Reference<Service> = Service as any