effect 4.0.0-beta.0 → 4.0.0-beta.10

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 (571) 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.map +1 -1
  8. package/dist/Channel.js +6 -4
  9. package/dist/Channel.js.map +1 -1
  10. package/dist/Combiner.d.ts +280 -13
  11. package/dist/Combiner.d.ts.map +1 -1
  12. package/dist/Combiner.js +198 -7
  13. package/dist/Combiner.js.map +1 -1
  14. package/dist/Config.d.ts +3 -3
  15. package/dist/Config.js +3 -3
  16. package/dist/Config.js.map +1 -1
  17. package/dist/ConfigProvider.d.ts +1 -1
  18. package/dist/Cron.d.ts +1 -1
  19. package/dist/Data.d.ts +534 -365
  20. package/dist/Data.d.ts.map +1 -1
  21. package/dist/Data.js +132 -79
  22. package/dist/Data.js.map +1 -1
  23. package/dist/DateTime.d.ts +23 -161
  24. package/dist/DateTime.d.ts.map +1 -1
  25. package/dist/DateTime.js +6 -51
  26. package/dist/DateTime.js.map +1 -1
  27. package/dist/Duration.d.ts +12 -12
  28. package/dist/Duration.d.ts.map +1 -1
  29. package/dist/Duration.js +12 -12
  30. package/dist/Duration.js.map +1 -1
  31. package/dist/Effect.d.ts +175 -240
  32. package/dist/Effect.d.ts.map +1 -1
  33. package/dist/Effect.js +73 -119
  34. package/dist/Effect.js.map +1 -1
  35. package/dist/Encoding.d.ts +194 -0
  36. package/dist/Encoding.d.ts.map +1 -0
  37. package/dist/Encoding.js +352 -0
  38. package/dist/Encoding.js.map +1 -0
  39. package/dist/Equal.d.ts +276 -109
  40. package/dist/Equal.d.ts.map +1 -1
  41. package/dist/Equal.js +124 -48
  42. package/dist/Equal.js.map +1 -1
  43. package/dist/FileSystem.d.ts +1 -1
  44. package/dist/FileSystem.d.ts.map +1 -1
  45. package/dist/FileSystem.js +5 -5
  46. package/dist/FileSystem.js.map +1 -1
  47. package/dist/Filter.d.ts +30 -1
  48. package/dist/Filter.d.ts.map +1 -1
  49. package/dist/Filter.js +15 -0
  50. package/dist/Filter.js.map +1 -1
  51. package/dist/Formatter.d.ts +131 -47
  52. package/dist/Formatter.d.ts.map +1 -1
  53. package/dist/Formatter.js +229 -51
  54. package/dist/Formatter.js.map +1 -1
  55. package/dist/Graph.d.ts +1 -1
  56. package/dist/Graph.d.ts.map +1 -1
  57. package/dist/Graph.js +2 -2
  58. package/dist/Graph.js.map +1 -1
  59. package/dist/JsonSchema.d.ts +299 -10
  60. package/dist/JsonSchema.d.ts.map +1 -1
  61. package/dist/JsonSchema.js +323 -4
  62. package/dist/JsonSchema.js.map +1 -1
  63. package/dist/Latch.d.ts +109 -0
  64. package/dist/Latch.d.ts.map +1 -0
  65. package/dist/Latch.js +72 -0
  66. package/dist/Latch.js.map +1 -0
  67. package/dist/LayerMap.d.ts +4 -4
  68. package/dist/LayerMap.d.ts.map +1 -1
  69. package/dist/LogLevel.d.ts +27 -0
  70. package/dist/LogLevel.d.ts.map +1 -1
  71. package/dist/LogLevel.js +28 -100
  72. package/dist/LogLevel.js.map +1 -1
  73. package/dist/Logger.d.ts +4 -4
  74. package/dist/Logger.d.ts.map +1 -1
  75. package/dist/Metric.d.ts +2 -2
  76. package/dist/Metric.d.ts.map +1 -1
  77. package/dist/Metric.js +1 -1
  78. package/dist/Metric.js.map +1 -1
  79. package/dist/Optic.d.ts +947 -18
  80. package/dist/Optic.d.ts.map +1 -1
  81. package/dist/Optic.js +454 -5
  82. package/dist/Optic.js.map +1 -1
  83. package/dist/Pipeable.d.ts +17 -0
  84. package/dist/Pipeable.d.ts.map +1 -1
  85. package/dist/Pipeable.js +19 -1
  86. package/dist/Pipeable.js.map +1 -1
  87. package/dist/PlatformError.d.ts +10 -9
  88. package/dist/PlatformError.d.ts.map +1 -1
  89. package/dist/PlatformError.js +2 -2
  90. package/dist/PlatformError.js.map +1 -1
  91. package/dist/Pool.d.ts +6 -4
  92. package/dist/Pool.d.ts.map +1 -1
  93. package/dist/Pool.js +7 -5
  94. package/dist/Pool.js.map +1 -1
  95. package/dist/PubSub.d.ts +3 -2
  96. package/dist/PubSub.d.ts.map +1 -1
  97. package/dist/PubSub.js +3 -2
  98. package/dist/PubSub.js.map +1 -1
  99. package/dist/Random.d.ts +18 -1
  100. package/dist/Random.d.ts.map +1 -1
  101. package/dist/Random.js +29 -12
  102. package/dist/Random.js.map +1 -1
  103. package/dist/RcMap.d.ts +2 -2
  104. package/dist/RcMap.d.ts.map +1 -1
  105. package/dist/RcMap.js +1 -1
  106. package/dist/RcMap.js.map +1 -1
  107. package/dist/RcRef.d.ts +1 -1
  108. package/dist/RcRef.d.ts.map +1 -1
  109. package/dist/Reducer.d.ts +166 -7
  110. package/dist/Reducer.d.ts.map +1 -1
  111. package/dist/Reducer.js +135 -1
  112. package/dist/Reducer.js.map +1 -1
  113. package/dist/Request.d.ts +1 -1
  114. package/dist/Request.d.ts.map +1 -1
  115. package/dist/Request.js +2 -1
  116. package/dist/Request.js.map +1 -1
  117. package/dist/RequestResolver.d.ts +6 -26
  118. package/dist/RequestResolver.d.ts.map +1 -1
  119. package/dist/RequestResolver.js +0 -20
  120. package/dist/RequestResolver.js.map +1 -1
  121. package/dist/Result.d.ts +12 -0
  122. package/dist/Result.d.ts.map +1 -1
  123. package/dist/Result.js +12 -0
  124. package/dist/Result.js.map +1 -1
  125. package/dist/Schedule.d.ts +33 -14
  126. package/dist/Schedule.d.ts.map +1 -1
  127. package/dist/Schedule.js +65 -24
  128. package/dist/Schedule.js.map +1 -1
  129. package/dist/Schema.d.ts +199 -49
  130. package/dist/Schema.d.ts.map +1 -1
  131. package/dist/Schema.js +386 -72
  132. package/dist/Schema.js.map +1 -1
  133. package/dist/SchemaGetter.d.ts +2 -2
  134. package/dist/SchemaGetter.d.ts.map +1 -1
  135. package/dist/SchemaGetter.js +12 -14
  136. package/dist/SchemaGetter.js.map +1 -1
  137. package/dist/SchemaRepresentation.d.ts +44 -43
  138. package/dist/SchemaRepresentation.d.ts.map +1 -1
  139. package/dist/SchemaRepresentation.js +43 -24
  140. package/dist/SchemaRepresentation.js.map +1 -1
  141. package/dist/SchemaTransformation.d.ts +37 -0
  142. package/dist/SchemaTransformation.d.ts.map +1 -1
  143. package/dist/SchemaTransformation.js +80 -0
  144. package/dist/SchemaTransformation.js.map +1 -1
  145. package/dist/ScopedCache.d.ts +2 -2
  146. package/dist/ScopedCache.d.ts.map +1 -1
  147. package/dist/ScopedCache.js +1 -1
  148. package/dist/ScopedCache.js.map +1 -1
  149. package/dist/Semaphore.d.ts +211 -0
  150. package/dist/Semaphore.d.ts.map +1 -0
  151. package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
  152. package/dist/Semaphore.js.map +1 -0
  153. package/dist/Stream.d.ts +19 -19
  154. package/dist/Stream.d.ts.map +1 -1
  155. package/dist/Stream.js +12 -11
  156. package/dist/Stream.js.map +1 -1
  157. package/dist/Struct.d.ts +16 -0
  158. package/dist/Struct.d.ts.map +1 -1
  159. package/dist/Struct.js +22 -0
  160. package/dist/Struct.js.map +1 -1
  161. package/dist/SubscriptionRef.d.ts +2 -1
  162. package/dist/SubscriptionRef.d.ts.map +1 -1
  163. package/dist/SubscriptionRef.js +2 -1
  164. package/dist/SubscriptionRef.js.map +1 -1
  165. package/dist/SynchronizedRef.d.ts +2 -1
  166. package/dist/SynchronizedRef.d.ts.map +1 -1
  167. package/dist/SynchronizedRef.js +2 -1
  168. package/dist/SynchronizedRef.js.map +1 -1
  169. package/dist/Types.d.ts +14 -6
  170. package/dist/Types.d.ts.map +1 -1
  171. package/dist/index.d.ts +499 -19
  172. package/dist/index.d.ts.map +1 -1
  173. package/dist/index.js +499 -19
  174. package/dist/index.js.map +1 -1
  175. package/dist/internal/core.js +11 -3
  176. package/dist/internal/core.js.map +1 -1
  177. package/dist/internal/dateTime.js +3 -11
  178. package/dist/internal/dateTime.js.map +1 -1
  179. package/dist/internal/effect.js +37 -22
  180. package/dist/internal/effect.js.map +1 -1
  181. package/dist/internal/random.d.ts +2 -0
  182. package/dist/internal/random.d.ts.map +1 -0
  183. package/dist/internal/random.js +13 -0
  184. package/dist/internal/random.js.map +1 -0
  185. package/dist/internal/rcRef.js +3 -2
  186. package/dist/internal/rcRef.js.map +1 -1
  187. package/dist/testing/TestClock.d.ts +7 -6
  188. package/dist/testing/TestClock.d.ts.map +1 -1
  189. package/dist/testing/TestClock.js +6 -4
  190. package/dist/testing/TestClock.js.map +1 -1
  191. package/dist/testing/TestSchema.d.ts +6 -6
  192. package/dist/testing/TestSchema.d.ts.map +1 -1
  193. package/dist/unstable/ai/AiError.d.ts +48 -48
  194. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  195. package/dist/unstable/ai/Chat.d.ts +3 -3
  196. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  197. package/dist/unstable/ai/Chat.js +4 -3
  198. package/dist/unstable/ai/Chat.js.map +1 -1
  199. package/dist/unstable/ai/LanguageModel.d.ts +2 -2
  200. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  201. package/dist/unstable/ai/McpSchema.d.ts +51 -51
  202. package/dist/unstable/ai/McpServer.d.ts +1 -1
  203. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  204. package/dist/unstable/ai/McpServer.js.map +1 -1
  205. package/dist/unstable/ai/Prompt.d.ts +20 -20
  206. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  207. package/dist/unstable/ai/Response.d.ts +26 -26
  208. package/dist/unstable/ai/Response.d.ts.map +1 -1
  209. package/dist/unstable/ai/Response.js +1 -1
  210. package/dist/unstable/ai/Response.js.map +1 -1
  211. package/dist/unstable/cli/CliError.d.ts +5 -5
  212. package/dist/unstable/cli/Prompt.js +2 -2
  213. package/dist/unstable/cli/Prompt.js.map +1 -1
  214. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  215. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  216. package/dist/unstable/cluster/ClusterCron.js +1 -1
  217. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  218. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  219. package/dist/unstable/cluster/ClusterWorkflowEngine.js +2 -1
  220. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  221. package/dist/unstable/cluster/Entity.d.ts +5 -4
  222. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  223. package/dist/unstable/cluster/Entity.js.map +1 -1
  224. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  225. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  226. package/dist/unstable/cluster/Envelope.d.ts +1 -1
  227. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  228. package/dist/unstable/cluster/K8sHttpClient.js +1 -1
  229. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  230. package/dist/unstable/cluster/Message.d.ts +10 -10
  231. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  232. package/dist/unstable/cluster/MessageStorage.js +2 -1
  233. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  234. package/dist/unstable/cluster/Reply.d.ts +6 -6
  235. package/dist/unstable/cluster/Runner.d.ts +1 -1
  236. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  237. package/dist/unstable/cluster/Runners.js +4 -3
  238. package/dist/unstable/cluster/Runners.js.map +1 -1
  239. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  240. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  241. package/dist/unstable/cluster/Sharding.js +8 -6
  242. package/dist/unstable/cluster/Sharding.js.map +1 -1
  243. package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
  244. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  245. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  246. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  247. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  248. package/dist/unstable/cluster/internal/entityManager.js +5 -4
  249. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  250. package/dist/unstable/cluster/internal/entityReaper.js +2 -1
  251. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  252. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  253. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  254. package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
  255. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  256. package/dist/unstable/encoding/Ndjson.d.ts +1 -1
  257. package/dist/unstable/encoding/Sse.d.ts +4 -4
  258. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  259. package/dist/unstable/encoding/Sse.js.map +1 -1
  260. package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
  261. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  262. package/dist/unstable/eventlog/EventLog.js +2 -1
  263. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  264. package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
  265. package/dist/unstable/http/Cookies.d.ts +3 -3
  266. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  267. package/dist/unstable/http/Cookies.js +2 -2
  268. package/dist/unstable/http/Cookies.js.map +1 -1
  269. package/dist/unstable/http/HttpBody.d.ts +17 -2
  270. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  271. package/dist/unstable/http/HttpBody.js +28 -1
  272. package/dist/unstable/http/HttpBody.js.map +1 -1
  273. package/dist/unstable/http/HttpClient.d.ts +11 -11
  274. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  275. package/dist/unstable/http/HttpClient.js +4 -4
  276. package/dist/unstable/http/HttpClient.js.map +1 -1
  277. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  278. package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
  279. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  280. package/dist/unstable/http/HttpClientRequest.js +15 -3
  281. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  282. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  283. package/dist/unstable/http/HttpEffect.js +18 -26
  284. package/dist/unstable/http/HttpEffect.js.map +1 -1
  285. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  286. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  287. package/dist/unstable/http/HttpMethod.js +3 -3
  288. package/dist/unstable/http/HttpMethod.js.map +1 -1
  289. package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
  290. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  291. package/dist/unstable/http/HttpMiddleware.js +4 -9
  292. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  293. package/dist/unstable/http/HttpServerError.d.ts +6 -6
  294. package/dist/unstable/http/HttpServerResponse.js +1 -1
  295. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  296. package/dist/unstable/http/Multipart.d.ts +3 -3
  297. package/dist/unstable/http/UrlParams.d.ts +14 -6
  298. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  299. package/dist/unstable/http/UrlParams.js +1 -1
  300. package/dist/unstable/http/UrlParams.js.map +1 -1
  301. package/dist/unstable/httpapi/HttpApiBuilder.js +5 -5
  302. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  303. package/dist/unstable/httpapi/HttpApiClient.js +3 -3
  304. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  305. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +21 -39
  306. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  307. package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
  308. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  309. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  310. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  311. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  312. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  313. package/dist/unstable/httpapi/OpenApi.js +18 -16
  314. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  315. package/dist/unstable/observability/Otlp.d.ts +12 -12
  316. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  317. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  318. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  319. package/dist/unstable/observability/OtlpExporter.js +1 -1
  320. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  321. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  322. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  323. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  324. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  325. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  326. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  327. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  328. package/dist/unstable/persistence/KeyValueStore.js +6 -6
  329. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  330. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  331. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  332. package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
  333. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  334. package/dist/unstable/persistence/PersistedCache.js +2 -1
  335. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  336. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  337. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  338. package/dist/unstable/persistence/PersistedQueue.js +12 -11
  339. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  340. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  341. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  342. package/dist/unstable/persistence/Persistence.js +2 -2
  343. package/dist/unstable/persistence/Persistence.js.map +1 -1
  344. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  345. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  346. package/dist/unstable/persistence/RateLimiter.js +1 -1
  347. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  348. package/dist/unstable/process/ChildProcess.d.ts +2 -2
  349. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  350. package/dist/unstable/process/ChildProcessSpawner.d.ts +6 -0
  351. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  352. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  353. package/dist/unstable/reactivity/Atom.d.ts +6 -6
  354. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  355. package/dist/unstable/reactivity/Atom.js +15 -12
  356. package/dist/unstable/reactivity/Atom.js.map +1 -1
  357. package/dist/unstable/reactivity/AtomHttpApi.d.ts +6 -6
  358. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  359. package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
  360. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  361. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  362. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  363. package/dist/unstable/reactivity/AtomRpc.js +1 -1
  364. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  365. package/dist/unstable/reactivity/Hydration.d.ts +39 -0
  366. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
  367. package/dist/unstable/reactivity/Hydration.js +76 -0
  368. package/dist/unstable/reactivity/Hydration.js.map +1 -0
  369. package/dist/unstable/reactivity/index.d.ts +4 -0
  370. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  371. package/dist/unstable/reactivity/index.js +4 -0
  372. package/dist/unstable/reactivity/index.js.map +1 -1
  373. package/dist/unstable/rpc/Rpc.d.ts +2 -2
  374. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  375. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  376. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  377. package/dist/unstable/rpc/RpcClient.js +6 -13
  378. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  379. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  380. package/dist/unstable/rpc/RpcServer.js +5 -3
  381. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  382. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  383. package/dist/unstable/rpc/Utils.js +2 -1
  384. package/dist/unstable/rpc/Utils.js.map +1 -1
  385. package/dist/unstable/schema/Model.d.ts +4 -4
  386. package/dist/unstable/schema/Model.d.ts.map +1 -1
  387. package/dist/unstable/schema/VariantSchema.d.ts +2 -2
  388. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  389. package/dist/unstable/schema/VariantSchema.js +13 -2
  390. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  391. package/dist/unstable/socket/Socket.d.ts +4 -4
  392. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  393. package/dist/unstable/socket/Socket.js +3 -2
  394. package/dist/unstable/socket/Socket.js.map +1 -1
  395. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  396. package/dist/unstable/sql/Migrator.d.ts +1 -1
  397. package/dist/unstable/sql/SqlError.d.ts +2 -2
  398. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  399. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  400. package/dist/unstable/sql/SqlSchema.d.ts +24 -1
  401. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  402. package/dist/unstable/sql/SqlSchema.js +24 -3
  403. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  404. package/dist/unstable/sql/Statement.js +0 -1
  405. package/dist/unstable/sql/Statement.js.map +1 -1
  406. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  407. package/dist/unstable/workers/Worker.js +2 -1
  408. package/dist/unstable/workers/Worker.js.map +1 -1
  409. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  410. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  411. package/dist/unstable/workflow/DurableClock.js +3 -3
  412. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  413. package/dist/unstable/workflow/DurableDeferred.js +2 -2
  414. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  415. package/dist/unstable/workflow/Workflow.d.ts +2 -2
  416. package/dist/unstable/workflow/WorkflowEngine.d.ts +2 -1
  417. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  418. package/dist/unstable/workflow/WorkflowEngine.js +2 -1
  419. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  420. package/package.json +2 -2
  421. package/src/Cache.ts +3 -3
  422. package/src/Cause.ts +1 -1
  423. package/src/Channel.ts +6 -4
  424. package/src/Combiner.ts +280 -13
  425. package/src/Config.ts +3 -3
  426. package/src/Data.ts +538 -374
  427. package/src/DateTime.ts +24 -164
  428. package/src/Duration.ts +15 -15
  429. package/src/Effect.ts +202 -261
  430. package/src/Encoding.ts +879 -0
  431. package/src/Equal.ts +278 -111
  432. package/src/FileSystem.ts +7 -8
  433. package/src/Filter.ts +48 -1
  434. package/src/Formatter.ts +253 -51
  435. package/src/Graph.ts +8 -5
  436. package/src/JsonSchema.ts +383 -10
  437. package/src/Latch.ts +112 -0
  438. package/src/LayerMap.ts +5 -5
  439. package/src/LogLevel.ts +31 -0
  440. package/src/Logger.ts +5 -5
  441. package/src/Metric.ts +4 -4
  442. package/src/Optic.ts +948 -19
  443. package/src/Pipeable.ts +32 -1
  444. package/src/PlatformError.ts +5 -5
  445. package/src/Pool.ts +13 -11
  446. package/src/PubSub.ts +10 -9
  447. package/src/Random.ts +33 -14
  448. package/src/RcMap.ts +5 -5
  449. package/src/RcRef.ts +1 -1
  450. package/src/Reducer.ts +166 -7
  451. package/src/Request.ts +3 -2
  452. package/src/RequestResolver.ts +9 -29
  453. package/src/Result.ts +13 -0
  454. package/src/Schedule.ts +279 -140
  455. package/src/Schema.ts +575 -113
  456. package/src/SchemaGetter.ts +12 -14
  457. package/src/SchemaRepresentation.ts +43 -24
  458. package/src/SchemaTransformation.ts +104 -0
  459. package/src/ScopedCache.ts +3 -3
  460. package/src/Semaphore.ts +356 -0
  461. package/src/Stream.ts +43 -42
  462. package/src/Struct.ts +26 -0
  463. package/src/SubscriptionRef.ts +3 -2
  464. package/src/SynchronizedRef.ts +3 -2
  465. package/src/Types.ts +12 -2
  466. package/src/index.ts +502 -20
  467. package/src/internal/core.ts +12 -5
  468. package/src/internal/dateTime.ts +9 -30
  469. package/src/internal/effect.ts +70 -37
  470. package/src/internal/random.ts +20 -0
  471. package/src/internal/rcRef.ts +4 -3
  472. package/src/testing/TestClock.ts +13 -11
  473. package/src/testing/TestSchema.ts +8 -8
  474. package/src/unstable/ai/AiError.ts +2 -2
  475. package/src/unstable/ai/Chat.ts +12 -11
  476. package/src/unstable/ai/LanguageModel.ts +3 -3
  477. package/src/unstable/ai/McpServer.ts +2 -2
  478. package/src/unstable/ai/Prompt.ts +37 -37
  479. package/src/unstable/ai/Response.ts +25 -25
  480. package/src/unstable/cli/Prompt.ts +2 -2
  481. package/src/unstable/cluster/ClusterCron.ts +2 -2
  482. package/src/unstable/cluster/ClusterWorkflowEngine.ts +3 -2
  483. package/src/unstable/cluster/Entity.ts +7 -6
  484. package/src/unstable/cluster/EntityResource.ts +4 -4
  485. package/src/unstable/cluster/Envelope.ts +1 -1
  486. package/src/unstable/cluster/K8sHttpClient.ts +1 -1
  487. package/src/unstable/cluster/MessageStorage.ts +3 -5
  488. package/src/unstable/cluster/Runners.ts +6 -5
  489. package/src/unstable/cluster/Sharding.ts +11 -9
  490. package/src/unstable/cluster/ShardingConfig.ts +10 -11
  491. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  492. package/src/unstable/cluster/internal/entityManager.ts +9 -8
  493. package/src/unstable/cluster/internal/entityReaper.ts +2 -1
  494. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  495. package/src/unstable/encoding/Sse.ts +2 -4
  496. package/src/unstable/eventlog/EventLog.ts +2 -1
  497. package/src/unstable/http/Cookies.ts +3 -3
  498. package/src/unstable/http/HttpBody.ts +42 -1
  499. package/src/unstable/http/HttpClient.ts +19 -19
  500. package/src/unstable/http/HttpClientRequest.ts +38 -13
  501. package/src/unstable/http/HttpEffect.ts +17 -25
  502. package/src/unstable/http/HttpMethod.ts +16 -4
  503. package/src/unstable/http/HttpMiddleware.ts +5 -10
  504. package/src/unstable/http/HttpServerResponse.ts +1 -1
  505. package/src/unstable/http/Multipart.ts +2 -2
  506. package/src/unstable/http/UrlParams.ts +20 -5
  507. package/src/unstable/httpapi/HttpApiBuilder.ts +5 -5
  508. package/src/unstable/httpapi/HttpApiClient.ts +3 -3
  509. package/src/unstable/httpapi/HttpApiEndpoint.ts +47 -72
  510. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  511. package/src/unstable/httpapi/OpenApi.ts +18 -16
  512. package/src/unstable/observability/Otlp.ts +12 -12
  513. package/src/unstable/observability/OtlpExporter.ts +3 -3
  514. package/src/unstable/observability/OtlpLogger.ts +4 -4
  515. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  516. package/src/unstable/observability/OtlpTracer.ts +4 -4
  517. package/src/unstable/persistence/KeyValueStore.ts +6 -6
  518. package/src/unstable/persistence/Persistable.ts +2 -2
  519. package/src/unstable/persistence/PersistedCache.ts +20 -9
  520. package/src/unstable/persistence/PersistedQueue.ts +25 -24
  521. package/src/unstable/persistence/Persistence.ts +3 -3
  522. package/src/unstable/persistence/RateLimiter.ts +4 -4
  523. package/src/unstable/process/ChildProcess.ts +2 -2
  524. package/src/unstable/process/ChildProcessSpawner.ts +6 -0
  525. package/src/unstable/reactivity/Atom.ts +20 -18
  526. package/src/unstable/reactivity/AtomHttpApi.ts +19 -18
  527. package/src/unstable/reactivity/AtomRpc.ts +3 -3
  528. package/src/unstable/reactivity/Hydration.ts +112 -0
  529. package/src/unstable/reactivity/index.ts +5 -0
  530. package/src/unstable/rpc/Rpc.ts +3 -3
  531. package/src/unstable/rpc/RpcClient.ts +12 -54
  532. package/src/unstable/rpc/RpcServer.ts +6 -4
  533. package/src/unstable/rpc/Utils.ts +2 -1
  534. package/src/unstable/schema/VariantSchema.ts +36 -7
  535. package/src/unstable/socket/Socket.ts +7 -6
  536. package/src/unstable/sql/SqlModel.ts +2 -2
  537. package/src/unstable/sql/SqlSchema.ts +62 -13
  538. package/src/unstable/sql/Statement.ts +0 -1
  539. package/src/unstable/workers/Worker.ts +2 -1
  540. package/src/unstable/workflow/DurableClock.ts +8 -8
  541. package/src/unstable/workflow/DurableDeferred.ts +2 -2
  542. package/src/unstable/workflow/WorkflowEngine.ts +3 -2
  543. package/dist/PartitionedSemaphore.d.ts +0 -52
  544. package/dist/PartitionedSemaphore.d.ts.map +0 -1
  545. package/dist/PartitionedSemaphore.js.map +0 -1
  546. package/dist/encoding/Base64.d.ts +0 -67
  547. package/dist/encoding/Base64.d.ts.map +0 -1
  548. package/dist/encoding/Base64.js +0 -146
  549. package/dist/encoding/Base64.js.map +0 -1
  550. package/dist/encoding/Base64Url.d.ts +0 -60
  551. package/dist/encoding/Base64Url.d.ts.map +0 -1
  552. package/dist/encoding/Base64Url.js +0 -89
  553. package/dist/encoding/Base64Url.js.map +0 -1
  554. package/dist/encoding/EncodingError.d.ts +0 -31
  555. package/dist/encoding/EncodingError.d.ts.map +0 -1
  556. package/dist/encoding/EncodingError.js +0 -22
  557. package/dist/encoding/EncodingError.js.map +0 -1
  558. package/dist/encoding/Hex.d.ts +0 -61
  559. package/dist/encoding/Hex.d.ts.map +0 -1
  560. package/dist/encoding/Hex.js +0 -115
  561. package/dist/encoding/Hex.js.map +0 -1
  562. package/dist/encoding/index.d.ts +0 -26
  563. package/dist/encoding/index.d.ts.map +0 -1
  564. package/dist/encoding/index.js +0 -27
  565. package/dist/encoding/index.js.map +0 -1
  566. package/src/PartitionedSemaphore.ts +0 -182
  567. package/src/encoding/Base64.ts +0 -366
  568. package/src/encoding/Base64Url.ts +0 -104
  569. package/src/encoding/EncodingError.ts +0 -35
  570. package/src/encoding/Hex.ts +0 -390
  571. package/src/encoding/index.ts +0 -31
