effect 4.0.0-beta.6 → 4.0.0-beta.8

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 (283) 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/Combiner.d.ts +280 -13
  6. package/dist/Combiner.d.ts.map +1 -1
  7. package/dist/Combiner.js +198 -7
  8. package/dist/Combiner.js.map +1 -1
  9. package/dist/Config.d.ts +2 -2
  10. package/dist/Config.js +3 -3
  11. package/dist/Config.js.map +1 -1
  12. package/dist/DateTime.d.ts +23 -161
  13. package/dist/DateTime.d.ts.map +1 -1
  14. package/dist/DateTime.js +6 -51
  15. package/dist/DateTime.js.map +1 -1
  16. package/dist/Duration.d.ts +12 -12
  17. package/dist/Duration.d.ts.map +1 -1
  18. package/dist/Duration.js +12 -12
  19. package/dist/Duration.js.map +1 -1
  20. package/dist/Effect.d.ts +13 -13
  21. package/dist/Effect.d.ts.map +1 -1
  22. package/dist/Effect.js +1 -1
  23. package/dist/Effect.js.map +1 -1
  24. package/dist/Formatter.d.ts +131 -47
  25. package/dist/Formatter.d.ts.map +1 -1
  26. package/dist/Formatter.js +228 -50
  27. package/dist/Formatter.js.map +1 -1
  28. package/dist/JsonSchema.d.ts +299 -10
  29. package/dist/JsonSchema.d.ts.map +1 -1
  30. package/dist/JsonSchema.js +323 -4
  31. package/dist/JsonSchema.js.map +1 -1
  32. package/dist/LayerMap.d.ts +4 -4
  33. package/dist/LayerMap.d.ts.map +1 -1
  34. package/dist/LogLevel.d.ts +27 -0
  35. package/dist/LogLevel.d.ts.map +1 -1
  36. package/dist/LogLevel.js +28 -100
  37. package/dist/LogLevel.js.map +1 -1
  38. package/dist/Logger.d.ts +4 -4
  39. package/dist/Logger.d.ts.map +1 -1
  40. package/dist/Metric.d.ts +2 -2
  41. package/dist/Metric.d.ts.map +1 -1
  42. package/dist/Metric.js +1 -1
  43. package/dist/Metric.js.map +1 -1
  44. package/dist/Pool.d.ts +1 -1
  45. package/dist/Pool.d.ts.map +1 -1
  46. package/dist/Pool.js +1 -1
  47. package/dist/Pool.js.map +1 -1
  48. package/dist/Random.d.ts +1 -1
  49. package/dist/Random.d.ts.map +1 -1
  50. package/dist/Random.js +3 -12
  51. package/dist/Random.js.map +1 -1
  52. package/dist/RcMap.d.ts +2 -2
  53. package/dist/RcMap.d.ts.map +1 -1
  54. package/dist/RcMap.js +1 -1
  55. package/dist/RcMap.js.map +1 -1
  56. package/dist/RcRef.d.ts +1 -1
  57. package/dist/RcRef.d.ts.map +1 -1
  58. package/dist/Reducer.d.ts +166 -7
  59. package/dist/Reducer.d.ts.map +1 -1
  60. package/dist/Reducer.js +135 -1
  61. package/dist/Reducer.js.map +1 -1
  62. package/dist/RequestResolver.d.ts +6 -6
  63. package/dist/RequestResolver.d.ts.map +1 -1
  64. package/dist/RequestResolver.js.map +1 -1
  65. package/dist/Schedule.d.ts +20 -11
  66. package/dist/Schedule.d.ts.map +1 -1
  67. package/dist/Schedule.js +23 -9
  68. package/dist/Schedule.js.map +1 -1
  69. package/dist/Schema.d.ts +4 -4
  70. package/dist/Schema.d.ts.map +1 -1
  71. package/dist/ScopedCache.d.ts +2 -2
  72. package/dist/ScopedCache.d.ts.map +1 -1
  73. package/dist/ScopedCache.js +1 -1
  74. package/dist/ScopedCache.js.map +1 -1
  75. package/dist/Stream.d.ts +19 -19
  76. package/dist/Stream.d.ts.map +1 -1
  77. package/dist/Stream.js +3 -3
  78. package/dist/Stream.js.map +1 -1
  79. package/dist/index.d.ts +258 -0
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +258 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/internal/dateTime.js +3 -11
  84. package/dist/internal/dateTime.js.map +1 -1
  85. package/dist/internal/effect.js +2 -2
  86. package/dist/internal/effect.js.map +1 -1
  87. package/dist/internal/random.d.ts +2 -0
  88. package/dist/internal/random.d.ts.map +1 -0
  89. package/dist/internal/random.js +13 -0
  90. package/dist/internal/random.js.map +1 -0
  91. package/dist/internal/rcRef.js +1 -1
  92. package/dist/internal/rcRef.js.map +1 -1
  93. package/dist/testing/TestClock.d.ts +4 -4
  94. package/dist/testing/TestClock.d.ts.map +1 -1
  95. package/dist/testing/TestClock.js +1 -1
  96. package/dist/testing/TestClock.js.map +1 -1
  97. package/dist/testing/TestSchema.d.ts +6 -6
  98. package/dist/testing/TestSchema.d.ts.map +1 -1
  99. package/dist/unstable/ai/AiError.d.ts +10 -10
  100. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  101. package/dist/unstable/ai/Chat.d.ts +3 -3
  102. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  103. package/dist/unstable/ai/Chat.js +2 -2
  104. package/dist/unstable/ai/Chat.js.map +1 -1
  105. package/dist/unstable/ai/LanguageModel.d.ts +2 -2
  106. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  107. package/dist/unstable/ai/McpServer.d.ts +1 -1
  108. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  109. package/dist/unstable/ai/McpServer.js.map +1 -1
  110. package/dist/unstable/ai/Prompt.d.ts +17 -17
  111. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  112. package/dist/unstable/ai/Response.d.ts +23 -23
  113. package/dist/unstable/ai/Response.d.ts.map +1 -1
  114. package/dist/unstable/ai/Response.js +1 -1
  115. package/dist/unstable/ai/Response.js.map +1 -1
  116. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  117. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  118. package/dist/unstable/cluster/ClusterCron.js +1 -1
  119. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  120. package/dist/unstable/cluster/Entity.d.ts +3 -3
  121. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  122. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  123. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  124. package/dist/unstable/cluster/K8sHttpClient.js +1 -1
  125. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  126. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  127. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  128. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  129. package/dist/unstable/cluster/Sharding.js +1 -1
  130. package/dist/unstable/cluster/Sharding.js.map +1 -1
  131. package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
  132. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  133. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  134. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  135. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  136. package/dist/unstable/cluster/internal/entityManager.js +1 -1
  137. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  138. package/dist/unstable/encoding/Sse.d.ts +2 -2
  139. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  140. package/dist/unstable/encoding/Sse.js.map +1 -1
  141. package/dist/unstable/http/Cookies.d.ts +1 -1
  142. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  143. package/dist/unstable/http/Cookies.js +2 -2
  144. package/dist/unstable/http/Cookies.js.map +1 -1
  145. package/dist/unstable/http/HttpClient.d.ts +4 -4
  146. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  147. package/dist/unstable/http/HttpClientRequest.d.ts +11 -11
  148. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  149. package/dist/unstable/http/HttpClientRequest.js +8 -1
  150. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  151. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  152. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  153. package/dist/unstable/http/HttpMethod.js +3 -3
  154. package/dist/unstable/http/HttpMethod.js.map +1 -1
  155. package/dist/unstable/observability/Otlp.d.ts +12 -12
  156. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  157. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  158. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  159. package/dist/unstable/observability/OtlpExporter.js +1 -1
  160. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  161. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  162. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  163. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  164. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  165. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  166. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  167. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  168. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  169. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  170. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  171. package/dist/unstable/persistence/PersistedQueue.js +6 -6
  172. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  173. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  174. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  175. package/dist/unstable/persistence/Persistence.js +2 -2
  176. package/dist/unstable/persistence/Persistence.js.map +1 -1
  177. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  178. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  179. package/dist/unstable/persistence/RateLimiter.js +1 -1
  180. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  181. package/dist/unstable/process/ChildProcess.d.ts +2 -2
  182. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  183. package/dist/unstable/reactivity/Atom.d.ts +6 -6
  184. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  185. package/dist/unstable/reactivity/Atom.js +3 -3
  186. package/dist/unstable/reactivity/Atom.js.map +1 -1
  187. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  188. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  189. package/dist/unstable/reactivity/AtomHttpApi.js +1 -1
  190. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  191. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  192. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  193. package/dist/unstable/reactivity/AtomRpc.js +1 -1
  194. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  195. package/dist/unstable/rpc/Rpc.d.ts +2 -2
  196. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  197. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  198. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  199. package/dist/unstable/rpc/RpcClient.js +3 -11
  200. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  201. package/dist/unstable/socket/Socket.d.ts +4 -4
  202. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  203. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  204. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  205. package/dist/unstable/sql/SqlModel.js +3 -3
  206. package/dist/unstable/sql/SqlModel.js.map +1 -1
  207. package/dist/unstable/sql/SqlSchema.d.ts +16 -5
  208. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  209. package/dist/unstable/sql/SqlSchema.js +17 -7
  210. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  211. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  212. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  213. package/dist/unstable/workflow/DurableClock.js +3 -3
  214. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  215. package/package.json +1 -1
  216. package/src/Cache.ts +3 -3
  217. package/src/Combiner.ts +280 -13
  218. package/src/Config.ts +3 -3
  219. package/src/DateTime.ts +24 -164
  220. package/src/Duration.ts +15 -15
  221. package/src/Effect.ts +15 -15
  222. package/src/Formatter.ts +252 -50
  223. package/src/JsonSchema.ts +383 -10
  224. package/src/LayerMap.ts +5 -5
  225. package/src/LogLevel.ts +31 -0
  226. package/src/Logger.ts +5 -5
  227. package/src/Metric.ts +4 -4
  228. package/src/Pool.ts +4 -4
  229. package/src/Random.ts +5 -14
  230. package/src/RcMap.ts +5 -5
  231. package/src/RcRef.ts +1 -1
  232. package/src/Reducer.ts +166 -7
  233. package/src/RequestResolver.ts +9 -9
  234. package/src/Schedule.ts +44 -25
  235. package/src/Schema.ts +4 -4
  236. package/src/ScopedCache.ts +3 -3
  237. package/src/Stream.ts +34 -34
  238. package/src/index.ts +258 -0
  239. package/src/internal/dateTime.ts +9 -30
  240. package/src/internal/effect.ts +21 -21
  241. package/src/internal/random.ts +20 -0
  242. package/src/internal/rcRef.ts +2 -2
  243. package/src/testing/TestClock.ts +5 -5
  244. package/src/testing/TestSchema.ts +8 -8
  245. package/src/unstable/ai/AiError.ts +1 -1
  246. package/src/unstable/ai/Chat.ts +10 -10
  247. package/src/unstable/ai/LanguageModel.ts +3 -3
  248. package/src/unstable/ai/McpServer.ts +2 -2
  249. package/src/unstable/ai/Prompt.ts +17 -17
  250. package/src/unstable/ai/Response.ts +23 -23
  251. package/src/unstable/cluster/ClusterCron.ts +2 -2
  252. package/src/unstable/cluster/Entity.ts +5 -5
  253. package/src/unstable/cluster/EntityResource.ts +4 -4
  254. package/src/unstable/cluster/K8sHttpClient.ts +1 -1
  255. package/src/unstable/cluster/MessageStorage.ts +1 -4
  256. package/src/unstable/cluster/Sharding.ts +3 -3
  257. package/src/unstable/cluster/ShardingConfig.ts +10 -11
  258. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  259. package/src/unstable/cluster/internal/entityManager.ts +3 -3
  260. package/src/unstable/encoding/Sse.ts +2 -4
  261. package/src/unstable/http/Cookies.ts +3 -3
  262. package/src/unstable/http/HttpClient.ts +4 -4
  263. package/src/unstable/http/HttpClientRequest.ts +15 -11
  264. package/src/unstable/http/HttpMethod.ts +16 -4
  265. package/src/unstable/observability/Otlp.ts +12 -12
  266. package/src/unstable/observability/OtlpExporter.ts +3 -3
  267. package/src/unstable/observability/OtlpLogger.ts +4 -4
  268. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  269. package/src/unstable/observability/OtlpTracer.ts +4 -4
  270. package/src/unstable/persistence/Persistable.ts +2 -2
  271. package/src/unstable/persistence/PersistedQueue.ts +18 -18
  272. package/src/unstable/persistence/Persistence.ts +3 -3
  273. package/src/unstable/persistence/RateLimiter.ts +4 -4
  274. package/src/unstable/process/ChildProcess.ts +2 -2
  275. package/src/unstable/reactivity/Atom.ts +13 -13
  276. package/src/unstable/reactivity/AtomHttpApi.ts +3 -3
  277. package/src/unstable/reactivity/AtomRpc.ts +3 -3
  278. package/src/unstable/rpc/Rpc.ts +3 -3
  279. package/src/unstable/rpc/RpcClient.ts +8 -51
  280. package/src/unstable/socket/Socket.ts +4 -4
  281. package/src/unstable/sql/SqlModel.ts +5 -5
  282. package/src/unstable/sql/SqlSchema.ts +41 -25
  283. package/src/unstable/workflow/DurableClock.ts +8 -8
