effect 4.0.0-beta.6 → 4.0.0-beta.62

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