package/dist/Effect.d.ts CHANGED
@@ -92,7 +92,7 @@ import type { Scope } from "./Scope.ts";
92
92
  import * as ServiceMap from "./ServiceMap.ts";
93
93
  import type { AnySpan, ParentSpan, Span, SpanLink, SpanOptions, SpanOptionsNoTrace, TraceOptions, Tracer } from "./Tracer.ts";
94
94
  import type { TxRef } from "./TxRef.ts";
95
- import type { Concurrency, Covariant, EqualsWith, ExcludeReason, ExcludeTag, ExtractReason, ExtractTag, NoInfer, ReasonOf, ReasonTags, Tags, unassigned } from "./Types.ts";
95
+ import type { Concurrency, Covariant, EqualsWith, ExcludeReason, ExcludeTag, ExtractReason, ExtractTag, NoInfer, ReasonOf, ReasonTags, Simplify, Tags, unassigned } from "./Types.ts";
96
96
  import type * as Unify from "./Unify.ts";
97
97
  declare const TypeId: "~effect/Effect";
98
98
  /**
@@ -1352,6 +1352,90 @@ export declare const callback: <A, E = never, R = never>(register: (this: Schedu
1352
1352
  * @category Creating Effects
1353
1353
  */
1354
1354
  export declare const never: Effect<never>;