@@ -28,13 +28,13 @@ export const layer = (options: {
28
28
  readonly headers?: Headers.Input | undefined
29
29
  readonly maxBatchSize?: number | undefined
30
30
  readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
31
- readonly loggerExportInterval?: Duration.DurationInput | undefined
31
+ readonly loggerExportInterval?: Duration.Input | undefined
32
32
  readonly loggerExcludeLogSpans?: boolean | undefined
33
33
  readonly loggerMergeWithExisting?: boolean | undefined
34
- readonly metricsExportInterval?: Duration.DurationInput | undefined
34
+ readonly metricsExportInterval?: Duration.Input | undefined
35
35
  readonly metricsTemporality?: AggregationTemporality | undefined
36
- readonly tracerExportInterval?: Duration.DurationInput | undefined
37
- readonly shutdownTimeout?: Duration.DurationInput | undefined
36
+ readonly tracerExportInterval?: Duration.Input | undefined
37
+ readonly shutdownTimeout?: Duration.Input | undefined
38
38
  }): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization.OtlpSerialization> => {
39
39
  const base = HttpClientRequest.get(options.baseUrl)
40
40
  const url = (path: string) => HttpClientRequest.appendUrl(base, path).url
@@ -83,13 +83,13 @@ export const layerJson: (options: {
83
83
  readonly headers?: Headers.Input | undefined
84
84
  readonly maxBatchSize?: number | undefined
85
85
  readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
86
- readonly loggerExportInterval?: Duration.DurationInput | undefined
86
+ readonly loggerExportInterval?: Duration.Input | undefined
87
87
  readonly loggerExcludeLogSpans?: boolean | undefined
88
88
  readonly loggerMergeWithExisting?: boolean | undefined
89
- readonly metricsExportInterval?: Duration.DurationInput | undefined
89
+ readonly metricsExportInterval?: Duration.Input | undefined
90
90
  readonly metricsTemporality?: AggregationTemporality | undefined
91
- readonly tracerExportInterval?: Duration.DurationInput | undefined
92
- readonly shutdownTimeout?: Duration.DurationInput | undefined
91
+ readonly tracerExportInterval?: Duration.Input | undefined
92
+ readonly shutdownTimeout?: Duration.Input | undefined
93
93
  }) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerJson))
