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
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowEngine.js","names":["Effect","Exit","Option","Schedule","Schema","Scope","ServiceMap","Workflow","WorkflowEngine","Service","WorkflowInstance","initial","workflow","executionId","of","scope","makeUnsafe","suspended","interrupted","cause","undefined","activityState","count","latch","makeLatchUnsafe","options","register","fnUntraced","execute","services","payload","suspend","pipe","updateServices","input","merge","self","opts","suspendedRetrySchedule","defaultRetrySchedule","annotateCurrentSpan","result","parentInstance","serviceOption","isSome","instance","value","addFinalizer","_tag","void","interrupt","discard","run","parent","getOrUndefined","wrapActivityResult","exit","sleep","toStepWithSleep","catch","die","name","poll","resume","activityExecute","activity","attempt","orDie","decodeEffect","exitSchema","toJsonExit","Complete","deferredResult","deferred","withSpan","attributes","captureStackTrace","deferredDone","workflowName","deferredName","encodeEffect","_","scheduleClock","clock","exponential","either","spaced","map"],"sources":["../../../src/unstable/workflow/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"WorkflowEngine.js","names":["Effect","Exit","Fiber","FiberMap","Latch","Layer","Option","Schedule","Schema","Scope","ServiceMap","Workflow","WorkflowEngine","Service","WorkflowInstance","initial","workflow","executionId","of","scope","makeUnsafe","suspended","interrupted","cause","undefined","activityState","count","latch","options","register","fnUntraced","execute","services","payload","suspend","pipe","updateServices","input","merge","self","opts","suspendedRetrySchedule","defaultRetrySchedule","annotateCurrentSpan","result","parentInstance","serviceOption","isSome","instance","value","addFinalizer","_tag","void","interrupt","discard","run","parent","getOrUndefined","wrapActivityResult","exit","sleep","toStepWithSleep","catch","die","name","poll","resume","activityExecute","activity","attempt","orDie","decodeEffect","exitSchema","toJsonExit","Complete","deferredResult","deferred","withSpan","attributes","captureStackTrace","deferredDone","workflowName","deferredName","encodeEffect","_","scheduleClock","clock","exponential","either","spaced","layer","effect","gen","workflows","Map","executions","activities","state","get","fiber","pollUnsafe","entry","onExit","withFiber","interruptible","intoResult","provideService","engine","tap","forkIn","deferredResults","clocks","make","set","fail","join","_workflow","activityId","activityInstance","executeEncoded","succeed","id","has","delay","duration","onlyIfMissing","asVoid","map"],"sources":["../../../src/unstable/workflow/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "effect",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.1",
4
+ "version": "4.0.0-beta.11",
5
5
  "license": "MIT",
6
6
  "description": "The missing standard library for TypeScript, for writing production-grade software.",
7
7
  "homepage": "https://effect.website",
@@ -29,12 +29,12 @@
29
29
  "exports": {
30
30
  "./package.json": "./package.json",
31
31
  ".": "./dist/index.js",
32
- "./encoding": "./dist/encoding/index.js",
33
32
  "./testing": "./dist/testing/index.js",
34
33
  "./unstable/ai": "./dist/unstable/ai/index.js",
35
34
  "./unstable/cli": "./dist/unstable/cli/index.js",
36
35
  "./unstable/cluster": "./dist/unstable/cluster/index.js",
37
36
  "./unstable/devtools": "./dist/unstable/devtools/index.js",
37
+ "./unstable/encoding": "./dist/unstable/encoding/index.js",
38
38
  "./unstable/eventlog": "./dist/unstable/eventlog/index.js",
39
39
  "./unstable/http": "./dist/unstable/http/index.js",
40
40
  "./unstable/httpapi": "./dist/unstable/httpapi/index.js",
package/src/Cache.ts CHANGED
@@ -178,7 +178,7 @@ export const makeWith = <
178
178
  >(options: {
179
179
  readonly lookup: (key: Key) => Effect.Effect<A, E, R>
180
180
  readonly capacity: number
181
- readonly timeToLive?: ((exit: Exit.Exit<A, E>, key: Key) => Duration.DurationInput) | undefined
181
+ readonly timeToLive?: ((exit: Exit.Exit<A, E>, key: Key) => Duration.Input) | undefined
182
182
  readonly requireServicesAt?: ServiceMode | undefined
183
183
  }): Effect.Effect<
184
184
  Cache<Key, A, E, "lookup" extends ServiceMode ? R : never>,
@@ -195,7 +195,7 @@ export const makeWith = <
195
195
  self.map = MutableHashMap.make()
196
196
  self.capacity = options.capacity
197
197
  self.timeToLive = options.timeToLive
198
- ? (exit: Exit.Exit<A, E>, key: Key) => Duration.fromDurationInputUnsafe(options.timeToLive!(exit, key))
198
+ ? (exit: Exit.Exit<A, E>, key: Key) => Duration.fromInputUnsafe(options.timeToLive!(exit, key))
199
199
  : defaultTimeToLive
200
200
  return effect.succeed(self as Cache<Key, A, E>)
201
201
  })