1355
+ /**
1356
+ * An `Effect` containing an empty record `{}`, used as the starting point for
1357
+ * do notation chains.
1358
+ *
1359
+ * @example
1360
+ * ```ts
1361
+ * import { Effect } from "effect"
1362
+ * import { pipe } from "effect/Function"
1363
+ *
1364
+ * const program = pipe(
1365
+ * Effect.Do,
1366
+ * Effect.bind("x", () => Effect.succeed(2)),
1367
+ * Effect.bind("y", ({ x }) => Effect.succeed(x + 1)),
1368
+ * Effect.let("sum", ({ x, y }) => x + y)
1369
+ * )
1370
+ * ```
1371
+ *
1372
+ * @since 4.0.0
1373
+ * @category Do notation
1374
+ */
1375
+ export declare const Do: Effect<{}>;
1376
+ /**
1377
+ * Gives a name to the success value of an `Effect`, creating a single-key
1378
+ * record used in do notation pipelines.
1379
+ *
1380
+ * @since 4.0.0
1381
+ * @category Do notation
1382
+ */
1383
+ export declare const bindTo: {
1384
+ /**
1385
+ * Gives a name to the success value of an `Effect`, creating a single-key
1386
+ * record used in do notation pipelines.
1387
+ *
1388
+ * @since 4.0.0
1389
+ * @category Do notation
1390
+ */
1391
+ <N extends string>(name: N): <A, E, R>(self: Effect<A, E, R>) => Effect<{
1392
+ [K in N]: A;
1393
+ }, E, R>;
1394
+ /**
1395
+ * Gives a name to the success value of an `Effect`, creating a single-key
1396
+ * record used in do notation pipelines.
1397
+ *
1398
+ * @since 4.0.0
1399
+ * @category Do notation
1400
+ */
1401
+ <A, E, R, N extends string>(self: Effect<A, E, R>, name: N): Effect<{
1402
+ [K in N]: A;
1403
+ }, E, R>;
1404
+ };
1405
+ declare const let_: {
1406
+ <N extends string, A extends Record<string, any>, B>(name: N, f: (a: NoInfer<A>) => B): <E, R>(self: Effect<A, E, R>) => Effect<Simplify<Omit<A, N> & Record<N, B>>, E, R>;
1407
+ <A extends Record<string, any>, E, R, B, N extends string>(self: Effect<A, E, R>, name: N, f: (a: NoInfer<A>) => B): Effect<Simplify<Omit<A, N> & Record<N, B>>, E, R>;
1408
+ };
1409
+ export {
1410
+ /**
1411
+ * Adds a computed plain value to the do notation record.
1412
+ *
1413
+ * @since 4.0.0
1414
+ * @category Do notation
1415
+ */
1416
+ let_ as let };
1417
+ /**
1418
+ * Adds an `Effect` value to the do notation record under a given name.
1419
+ *
1420
+ * @since 4.0.0
1421
+ * @category Do notation
1422
+ */
1423
+ export declare const bind: {
1424
+ /**
1425
+ * Adds an `Effect` value to the do notation record under a given name.
1426
+ *
1427
+ * @since 4.0.0
1428
+ * @category Do notation
1429
+ */
1430
+ <N extends string, A extends Record<string, any>, B, E2, R2>(name: N, f: (a: NoInfer<A>) => Effect<B, E2, R2>): <E, R>(self: Effect<A, E, R>) => Effect<Simplify<Omit<A, N> & Record<N, B>>, E | E2, R | R2>;
1431
+ /**
1432
+ * Adds an `Effect` value to the do notation record under a given name.
1433
+ *
1434
+ * @since 4.0.0
1435
+ * @category Do notation
1436
+ */
1437
+ <A extends Record<string, any>, E, R, B, E2, R2, N extends string>(self: Effect<A, E, R>, name: N, f: (a: NoInfer<A>) => Effect<B, E2, R2>): Effect<Simplify<Omit<A, N> & Record<N, B>>, E | E2, R | R2>;
1438
+ };
1355
1439
  /**
1356
1440
  * Provides a way to write effectful code using generator functions, simplifying
1357
1441
  * control flow and error handling.
@@ -4704,6 +4788,33 @@ export declare const catchIf: {
4704
4788
  */