94
94
 
95
95
  /**
@@ -106,11 +106,11 @@ export const layerProtobuf: (options: {
106
106
  readonly headers?: Headers.Input | undefined
107
107
  readonly maxBatchSize?: number | undefined
108
108
  readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
109
- readonly loggerExportInterval?: Duration.DurationInput | undefined
109
+ readonly loggerExportInterval?: Duration.Input | undefined
110
110
  readonly loggerExcludeLogSpans?: boolean | undefined
111
111
  readonly loggerMergeWithExisting?: boolean | undefined
112
- readonly metricsExportInterval?: Duration.DurationInput | undefined
112
+ readonly metricsExportInterval?: Duration.Input | undefined
113
113
  readonly metricsTemporality?: AggregationTemporality | undefined
114
- readonly tracerExportInterval?: Duration.DurationInput | undefined
115
- readonly shutdownTimeout?: Duration.DurationInput | undefined
114
+ readonly tracerExportInterval?: Duration.Input | undefined
115
+ readonly shutdownTimeout?: Duration.Input | undefined
116
116
  }) => Layer.Layer<never, never, HttpClient.HttpClient> = flow(layer, Layer.provide(OtlpSerialization.layerProtobuf))
@@ -40,10 +40,10 @@ export const make: (
40
40
  readonly url: string
41
41
  readonly headers: Headers.Input | undefined
42
42
  readonly label: string
43
- readonly exportInterval: Duration.DurationInput
43
+ readonly exportInterval: Duration.Input
44
44
  readonly maxBatchSize: number | "disabled"
45
45
  readonly body: (data: Array<any>) => HttpBody
46
- readonly shutdownTimeout: Duration.DurationInput
46
+ readonly shutdownTimeout: Duration.Input
47
47
  }
48
48
  ) => Effect.Effect<
49
49
  { readonly push: (data: unknown) => void },
@@ -54,7 +54,7 @@ export const make: (
54
54
  const clock = ServiceMap.get(services, Clock)
55
55
  const scope = ServiceMap.get(services, Scope.Scope)
56
56
  const runFork = Effect.runForkWith(services)
57
- const exportInterval = Duration.max(Duration.fromDurationInputUnsafe(options.exportInterval), Duration.zero)
57
+ const exportInterval = Duration.max(Duration.fromInputUnsafe(options.exportInterval), Duration.zero)
58
58
  let disabledUntil: number | undefined = undefined
59
59
 
60
60
  const client = HttpClient.filterStatusOk(ServiceMap.get(services, HttpClient.HttpClient)).pipe(
@@ -30,9 +30,9 @@ export const make: (
30
30
  readonly attributes?: Record<string, unknown>
31
31
  } | undefined
32
32
  readonly headers?: Headers.Input | undefined
33
- readonly exportInterval?: Duration.DurationInput | undefined
33
+ readonly exportInterval?: Duration.Input | undefined
34
34
  readonly maxBatchSize?: number | undefined
35
- readonly shutdownTimeout?: Duration.DurationInput | undefined
35
+ readonly shutdownTimeout?: Duration.Input | undefined
36
36
  readonly excludeLogSpans?: boolean | undefined
37
37
  }
38
38
  ) => Effect.Effect<
@@ -85,9 +85,9 @@ export const layer = (options: {
85
85
  readonly attributes?: Record<string, unknown>
86
86
  } | undefined
87
87
  readonly headers?: Headers.Input | undefined
88
- readonly exportInterval?: Duration.DurationInput | undefined
88
+ readonly exportInterval?: Duration.Input | undefined
89
89
  readonly maxBatchSize?: number | undefined
90
- readonly shutdownTimeout?: Duration.DurationInput | undefined
90
+ readonly shutdownTimeout?: Duration.Input | undefined
91
91
  readonly excludeLogSpans?: boolean | undefined
92
92
  readonly mergeWithExisting?: boolean | undefined
93
93
  }): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> =>
@@ -60,8 +60,8 @@ export const make: (options: {
60
60
  readonly attributes?: Record<string, unknown>
61
61
  } | undefined
62
62
  readonly headers?: Headers.Input | undefined
63
- readonly exportInterval?: Duration.DurationInput | undefined
64
- readonly shutdownTimeout?: Duration.DurationInput | undefined
63
+ readonly exportInterval?: Duration.Input | undefined
64
+ readonly shutdownTimeout?: Duration.Input | undefined
65
65
  readonly temporality?: AggregationTemporality | undefined
66
66
  }) => Effect.Effect<
67
67
  void,
@@ -440,8 +440,8 @@ export const layer = (options: {
440
440
  readonly attributes?: Record<string, unknown>
441
441
  } | undefined
442
442
  readonly headers?: Headers.Input | undefined
443
- readonly exportInterval?: Duration.DurationInput | undefined
444
- readonly shutdownTimeout?: Duration.DurationInput | undefined
443
+ readonly exportInterval?: Duration.Input | undefined
444
+ readonly shutdownTimeout?: Duration.Input | undefined
445
445
  readonly temporality?: AggregationTemporality | undefined
446
446
  }): Layer.Layer<never, never, HttpClient.HttpClient | OtlpSerialization> => Layer.effectDiscard(make(options))
447
447
 
@@ -32,10 +32,10 @@ export const make: (
32
32
  readonly attributes?: Record<string, unknown>
33
33
  } | undefined
34
34
  readonly headers?: Headers.Input | undefined
35
- readonly exportInterval?: Duration.DurationInput | undefined
35
+ readonly exportInterval?: Duration.Input | undefined
36
36
  readonly maxBatchSize?: number | undefined
37
37
  readonly context?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
38
- readonly shutdownTimeout?: Duration.DurationInput | undefined
38
+ readonly shutdownTimeout?: Duration.Input | undefined
39
39
  }
40
40
  ) => Effect.Effect<
41
41
  Tracer.Tracer,
@@ -109,10 +109,10 @@ export const layer: (options: {
109
109
  readonly attributes?: Record<string, unknown>
110
110
  } | undefined
111
111
  readonly headers?: Headers.Input | undefined
112
- readonly exportInterval?: Duration.DurationInput | undefined
112
+ readonly exportInterval?: Duration.Input | undefined
113
113
  readonly maxBatchSize?: number | undefined
114
114
  readonly context?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined
115
- readonly shutdownTimeout?: Duration.DurationInput | undefined
115
+ readonly shutdownTimeout?: Duration.Input | undefined
116
116
  }) => Layer.Layer<never, never, OtlpSerialization | HttpClient.HttpClient> = flow(make, Layer.effect(Tracer.Tracer))
117
117
 
118
118
  // internal
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @since 4.0.0
3
3
  */