@@ -263,7 +263,7 @@ export const make = <
263
263
  options: {
264
264
  readonly lookup: (key: Key) => Effect.Effect<A, E, R>
265
265
  readonly capacity: number
266
- readonly timeToLive?: Duration.DurationInput | undefined
266
+ readonly timeToLive?: Duration.Input | undefined
267
267
  readonly requireServicesAt?: ServiceMode | undefined
268
268
  }
269
269
  ): Effect.Effect<
package/src/Cause.ts CHANGED
@@ -1182,7 +1182,7 @@ export const pretty: <E>(cause: Cause<E>) => string = effect.causePretty
1182
1182
  * @since 2.0.0
1183
1183
  * @category errors
1184
1184
  */
1185
- export interface YieldableError extends Error {
1185
+ export interface YieldableError extends Error, Pipeable {
1186
1186
  [Symbol.iterator](): Effect.EffectIterator<this>
1187
1187
  asEffect(): Effect.Effect<never, this, never>
1188
1188
  }
package/src/Channel.ts CHANGED
@@ -69,8 +69,9 @@ import { constant, constTrue, constVoid, dual, identity as identity_ } from "./F
69
69
  import { ClockRef, endSpan } from "./internal/effect.ts"
70
70
  import { addSpanStackTrace } from "./internal/tracer.ts"
71
71
  import * as Iterable from "./Iterable.ts"
72
+ import * as Latch from "./Latch.ts"
72
73
  import * as Layer from "./Layer.ts"
73
- import type { LogLevel } from "./LogLevel.ts"
74
+ import type { Severity } from "./LogLevel.ts"
74
75
  import * as Option from "./Option.ts"
75
76
  import type { Pipeable } from "./Pipeable.ts"
76
77
  import { pipeArguments } from "./Pipeable.ts"
@@ -83,6 +84,7 @@ import { TracerTimingEnabled } from "./References.ts"
83
84
  import * as Result from "./Result.ts"
84
85
  import * as Schedule from "./Schedule.ts"
85
86
  import * as Scope from "./Scope.ts"
87
+ import * as Semaphore from "./Semaphore.ts"
86
88
  import * as ServiceMap from "./ServiceMap.ts"
87
89
  import * as String from "./String.ts"
88
90
  import * as Take from "./Take.ts"
@@ -2084,7 +2086,7 @@ const mapEffectConcurrent = <
2084
2086
  const trackFiber = Fiber.runIn(forkedScope)
2085
2087
 
2086
2088
  if (options.unordered) {
2087
- const semaphore = Effect.makeSemaphoreUnsafe(concurrencyN)
2089
+ const semaphore = Semaphore.makeUnsafe(concurrencyN)
2088
2090
  const release = constant(semaphore.release(1))
2089
2091
  const handle = Effect.matchCauseEffect({
2090
2092
  onFailure: (cause: Cause.Cause<EX>) => Effect.flatMap(Queue.failCause(queue, cause), release),
@@ -6112,14 +6114,14 @@ export const orDie = <
6112
6114
  */
6113
6115
  export const ignore: <
6114
6116
  Arg extends Channel<any, any, any, any, any, any, any> | {
6115
- readonly log?: boolean | LogLevel | undefined
6117
+ readonly log?: boolean | Severity | undefined
6116
6118
  } | undefined = {
6117
- readonly log?: boolean | LogLevel | undefined
6119
+ readonly log?: boolean | Severity | undefined
6118
6120
  }
6119
6121
  >(
6120
6122
  selfOrOptions: Arg,
6121
6123
  options?: {
6122
- readonly log?: boolean | LogLevel | undefined
6124
+ readonly log?: boolean | Severity | undefined
6123
6125
  } | undefined
6124
6126
  ) => [Arg] extends
6125
6127
  [Channel<infer OutElem, infer _OutErr, infer OutDone, infer InElem, infer InErr, infer InDone, infer Env>]
@@ -6131,7 +6133,7 @@ export const ignore: <
6131
6133
  <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>(
6132
6134
  self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
6133
6135
  options?: {
6134
- readonly log?: boolean | LogLevel | undefined
6136
+ readonly log?: boolean | Severity | undefined
6135
6137
  } | undefined
6136
6138
  ): Channel<OutElem, never, OutDone | void, InElem, InErr, InDone, Env> => {
6137
6139
  if (!options?.log) {
@@ -6167,14 +6169,14 @@ const ignoreCause_ = <
6167
6169
  */
6168
6170
  export const ignoreCause: <
6169
6171
  Arg extends Channel<any, any, any, any, any, any, any> | {
6170
- readonly log?: boolean | LogLevel | undefined
6172
+ readonly log?: boolean | Severity | undefined
6171
6173
  } | undefined = {
6172
- readonly log?: boolean | LogLevel | undefined
6174
+ readonly log?: boolean | Severity | undefined
6173
6175
  }
6174
6176
  >(
6175
6177
  selfOrOptions: Arg,
6176
6178
  options?: {
6177
- readonly log?: boolean | LogLevel | undefined
6179
+ readonly log?: boolean | Severity | undefined
6178
6180
  } | undefined
6179
6181
  ) => [Arg] extends
6180
6182
  [Channel<infer OutElem, infer _OutErr, infer OutDone, infer InElem, infer InErr, infer InDone, infer Env>]
@@ -6185,7 +6187,7 @@ export const ignoreCause: <
6185
6187
  (args) => isChannel(args[0]),
6186
6188
  <OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>(
6187
6189
  self: Channel<OutElem, OutErr, OutDone, InElem, InErr, InDone, Env>,
6188
- options?: { readonly log?: boolean | LogLevel | undefined } | undefined
6190
+ options?: { readonly log?: boolean | Severity | undefined } | undefined
6189
6191
  ): Channel<OutElem, never, OutDone | void, InElem, InErr, InDone, Env> => {
6190
6192
  if (!options?.log) return ignoreCause_(self)
6191
6193
  const logEffect = Effect.logWithLevel(options.log === true ? undefined : options.log)
@@ -6631,8 +6633,8 @@ export const mergeAll: {
6631
6633
  const concurrencyN = concurrency === "unbounded"
6632
6634
  ? Number.MAX_SAFE_INTEGER
6633
6635
  : Math.max(1, concurrency)
6634
- const semaphore = switch_ ? undefined : Effect.makeSemaphoreUnsafe(concurrencyN)
6635
- const doneLatch = yield* Effect.makeLatch(true)
6636
+ const semaphore = switch_ ? undefined : Semaphore.makeUnsafe(concurrencyN)
6637
+ const doneLatch = yield* Latch.make(true)
6636
6638
  const fibers = new Set<Fiber.Fiber<any, any>>()
6637
6639
 
6638
6640
  const queue = yield* Queue.bounded</**
@@ -9085,7 +9087,7 @@ export const toPull: <OutElem, OutErr, OutDone, Env>(
9085
9087
  function*<OutElem, OutErr, OutDone, Env>(
9086
9088
  self: Channel<OutElem, OutErr, OutDone, unknown, unknown, unknown, Env>
9087
9089
  ) {
9088
- const semaphore = Effect.makeSemaphoreUnsafe(1)
9090
+ const semaphore = Semaphore.makeUnsafe(1)
9089
9091
  const context = yield* Effect.services<Env | Scope.Scope>()
9090
9092
  const scope = ServiceMap.get(context, Scope.Scope)
9091
9093
  const pull = yield* toTransform(self)(Cause.done(), scope)
package/src/Combiner.ts CHANGED
@@ -1,16 +1,92 @@
1
1
  /**
2
+ * A module for combining two values of the same type into one.
3
+ *
4
+ * A `Combiner<A>` wraps a single binary function `(self: A, that: A) => A`.
5
+ * It describes *how* two values merge but carries no initial/empty value
6
+ * (for that, see {@link Reducer} which extends `Combiner` with an
7
+ * `initialValue`).
8
+ *
9
+ * ## Mental model
10
+ *
11
+ * - **Combiner** – an object with a `combine(self, that)` method that returns
12
+ * a value of the same type.
13
+ * - **Argument order** – `self` is the "left" / accumulator side, `that` is
14
+ * the "right" / incoming side.
15
+ * - **No identity element** – unlike a monoid, a `Combiner` does not require
16
+ * a neutral element. Use {@link Reducer} when you need one.
17
+ * - **Purity** – all combiners produced by this module are pure; they never
18
+ * mutate their arguments.
19
+ * - **Composability** – combiners can be lifted into `Option`, `Struct`,
20
+ * `Tuple`, and other container types via helpers in those modules.
21
+ *
22
+ * ## Common tasks
23
+ *
24
+ * - Create a combiner from any binary function → {@link make}
25
+ * - Swap argument order → {@link flip}
26
+ * - Pick the smaller / larger of two values → {@link min} / {@link max}
27
+ * - Always keep the first or last value → {@link first} / {@link last}
28
+ * - Ignore both values and return a fixed result → {@link constant}
29
+ * - Insert a separator between combined values → {@link intercalate}
30
+ *
31
+ * ## Gotchas
32
+ *
33
+ * - `min` and `max` require an `Order<A>`, not a raw comparator. Import from
34
+ * e.g. `Number.Order` or `String.Order`.
35
+ * - `intercalate` is curried: call it with the separator first, then pass the
36
+ * base combiner.
37
+ * - A `Reducer` (which adds `initialValue`) is also a valid `Combiner` — you
38
+ * can pass a `Reducer` anywhere a `Combiner` is expected.
39
+ *
40
+ * ## Quickstart
41
+ *
42
+ * **Example** (combining strings with a separator)
43
+ *
44
+ * ```ts
45
+ * import { Combiner, String } from "effect"
46
+ *
47
+ * const csv = Combiner.intercalate(",")(String.ReducerConcat)
48
+ *
49
+ * console.log(csv.combine("a", "b"))
50
+ * // Output: "a,b"
51
+ *
52
+ * console.log(csv.combine(csv.combine("a", "b"), "c"))
53
+ * // Output: "a,b,c"
54
+ * ```
55
+ *
56
+ * ## See also
57
+ *
58
+ * - {@link make} – the primary constructor
59
+ * - {@link Combiner} – the core interface
60
+ *
2
61
  * @since 4.0.0
3
62
  */
4
63
  import type * as Order from "./Order.ts"
5
64
 
6
65
  /**
7
- * A `Combiner` represents any type of value that can be combined
8
- * with another value of the same type to produce a new value.
66
+ * Represents a strategy for combining two values of the same type `A`.
67
+ *
68
+ * A `Combiner` contains a single `combine` method that takes two values and
69
+ * returns a merged result. It does not include an identity/empty value; use
70
+ * `Reducer` when you need one.
71
+ *
72
+ * When to use:
73
+ * - You need to describe how two values of the same type merge.
74
+ * - You want to pass a reusable combining strategy to library functions like
75
+ * `Struct.makeCombiner` or `Option.makeCombinerFailFast`.
76
+ * - You are building a `Reducer` and need to define the combining step first.
77
+ *
78
+ * **Example** (number addition combiner)
79
+ *
80
+ * ```ts
81
+ * import { Combiner } from "effect"
82
+ *
83
+ * const Sum = Combiner.make<number>((self, that) => self + that)
9
84
  *
10
- * Examples:
11
- * - numbers with addition
12
- * - strings with concatenation
13
- * - arrays with merging
85
+ * console.log(Sum.combine(3, 4))
86
+ * // Output: 7
87
+ * ```
88
+ *
89
+ * @see {@link make} – create a `Combiner` from a function
14
90
  *
15
91
  * @category model
16
92
  * @since 4.0.0
@@ -23,7 +99,29 @@ export interface Combiner<A> {
23
99
  }
24
100
 
25
101
  /**
26
- * Creates a `Combiner` from a `combine` function.
102
+ * Creates a `Combiner` from a binary function.
103
+ *
104
+ * When to use:
105
+ * - You have a custom combining operation that is not covered by the built-in
106
+ * constructors (`min`, `max`, `first`, `last`, `constant`).
107
+ *
108
+ * Behavior:
109
+ * - Returns a new `Combiner` whose `combine` method delegates to the provided
110
+ * function.
111
+ * - Pure – the returned combiner does not mutate its arguments.
112
+ *
113
+ * **Example** (multiplying numbers)
114
+ *
115
+ * ```ts
116
+ * import { Combiner } from "effect"
117
+ *
118
+ * const Product = Combiner.make<number>((self, that) => self * that)
119
+ *
120
+ * console.log(Product.combine(3, 5))
121
+ * // Output: 15
122
+ * ```
123
+ *
124
+ * @see {@link Combiner} – the interface this creates
27
125
  *
28
126
  * @since 4.0.0
29
127
  */
@@ -32,6 +130,31 @@ export function make<A>(combine: (self: A, that: A) => A): Combiner<A> {
32
130
  }
33
131
 
34
132
  /**
133
+ * Reverses the argument order of a combiner's `combine` method.
134
+ *
135
+ * When to use:
136
+ * - You need the "right" value to act as the accumulator side.
137
+ * - You want to reverse the natural direction of a non-commutative combiner
138
+ * (e.g. string concatenation).
139
+ *
140
+ * Behavior:
141
+ * - Returns a new `Combiner` where `combine(self, that)` calls the original
142
+ * combiner as `combine(that, self)`.
143
+ * - Does not mutate the input combiner.
144
+ *
145
+ * **Example** (reversing string concatenation)
146
+ *
147
+ * ```ts
148
+ * import { Combiner, String } from "effect"
149
+ *
150
+ * const Prepend = Combiner.flip(String.ReducerConcat)
151
+ *
152
+ * console.log(Prepend.combine("a", "b"))
153
+ * // Output: "ba"
154
+ * ```
155
+ *
156
+ * @see {@link make}
157
+ *
35
158
  * @since 4.0.0
36
159
  */
37
160
  export function flip<A>(combiner: Combiner<A>): Combiner<A> {
@@ -39,7 +162,33 @@ export function flip<A>(combiner: Combiner<A>): Combiner<A> {
39
162
  }
40
163
 
41
164
  /**
42
- * Creates a `Combiner` that returns the smaller of two values.
165
+ * Creates a `Combiner` that returns the smaller of two values according to
166
+ * the provided `Order`.
167
+ *
168
+ * When to use:
169
+ * - You want to accumulate the minimum value across a collection.
170
+ * - You are building a `Reducer` that tracks the running minimum.
171
+ *
172
+ * Behavior:
173
+ * - Compares using the given `Order`. When values are equal, returns `that`
174
+ * (the second argument).
175
+ * - Pure – does not mutate either argument.
176
+ *
177
+ * **Example** (minimum of two numbers)
178
+ *
179
+ * ```ts
180
+ * import { Combiner, Number } from "effect"
181
+ *
182
+ * const Min = Combiner.min(Number.Order)
183
+ *
184
+ * console.log(Min.combine(3, 1))
185
+ * // Output: 1
186
+ *
187
+ * console.log(Min.combine(1, 3))
188
+ * // Output: 1
189
+ * ```
190
+ *
191
+ * @see {@link max}
43
192
  *
44
193
  * @since 4.0.0
45
194
  */
@@ -48,7 +197,33 @@ export function min<A>(order: Order.Order<A>): Combiner<A> {
48
197
  }
49
198
 
50
199
  /**
51
- * Creates a `Combiner` that returns the larger of two values.
200
+ * Creates a `Combiner` that returns the larger of two values according to
201
+ * the provided `Order`.
202
+ *
203
+ * When to use:
204
+ * - You want to accumulate the maximum value across a collection.
205
+ * - You are building a `Reducer` that tracks the running maximum.
206
+ *
207
+ * Behavior:
208
+ * - Compares using the given `Order`. When values are equal, returns `that`
209
+ * (the second argument).
210
+ * - Pure – does not mutate either argument.
211
+ *
212
+ * **Example** (maximum of two numbers)
213
+ *
214
+ * ```ts
215
+ * import { Combiner, Number } from "effect"
216
+ *
217
+ * const Max = Combiner.max(Number.Order)
218
+ *
219
+ * console.log(Max.combine(3, 1))
220
+ * // Output: 3
221
+ *
222
+ * console.log(Max.combine(1, 3))
223
+ * // Output: 3
224
+ * ```
225
+ *
226
+ * @see {@link min}
52
227
  *
53
228
  * @since 4.0.0
54
229
  */
@@ -57,7 +232,29 @@ export function max<A>(order: Order.Order<A>): Combiner<A> {
57
232
  }
58
233
 
59
234
  /**
60
- * Creates a `Combiner` that returns the first value.
235
+ * Creates a `Combiner` that always returns the first (left) argument.
236
+ *
237
+ * When to use:
238
+ * - You want "first write wins" semantics when merging values.
239
+ * - You need a combiner but the combining logic should be a no-op that keeps
240
+ * the existing value.
241
+ *
242
+ * Behavior:
243
+ * - `combine(self, that)` returns `self`, ignoring `that`.
244
+ * - Pure – the second argument is discarded, not mutated.
245
+ *
246
+ * **Example** (keeping the first value)
247
+ *
248
+ * ```ts
249
+ * import { Combiner } from "effect"
250
+ *
251
+ * const First = Combiner.first<number>()
252
+ *
253
+ * console.log(First.combine(1, 2))
254
+ * // Output: 1
255
+ * ```
256
+ *
257
+ * @see {@link last}
61
258
  *
62
259
  * @since 4.0.0
63
260
  */
@@ -66,7 +263,28 @@ export function first<A>(): Combiner<A> {
66
263
  }
67
264
 
68
265
  /**
69
- * Creates a `Combiner` that returns the last value.
266
+ * Creates a `Combiner` that always returns the last (right) argument.
267
+ *
268
+ * When to use:
269
+ * - You want "last write wins" semantics when merging values.
270
+ * - You need a combiner that replaces the accumulator with each new value.
271
+ *
272
+ * Behavior:
273
+ * - `combine(self, that)` returns `that`, ignoring `self`.
274
+ * - Pure – the first argument is discarded, not mutated.
275
+ *
276
+ * **Example** (keeping the last value)
277
+ *
278
+ * ```ts
279
+ * import { Combiner } from "effect"
280
+ *
281
+ * const Last = Combiner.last<number>()
282
+ *
283
+ * console.log(Last.combine(1, 2))
284
+ * // Output: 2
285
+ * ```
286
+ *
287
+ * @see {@link first}
70
288
  *
71
289
  * @since 4.0.0
72
290
  */
@@ -75,7 +293,31 @@ export function last<A>(): Combiner<A> {
75
293
  }
76
294
 
77
295
  /**
78
- * Creates a `Combiner` that returns a constant value.
296
+ * Creates a `Combiner` that ignores both arguments and always returns the
297
+ * given constant value.
298
+ *
299
+ * When to use:
300
+ * - You need a combiner that produces a fixed result regardless of input.
301
+ * - You are providing a combiner to a generic API but the combined value is
302
+ * predetermined.
303
+ *
304
+ * Behavior:
305
+ * - `combine(self, that)` returns the constant `a`, ignoring both arguments.
306
+ * - Pure – no mutation occurs.
307
+ *
308
+ * **Example** (always returning zero)
309
+ *
310
+ * ```ts
311
+ * import { Combiner } from "effect"
312
+ *
313
+ * const Zero = Combiner.constant(0)
314
+ *
315
+ * console.log(Zero.combine(42, 99))
316
+ * // Output: 0
317
+ * ```
318
+ *
319
+ * @see {@link first}
320
+ * @see {@link last}
79
321
  *
80
322
  * @since 4.0.0
81
323
  */
@@ -84,7 +326,32 @@ export function constant<A>(a: A): Combiner<A> {
84
326
  }
85
327
 
86
328
  /**
87
- * Between each pair of elements insert `middle`.
329
+ * Wraps a `Combiner` so that a separator value is inserted between every
330
+ * pair of combined elements.
331
+ *
332
+ * When to use:
333
+ * - You are building delimited strings (CSV, paths, etc.) by repeated
334
+ * combination.
335
+ * - You need to inject a fixed separator between accumulated values.
336
+ *
337
+ * Behavior:
338
+ * - `intercalate(middle)(combiner).combine(self, that)` is equivalent to
339
+ * `combiner.combine(self, combiner.combine(middle, that))`.
340
+ * - Curried: first provide the separator, then the base combiner.
341
+ * - Does not mutate the input combiner; returns a new one.
342
+ *
343
+ * **Example** (joining strings with a separator)
344
+ *
345
+ * ```ts
346
+ * import { Combiner, String } from "effect"
347
+ *
348
+ * const commaSep = Combiner.intercalate(",")(String.ReducerConcat)
349
+ *
350
+ * console.log(commaSep.combine("a", "b"))
351
+ * // Output: "a,b"
352
+ * ```
353
+ *
354
+ * @see {@link make}
88
355
  *
89
356
  * @since 4.0.0
90
357
  */
package/src/Config.ts CHANGED
@@ -938,7 +938,7 @@ export const Boolean = Schema.Literals([...TrueValues.literals, ...FalseValues.l
938
938
  * - Pass to {@link schema} for custom paths, or use the {@link duration}
939
939
  * convenience constructor.
940
940
  *
941
- * Accepts any string that `Duration.fromDurationInput` can parse (e.g.
941
+ * Accepts any string that `Duration.fromInput` can parse (e.g.
942
942
  * `"10 seconds"`, `"500 millis"`).
943
943
  *
944
944
  * @see {@link duration} – convenience constructor
@@ -948,7 +948,7 @@ export const Boolean = Schema.Literals([...TrueValues.literals, ...FalseValues.l
948
948
  */
949
949
  export const Duration = Schema.String.pipe(Schema.decodeTo(Schema.Duration, {
950
950
  decode: Getter.transformOrFail((s) => {
951
- const d = Duration_.fromDurationInput(s as any)
951
+ const d = Duration_.fromInput(s as any)
952
952
  return d ? Effect.succeed(d) : Effect.fail(new Issue.InvalidValue(Option.some(s)))
953
953
  }),
954
954
  encode: Getter.forbidden(() => "Encoding Duration is not supported")
@@ -1235,7 +1235,7 @@ export function boolean(name?: string) {
1235
1235
  *
1236
1236
  * Shortcut for `Config.schema(Config.Duration, name)`.
1237
1237
  *
1238
- * Accepts any string that `Duration.fromDurationInput` can parse (e.g.
1238
+ * Accepts any string that `Duration.fromInput` can parse (e.g.
1239
1239
  * `"10 seconds"`, `"500 millis"`, `"2 minutes"`).
1240
1240
  *
1241
1241
  * **Example** (Reading a duration)