effect 4.0.0-beta.1 → 4.0.0-beta.11

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 (641) hide show
  1. package/dist/Cache.d.ts +2 -2
  2. package/dist/Cache.d.ts.map +1 -1
  3. package/dist/Cache.js +1 -1
  4. package/dist/Cache.js.map +1 -1
  5. package/dist/Cause.d.ts +1 -1
  6. package/dist/Cause.d.ts.map +1 -1
  7. package/dist/Channel.d.ts +7 -7
  8. package/dist/Channel.d.ts.map +1 -1
  9. package/dist/Channel.js +6 -4
  10. package/dist/Channel.js.map +1 -1
  11. package/dist/Combiner.d.ts +280 -13
  12. package/dist/Combiner.d.ts.map +1 -1
  13. package/dist/Combiner.js +198 -7
  14. package/dist/Combiner.js.map +1 -1
  15. package/dist/Config.d.ts +3 -3
  16. package/dist/Config.js +3 -3
  17. package/dist/Config.js.map +1 -1
  18. package/dist/ConfigProvider.d.ts +1 -1
  19. package/dist/Cron.d.ts +1 -1
  20. package/dist/Data.d.ts +534 -365
  21. package/dist/Data.d.ts.map +1 -1
  22. package/dist/Data.js +132 -79
  23. package/dist/Data.js.map +1 -1
  24. package/dist/DateTime.d.ts +23 -161
  25. package/dist/DateTime.d.ts.map +1 -1
  26. package/dist/DateTime.js +6 -51
  27. package/dist/DateTime.js.map +1 -1
  28. package/dist/Duration.d.ts +12 -12
  29. package/dist/Duration.d.ts.map +1 -1
  30. package/dist/Duration.js +12 -12
  31. package/dist/Duration.js.map +1 -1
  32. package/dist/Effect.d.ts +342 -248
  33. package/dist/Effect.d.ts.map +1 -1
  34. package/dist/Effect.js +119 -119
  35. package/dist/Effect.js.map +1 -1
  36. package/dist/Encoding.d.ts +194 -0
  37. package/dist/Encoding.d.ts.map +1 -0
  38. package/dist/Encoding.js +352 -0
  39. package/dist/Encoding.js.map +1 -0
  40. package/dist/Equal.d.ts +276 -109
  41. package/dist/Equal.d.ts.map +1 -1
  42. package/dist/Equal.js +124 -48
  43. package/dist/Equal.js.map +1 -1
  44. package/dist/ErrorReporter.d.ts +376 -0
  45. package/dist/ErrorReporter.d.ts.map +1 -0
  46. package/dist/ErrorReporter.js +246 -0
  47. package/dist/ErrorReporter.js.map +1 -0
  48. package/dist/FileSystem.d.ts +1 -1
  49. package/dist/FileSystem.d.ts.map +1 -1
  50. package/dist/FileSystem.js +5 -5
  51. package/dist/FileSystem.js.map +1 -1
  52. package/dist/Filter.d.ts +30 -1
  53. package/dist/Filter.d.ts.map +1 -1
  54. package/dist/Filter.js +15 -0
  55. package/dist/Filter.js.map +1 -1
  56. package/dist/Formatter.d.ts +131 -47
  57. package/dist/Formatter.d.ts.map +1 -1
  58. package/dist/Formatter.js +229 -51
  59. package/dist/Formatter.js.map +1 -1
  60. package/dist/Graph.d.ts +1 -1
  61. package/dist/Graph.d.ts.map +1 -1
  62. package/dist/Graph.js +2 -2
  63. package/dist/Graph.js.map +1 -1
  64. package/dist/JsonSchema.d.ts +299 -10
  65. package/dist/JsonSchema.d.ts.map +1 -1
  66. package/dist/JsonSchema.js +323 -4
  67. package/dist/JsonSchema.js.map +1 -1
  68. package/dist/Latch.d.ts +109 -0
  69. package/dist/Latch.d.ts.map +1 -0
  70. package/dist/Latch.js +72 -0
  71. package/dist/Latch.js.map +1 -0
  72. package/dist/LayerMap.d.ts +4 -4
  73. package/dist/LayerMap.d.ts.map +1 -1
  74. package/dist/LogLevel.d.ts +32 -0
  75. package/dist/LogLevel.d.ts.map +1 -1
  76. package/dist/LogLevel.js +28 -100
  77. package/dist/LogLevel.js.map +1 -1
  78. package/dist/Logger.d.ts +29 -95
  79. package/dist/Logger.d.ts.map +1 -1
  80. package/dist/Logger.js +2 -3
  81. package/dist/Logger.js.map +1 -1
  82. package/dist/Metric.d.ts +2 -2
  83. package/dist/Metric.d.ts.map +1 -1
  84. package/dist/Metric.js +1 -1
  85. package/dist/Metric.js.map +1 -1
  86. package/dist/Optic.d.ts +947 -18
  87. package/dist/Optic.d.ts.map +1 -1
  88. package/dist/Optic.js +454 -5
  89. package/dist/Optic.js.map +1 -1
  90. package/dist/Pipeable.d.ts +17 -0
  91. package/dist/Pipeable.d.ts.map +1 -1
  92. package/dist/Pipeable.js +19 -1
  93. package/dist/Pipeable.js.map +1 -1
  94. package/dist/PlatformError.d.ts +10 -9
  95. package/dist/PlatformError.d.ts.map +1 -1
  96. package/dist/PlatformError.js +2 -2
  97. package/dist/PlatformError.js.map +1 -1
  98. package/dist/Pool.d.ts +6 -4
  99. package/dist/Pool.d.ts.map +1 -1
  100. package/dist/Pool.js +7 -5
  101. package/dist/Pool.js.map +1 -1
  102. package/dist/PubSub.d.ts +3 -2
  103. package/dist/PubSub.d.ts.map +1 -1
  104. package/dist/PubSub.js +3 -2
  105. package/dist/PubSub.js.map +1 -1
  106. package/dist/Queue.d.ts.map +1 -1
  107. package/dist/Queue.js +0 -1
  108. package/dist/Queue.js.map +1 -1
  109. package/dist/Random.d.ts +18 -1
  110. package/dist/Random.d.ts.map +1 -1
  111. package/dist/Random.js +29 -12
  112. package/dist/Random.js.map +1 -1
  113. package/dist/RcMap.d.ts +2 -2
  114. package/dist/RcMap.d.ts.map +1 -1
  115. package/dist/RcMap.js +1 -1
  116. package/dist/RcMap.js.map +1 -1
  117. package/dist/RcRef.d.ts +1 -1
  118. package/dist/RcRef.d.ts.map +1 -1
  119. package/dist/Reducer.d.ts +166 -7
  120. package/dist/Reducer.d.ts.map +1 -1
  121. package/dist/Reducer.js +135 -1
  122. package/dist/Reducer.js.map +1 -1
  123. package/dist/References.d.ts +3 -3
  124. package/dist/References.d.ts.map +1 -1
  125. package/dist/Request.d.ts +1 -1
  126. package/dist/Request.d.ts.map +1 -1
  127. package/dist/Request.js +2 -1
  128. package/dist/Request.js.map +1 -1
  129. package/dist/RequestResolver.d.ts +6 -26
  130. package/dist/RequestResolver.d.ts.map +1 -1
  131. package/dist/RequestResolver.js +0 -20
  132. package/dist/RequestResolver.js.map +1 -1
  133. package/dist/Result.d.ts +12 -0
  134. package/dist/Result.d.ts.map +1 -1
  135. package/dist/Result.js +12 -0
  136. package/dist/Result.js.map +1 -1
  137. package/dist/Schedule.d.ts +33 -14
  138. package/dist/Schedule.d.ts.map +1 -1
  139. package/dist/Schedule.js +65 -24
  140. package/dist/Schedule.js.map +1 -1
  141. package/dist/Schema.d.ts +199 -49
  142. package/dist/Schema.d.ts.map +1 -1
  143. package/dist/Schema.js +386 -72
  144. package/dist/Schema.js.map +1 -1
  145. package/dist/SchemaAST.d.ts.map +1 -1
  146. package/dist/SchemaAST.js +2 -1
  147. package/dist/SchemaAST.js.map +1 -1
  148. package/dist/SchemaGetter.d.ts +2 -2
  149. package/dist/SchemaGetter.d.ts.map +1 -1
  150. package/dist/SchemaGetter.js +12 -14
  151. package/dist/SchemaGetter.js.map +1 -1
  152. package/dist/SchemaRepresentation.d.ts +44 -43
  153. package/dist/SchemaRepresentation.d.ts.map +1 -1
  154. package/dist/SchemaRepresentation.js +43 -24
  155. package/dist/SchemaRepresentation.js.map +1 -1
  156. package/dist/SchemaTransformation.d.ts +37 -0
  157. package/dist/SchemaTransformation.d.ts.map +1 -1
  158. package/dist/SchemaTransformation.js +80 -0
  159. package/dist/SchemaTransformation.js.map +1 -1
  160. package/dist/ScopedCache.d.ts +2 -2
  161. package/dist/ScopedCache.d.ts.map +1 -1
  162. package/dist/ScopedCache.js +1 -1
  163. package/dist/ScopedCache.js.map +1 -1
  164. package/dist/Semaphore.d.ts +211 -0
  165. package/dist/Semaphore.d.ts.map +1 -0
  166. package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
  167. package/dist/Semaphore.js.map +1 -0
  168. package/dist/Stream.d.ts +24 -24
  169. package/dist/Stream.d.ts.map +1 -1
  170. package/dist/Stream.js +12 -11
  171. package/dist/Stream.js.map +1 -1
  172. package/dist/Struct.d.ts +16 -0
  173. package/dist/Struct.d.ts.map +1 -1
  174. package/dist/Struct.js +22 -0
  175. package/dist/Struct.js.map +1 -1
  176. package/dist/SubscriptionRef.d.ts +2 -1
  177. package/dist/SubscriptionRef.d.ts.map +1 -1
  178. package/dist/SubscriptionRef.js +2 -1
  179. package/dist/SubscriptionRef.js.map +1 -1
  180. package/dist/SynchronizedRef.d.ts +2 -1
  181. package/dist/SynchronizedRef.d.ts.map +1 -1
  182. package/dist/SynchronizedRef.js +2 -1
  183. package/dist/SynchronizedRef.js.map +1 -1
  184. package/dist/Types.d.ts +14 -6
  185. package/dist/Types.d.ts.map +1 -1
  186. package/dist/index.d.ts +503 -19
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js +503 -19
  189. package/dist/index.js.map +1 -1
  190. package/dist/internal/core.js +11 -3
  191. package/dist/internal/core.js.map +1 -1
  192. package/dist/internal/dateTime.js +3 -11
  193. package/dist/internal/dateTime.js.map +1 -1
  194. package/dist/internal/effect.js +85 -26
  195. package/dist/internal/effect.js.map +1 -1
  196. package/dist/internal/hashMap.js +2 -2
  197. package/dist/internal/hashMap.js.map +1 -1
  198. package/dist/internal/random.d.ts +2 -0
  199. package/dist/internal/random.d.ts.map +1 -0
  200. package/dist/internal/random.js +13 -0
  201. package/dist/internal/random.js.map +1 -0
  202. package/dist/internal/rcRef.js +3 -2
  203. package/dist/internal/rcRef.js.map +1 -1
  204. package/dist/testing/TestClock.d.ts +7 -6
  205. package/dist/testing/TestClock.d.ts.map +1 -1
  206. package/dist/testing/TestClock.js +6 -4
  207. package/dist/testing/TestClock.js.map +1 -1
  208. package/dist/testing/TestSchema.d.ts +6 -6
  209. package/dist/testing/TestSchema.d.ts.map +1 -1
  210. package/dist/unstable/ai/AiError.d.ts +48 -48
  211. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  212. package/dist/unstable/ai/Chat.d.ts +3 -3
  213. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  214. package/dist/unstable/ai/Chat.js +4 -3
  215. package/dist/unstable/ai/Chat.js.map +1 -1
  216. package/dist/unstable/ai/LanguageModel.d.ts +2 -2
  217. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  218. package/dist/unstable/ai/LanguageModel.js +41 -0
  219. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  220. package/dist/unstable/ai/McpSchema.d.ts +51 -51
  221. package/dist/unstable/ai/McpServer.d.ts +1 -1
  222. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  223. package/dist/unstable/ai/McpServer.js.map +1 -1
  224. package/dist/unstable/ai/Prompt.d.ts +20 -20
  225. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  226. package/dist/unstable/ai/Response.d.ts +26 -26
  227. package/dist/unstable/ai/Response.d.ts.map +1 -1
  228. package/dist/unstable/ai/Response.js +1 -1
  229. package/dist/unstable/ai/Response.js.map +1 -1
  230. package/dist/unstable/cli/CliError.d.ts +5 -5
  231. package/dist/unstable/cli/CliOutput.js +37 -6
  232. package/dist/unstable/cli/CliOutput.js.map +1 -1
  233. package/dist/unstable/cli/Command.d.ts +199 -7
  234. package/dist/unstable/cli/Command.d.ts.map +1 -1
  235. package/dist/unstable/cli/Command.js +116 -6
  236. package/dist/unstable/cli/Command.js.map +1 -1
  237. package/dist/unstable/cli/HelpDoc.d.ts +60 -2
  238. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  239. package/dist/unstable/cli/internal/command.d.ts +11 -1
  240. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  241. package/dist/unstable/cli/internal/command.js +33 -8
  242. package/dist/unstable/cli/internal/command.js.map +1 -1
  243. package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
  244. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
  245. package/dist/unstable/cli/internal/parser.js +10 -2
  246. package/dist/unstable/cli/internal/parser.js.map +1 -1
  247. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  248. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  249. package/dist/unstable/cluster/ClusterCron.js +1 -1
  250. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  251. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  252. package/dist/unstable/cluster/ClusterWorkflowEngine.js +2 -1
  253. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  254. package/dist/unstable/cluster/Entity.d.ts +5 -4
  255. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  256. package/dist/unstable/cluster/Entity.js.map +1 -1
  257. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  258. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  259. package/dist/unstable/cluster/Envelope.d.ts +1 -1
  260. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  261. package/dist/unstable/cluster/K8sHttpClient.js +1 -1
  262. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  263. package/dist/unstable/cluster/Message.d.ts +10 -10
  264. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  265. package/dist/unstable/cluster/MessageStorage.js +2 -1
  266. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  267. package/dist/unstable/cluster/Reply.d.ts +6 -6
  268. package/dist/unstable/cluster/Runner.d.ts +1 -1
  269. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  270. package/dist/unstable/cluster/Runners.js +4 -3
  271. package/dist/unstable/cluster/Runners.js.map +1 -1
  272. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  273. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  274. package/dist/unstable/cluster/Sharding.js +8 -6
  275. package/dist/unstable/cluster/Sharding.js.map +1 -1
  276. package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
  277. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  278. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  279. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  280. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  281. package/dist/unstable/cluster/internal/entityManager.js +5 -4
  282. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  283. package/dist/unstable/cluster/internal/entityReaper.js +2 -1
  284. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  285. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  286. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  287. package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
  288. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  289. package/dist/unstable/encoding/Ndjson.d.ts +1 -1
  290. package/dist/unstable/encoding/Sse.d.ts +4 -4
  291. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  292. package/dist/unstable/encoding/Sse.js.map +1 -1
  293. package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
  294. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  295. package/dist/unstable/eventlog/EventLog.js +2 -1
  296. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  297. package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
  298. package/dist/unstable/http/Cookies.d.ts +3 -3
  299. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  300. package/dist/unstable/http/Cookies.js +2 -2
  301. package/dist/unstable/http/Cookies.js.map +1 -1
  302. package/dist/unstable/http/Headers.d.ts.map +1 -1
  303. package/dist/unstable/http/Headers.js +27 -10
  304. package/dist/unstable/http/Headers.js.map +1 -1
  305. package/dist/unstable/http/HttpBody.d.ts +17 -2
  306. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  307. package/dist/unstable/http/HttpBody.js +28 -1
  308. package/dist/unstable/http/HttpBody.js.map +1 -1
  309. package/dist/unstable/http/HttpClient.d.ts +11 -11
  310. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  311. package/dist/unstable/http/HttpClient.js +4 -4
  312. package/dist/unstable/http/HttpClient.js.map +1 -1
  313. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  314. package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
  315. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  316. package/dist/unstable/http/HttpClientRequest.js +15 -3
  317. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  318. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  319. package/dist/unstable/http/HttpEffect.js +30 -33
  320. package/dist/unstable/http/HttpEffect.js.map +1 -1
  321. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  322. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  323. package/dist/unstable/http/HttpMethod.js +3 -3
  324. package/dist/unstable/http/HttpMethod.js.map +1 -1
  325. package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
  326. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  327. package/dist/unstable/http/HttpMiddleware.js +4 -9
  328. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  329. package/dist/unstable/http/HttpServerError.d.ts +14 -32
  330. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  331. package/dist/unstable/http/HttpServerError.js +11 -27
  332. package/dist/unstable/http/HttpServerError.js.map +1 -1
  333. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  334. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  335. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  336. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  337. package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
  338. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  339. package/dist/unstable/http/HttpServerResponse.js +3 -1
  340. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  341. package/dist/unstable/http/Multipart.d.ts +3 -3
  342. package/dist/unstable/http/UrlParams.d.ts +14 -6
  343. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  344. package/dist/unstable/http/UrlParams.js +1 -1
  345. package/dist/unstable/http/UrlParams.js.map +1 -1
  346. package/dist/unstable/httpapi/HttpApiBuilder.js +6 -6
  347. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  348. package/dist/unstable/httpapi/HttpApiClient.js +3 -3
  349. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  350. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +21 -39
  351. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  352. package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
  353. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  354. package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
  355. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  356. package/dist/unstable/httpapi/HttpApiError.js +29 -9
  357. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  358. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  359. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  360. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  361. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  362. package/dist/unstable/httpapi/OpenApi.js +18 -16
  363. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  364. package/dist/unstable/observability/Otlp.d.ts +12 -12
  365. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  366. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  367. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  368. package/dist/unstable/observability/OtlpExporter.js +1 -1
  369. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  370. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  371. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  372. package/dist/unstable/observability/OtlpLogger.js +7 -4
  373. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  374. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  375. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  376. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  377. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  378. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  379. package/dist/unstable/persistence/KeyValueStore.js +6 -6
  380. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  381. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  382. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  383. package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
  384. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  385. package/dist/unstable/persistence/PersistedCache.js +2 -1
  386. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  387. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  388. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  389. package/dist/unstable/persistence/PersistedQueue.js +12 -11
  390. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  391. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  392. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  393. package/dist/unstable/persistence/Persistence.js +2 -2
  394. package/dist/unstable/persistence/Persistence.js.map +1 -1
  395. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  396. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  397. package/dist/unstable/persistence/RateLimiter.js +1 -1
  398. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  399. package/dist/unstable/process/ChildProcess.d.ts +2 -2
  400. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  401. package/dist/unstable/process/ChildProcessSpawner.d.ts +6 -0
  402. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  403. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  404. package/dist/unstable/reactivity/Atom.d.ts +6 -6
  405. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  406. package/dist/unstable/reactivity/Atom.js +15 -12
  407. package/dist/unstable/reactivity/Atom.js.map +1 -1
  408. package/dist/unstable/reactivity/AtomHttpApi.d.ts +6 -6
  409. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  410. package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
  411. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  412. package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
  413. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  414. package/dist/unstable/reactivity/AtomRegistry.js +22 -1
  415. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  416. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  417. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  418. package/dist/unstable/reactivity/AtomRpc.js +1 -1
  419. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  420. package/dist/unstable/reactivity/Hydration.d.ts +39 -0
  421. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
  422. package/dist/unstable/reactivity/Hydration.js +76 -0
  423. package/dist/unstable/reactivity/Hydration.js.map +1 -0
  424. package/dist/unstable/reactivity/index.d.ts +4 -0
  425. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  426. package/dist/unstable/reactivity/index.js +4 -0
  427. package/dist/unstable/reactivity/index.js.map +1 -1
  428. package/dist/unstable/rpc/Rpc.d.ts +2 -2
  429. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  430. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  431. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  432. package/dist/unstable/rpc/RpcClient.js +6 -13
  433. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  434. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  435. package/dist/unstable/rpc/RpcServer.js +9 -3
  436. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  437. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  438. package/dist/unstable/rpc/Utils.js +2 -1
  439. package/dist/unstable/rpc/Utils.js.map +1 -1
  440. package/dist/unstable/schema/Model.d.ts +4 -4
  441. package/dist/unstable/schema/Model.d.ts.map +1 -1
  442. package/dist/unstable/schema/VariantSchema.d.ts +2 -2
  443. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  444. package/dist/unstable/schema/VariantSchema.js +13 -2
  445. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  446. package/dist/unstable/socket/Socket.d.ts +4 -4
  447. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  448. package/dist/unstable/socket/Socket.js +3 -2
  449. package/dist/unstable/socket/Socket.js.map +1 -1
  450. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  451. package/dist/unstable/sql/Migrator.d.ts +1 -1
  452. package/dist/unstable/sql/SqlError.d.ts +2 -2
  453. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  454. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  455. package/dist/unstable/sql/SqlSchema.d.ts +24 -1
  456. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  457. package/dist/unstable/sql/SqlSchema.js +24 -3
  458. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  459. package/dist/unstable/sql/Statement.js +0 -1
  460. package/dist/unstable/sql/Statement.js.map +1 -1
  461. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  462. package/dist/unstable/workers/Worker.js +2 -1
  463. package/dist/unstable/workers/Worker.js.map +1 -1
  464. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  465. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  466. package/dist/unstable/workflow/DurableClock.js +3 -3
  467. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  468. package/dist/unstable/workflow/DurableDeferred.js +2 -2
  469. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  470. package/dist/unstable/workflow/Workflow.d.ts +2 -2
  471. package/dist/unstable/workflow/WorkflowEngine.d.ts +8 -1
  472. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  473. package/dist/unstable/workflow/WorkflowEngine.js +133 -1
  474. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  475. package/package.json +2 -2
  476. package/src/Cache.ts +3 -3
  477. package/src/Cause.ts +1 -1
  478. package/src/Channel.ts +15 -13
  479. package/src/Combiner.ts +280 -13
  480. package/src/Config.ts +3 -3
  481. package/src/Data.ts +538 -374
  482. package/src/DateTime.ts +24 -164
  483. package/src/Duration.ts +15 -15
  484. package/src/Effect.ts +378 -269
  485. package/src/Encoding.ts +879 -0
  486. package/src/Equal.ts +278 -111
  487. package/src/ErrorReporter.ts +459 -0
  488. package/src/FileSystem.ts +7 -8
  489. package/src/Filter.ts +48 -1
  490. package/src/Formatter.ts +253 -51
  491. package/src/Graph.ts +8 -5
  492. package/src/JsonSchema.ts +383 -10
  493. package/src/Latch.ts +112 -0
  494. package/src/LayerMap.ts +5 -5
  495. package/src/LogLevel.ts +37 -0
  496. package/src/Logger.ts +33 -100
  497. package/src/Metric.ts +4 -4
  498. package/src/Optic.ts +948 -19
  499. package/src/Pipeable.ts +32 -1
  500. package/src/PlatformError.ts +5 -5
  501. package/src/Pool.ts +13 -11
  502. package/src/PubSub.ts +10 -9
  503. package/src/Queue.ts +0 -1
  504. package/src/Random.ts +33 -14
  505. package/src/RcMap.ts +5 -5
  506. package/src/RcRef.ts +1 -1
  507. package/src/Reducer.ts +166 -7
  508. package/src/References.ts +4 -4
  509. package/src/Request.ts +3 -2
  510. package/src/RequestResolver.ts +9 -29
  511. package/src/Result.ts +13 -0
  512. package/src/Schedule.ts +279 -140
  513. package/src/Schema.ts +575 -113
  514. package/src/SchemaAST.ts +2 -1
  515. package/src/SchemaGetter.ts +12 -14
  516. package/src/SchemaRepresentation.ts +43 -24
  517. package/src/SchemaTransformation.ts +104 -0
  518. package/src/ScopedCache.ts +3 -3
  519. package/src/Semaphore.ts +356 -0
  520. package/src/Stream.ts +50 -49
  521. package/src/Struct.ts +26 -0
  522. package/src/SubscriptionRef.ts +3 -2
  523. package/src/SynchronizedRef.ts +3 -2
  524. package/src/Types.ts +12 -2
  525. package/src/index.ts +507 -20
  526. package/src/internal/core.ts +12 -5
  527. package/src/internal/dateTime.ts +9 -30
  528. package/src/internal/effect.ts +194 -51
  529. package/src/internal/hashMap.ts +2 -2
  530. package/src/internal/random.ts +20 -0
  531. package/src/internal/rcRef.ts +4 -3
  532. package/src/testing/TestClock.ts +13 -11
  533. package/src/testing/TestSchema.ts +8 -8
  534. package/src/unstable/ai/AiError.ts +2 -2
  535. package/src/unstable/ai/Chat.ts +12 -11
  536. package/src/unstable/ai/LanguageModel.ts +74 -3
  537. package/src/unstable/ai/McpServer.ts +2 -2
  538. package/src/unstable/ai/Prompt.ts +37 -37
  539. package/src/unstable/ai/Response.ts +25 -25
  540. package/src/unstable/cli/CliOutput.ts +45 -6
  541. package/src/unstable/cli/Command.ts +298 -11
  542. package/src/unstable/cli/HelpDoc.ts +68 -2
  543. package/src/unstable/cli/internal/command.ts +47 -11
  544. package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
  545. package/src/unstable/cli/internal/parser.ts +11 -3
  546. package/src/unstable/cluster/ClusterCron.ts +2 -2
  547. package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -2
  548. package/src/unstable/cluster/Entity.ts +7 -6
  549. package/src/unstable/cluster/EntityResource.ts +4 -4
  550. package/src/unstable/cluster/Envelope.ts +1 -1
  551. package/src/unstable/cluster/K8sHttpClient.ts +1 -1
  552. package/src/unstable/cluster/MessageStorage.ts +3 -5
  553. package/src/unstable/cluster/Runners.ts +6 -5
  554. package/src/unstable/cluster/Sharding.ts +11 -9
  555. package/src/unstable/cluster/ShardingConfig.ts +10 -11
  556. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  557. package/src/unstable/cluster/internal/entityManager.ts +9 -8
  558. package/src/unstable/cluster/internal/entityReaper.ts +2 -1
  559. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  560. package/src/unstable/encoding/Sse.ts +2 -4
  561. package/src/unstable/eventlog/EventLog.ts +2 -1
  562. package/src/unstable/http/Cookies.ts +3 -3
  563. package/src/unstable/http/Headers.ts +28 -13
  564. package/src/unstable/http/HttpBody.ts +42 -1
  565. package/src/unstable/http/HttpClient.ts +19 -19
  566. package/src/unstable/http/HttpClientRequest.ts +38 -13
  567. package/src/unstable/http/HttpEffect.ts +27 -30
  568. package/src/unstable/http/HttpMethod.ts +16 -4
  569. package/src/unstable/http/HttpMiddleware.ts +5 -10
  570. package/src/unstable/http/HttpServerError.ts +13 -27
  571. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  572. package/src/unstable/http/HttpServerResponse.ts +4 -2
  573. package/src/unstable/http/Multipart.ts +2 -2
  574. package/src/unstable/http/UrlParams.ts +20 -5
  575. package/src/unstable/httpapi/HttpApiBuilder.ts +6 -5
  576. package/src/unstable/httpapi/HttpApiClient.ts +3 -3
  577. package/src/unstable/httpapi/HttpApiEndpoint.ts +47 -72
  578. package/src/unstable/httpapi/HttpApiError.ts +30 -9
  579. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  580. package/src/unstable/httpapi/OpenApi.ts +18 -16
  581. package/src/unstable/observability/Otlp.ts +12 -12
  582. package/src/unstable/observability/OtlpExporter.ts +3 -3
  583. package/src/unstable/observability/OtlpLogger.ts +13 -9
  584. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  585. package/src/unstable/observability/OtlpTracer.ts +4 -4
  586. package/src/unstable/persistence/KeyValueStore.ts +6 -6
  587. package/src/unstable/persistence/Persistable.ts +2 -2
  588. package/src/unstable/persistence/PersistedCache.ts +20 -9
  589. package/src/unstable/persistence/PersistedQueue.ts +25 -24
  590. package/src/unstable/persistence/Persistence.ts +3 -3
  591. package/src/unstable/persistence/RateLimiter.ts +4 -4
  592. package/src/unstable/process/ChildProcess.ts +2 -2
  593. package/src/unstable/process/ChildProcessSpawner.ts +6 -0
  594. package/src/unstable/reactivity/Atom.ts +20 -18
  595. package/src/unstable/reactivity/AtomHttpApi.ts +19 -18
  596. package/src/unstable/reactivity/AtomRegistry.ts +29 -1
  597. package/src/unstable/reactivity/AtomRpc.ts +3 -3
  598. package/src/unstable/reactivity/Hydration.ts +112 -0
  599. package/src/unstable/reactivity/index.ts +5 -0
  600. package/src/unstable/rpc/Rpc.ts +3 -3
  601. package/src/unstable/rpc/RpcClient.ts +12 -54
  602. package/src/unstable/rpc/RpcServer.ts +10 -4
  603. package/src/unstable/rpc/Utils.ts +2 -1
  604. package/src/unstable/schema/VariantSchema.ts +36 -7
  605. package/src/unstable/socket/Socket.ts +7 -6
  606. package/src/unstable/sql/SqlModel.ts +2 -2
  607. package/src/unstable/sql/SqlSchema.ts +62 -13
  608. package/src/unstable/sql/Statement.ts +0 -1
  609. package/src/unstable/workers/Worker.ts +2 -1
  610. package/src/unstable/workflow/DurableClock.ts +8 -8
  611. package/src/unstable/workflow/DurableDeferred.ts +2 -2
  612. package/src/unstable/workflow/WorkflowEngine.ts +181 -2
  613. package/dist/PartitionedSemaphore.d.ts +0 -52
  614. package/dist/PartitionedSemaphore.d.ts.map +0 -1
  615. package/dist/PartitionedSemaphore.js.map +0 -1
  616. package/dist/encoding/Base64.d.ts +0 -67
  617. package/dist/encoding/Base64.d.ts.map +0 -1
  618. package/dist/encoding/Base64.js +0 -146
  619. package/dist/encoding/Base64.js.map +0 -1
  620. package/dist/encoding/Base64Url.d.ts +0 -60
  621. package/dist/encoding/Base64Url.d.ts.map +0 -1
  622. package/dist/encoding/Base64Url.js +0 -89
  623. package/dist/encoding/Base64Url.js.map +0 -1
  624. package/dist/encoding/EncodingError.d.ts +0 -31
  625. package/dist/encoding/EncodingError.d.ts.map +0 -1
  626. package/dist/encoding/EncodingError.js +0 -22
  627. package/dist/encoding/EncodingError.js.map +0 -1
  628. package/dist/encoding/Hex.d.ts +0 -61
  629. package/dist/encoding/Hex.d.ts.map +0 -1
  630. package/dist/encoding/Hex.js +0 -115
  631. package/dist/encoding/Hex.js.map +0 -1
  632. package/dist/encoding/index.d.ts +0 -26
  633. package/dist/encoding/index.d.ts.map +0 -1
  634. package/dist/encoding/index.js +0 -27
  635. package/dist/encoding/index.js.map +0 -1
  636. package/src/PartitionedSemaphore.ts +0 -182
  637. package/src/encoding/Base64.ts +0 -366
  638. package/src/encoding/Base64Url.ts +0 -104
  639. package/src/encoding/EncodingError.ts +0 -35
  640. package/src/encoding/Hex.ts +0 -390
  641. package/src/encoding/index.ts +0 -31