4
- import type { DurationInput } from "../../Duration.ts"
4
+ import type * as Duration from "../../Duration.ts"
5
5
  import type * as Effect from "../../Effect.ts"
6
6
  import type * as Exit from "../../Exit.ts"
7
7
  import * as PrimaryKey from "../../PrimaryKey.ts"
@@ -87,7 +87,7 @@ export type Services<A extends Any> =
87
87
  * @since 4.0.0
88
88
  * @category Models
89
89
  */
90
- export type TimeToLiveFn<K extends Any> = (exit: Exit.Exit<Success<K>, Error<K>>, request: K) => DurationInput
90
+ export type TimeToLiveFn<K extends Any> = (exit: Exit.Exit<Success<K>, Error<K>>, request: K) => Duration.Input
91
91
 
92
92
  /**
93
93
  * @since 4.0.0
@@ -295,26 +295,26 @@ export const layerStoreMemory: Layer.Layer<
295
295
  export const makeStoreRedis = Effect.fnUntraced(function*(
296
296
  options?: {
297
297
  readonly prefix?: string | undefined
298
- readonly pollInterval?: Duration.DurationInput | undefined
299
- readonly lockRefreshInterval?: Duration.DurationInput | undefined
300
- readonly lockExpiration?: Duration.DurationInput | undefined
298
+ readonly pollInterval?: Duration.Input | undefined
299
+ readonly lockRefreshInterval?: Duration.Input | undefined
300
+ readonly lockExpiration?: Duration.Input | undefined
301
301
  }
302
302
  ) {
303
303
  const redis = yield* Redis.Redis
304
304
 
305
305
  const pollInterval = Duration.max(
306
- options?.pollInterval ? Duration.fromDurationInputUnsafe(options.pollInterval) : Duration.seconds(1),
306
+ options?.pollInterval ? Duration.fromInputUnsafe(options.pollInterval) : Duration.seconds(1),
307
307
  Duration.millis(1)
308
308
  )
309
309
  const lockRefreshMillis = Math.max(
310
310
  options?.lockRefreshInterval
311
- ? Duration.toMillis(Duration.fromDurationInputUnsafe(options.lockRefreshInterval))
311
+ ? Duration.toMillis(Duration.fromInputUnsafe(options.lockRefreshInterval))
312
312
  : 30_000,
313
313
  1
314
314
  )
315
315
  const lockExpirationMillis = Math.max(
316
316
  options?.lockExpiration
317
- ? Duration.toMillis(Duration.fromDurationInputUnsafe(options.lockExpiration))
317
+ ? Duration.toMillis(Duration.fromInputUnsafe(options.lockExpiration))
318
318
  : 90_000,
319
319
  1
320
320
  )
@@ -654,9 +654,9 @@ end
654
654
  export const layerStoreRedis: (
655
655
  options?: {
656
656
  readonly prefix?: string | undefined
657
- readonly pollInterval?: Duration.DurationInput | undefined
658
- readonly lockRefreshInterval?: Duration.DurationInput | undefined
659
- readonly lockExpiration?: Duration.DurationInput | undefined
657
+ readonly pollInterval?: Duration.Input | undefined
658
+ readonly lockRefreshInterval?: Duration.Input | undefined
659
+ readonly lockExpiration?: Duration.Input | undefined
660
660
  } | undefined
661
661
  ) => Layer.Layer<
662
662
  PersistedQueueStore,
@@ -671,9 +671,9 @@ export const layerStoreRedis: (
671
671
  export const makeStoreSql: (
672
672
  options?: {
673
673
  readonly tableName?: string | undefined
674
- readonly pollInterval?: Duration.DurationInput | undefined
675
- readonly lockRefreshInterval?: Duration.DurationInput | undefined
676
- readonly lockExpiration?: Duration.DurationInput | undefined
674
+ readonly pollInterval?: Duration.Input | undefined
675
+ readonly lockRefreshInterval?: Duration.Input | undefined
676
+ readonly lockExpiration?: Duration.Input | undefined
677
677
  } | undefined
678
678
  ) => Effect.Effect<
679
679
  PersistedQueueStore["Service"],
@@ -684,15 +684,15 @@ export const makeStoreSql: (
684
684
  const tableName = options?.tableName ?? "effect_queue"
685
685
  const tableNameSql = sql(tableName)
686
686
  const pollInterval = Duration.max(
687
- options?.pollInterval ? Duration.fromDurationInputUnsafe(options.pollInterval) : Duration.millis(1000),
687
+ options?.pollInterval ? Duration.fromInputUnsafe(options.pollInterval) : Duration.millis(1000),
688
688
  Duration.millis(1)
689
689
  )
690
690
  const lockRefreshInterval = Duration.max(
691
- options?.lockRefreshInterval ? Duration.fromDurationInputUnsafe(options.lockRefreshInterval) : Duration.seconds(30),
691
+ options?.lockRefreshInterval ? Duration.fromInputUnsafe(options.lockRefreshInterval) : Duration.seconds(30),
692
692
  Duration.millis(1)
693
693
  )
694
694
  const lockExpiration = Duration.max(
695
- options?.lockExpiration ? Duration.fromDurationInputUnsafe(options.lockExpiration) : Duration.minutes(2),
695
+ options?.lockExpiration ? Duration.fromInputUnsafe(options.lockExpiration) : Duration.minutes(2),
696
696
  Duration.millis(1)
697
697
  )
698
698
  const lockExpirationSql = sql.literal(Math.ceil(Duration.toSeconds(lockExpiration)).toString())
@@ -1099,9 +1099,9 @@ class QueueKey extends Data.Class<{
1099
1099
  export const layerStoreSql: (
1100
1100
  options?: {
1101
1101
  readonly tableName?: string | undefined
1102
- readonly pollInterval?: Duration.DurationInput | undefined
1103
- readonly lockRefreshInterval?: Duration.DurationInput | undefined
1104
- readonly lockExpiration?: Duration.DurationInput | undefined
1102
+ readonly pollInterval?: Duration.Input | undefined
1103
+ readonly lockRefreshInterval?: Duration.Input | undefined
1104
+ readonly lockExpiration?: Duration.Input | undefined
1105
1105
  } | undefined
1106
1106
  ) => Layer.Layer<
1107
1107
  PersistedQueueStore,
@@ -42,7 +42,7 @@ export class PersistenceError extends Schema.ErrorClass(ErrorTypeId)({
42
42
  export class Persistence extends ServiceMap.Service<Persistence, {
43
43
  readonly make: (options: {
44
44
  readonly storeId: string
45
- readonly timeToLive?: (exit: Exit.Exit<unknown, unknown>, key: Persistable.Any) => Duration.DurationInput
45
+ readonly timeToLive?: (exit: Exit.Exit<unknown, unknown>, key: Persistable.Any) => Duration.Input
46
46
  }) => Effect.Effect<PersistenceStore, never, Scope.Scope>
47
47
  }>()("effect/persistence/Persistence") {}
48
48
 
@@ -169,7 +169,7 @@ export const layer = Layer.effect(Persistence)(Effect.gen(function*() {
169
169
  return out
170
170
  }),
171
171
  set(key, value) {
172
- const ttl = Duration.fromDurationInputUnsafe(timeToLive(value, key))
172
+ const ttl = Duration.fromInputUnsafe(timeToLive(value, key))
173
173
  if (Duration.isZero(ttl) || Duration.isNegative(ttl)) return Effect.void
174
174
  return Persistable.serializeExit(key, value).pipe(
175
175
  Effect.flatMap((encoded) =>
@@ -180,7 +180,7 @@ export const layer = Layer.effect(Persistence)(Effect.gen(function*() {
180
180
  setMany: Effect.fnUntraced(function*(entries) {
181
181
  const encodedEntries = Arr.empty<readonly [string, object, Duration.Duration | undefined]>()
182
182
  for (const [key, value] of entries) {
183
- const ttl = Duration.fromDurationInputUnsafe(timeToLive(value, key))
183
+ const ttl = Duration.fromInputUnsafe(timeToLive(value, key))
184
184
  if (Duration.isZero(ttl) || Duration.isNegative(ttl)) continue
185
185
  const encoded = Persistable.serializeExit(key, value)
186
186
  const exit = Exit.isExit(encoded)
@@ -32,7 +32,7 @@ export interface RateLimiter {
32
32
  readonly consume: (options: {
33
33
  readonly algorithm?: "fixed-window" | "token-bucket" | undefined
34
34
  readonly onExceeded?: "delay" | "fail" | undefined
35
- readonly window: Duration.DurationInput
35
+ readonly window: Duration.Input
36
36
  readonly limit: number
37
37
  readonly key: string
38
38
  readonly tokens?: number | undefined
@@ -62,7 +62,7 @@ export const make: Effect.Effect<
62
62
  const tokens = options.tokens ?? 1
63
63
  const onExceeded = options.onExceeded ?? "fail"
64
64
  const algorithm = options.algorithm ?? "fixed-window"
65
- const window = Duration.max(Duration.fromDurationInputUnsafe(options.window), Duration.millis(1))
65
+ const window = Duration.max(Duration.fromInputUnsafe(options.window), Duration.millis(1))
66
66
  const windowMillis = Duration.toMillis(window)
67
67
  const refillRate = Duration.divideUnsafe(window, options.limit)
68
68
  const refillRateMillis = Duration.toMillis(refillRate)
@@ -222,7 +222,7 @@ export const makeWithRateLimiter: Effect.Effect<
222
222
  ((options: {
223
223
  readonly algorithm?: "fixed-window" | "token-bucket" | undefined
224
224
  readonly onExceeded?: "delay" | "fail" | undefined
225
- readonly window: Duration.DurationInput
225
+ readonly window: Duration.Input
226
226
  readonly limit: number
227
227
  readonly key: string
228
228
  readonly tokens?: number | undefined
@@ -266,7 +266,7 @@ export const makeWithRateLimiter: Effect.Effect<
266
266
  export const makeSleep: Effect.Effect<
267
267
  ((options: {
268
268
  readonly algorithm?: "fixed-window" | "token-bucket" | undefined
269
- readonly window: Duration.DurationInput
269
+ readonly window: Duration.Input
270
270
  readonly limit: number
271
271
  readonly key: string
272
272
  readonly tokens?: number | undefined
@@ -283,7 +283,7 @@ export interface KillOptions {
283
283
  * Defaults to `undefined`, which means that no timeout will be enforced by
284
284
  * default.
285
285
  */