4705
4789
  <A, E, R, Result extends Filter.ResultOrBool, A2, E2, R2, A3 = never, E3 = Filter.Fail<E, Result>, R3 = never>(self: Effect<A, E, R>, filter: Filter.OrPredicate<NoInfer<E>, Result>, f: (e: Filter.Pass<E, Result>) => Effect<A2, E2, R2>, orElse?: ((e: Filter.Fail<E, Result>) => Effect<A3, E3, R3>) | undefined): Effect<A | A2 | A3, E2 | E3, R | R2 | R3>;
4706
4790
  };
4791
+ /**
4792
+ * Catches `NoSuchElementError` failures and converts them to `Option.none`.
4793
+ *
4794
+ * Success values become `Option.some`, `NoSuchElementError` becomes
4795
+ * `Option.none`, and all other errors are preserved.
4796
+ *
4797
+ * @example
4798
+ * ```ts
4799
+ * import { Effect, Option } from "effect"
4800
+ *
4801
+ * const some = Effect.fromNullishOr(1).pipe(Effect.catchNoSuchElement)
4802
+ * const none = Effect.fromNullishOr(null).pipe(Effect.catchNoSuchElement)
4803
+ *
4804
+ * Effect.runPromise(some).then(console.log) // { _id: 'Option', _tag: 'Some', value: 1 }
4805
+ * Effect.runPromise(none).then(console.log) // { _id: 'Option', _tag: 'None' }
4806
+ * ```
4807
+ *
4808
+ * **Previously Known As**
4809
+ *
4810
+ * This API replaces the following from Effect 3.x:
4811
+ *
4812
+ * - `Effect.optionFromOptional`
4813
+ *
4814
+ * @since 2.0.0
4815
+ * @category Error Handling
4816
+ */
4817
+ export declare const catchNoSuchElement: <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, Exclude<E, Cause.NoSuchElementError>, R>;
4707
4818
  /**
4708
4819
  * Recovers from specific failures based on a predicate.
4709
4820
  *
@@ -6665,7 +6776,7 @@ export declare const timeout: {
6665
6776
  * @since 2.0.0
6666
6777
  * @category Delays & Timeouts
6667
6778
  */