@@ -12,7 +12,6 @@ import * as Inspectable from "../Inspectable.ts"
12
12
  import * as order from "../Order.ts"
13
13
  import { pipeArguments } from "../Pipeable.ts"
14
14
  import * as Predicate from "../Predicate.ts"
15
- import * as Result from "../Result.ts"
16
15
  import type { Mutable } from "../Types.ts"
17
16
  import * as UndefinedOr from "../UndefinedOr.ts"
18
17
  import * as effect from "./effect.ts"
@@ -467,32 +466,12 @@ export const setZoneNamedUnsafe: {
467
466
 
468
467
  /** @internal */
469
468
  export const distance: {
470
- (other: DateTime.DateTime): (self: DateTime.DateTime) => number
471
- (self: DateTime.DateTime, other: DateTime.DateTime): number
472
- } = dual(2, (self: DateTime.DateTime, other: DateTime.DateTime): number => toEpochMillis(other) - toEpochMillis(self))
473
-
474
- /** @internal */
475
- export const distanceDurationResult: {
476
- (other: DateTime.DateTime): (self: DateTime.DateTime) => Result.Result<Duration.Duration, Duration.Duration>
477
- (self: DateTime.DateTime, other: DateTime.DateTime): Result.Result<Duration.Duration, Duration.Duration>
478
- } = dual(
479
- 2,
480
- (self: DateTime.DateTime, other: DateTime.DateTime): Result.Result<Duration.Duration, Duration.Duration> => {
481
- const diffMillis = distance(self, other)
482
- return diffMillis > 0
483
- ? Result.succeed(Duration.millis(diffMillis))
484
- : Result.fail(Duration.millis(-diffMillis))
485
- }
486
- )
487
-
488
- /** @internal */
489
- export const distanceDuration: {
490
469
  (other: DateTime.DateTime): (self: DateTime.DateTime) => Duration.Duration
491
470
  (self: DateTime.DateTime, other: DateTime.DateTime): Duration.Duration
492
471
  } = dual(
493
472
  2,
494
473
  (self: DateTime.DateTime, other: DateTime.DateTime): Duration.Duration =>
495
- Duration.millis(Math.abs(distance(self, other)))
474
+ Duration.millis(toEpochMillis(other) - toEpochMillis(self))
496
475
  )
497
476
 
498
477
  /** @internal */
@@ -911,22 +890,22 @@ export const match: {
911
890
 
912
891
  /** @internal */
913
892
  export const addDuration: {
914
- (duration: Duration.DurationInput): <A extends DateTime.DateTime>(self: A) => A
915
- <A extends DateTime.DateTime>(self: A, duration: Duration.DurationInput): A
893
+ (duration: Duration.Input): <A extends DateTime.DateTime>(self: A) => A
894
+ <A extends DateTime.DateTime>(self: A, duration: Duration.Input): A
916
895
  } = dual(
917
896
  2,
918
- (self: DateTime.DateTime, duration: Duration.DurationInput): DateTime.DateTime =>
919
- mapEpochMillis(self, (millis) => millis + Duration.toMillis(Duration.fromDurationInputUnsafe(duration)))
897
+ (self: DateTime.DateTime, duration: Duration.Input): DateTime.DateTime =>
898
+ mapEpochMillis(self, (millis) => millis + Duration.toMillis(Duration.fromInputUnsafe(duration)))
920
899
  )
921
900
 
922
901
  /** @internal */
923
902
  export const subtractDuration: {
924
- (duration: Duration.DurationInput): <A extends DateTime.DateTime>(self: A) => A
925
- <A extends DateTime.DateTime>(self: A, duration: Duration.DurationInput): A
903
+ (duration: Duration.Input): <A extends DateTime.DateTime>(self: A) => A
904
+ <A extends DateTime.DateTime>(self: A, duration: Duration.Input): A
926
905
  } = dual(
927
906
  2,
928
- (self: DateTime.DateTime, duration: Duration.DurationInput): DateTime.DateTime =>
929
- mapEpochMillis(self, (millis) => millis - Duration.toMillis(Duration.fromDurationInputUnsafe(duration)))
907
+ (self: DateTime.DateTime, duration: Duration.Input): DateTime.DateTime =>
908
+ mapEpochMillis(self, (millis) => millis - Duration.toMillis(Duration.fromInputUnsafe(duration)))
930
909
  )
931
910
 
932
911
  const addMillis = (date: Date, amount: number): void => {
@@ -5,6 +5,7 @@ import type * as Console from "../Console.ts"
5
5
  import * as Duration from "../Duration.ts"
6
6
  import type * as Effect from "../Effect.ts"
7
7
  import * as Equal from "../Equal.ts"
8
+ import type { ErrorReporter } from "../ErrorReporter.ts"
8
9
  import type * as Exit from "../Exit.ts"
9
10
  import type * as Fiber from "../Fiber.ts"
10
11
  import * as Filter from "../Filter.ts"
@@ -14,6 +15,7 @@ import { constant, constFalse, constTrue, constUndefined, constVoid, dual, ident
14
15
  import * as Hash from "../Hash.ts"
15
16
  import { toJson, toStringUnknown } from "../Inspectable.ts"
16
17
  import * as Iterable from "../Iterable.ts"
18
+ import type * as _Latch from "../Latch.ts"
17
19
  import type * as Logger from "../Logger.ts"
18
20
  import type * as LogLevel from "../LogLevel.ts"
19
21
  import type * as Metric from "../Metric.ts"
@@ -81,6 +83,7 @@ import {
81
83
  isEffect,
82
84
  isFailReason,
83
85
  isInterruptReason,
86
+ isNoSuchElementError,
84
87
  makePrimitive,
85
88
  makePrimitiveProto,
86
89
  NoSuchElementError,
@@ -339,7 +342,8 @@ export const causePrettyErrors = <E>(self: Cause.Cause<E>): Array<Error> => {
339
342
  return errors
340
343
  }
341
344
 
342
- const causePrettyError = (
345
+ /** @internal */
346
+ export const causePrettyError = (
343
347
  original: Record<string, unknown> | Error,
344
348
  annotations?: ReadonlyMap<string, unknown>
345
349
  ): Error => {
@@ -488,17 +492,33 @@ const fiberIdStore = { id: 0 }
488
492
  export const getCurrentFiber = (): Fiber.Fiber<any, any> | undefined => (globalThis as any)[currentFiberTypeId]
489
493
 
490
494
  const keepAlive = (() => {
495
+ const start = (() => {
496
+ const setInterval = globalThis.setInterval
497
+ const clearInterval = globalThis.clearInterval
498
+ try {
499
+ const running = setInterval(constVoid, 2_147_483_647)
500
+ clearInterval(running)
501
+ return {
502
+ setInterval,
503
+ clearInterval
504
+ }
505
+ } catch {
506
+ return undefined
507
+ }
508
+ })()
491
509
  let count = 0
492
510
  let running: ReturnType<typeof globalThis.setInterval> | undefined = undefined
493
511
  return ({
494
512
  increment() {
495
513
  count++
496
- running ??= globalThis.setInterval(constVoid, 2_147_483_647)
514
+ if (start !== undefined && running === undefined) {
515
+ running = start.setInterval(constVoid, 2_147_483_647)
516
+ }
497
517
  },
498
518
  decrement() {
499
519
  count--
500
- if (count === 0 && running !== undefined) {
501
- globalThis.clearInterval(running)
520
+ if (count === 0 && start !== undefined && running !== undefined) {
521
+ start.clearInterval(running)
502
522
  running = undefined
503
523
  }
504
524
  }
@@ -783,6 +803,7 @@ export const fiberJoinAll = <A extends Iterable<Fiber.Fiber<any, any>>>(self: A)
783
803
  > =>
784
804
  callback((resume) => {
785
805
  const fibers = Array.from(self)
806
+ if (fibers.length === 0) return resume(succeed(Arr.empty() as any))
786
807
  const out = new Array<any>(fibers.length) as Arr.NonEmptyArray<any>
787
808
  const cancels = Arr.empty<() => void>()
788
809
  let done = 0
@@ -2440,6 +2461,18 @@ export const catch_: {
2440
2461
  ): Effect.Effect<A | B, E2, R | R2> => catchCauseIf(self, findError as any, (e: any) => f(e)) as any
2441
2462
  )
2442
2463
 
2464
+ /** @internal */
2465
+ export const catchNoSuchElement = <A, E, R>(
2466
+ self: Effect.Effect<A, E, R>
2467
+ ): Effect.Effect<Option.Option<A>, Exclude<E, Cause.NoSuchElementError>, R> =>
2468
+ matchEffect(self, {
2469
+ onFailure: (error) =>
2470
+ isNoSuchElementError(error)
2471
+ ? succeedNone
2472
+ : fail(error as Exclude<E, Cause.NoSuchElementError>),
2473
+ onSuccess: succeedSome
2474
+ })
2475
+
2443
2476
  /** @internal */
2444
2477
  export const catchDefect: {
2445
2478
  <E, B, E2, R2>(
@@ -3078,14 +3111,14 @@ export const eventually = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect
3078
3111
  /** @internal */
3079
3112
  export const ignore: <
3080
3113
  Arg extends Effect.Effect<any, any, any> | {
3081
- readonly log?: boolean | LogLevel.LogLevel | undefined
3114
+ readonly log?: boolean | LogLevel.Severity | undefined
3082
3115
  } | undefined = {
3083
- readonly log?: boolean | LogLevel.LogLevel | undefined
3116
+ readonly log?: boolean | LogLevel.Severity | undefined
3084
3117
  }
3085
3118
  >(
3086
3119
  effectOrOptions: Arg,
3087
3120
  options?: {
3088
- readonly log?: boolean | LogLevel.LogLevel | undefined
3121
+ readonly log?: boolean | LogLevel.Severity | undefined
3089
3122
  } | undefined
3090
3123
  ) => [Arg] extends [Effect.Effect<infer _A, infer _E, infer _R>] ? Effect.Effect<void, never, _R>
3091
3124
  : <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<void, never, R> = dual(
@@ -3093,7 +3126,7 @@ export const ignore: <
3093
3126
  <A, E, R>(
3094
3127
  self: Effect.Effect<A, E, R>,
3095
3128
  options?: {
3096
- readonly log?: boolean | LogLevel.LogLevel | undefined
3129
+ readonly log?: boolean | LogLevel.Severity | undefined
3097
3130
  } | undefined
3098
3131
  ): Effect.Effect<void, never, R> => {
3099
3132
  if (!options?.log) {
@@ -3113,14 +3146,14 @@ export const ignore: <
3113
3146
  /** @internal */
3114
3147
  export const ignoreCause: <
3115
3148
  Arg extends Effect.Effect<any, any, any> | {
3116
- readonly log?: boolean | LogLevel.LogLevel | undefined
3149
+ readonly log?: boolean | LogLevel.Severity | undefined
3117
3150
  } | undefined = {
3118
- readonly log?: boolean | LogLevel.LogLevel | undefined
3151
+ readonly log?: boolean | LogLevel.Severity | undefined
3119
3152
  }
3120
3153
  >(
3121
3154
  effectOrOptions: Arg,
3122
3155
  options?: {
3123
- readonly log?: boolean | LogLevel.LogLevel | undefined
3156
+ readonly log?: boolean | LogLevel.Severity | undefined
3124
3157
  } | undefined
3125
3158
  ) => [Arg] extends [Effect.Effect<infer _A, infer _E, infer _R>] ? Effect.Effect<void, never, _R>
3126
3159
  : <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<void, never, R> = dual(
@@ -3128,7 +3161,7 @@ export const ignoreCause: <
3128
3161
  <A, E, R>(
3129
3162
  self: Effect.Effect<A, E, R>,
3130
3163
  options?: {
3131
- readonly log?: boolean | LogLevel.LogLevel | undefined
3164
+ readonly log?: boolean | LogLevel.Severity | undefined
3132
3165
  } | undefined
3133
3166
  ): Effect.Effect<void, never, R> => {
3134
3167
  if (!options?.log) {
@@ -3390,24 +3423,24 @@ export const isSuccess: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect
3390
3423
  /** @internal */
3391
3424
  export const delay: {
3392
3425
  (
3393
- duration: Duration.DurationInput
3426
+ duration: Duration.Input
3394
3427
  ): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
3395
3428
  <A, E, R>(
3396
3429
  self: Effect.Effect<A, E, R>,
3397
- duration: Duration.DurationInput
3430
+ duration: Duration.Input
3398
3431
  ): Effect.Effect<A, E, R>
3399
3432
  } = dual(
3400
3433
  2,
3401
3434
  <A, E, R>(
3402
3435
  self: Effect.Effect<A, E, R>,
3403
- duration: Duration.DurationInput
3436
+ duration: Duration.Input
3404
3437
  ): Effect.Effect<A, E, R> => andThen(sleep(duration), self)
3405
3438
  )
3406
3439
 
3407
3440
  /** @internal */
3408
3441
  export const timeoutOrElse: {
3409
3442
  <A2, E2, R2>(options: {
3410
- readonly duration: Duration.DurationInput
3443
+ readonly duration: Duration.Input
3411
3444
  readonly onTimeout: LazyArg<Effect.Effect<A2, E2, R2>>
3412
3445
  }): <A, E, R>(
3413
3446
  self: Effect.Effect<A, E, R>
@@ -3415,7 +3448,7 @@ export const timeoutOrElse: {
3415
3448
  <A, E, R, A2, E2, R2>(
3416
3449
  self: Effect.Effect<A, E, R>,
3417
3450
  options: {
3418
- readonly duration: Duration.DurationInput
3451
+ readonly duration: Duration.Input
3419
3452
  readonly onTimeout: LazyArg<Effect.Effect<A2, E2, R2>>
3420
3453
  }
3421
3454
  ): Effect.Effect<A | A2, E | E2, R | R2>
@@ -3424,7 +3457,7 @@ export const timeoutOrElse: {
3424
3457
  <A, E, R, A2, E2, R2>(
3425
3458
  self: Effect.Effect<A, E, R>,
3426
3459
  options: {
3427
- readonly duration: Duration.DurationInput
3460
+ readonly duration: Duration.Input
3428
3461
  readonly onTimeout: LazyArg<Effect.Effect<A2, E2, R2>>
3429
3462
  }
3430
3463
  ): Effect.Effect<A | A2, E | E2, R | R2> =>
@@ -3437,19 +3470,19 @@ export const timeoutOrElse: {
3437
3470
  /** @internal */
3438
3471
  export const timeout: {
3439
3472
  (
3440
- duration: Duration.DurationInput
3473
+ duration: Duration.Input
3441
3474
  ): <A, E, R>(
3442
3475
  self: Effect.Effect<A, E, R>
3443
3476
  ) => Effect.Effect<A, E | Cause.TimeoutError, R>
3444
3477
  <A, E, R>(
3445
3478
  self: Effect.Effect<A, E, R>,
3446
- duration: Duration.DurationInput
3479
+ duration: Duration.Input
3447
3480
  ): Effect.Effect<A, E | Cause.TimeoutError, R>
3448
3481
  } = dual(
3449
3482
  2,
3450
3483
  <A, E, R>(
3451
3484
  self: Effect.Effect<A, E, R>,
3452
- duration: Duration.DurationInput
3485
+ duration: Duration.Input
3453
3486
  ): Effect.Effect<A, E | TimeoutError, R> =>
3454
3487
  timeoutOrElse(self, {
3455
3488
  duration,
@@ -3460,19 +3493,19 @@ export const timeout: {
3460
3493
  /** @internal */
3461
3494
  export const timeoutOption: {
3462
3495
  (
3463
- duration: Duration.DurationInput
3496
+ duration: Duration.Input
3464
3497
  ): <A, E, R>(
3465
3498
  self: Effect.Effect<A, E, R>
3466
3499
  ) => Effect.Effect<Option.Option<A>, E, R>
3467
3500
  <A, E, R>(
3468
3501
  self: Effect.Effect<A, E, R>,
3469
- duration: Duration.DurationInput
3502
+ duration: Duration.Input
3470
3503
  ): Effect.Effect<Option.Option<A>, E, R>
3471
3504
  } = dual(
3472
3505
  2,
3473
3506
  <A, E, R>(
3474
3507
  self: Effect.Effect<A, E, R>,
3475
- duration: Duration.DurationInput
3508
+ duration: Duration.Input
3476
3509
  ): Effect.Effect<Option.Option<A>, E, R> =>
3477
3510
  raceFirst(
3478
3511
  asSome(self),
@@ -3860,19 +3893,19 @@ export const acquireUseRelease = <Resource, E, R, A, E2, R2, E3, R3>(
3860
3893
 
3861
3894
  /** @internal */
3862
3895
  export const cachedInvalidateWithTTL: {
3863
- (timeToLive: Duration.DurationInput): <A, E, R>(
3896
+ (timeToLive: Duration.Input): <A, E, R>(
3864
3897
  self: Effect.Effect<A, E, R>
3865
3898
  ) => Effect.Effect<[Effect.Effect<A, E, R>, Effect.Effect<void>]>
3866
3899
  <A, E, R>(
3867
3900
  self: Effect.Effect<A, E, R>,
3868
- timeToLive: Duration.DurationInput
3901
+ timeToLive: Duration.Input
3869
3902
  ): Effect.Effect<[Effect.Effect<A, E, R>, Effect.Effect<void>]>
3870
3903
  } = dual(2, <A, E, R>(
3871
3904
  self: Effect.Effect<A, E, R>,
3872
- ttl: Duration.DurationInput
3905
+ ttl: Duration.Input
3873
3906
  ): Effect.Effect<[Effect.Effect<A, E, R>, Effect.Effect<void>]> =>
3874
3907
  sync(() => {
3875
- const ttlMillis = Duration.toMillis(Duration.fromDurationInputUnsafe(ttl))
3908
+ const ttlMillis = Duration.toMillis(Duration.fromInputUnsafe(ttl))
3876
3909
  const isFinite = Number.isFinite(ttlMillis)
3877
3910
  const latch = makeLatchUnsafe(false)
3878
3911
  let expiresAt = 0
@@ -3905,17 +3938,17 @@ export const cachedInvalidateWithTTL: {
3905
3938
  /** @internal */
3906
3939
  export const cachedWithTTL: {
3907
3940
  (
3908
- timeToLive: Duration.DurationInput
3941
+ timeToLive: Duration.Input
3909
3942
  ): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Effect.Effect<A, E, R>>
3910
3943
  <A, E, R>(
3911
3944
  self: Effect.Effect<A, E, R>,
3912
- timeToLive: Duration.DurationInput
3945
+ timeToLive: Duration.Input
3913
3946
  ): Effect.Effect<Effect.Effect<A, E, R>>
3914
3947
  } = dual(
3915
3948
  2,
3916
3949
  <A, E, R>(
3917
3950
  self: Effect.Effect<A, E, R>,
3918
- timeToLive: Duration.DurationInput
3951
+ timeToLive: Duration.Input
3919
3952
  ): Effect.Effect<Effect.Effect<A, E, R>> => map(cachedInvalidateWithTTL(self, timeToLive), (tuple) => tuple[0])
3920
3953
  )
3921
3954
 
@@ -4065,6 +4098,59 @@ export const partition: {
4065
4098
  )
4066
4099
  )
4067
4100
 
4101
+ /** @internal */
4102
+ export const validate: {
4103
+ <A, B, E, R>(
4104
+ f: (a: A, i: number) => Effect.Effect<B, E, R>,
4105
+ options?: {
4106
+ readonly concurrency?: Concurrency | undefined
4107
+ readonly discard?: false | undefined
4108
+ } | undefined
4109
+ ): (elements: Iterable<A>) => Effect.Effect<Array<B>, Arr.NonEmptyArray<E>, R>
4110
+ <A, B, E, R>(
4111
+ f: (a: A, i: number) => Effect.Effect<B, E, R>,
4112
+ options: {
4113
+ readonly concurrency?: Concurrency | undefined
4114
+ readonly discard: true
4115
+ }
4116
+ ): (elements: Iterable<A>) => Effect.Effect<void, Arr.NonEmptyArray<E>, R>
4117
+ <A, B, E, R>(
4118
+ elements: Iterable<A>,
4119
+ f: (a: A, i: number) => Effect.Effect<B, E, R>,
4120
+ options?: {
4121
+ readonly concurrency?: Concurrency | undefined
4122
+ readonly discard?: false | undefined
4123
+ } | undefined
4124
+ ): Effect.Effect<Array<B>, Arr.NonEmptyArray<E>, R>
4125
+ <A, B, E, R>(
4126
+ elements: Iterable<A>,
4127
+ f: (a: A, i: number) => Effect.Effect<B, E, R>,
4128
+ options: {
4129
+ readonly concurrency?: Concurrency | undefined
4130
+ readonly discard: true
4131
+ }
4132
+ ): Effect.Effect<void, Arr.NonEmptyArray<E>, R>
4133
+ } = dual(
4134
+ (args) => isIterable(args[0]) && !isEffect(args[0]),
4135
+ <A, B, E, R>(
4136
+ elements: Iterable<A>,
4137
+ f: (a: A, i: number) => Effect.Effect<B, E, R>,
4138
+ options?: {
4139
+ readonly concurrency?: Concurrency | undefined
4140
+ readonly discard?: boolean | undefined
4141
+ } | undefined
4142
+ ): Effect.Effect<Array<B> | void, Arr.NonEmptyArray<E>, R> =>
4143
+ flatMap(
4144
+ partition(elements, f, { concurrency: options?.concurrency }),
4145
+ ([excluded, satisfying]) => {
4146
+ if (Arr.isArrayNonEmpty(excluded)) {
4147
+ return fail(excluded)
4148
+ }
4149
+ return options?.discard ? void_ : succeed(satisfying)
4150
+ }
4151
+ )
4152
+ )
4153
+
4068
4154
  /** @internal */
4069
4155
  export const whileLoop: <A, E, R>(options: {
4070
4156
  readonly while: LazyArg<boolean>
@@ -4759,25 +4845,27 @@ class Semaphore {
4759
4845
  return this.permits - this.taken
4760
4846
  }
4761
4847
 
4762
- readonly take = (n: number): Effect.Effect<number> =>
4763
- callback<number>((resume) => {
4848
+ readonly take = (n: number): Effect.Effect<number> => {
4849
+ const take: Effect.Effect<number> = suspend(() => {
4764
4850
  if (this.free < n) {
4765
- const observer = () => {
4766
- if (this.free < n) {
4767
- return
4851
+ return callback((resume) => {
4852
+ if (this.free >= n) return resume(take)
4853
+ const observer = () => {
4854
+ if (this.free < n) return
4855
+ this.waiters.delete(observer)
4856
+ resume(take)
4768
4857
  }
4769
- this.waiters.delete(observer)
4770
- this.taken += n
4771
- resume(succeed(n))
4772
- }
4773
- this.waiters.add(observer)
4774
- return sync(() => {
4775
- this.waiters.delete(observer)
4858
+ this.waiters.add(observer)
4859
+ return sync(() => {
4860
+ this.waiters.delete(observer)
4861
+ })
4776
4862
  })
4777
4863
  }
4778
4864
  this.taken += n
4779
- return resume(succeed(n))
4865
+ return succeed(n)
4780
4866
  })
4867
+ return take
4868
+ }
4781
4869
 
4782
4870
  updateTakenUnsafe(fiber: Fiber.Fiber<any, any>, f: (n: number) => number): Effect.Effect<number> {
4783
4871
  this.taken = f(this.taken)
@@ -4815,7 +4903,10 @@ class Semaphore {
4815
4903
 
4816
4904
  readonly withPermits = (n: number) => <A, E, R>(self: Effect.Effect<A, E, R>) =>
4817
4905
  uninterruptibleMask((restore) =>
4818
- flatMap(restore(this.take(n)), (permits) => ensuring(restore(self), this.release(permits)))
4906
+ flatMap(
4907
+ restore(this.take(n)),
4908
+ (permits) => onExitPrimitive(restore(self), () => this.release(permits), true)
4909
+ )
4819
4910
  )
4820
4911
 
4821
4912
  readonly withPermit = this.withPermits(1)
@@ -4841,7 +4932,7 @@ export const makeSemaphore = (permits: number) => sync(() => makeSemaphoreUnsafe
4841
4932
  const succeedTrue = succeed(true)
4842
4933
  const succeedFalse = succeed(false)
4843
4934
 
4844
- class Latch implements Effect.Latch {
4935
+ class Latch implements _Latch.Latch {
4845
4936
  waiters: Array<(_: Effect.Effect<void>) => void> = []
4846
4937
  scheduled = false
4847
4938
  private isOpen: boolean
@@ -4901,7 +4992,7 @@ class Latch implements Effect.Latch {
4901
4992
  }
4902
4993
 
4903
4994
  /** @internal */
4904
- export const makeLatchUnsafe = (open?: boolean | undefined): Effect.Latch => new Latch(open ?? false)
4995
+ export const makeLatchUnsafe = (open?: boolean | undefined): _Latch.Latch => new Latch(open ?? false)
4905
4996
 
4906
4997
  /** @internal */
4907
4998
  export const makeLatch = (open?: boolean | undefined) => sync(() => makeLatchUnsafe(open))
@@ -5331,8 +5422,8 @@ export const clockWith = <A, E, R>(f: (clock: Clock.Clock) => Effect.Effect<A, E
5331
5422
  withFiber((fiber) => f(fiber.getRef(ClockRef)))
5332
5423
 
5333
5424
  /** @internal */
5334
- export const sleep = (duration: Duration.DurationInput): Effect.Effect<void> =>
5335
- clockWith((clock) => clock.sleep(Duration.fromDurationInputUnsafe(duration)))
5425
+ export const sleep = (duration: Duration.Input): Effect.Effect<void> =>
5426
+ clockWith((clock) => clock.sleep(Duration.fromInputUnsafe(duration)))
5336
5427
 
5337
5428
  /** @internal */
5338
5429
  export const currentTimeMillis: Effect.Effect<number> = clockWith((clock) => clock.currentTimeMillis)
@@ -5479,7 +5570,7 @@ const LoggerProto = {
5479
5570
 
5480
5571
  /** @internal */
5481
5572
  export const loggerMake = <Message, Output>(
5482
- log: (options: Logger.Logger.Options<Message>) => Output
5573
+ log: (options: Logger.Options<Message>) => Output
5483
5574
  ): Logger.Logger<Message, Output> => {
5484
5575
  const self = Object.create(LoggerProto)
5485
5576
  self.log = log
@@ -5519,7 +5610,7 @@ export const structuredMessage = (u: unknown): unknown => {
5519
5610
  }
5520
5611
 
5521
5612
  /** @internal */
5522
- export const logWithLevel = (level?: LogLevel.LogLevel) =>
5613
+ export const logWithLevel = (level?: LogLevel.Severity) =>
5523
5614
  (
5524
5615
  ...message: ReadonlyArray<any>
5525
5616
  ): Effect.Effect<void> => {
@@ -5810,3 +5901,55 @@ const undefined_ = succeed(undefined)
5810
5901
 
5811
5902
  /** @internal */
5812
5903
  export { undefined_ as undefined }
5904
+
5905
+ // ----------------------------------------------------------------------------
5906
+ // ErrorReporter
5907
+ // ----------------------------------------------------------------------------
5908
+
5909
+ /** @internal */
5910
+ export const CurrentErrorReporters = ServiceMap.Reference<
5911
+ ReadonlySet<ErrorReporter>
5912
+ >("effect/ErrorReporter/CurrentErrorReporters", {
5913
+ defaultValue: () => new Set()
5914
+ })
5915
+
5916
+ /** @internal */
5917
+ export const withErrorReporting: <
5918
+ Arg extends Effect.Effect<any, any, any> | {
5919
+ readonly defectsOnly?: boolean | undefined
5920
+ } | undefined = {
5921
+ readonly defectsOnly?: boolean | undefined
5922
+ }
5923
+ >(
5924
+ effectOrOptions: Arg,
5925
+ options?: {
5926
+ readonly defectsOnly?: boolean | undefined
5927
+ } | undefined
5928
+ ) => [Arg] extends [Effect.Effect<infer _A, infer _E, infer _R>] ? Arg
5929
+ : <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R> = dual(
5930
+ (args) => isEffect(args[0]),
5931
+ <A, E, R>(
5932
+ self: Effect.Effect<A, E, R>,
5933
+ options?: {
5934
+ readonly defectsOnly?: boolean | undefined
5935
+ } | undefined
5936
+ ): Effect.Effect<A, E, R> =>
5937
+ onError(self, (cause) =>
5938
+ withFiber((fiber) => {
5939
+ reportCauseUnsafe(fiber, cause, options?.defectsOnly)
5940
+ return void_
5941
+ }))
5942
+ )
5943
+
5944
+ /** @internal */
5945
+ export const reportCauseUnsafe = (
5946
+ fiber: Fiber.Fiber<unknown, unknown>,
5947
+ cause: Cause.Cause<unknown>,
5948
+ defectsOnly?: boolean
5949
+ ) => {
5950
+ const reporters = fiber.getRef(CurrentErrorReporters)
5951
+ if (reporters.size === 0) return
5952
+ if (defectsOnly && !hasDies(cause)) return
5953
+ const opts = { cause, fiber, timestamp: fiber.getRef(ClockRef).currentTimeNanosUnsafe() }
5954
+ reporters.forEach((reporter) => reporter.report(opts))
5955
+ }
@@ -83,7 +83,7 @@ function mergeLeaves<K, V>(
83
83
  }
84
84
 
85
85
  const bitmap = bit1 | bit2
86
- const children: Array<Node<K, V>> = bit1 < bit2
86
+ const children: Array<Node<K, V>> = (bit1 >>> 0) < (bit2 >>> 0)
87
87
  ? [node1, node2]
88
88
  : [node2, node1]
89
89
 
@@ -248,7 +248,7 @@ class LeafNode<K, V> extends Node<K, V> {
248
248
  }
249
249
 
250
250
  const bitmap = newBit | existingBit
251
- const nodes: Array<Node<K, V>> = newBit < existingBit
251
+ const nodes: Array<Node<K, V>> = (newBit >>> 0) < (existingBit >>> 0)
252
252
  ? [new LeafNode(edit, hash, key, value), this]
253
253
  : [this, new LeafNode(edit, hash, key, value)]
254
254
 
@@ -0,0 +1,20 @@
1
+ import * as ServiceMap from "../ServiceMap.ts"
2
+
3
+ /** @internal */
4
+ export interface Random {
5
+ nextIntUnsafe(): number
6
+ nextDoubleUnsafe(): number
7
+ }
8
+
9
+ /** @internal */
10
+ export const Random: ServiceMap.Reference<Random> = ServiceMap.Reference<Random>("effect/Random", {
11
+ defaultValue: () => ({
12
+ nextIntUnsafe() {
13
+ return Math.floor(Math.random() * (Number.MAX_SAFE_INTEGER - Number.MIN_SAFE_INTEGER + 1)) +
14
+ Number.MIN_SAFE_INTEGER
15
+ },
16
+ nextDoubleUnsafe() {
17
+ return Math.random()
18
+ }
19
+ })
20
+ })
@@ -6,6 +6,7 @@ import { identity } from "../Function.ts"
6
6
  import { pipeArguments } from "../Pipeable.ts"
7
7
  import type * as RcRef from "../RcRef.ts"
8
8
  import * as Scope from "../Scope.ts"
9
+ import * as Semaphore from "../Semaphore.ts"
9
10
  import * as ServiceMap from "../ServiceMap.ts"
10
11
 
11
12
  const TypeId = "~effect/RcRef"
@@ -47,7 +48,7 @@ class RcRefImpl<A, E> implements RcRef.RcRef<A, E> {
47
48
  }
48
49
 
49
50
  state: State<A> = stateEmpty
50
- readonly semaphore = Effect.makeSemaphoreUnsafe(1)
51
+ readonly semaphore = Semaphore.makeUnsafe(1)
51
52
  readonly acquire: Effect.Effect<A, E>
52
53
  readonly services: ServiceMap.ServiceMap<never>
53
54
  readonly scope: Scope.Scope
@@ -69,7 +70,7 @@ class RcRefImpl<A, E> implements RcRef.RcRef<A, E> {
69
70
  /** @internal */
70
71
  export const make = <A, E, R>(options: {
71
72
  readonly acquire: Effect.Effect<A, E, R>
72
- readonly idleTimeToLive?: Duration.DurationInput | undefined
73
+ readonly idleTimeToLive?: Duration.Input | undefined
73
74
  }) =>
74
75
  Effect.withFiber<RcRef.RcRef<A, E>, never, R | Scope.Scope>((fiber) => {
75
76
  const services = fiber.services as ServiceMap.ServiceMap<R | Scope.Scope>
@@ -78,7 +79,7 @@ export const make = <A, E, R>(options: {
78
79
  options.acquire as Effect.Effect<A, E>,
79
80
  services,
80
81
  scope,
81
- options.idleTimeToLive ? Duration.fromDurationInputUnsafe(options.idleTimeToLive) : undefined
82
+ options.idleTimeToLive ? Duration.fromInputUnsafe(options.idleTimeToLive) : undefined
82
83
  )
83
84
  return Effect.as(
84
85
  Scope.addFinalizerExit(scope, () => {