286
- readonly forceKillAfter?: Duration.DurationInput | undefined
286
+ readonly forceKillAfter?: Duration.Input | undefined
287
287
  }
288
288
 
289
289
  /**
@@ -414,7 +414,7 @@ export interface CommandOptions extends KillOptions {
414
414
  * the value of `globalThis.process.env`, prioritizing the values in `env`
415
415
  * when conflicts exist.
416
416
  */
417
- readonly env?: Record<string, string> | undefined
417
+ readonly env?: Record<string, string | undefined> | undefined
418
418
  /**
419
419
  * If set to `true`, the child process uses both the values in `env` as well
420
420
  * as the values in `globalThis.process.env`, prioritizing the values in `env`
@@ -169,25 +169,25 @@ export const setIdleTTL: {
169
169
  * @since 4.0.0
170
170
  * @category combinators
171
171
  */
172
- (duration: Duration.DurationInput): <A extends Atom<any>>(self: A) => A
172
+ (duration: Duration.Input): <A extends Atom<any>>(self: A) => A
173
173
  /**
174
174
  * @since 4.0.0
175
175
  * @category combinators
176
176
  */
177
- <A extends Atom<any>>(self: A, duration: Duration.DurationInput): A
177
+ <A extends Atom<any>>(self: A, duration: Duration.Input): A
178
178
  } = dual<