6668
- (duration: Duration.DurationInput): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E | Cause.TimeoutError, R>;
6779
+ (duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E | Cause.TimeoutError, R>;
6669
6780
  /**
6670
6781
  * Adds a time limit to an effect, triggering a timeout if the effect exceeds
6671
6782
  * the duration.
@@ -6712,7 +6823,7 @@ export declare const timeout: {
6712
6823
  * @since 2.0.0
6713
6824
  * @category Delays & Timeouts
6714
6825
  */
6715
- <A, E, R>(self: Effect<A, E, R>, duration: Duration.DurationInput): Effect<A, E | Cause.TimeoutError, R>;
6826
+ <A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<A, E | Cause.TimeoutError, R>;
6716
6827
  };
6717
6828
  /**
6718
6829
  * Handles timeouts by returning an `Option` that represents either the result
@@ -6813,7 +6924,7 @@ export declare const timeoutOption: {
6813
6924
  * @since 3.1.0
6814
6925
  * @category Delays & Timeouts
6815
6926
  */
6816
- (duration: Duration.DurationInput): <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, E, R>;
6927
+ (duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, E, R>;
6817
6928
  /**
6818
6929
  * Handles timeouts by returning an `Option` that represents either the result
6819
6930
  * or a timeout.
@@ -6863,7 +6974,7 @@ export declare const timeoutOption: {
6863
6974
  * @since 3.1.0
6864
6975
  * @category Delays & Timeouts
6865
6976
  */
6866
- <A, E, R>(self: Effect<A, E, R>, duration: Duration.DurationInput): Effect<Option<A>, E, R>;
6977
+ <A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<Option<A>, E, R>;
6867
6978
  };
6868
6979
  /**
6869
6980
  * Applies a timeout to an effect, with a fallback effect executed if the timeout is reached.
@@ -6939,7 +7050,7 @@ export declare const timeoutOrElse: {
6939
7050
  * @category Delays & Timeouts
6940
7051
  */
6941
7052
  <A2, E2, R2>(options: {
6942
- readonly duration: Duration.DurationInput;
7053
+ readonly duration: Duration.Input;
6943
7054
  readonly onTimeout: LazyArg<Effect<A2, E2, R2>>;
6944
7055
  }): <A, E, R>(self: Effect<A, E, R>) => Effect<A | A2, E | E2, R | R2>;
6945
7056
  /**
@@ -6979,7 +7090,7 @@ export declare const timeoutOrElse: {
6979
7090
  * @category Delays & Timeouts
6980
7091
  */
6981
7092
  <A, E, R, A2, E2, R2>(self: Effect<A, E, R>, options: {
6982
- readonly duration: Duration.DurationInput;
7093
+ readonly duration: Duration.Input;
6983
7094
  readonly onTimeout: LazyArg<Effect<A2, E2, R2>>;
6984
7095
  }): Effect<A | A2, E | E2, R | R2>;
6985
7096
  };
@@ -7024,7 +7135,7 @@ export declare const delay: {
7024
7135
  * @since 2.0.0
7025
7136
  * @category Delays & Timeouts
7026
7137
  */
7027
- (duration: Duration.DurationInput): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
7138
+ (duration: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
7028
7139
  /**
7029
7140
  * Returns an effect that is delayed from this effect by the specified
7030
7141
  * `Duration`.
@@ -7045,7 +7156,7 @@ export declare const delay: {
7045
7156
  * @since 2.0.0
7046
7157
  * @category Delays & Timeouts
7047
7158
  */
7048
- <A, E, R>(self: Effect<A, E, R>, duration: Duration.DurationInput): Effect<A, E, R>;
7159
+ <A, E, R>(self: Effect<A, E, R>, duration: Duration.Input): Effect<A, E, R>;
7049
7160
  };
7050
7161
  /**
7051
7162
  * Returns an effect that suspends for the specified duration. This method is
@@ -7069,7 +7180,7 @@ export declare const delay: {
7069
7180
  * @since 2.0.0
7070
7181
  * @category Delays & Timeouts
7071
7182
  */
7072
- export declare const sleep: (duration: Duration.DurationInput) => Effect<void>;
7183
+ export declare const sleep: (duration: Duration.Input) => Effect<void>;
7073
7184
  /**
7074
7185
  * Measures the runtime of an effect and returns the duration with its result.
7075
7186
  *
@@ -7433,6 +7544,32 @@ export declare const filter: {
7433
7544
  * @category Filtering
7434
7545
  */
7435
7546
  <A>(predicate: Predicate.Predicate<NoInfer<A>>): (elements: Iterable<A>) => Effect<Array<A>>;
7547
+ /**
7548
+ * Filters elements of an iterable using a predicate, refinement, effectful
7549
+ * predicate, or `Filter.FilterEffect`.
7550
+ *
7551
+ * @example
7552
+ * ```ts
7553
+ * import { Effect, Filter, Result } from "effect"
7554
+ *
7555
+ * // Sync predicate
7556
+ * const evens = Effect.filter([1, 2, 3, 4], (n) => n % 2 === 0)
7557
+ *
7558
+ * // Effectful predicate
7559
+ * const checked = Effect.filter([1, 2, 3], (n) => Effect.succeed(n > 1))
7560
+ *
7561
+ * // FilterEffect
7562
+ * const mapped = Effect.filter([1, 2, 3, 4], (n) =>
7563
+ * Effect.succeed(n % 2 === 0 ? Result.succeed(n * 2) : Result.fail(n))
7564
+ * )
7565
+ * ```
7566
+ *
7567
+ * @since 2.0.0
7568
+ * @category Filtering
7569
+ */
7570
+ <A, B, X>(filter: Filter.Filter<NoInfer<A>, B, X>, options?: {
7571
+ readonly concurrency?: Concurrency | undefined;
7572
+ }): (elements: Iterable<A>) => Effect<Array<B>>;
7436
7573
  /**
7437
7574
  * Filters elements of an iterable using a predicate, refinement, effectful
7438
7575
  * predicate, or `Filter.FilterEffect`.
@@ -7533,6 +7670,30 @@ export declare const filter: {
7533
7670
  * @category Filtering
7534
7671
  */
7535
7672
  <A>(elements: Iterable<A>, predicate: Predicate.Predicate<A>): Effect<Array<A>>;
7673
+ /**
7674
+ * Filters elements of an iterable using a predicate, refinement, effectful
7675
+ * predicate, or `Filter.FilterEffect`.
7676
+ *
7677
+ * @example
7678
+ * ```ts
7679
+ * import { Effect, Filter, Result } from "effect"
7680
+ *
7681
+ * // Sync predicate
7682
+ * const evens = Effect.filter([1, 2, 3, 4], (n) => n % 2 === 0)
7683
+ *
7684
+ * // Effectful predicate
7685
+ * const checked = Effect.filter([1, 2, 3], (n) => Effect.succeed(n > 1))
7686
+ *
7687
+ * // FilterEffect
7688
+ * const mapped = Effect.filter([1, 2, 3, 4], (n) =>
7689
+ * Effect.succeed(n % 2 === 0 ? Result.succeed(n * 2) : Result.fail(n))
7690
+ * )
7691
+ * ```
7692
+ *
7693
+ * @since 2.0.0
7694
+ * @category Filtering
7695
+ */
7696
+ <A, B, X>(elements: Iterable<A>, filter: Filter.Filter<NoInfer<A>, B, X>): Effect<Array<B>>;
7536
7697
  /**
7537
7698
  * Filters elements of an iterable using a predicate, refinement, effectful
7538
7699
  * predicate, or `Filter.FilterEffect`.
@@ -11335,7 +11496,7 @@ export declare const cachedWithTTL: {
11335
11496
  * @since 2.0.0
11336
11497
  * @category Caching
11337
11498
  */
11338
- (timeToLive: Duration.DurationInput): <A, E, R>(self: Effect<A, E, R>) => Effect<Effect<A, E, R>>;
11499
+ (timeToLive: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<Effect<A, E, R>>;
11339
11500
  /**
11340
11501
  * Returns an effect that caches its result for a specified `Duration`,
11341
11502
  * known as "timeToLive" (TTL).
@@ -11402,7 +11563,7 @@ export declare const cachedWithTTL: {
11402
11563
  * @since 2.0.0
11403
11564
  * @category Caching
11404
11565
  */
11405
- <A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.DurationInput): Effect<Effect<A, E, R>>;
11566
+ <A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.Input): Effect<Effect<A, E, R>>;
11406
11567
  };