179
179
  /**
180
180
  * @since 4.0.0
181
181
  * @category combinators
182
182
  */
183
- (duration: Duration.DurationInput) => <A extends Atom<any>>(self: A) => A,
183
+ (duration: Duration.Input) => <A extends Atom<any>>(self: A) => A,
184
184
  /**
185
185
  * @since 4.0.0
186
186
  * @category combinators
187
187
  */
188
- <A extends Atom<any>>(self: A, duration: Duration.DurationInput) => A
188
+ <A extends Atom<any>>(self: A, duration: Duration.Input) => A
189
189
  >(2, (self, durationInput) => {
190
- const duration = Duration.fromDurationInputUnsafe(durationInput)
190
+ const duration = Duration.fromInputUnsafe(durationInput)
191
191
  const isFinite = Duration.isFinite(duration)
192
192
  return Object.assign(Object.create(Object.getPrototypeOf(self)), {
193
193
  ...self,
@@ -1684,16 +1684,16 @@ export const debounce: {
1684
1684
  * @since 4.0.0
1685
1685
  * @category combinators
1686
1686
  */
1687
- (duration: Duration.DurationInput): <A extends Atom<any>>(self: A) => WithoutSerializable<A>
1687
+ (duration: Duration.Input): <A extends Atom<any>>(self: A) => WithoutSerializable<A>
1688
1688
  /**
1689
1689
  * @since 4.0.0
1690
1690
  * @category combinators
1691
1691
  */
1692
- <A extends Atom<any>>(self: A, duration: Duration.DurationInput): WithoutSerializable<A>
1692
+ <A extends Atom<any>>(self: A, duration: Duration.Input): WithoutSerializable<A>
1693
1693
  } = dual(
1694
1694
  2,
1695
- <A>(self: Atom<A>, duration: Duration.DurationInput): Atom<A> => {
1696
- const millis = Duration.toMillis(Duration.fromDurationInputUnsafe(duration))
1695
+ <A>(self: Atom<A>, duration: Duration.Input): Atom<A> => {
1696
+ const millis = Duration.toMillis(Duration.fromInputUnsafe(duration))
1697
1697
  return transform(self, function(get) {
1698
1698
  let timeout: number | undefined
1699
1699
  let value = get.once(self)
@@ -1729,7 +1729,7 @@ export const withRefresh: {
1729
1729
  * @since 4.0.0
1730
1730
  * @category combinators
1731
1731
  */
1732
- (duration: Duration.DurationInput): <A extends Atom<any>>(self: A) => WithoutSerializable<A>
1732
+ (duration: Duration.Input): <A extends Atom<any>>(self: A) => WithoutSerializable<A>
1733
1733
  /**
1734
1734
  * Ensures that the value of the atom is refreshed at most once per specified
1735
1735
  * duration.
@@ -1737,11 +1737,11 @@ export const withRefresh: {
1737
1737
  * @since 4.0.0
1738
1738
  * @category combinators
1739
1739
  */
1740
- <A extends Atom<any>>(self: A, duration: Duration.DurationInput): WithoutSerializable<A>
1740
+ <A extends Atom<any>>(self: A, duration: Duration.Input): WithoutSerializable<A>
1741
1741
  } = dual(
1742
1742
  2,
1743
- <A>(self: Atom<A>, duration: Duration.DurationInput): Atom<A> => {
1744
- const millis = Duration.toMillis(Duration.fromDurationInputUnsafe(duration))
1743
+ <A>(self: Atom<A>, duration: Duration.Input): Atom<A> => {
1744
+ const millis = Duration.toMillis(Duration.fromInputUnsafe(duration))
1745
1745
  return transform(self, function(get) {
1746
1746
  const handle = setTimeout(() => get.refresh(self), millis) as any
1747
1747
  get.addFinalizer(() => clearTimeout(handle))
@@ -103,7 +103,7 @@ export interface AtomHttpApiClient<Self, Id extends string, Groups extends HttpA
103
103
  | ReadonlyArray<unknown>
104
104
  | ReadonlyRecord<string, ReadonlyArray<unknown>>
105
105
  | undefined
106
- readonly timeToLive?: Duration.DurationInput | undefined
106
+ readonly timeToLive?: Duration.Input | undefined
107
107
  }
108
108
  >
109
109
  : never
@@ -223,7 +223,7 @@ export const Service = <Self>() =>
223
223
  readonly headers?: any
224
224
  readonly withResponse?: boolean
225
225
  readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
226
- readonly timeToLive?: Duration.DurationInput | undefined
226
+ readonly timeToLive?: Duration.Input | undefined
227
227
  }
228
228
  ) =>
229
229
  queryFamily({
@@ -236,7 +236,7 @@ export const Service = <Self>() =>
236
236
  withResponse: request.withResponse ?? false,
237
237
  reactivityKeys: request.reactivityKeys,
238
238
  timeToLive: request.timeToLive
239
- ? Duration.fromDurationInputUnsafe(request.timeToLive)
239
+ ? Duration.fromInputUnsafe(request.timeToLive)
240
240
  : undefined
241
241
  })) as any
242
242
 
@@ -71,7 +71,7 @@ export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any, E>
71
71
  | ReadonlyArray<unknown>
72
72
  | ReadonlyRecord<string, ReadonlyArray<unknown>>
73
73
  | undefined
74
- readonly timeToLive?: Duration.DurationInput | undefined
74
+ readonly timeToLive?: Duration.Input | undefined
75
75
  }
76
76
  ) => Rpc.ExtractTag<Rpcs, Tag> extends Rpc.Rpc<
77
77
  infer _Tag,
@@ -208,7 +208,7 @@ export const Service = <Self>() =>
208
208
  | ReadonlyArray<unknown>
209
209
  | ReadonlyRecord<string, ReadonlyArray<unknown>>
210
210
  | undefined
211
- readonly timeToLive?: Duration.DurationInput | undefined
211
+ readonly timeToLive?: Duration.Input | undefined
212
212
  }
213
213
  ) =>
214
214
  queryFamily({
@@ -219,7 +219,7 @@ export const Service = <Self>() =>
219
219
  : undefined,
220
220
  reactivityKeys: options?.reactivityKeys,
221
221
  timeToLive: options?.timeToLive
222
- ? Duration.fromDurationInputUnsafe(options.timeToLive)
222
+ ? Duration.fromInputUnsafe(options.timeToLive)
223
223
  : undefined
224
224
  }) as any
225
225
 
@@ -61,7 +61,7 @@ export interface Rpc<
61
61
  readonly payloadSchema: Payload
62
62
  readonly successSchema: Success
63
63
  readonly errorSchema: Error
64
- readonly defectSchema: DefectSchema
64
+ readonly defectSchema: Schema.Top
65
65
  readonly annotations: ServiceMap.ServiceMap<never>
66
66
  readonly middlewares: ReadonlySet<Middleware>
67
67
  readonly "~requires": Requires
@@ -183,7 +183,7 @@ export interface AnyWithProps extends Pipeable {
183
183
  readonly payloadSchema: Schema.Top
184
184
  readonly successSchema: Schema.Top
185
185
  readonly errorSchema: Schema.Top
186
- readonly defectSchema: DefectSchema
186
+ readonly defectSchema: Schema.Top
187
187
  readonly annotations: ServiceMap.ServiceMap<never>
188
188
  readonly middlewares: ReadonlySet<RpcMiddleware.AnyServiceWithProps>
189
189
  readonly "~requires": any
@@ -696,7 +696,7 @@ const makeProto = <
696
696
  readonly payloadSchema: Payload
697
697
  readonly successSchema: Success
698
698
  readonly errorSchema: Error
699
- readonly defectSchema: DefectSchema
699
+ readonly defectSchema: Schema.Top
700
700
  readonly annotations: ServiceMap.ServiceMap<never>
701
701
  readonly middlewares: ReadonlySet<Middleware>
702
702
  }): Rpc<Tag, Payload, Success, Error, Middleware, Requires> => {
@@ -21,7 +21,6 @@ import * as ServiceMap from "../../ServiceMap.ts"
21
21
  import * as Stream from "../../Stream.ts"
22
22
  import type * as Struct from "../../Struct.ts"
23
23
  import type { Span } from "../../Tracer.ts"
24
- import type { Mutable } from "../../Types.ts"
25
24
  import * as Headers from "../http/Headers.ts"
26
25
  import * as HttpBody from "../http/HttpBody.ts"
27
26
  import * as HttpClient from "../http/HttpClient.ts"
@@ -46,16 +45,7 @@ import { withRun } from "./Utils.ts"
46
45
  * @since 4.0.0
47
46
  * @category client
48
47
  */
49
- export type RpcClient<Rpcs extends Rpc.Any, E = never> = Struct.Simplify<
50
- & RpcClient.From<RpcClient.NonPrefixed<Rpcs>, E, "">
51
- & {
52
- readonly [CurrentPrefix in RpcClient.Prefixes<Rpcs>]: RpcClient.From<
53
- RpcClient.Prefixed<Rpcs, CurrentPrefix>,
54
- E,
55
- CurrentPrefix
56
- >
57
- }
58
- >
48
+ export type RpcClient<Rpcs extends Rpc.Any, E = never> = Struct.Simplify<RpcClient.From<Rpcs, E>>
59
49
 
60
50
  /**
61
51
  * @since 4.0.0
@@ -66,34 +56,8 @@ export declare namespace RpcClient {
66
56
  * @since 4.0.0
67
57
  * @category client
68
58
  */
69
- export type Prefixes<Rpcs extends Rpc.Any> = Rpcs["_tag"] extends infer Tag
70
- ? Tag extends `${infer Prefix}.${string}` ? Prefix : never
71
- : never
72
-
73
- /**
74
- * @since 4.0.0
75
- * @category client
76
- */
77
- export type NonPrefixed<Rpcs extends Rpc.Any> = Exclude<Rpcs, { readonly _tag: `${string}.${string}` }>
78
-
79
- /**
80
- * @since 4.0.0
81
- * @category client
82
- */
83
- export type Prefixed<Rpcs extends Rpc.Any, Prefix extends string> = Extract<
84
- Rpcs,
85
- { readonly _tag: `${Prefix}.${string}` }
86
- >
87
-
88
- /**
89
- * @since 4.0.0
90
- * @category client
91
- */
92
- export type From<Rpcs extends Rpc.Any, E = never, Prefix extends string = ""> = {
93
- readonly [
94
- Current in Rpcs as Current["_tag"] extends `${Prefix}.${infer Method}` ? Method
95
- : Current["_tag"]
96
- ]: <
59
+ export type From<Rpcs extends Rpc.Any, E = never> = {
60
+ readonly [Current in Rpcs as Current["_tag"]]: <
97
61
  const AsQueue extends boolean = false,
98
62
  const Discard = false
99
63
  >(
@@ -615,16 +579,9 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
615
579
  }
616
580
  } else {
617
581
  client = {}
618
- for (const rpc of group.requests.values()) {
619
- const dot = rpc._tag.indexOf(".")
620
- const prefix = dot === -1 ? undefined : rpc._tag.slice(0, dot)
621
- if (prefix !== undefined && !(prefix in client)) {
622
- ;(client as any)[prefix] = {} as Mutable<RpcClient.Prefixed<Rpcs, typeof prefix>>
623
- }
624
- const target = prefix !== undefined ? (client as any)[prefix] : client
625
- const tag = prefix !== undefined ? rpc._tag.slice(dot + 1) : rpc._tag
626
- target[tag] = onRequest(rpc as any)
627
- }
582
+ group.requests.forEach((rpc) => {
583
+ client[rpc._tag] = onRequest(rpc as any)
584
+ })
628
585
  }
629
586
 
630
587
  return { client, write } as const
@@ -1119,7 +1076,7 @@ export const makeProtocolWorker = (
1119
1076
  readonly maxSize: number
1120
1077
  readonly concurrency?: number | undefined
1121
1078
  readonly targetUtilization?: number | undefined
1122
- readonly timeToLive: Duration.DurationInput
1079
+ readonly timeToLive: Duration.Input
1123
1080
  }
1124
1081
  ): Effect.Effect<
1125
1082
  Protocol["Service"],
@@ -1267,7 +1224,7 @@ export const layerProtocolWorker: (
1267
1224
  readonly maxSize: number
1268
1225
  readonly concurrency?: number | undefined
1269
1226
  readonly targetUtilization?: number | undefined
1270
- readonly timeToLive: Duration.DurationInput
1227
+ readonly timeToLive: Duration.Input
1271
1228
  }
1272
1229
  ) => Layer.Layer<
1273
1230
  Protocol,
@@ -5,7 +5,7 @@ import type { NonEmptyReadonlyArray } from "../../Array.ts"
5
5
  import type * as Cause from "../../Cause.ts"
6
6
  import * as Channel from "../../Channel.ts"
7
7
  import * as Deferred from "../../Deferred.ts"
8
- import type { DurationInput } from "../../Duration.ts"
8
+ import type * as Duration from "../../Duration.ts"
9
9
  import * as Effect from "../../Effect.ts"
10
10
  import * as Exit from "../../Exit.ts"
11
11
  import * as FiberSet from "../../FiberSet.ts"
@@ -423,7 +423,7 @@ export const layerWebSocketConstructorGlobal: Layer.Layer<WebSocketConstructor>
423
423
  */
424
424
  export const makeWebSocket = (url: string | Effect.Effect<string>, options?: {
425
425
  readonly closeCodeIsError?: ((code: number) => boolean) | undefined
426
- readonly openTimeout?: DurationInput | undefined
426
+ readonly openTimeout?: Duration.Input | undefined
427
427
  readonly protocols?: string | Array<string> | undefined
428
428
  }): Effect.Effect<Socket, never, WebSocketConstructor> =>
429
429
  fromWebSocket(
@@ -444,7 +444,7 @@ export const fromWebSocket = <RO>(
444
444
  acquire: Effect.Effect<globalThis.WebSocket, SocketError, RO>,
445
445
  options?: {
446
446
  readonly closeCodeIsError?: ((code: number) => boolean) | undefined
447
- readonly openTimeout?: DurationInput | undefined
447
+ readonly openTimeout?: Duration.Input | undefined
448
448
  } | undefined
449
449
  ): Effect.Effect<Socket, never, Exclude<RO, Scope.Scope>> =>
450
450
  Effect.withFiber((fiber) => {
@@ -619,7 +619,7 @@ export const layerWebSocket: (
619
619
  url: string | Effect.Effect<string>,
620
620
  options?: {
621
621
  readonly closeCodeIsError?: ((code: number) => boolean) | undefined
622
- readonly openTimeout?: DurationInput | undefined
622
+ readonly openTimeout?: Duration.Input | undefined
623
623
  readonly protocols?: string | Array<string> | undefined
624
624
  } | undefined
625
625
  ) => Layer.Layer<Socket, never, WebSocketConstructor> = flow(makeWebSocket, Layer.effect(Socket))