11407
11568
  /**
11408
11569
  * Caches an effect's result for a specified duration and allows manual
@@ -11543,7 +11704,7 @@ export declare const cachedInvalidateWithTTL: {
11543
11704
  * @since 2.0.0
11544
11705
  * @category Caching
11545
11706
  */
11546
- (timeToLive: Duration.DurationInput): <A, E, R>(self: Effect<A, E, R>) => Effect<[Effect<A, E, R>, Effect<void>]>;
11707
+ (timeToLive: Duration.Input): <A, E, R>(self: Effect<A, E, R>) => Effect<[Effect<A, E, R>, Effect<void>]>;
11547
11708
  /**
11548
11709
  * Caches an effect's result for a specified duration and allows manual
11549
11710
  * invalidation before expiration.
@@ -11613,7 +11774,7 @@ export declare const cachedInvalidateWithTTL: {
11613
11774
  * @since 2.0.0
11614
11775
  * @category Caching
11615
11776
  */
11616
- <A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.DurationInput): Effect<[Effect<A, E, R>, Effect<void>]>;
11777
+ <A, E, R>(self: Effect<A, E, R>, timeToLive: Duration.Input): Effect<[Effect<A, E, R>, Effect<void>]>;
11617
11778
  };
11618
11779
  /**
11619
11780
  * Returns an effect that is immediately interrupted.
@@ -11813,232 +11974,6 @@ export declare const uninterruptibleMask: <A, E, R>(f: (restore: <AX, EX, RX>(ef
11813
11974
  * @category Interruption
11814
11975
  */
11815
11976
  export declare const interruptibleMask: <A, E, R>(f: (restore: <AX, EX, RX>(effect: Effect<AX, EX, RX>) => Effect<AX, EX, RX>) => Effect<A, E, R>) => Effect<A, E, R>;
11816
- /**
11817
- * @category Semaphore
11818
- * @since 2.0.0
11819
- * @example
11820
- * ```ts
11821
- * import { Effect } from "effect"
11822
- *
11823
- * // Create and use a semaphore for controlling concurrent access
11824
- * const program = Effect.gen(function*() {
11825
- * const semaphore = yield* Effect.makeSemaphore(2)
11826
- *
11827
- * return yield* semaphore.withPermits(1)(
11828
- * Effect.succeed("Resource accessed")
11829
- * )
11830
- * })
11831
- * ```
11832
- */
11833
- export interface Semaphore {
11834
- /**
11835
- * Adjusts the number of permits available in the semaphore.
11836
- */
11837
- resize(permits: number): Effect<void>;
11838
- /**
11839
- * Runs an effect with the given number of permits and releases the permits
11840
- * when the effect completes.
11841
- *
11842
- * **Details**
11843
- *
11844
- * This function acquires the specified number of permits before executing
11845
- * the provided effect. Once the effect finishes, the permits are released.
11846
- * If insufficient permits are available, the function will wait until they
11847
- * are released by other tasks.
11848
- */
11849
- withPermits(permits: number): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
11850
- /**
11851
- * Runs an effect with the given number of permits and releases the permits
11852
- * when the effect completes.
11853
- *
11854
- * **Details**
11855
- *
11856
- * This function acquires the specified number of permits before executing
11857
- * the provided effect. Once the effect finishes, the permits are released.
11858
- * If insufficient permits are available, the function will wait until they
11859
- * are released by other tasks.
11860
- */
11861
- withPermit<A, E, R>(self: Effect<A, E, R>): Effect<A, E, R>;
11862
- /**
11863
- * Runs an effect only if the specified number of permits are immediately
11864
- * available.
11865
- *
11866
- * **Details**
11867
- *
11868
- * This function attempts to acquire the specified number of permits. If they
11869
- * are available, it runs the effect and releases the permits after the effect
11870
- * completes. If permits are not available, the effect does not execute, and
11871
- * the result is `Option.none`.
11872
- */
11873
- withPermitsIfAvailable(permits: number): <A, E, R>(self: Effect<A, E, R>) => Effect<Option<A>, E, R>;
11874
- /**
11875
- * Acquires the specified number of permits and returns the resulting
11876
- * available permits, suspending the task if they are not yet available.
11877
- * Concurrent pending `take` calls are processed in a first-in, first-out manner.
11878
- */
11879
- take(permits: number): Effect<number>;
11880
- /**
11881
- * Releases the specified number of permits and returns the resulting
11882
- * available permits.
11883
- */
11884
- release(permits: number): Effect<number>;
11885
- /**
11886
- * Releases all permits held by this semaphore and returns the resulting available permits.
11887
- */
11888
- releaseAll: Effect<number>;
11889
- }
11890
- /**
11891
- * Unsafely creates a new Semaphore.
11892
- *
11893
- * @example
11894
- * ```ts
11895
- * import { Effect } from "effect"
11896
- *
11897
- * const semaphore = Effect.makeSemaphoreUnsafe(3)
11898
- *
11899
- * const task = (id: number) =>
11900
- * semaphore.withPermits(1)(
11901
- * Effect.gen(function*() {
11902
- * yield* Effect.log(`Task ${id} started`)
11903
- * yield* Effect.sleep("1 second")
11904
- * yield* Effect.log(`Task ${id} completed`)
11905
- * })
11906
- * )
11907
- *
11908
- * // Only 3 tasks can run concurrently
11909
- * const program = Effect.all([
11910
- * task(1),
11911
- * task(2),
11912
- * task(3),
11913
- * task(4),
11914
- * task(5)
11915
- * ], { concurrency: "unbounded" })
11916
- * ```
11917
- *
11918
- * @since 2.0.0
11919
- * @category Semaphore
11920
- */
11921
- export declare const makeSemaphoreUnsafe: (permits: number) => Semaphore;
11922
- /**
11923
- * Creates a new Semaphore.
11924
- *
11925
- * @example
11926
- * ```ts
11927
- * import { Effect } from "effect"
11928
- *
11929
- * const program = Effect.gen(function*() {
11930
- * const semaphore = yield* Effect.makeSemaphore(2)
11931
- *
11932
- * const task = (id: number) =>
11933
- * semaphore.withPermits(1)(
11934
- * Effect.gen(function*() {
11935
- * yield* Effect.log(`Task ${id} acquired permit`)
11936
- * yield* Effect.sleep("1 second")
11937
- * yield* Effect.log(`Task ${id} releasing permit`)
11938
- * })
11939
- * )
11940
- *
11941
- * // Run 4 tasks, but only 2 can run concurrently
11942
- * yield* Effect.all([task(1), task(2), task(3), task(4)])
11943
- * })
11944
- * ```
11945
- *
11946
- * @since 2.0.0
11947
- * @category Semaphore
11948
- */
11949
- export declare const makeSemaphore: (permits: number) => Effect<Semaphore>;
11950
- /**
11951
- * @category Latch
11952
- * @since 3.8.0
11953
- * @example
11954
- * ```ts
11955
- * import { Effect } from "effect"
11956
- *
11957
- * // Create and use a latch for coordination between fibers
11958
- * const program = Effect.gen(function*() {
11959
- * const latch = yield* Effect.makeLatch()
11960
- *
11961
- * // Wait for the latch to be opened
11962
- * yield* latch.await
11963
- *
11964
- * return "Latch was opened!"
11965
- * })
11966
- * ```
11967
- */
11968
- export interface Latch {
11969
- /** open the latch, releasing all fibers waiting on it */
11970
- readonly open: Effect<boolean>;
11971
- /** open the latch, releasing all fibers waiting on it */
11972
- readonly openUnsafe: () => boolean;
11973
- /** release all fibers waiting on the latch, without opening it */
11974
- readonly release: Effect<boolean>;
11975
- /** wait for the latch to be opened */
11976
- readonly await: Effect<void>;
11977
- /** close the latch */
11978
- readonly close: Effect<boolean>;
11979
- /** close the latch */
11980
- readonly closeUnsafe: () => boolean;
11981
- /** only run the given effect when the latch is open */
11982
- readonly whenOpen: <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
11983
- }
11984
- /**
11985
- * Creates a new Latch.
11986
- *
11987
- * @example
11988
- * ```ts
11989
- * import { Effect } from "effect"
11990
- *
11991
- * const latch = Effect.makeLatchUnsafe(false)
11992
- *
11993
- * const waiter = Effect.gen(function*() {
11994
- * yield* Effect.log("Waiting for latch to open...")
11995
- * yield* latch.await
11996
- * yield* Effect.log("Latch opened! Continuing...")
11997
- * })
11998
- *
11999
- * const opener = Effect.gen(function*() {
12000
- * yield* Effect.sleep("2 seconds")
12001
- * yield* Effect.log("Opening latch...")
12002
- * yield* latch.open
12003
- * })
12004
- *
12005
- * const program = Effect.all([waiter, opener])
12006
- * ```
12007
- *
12008
- * @category Latch
12009
- * @since 3.8.0
12010
- */
12011
- export declare const makeLatchUnsafe: (open?: boolean | undefined) => Latch;
12012
- /**
12013
- * Creates a new Latch.
12014
- *
12015
- * @example
12016
- * ```ts
12017
- * import { Effect } from "effect"
12018
- *
12019
- * const program = Effect.gen(function*() {
12020
- * const latch = yield* Effect.makeLatch(false)
12021
- *
12022
- * const waiter = Effect.gen(function*() {
12023
- * yield* Effect.log("Waiting for latch to open...")
12024
- * yield* latch.await
12025
- * yield* Effect.log("Latch opened! Continuing...")
12026
- * })
12027
- *
12028
- * const opener = Effect.gen(function*() {
12029
- * yield* Effect.sleep("2 seconds")
12030
- * yield* Effect.log("Opening latch...")
12031
- * yield* latch.open
12032
- * })
12033
- *
12034
- * yield* Effect.all([waiter, opener])
12035
- * })
12036
- * ```
12037
- *
12038
- * @category Latch
12039
- * @since 3.8.0
12040
- */
12041
- export declare const makeLatch: (open?: boolean | undefined) => Effect<Latch>;
12042
11977
  /**
12043
11978
  * @since 2.0.0
12044
11979
  * @category Repetition / Recursion