effect 4.0.0-beta.94 → 4.0.0-beta.98

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 (532) hide show
  1. package/dist/Array.d.ts.map +1 -1
  2. package/dist/BigDecimal.d.ts.map +1 -1
  3. package/dist/BigDecimal.js.map +1 -1
  4. package/dist/BigInt.d.ts.map +1 -1
  5. package/dist/Boolean.d.ts.map +1 -1
  6. package/dist/Brand.d.ts.map +1 -1
  7. package/dist/Cache.d.ts.map +1 -1
  8. package/dist/Cause.d.ts.map +1 -1
  9. package/dist/Channel.d.ts.map +1 -1
  10. package/dist/ChannelSchema.d.ts.map +1 -1
  11. package/dist/Chunk.d.ts.map +1 -1
  12. package/dist/Combiner.d.ts.map +1 -1
  13. package/dist/Config.d.ts.map +1 -1
  14. package/dist/Config.js.map +1 -1
  15. package/dist/ConfigProvider.d.ts +44 -6
  16. package/dist/ConfigProvider.d.ts.map +1 -1
  17. package/dist/ConfigProvider.js +63 -24
  18. package/dist/ConfigProvider.js.map +1 -1
  19. package/dist/Console.d.ts.map +1 -1
  20. package/dist/Context.d.ts.map +1 -1
  21. package/dist/Cron.d.ts +4 -1
  22. package/dist/Cron.d.ts.map +1 -1
  23. package/dist/Cron.js +98 -53
  24. package/dist/Cron.js.map +1 -1
  25. package/dist/Crypto.d.ts.map +1 -1
  26. package/dist/Data.d.ts.map +1 -1
  27. package/dist/DateTime.d.ts +12 -12
  28. package/dist/DateTime.d.ts.map +1 -1
  29. package/dist/Deferred.d.ts.map +1 -1
  30. package/dist/Duration.d.ts.map +1 -1
  31. package/dist/Effect.d.ts.map +1 -1
  32. package/dist/Effectable.d.ts.map +1 -1
  33. package/dist/Encoding.d.ts.map +1 -1
  34. package/dist/Equal.d.ts.map +1 -1
  35. package/dist/Equivalence.d.ts.map +1 -1
  36. package/dist/ErrorReporter.d.ts.map +1 -1
  37. package/dist/ExecutionPlan.d.ts +2 -2
  38. package/dist/ExecutionPlan.d.ts.map +1 -1
  39. package/dist/Fiber.d.ts.map +1 -1
  40. package/dist/FiberHandle.d.ts +8 -8
  41. package/dist/FiberHandle.d.ts.map +1 -1
  42. package/dist/FiberMap.d.ts +8 -8
  43. package/dist/FiberMap.d.ts.map +1 -1
  44. package/dist/FiberSet.d.ts +4 -4
  45. package/dist/FiberSet.d.ts.map +1 -1
  46. package/dist/FileSystem.d.ts.map +1 -1
  47. package/dist/Filter.d.ts.map +1 -1
  48. package/dist/Function.d.ts.map +1 -1
  49. package/dist/Graph.d.ts.map +1 -1
  50. package/dist/Graph.js.map +1 -1
  51. package/dist/Hash.d.ts.map +1 -1
  52. package/dist/HashMap.d.ts.map +1 -1
  53. package/dist/HashRing.d.ts.map +1 -1
  54. package/dist/Inspectable.d.ts.map +1 -1
  55. package/dist/Inspectable.js.map +1 -1
  56. package/dist/Iterable.d.ts.map +1 -1
  57. package/dist/Latch.d.ts.map +1 -1
  58. package/dist/Layer.d.ts.map +1 -1
  59. package/dist/LayerMap.d.ts.map +1 -1
  60. package/dist/LayerRef.d.ts +5 -7
  61. package/dist/LayerRef.d.ts.map +1 -1
  62. package/dist/LayerRef.js +4 -6
  63. package/dist/LayerRef.js.map +1 -1
  64. package/dist/LogLevel.d.ts.map +1 -1
  65. package/dist/Logger.d.ts.map +1 -1
  66. package/dist/ManagedRuntime.d.ts.map +1 -1
  67. package/dist/Metric.d.ts.map +1 -1
  68. package/dist/MutableHashMap.d.ts.map +1 -1
  69. package/dist/MutableHashSet.d.ts.map +1 -1
  70. package/dist/MutableList.d.ts.map +1 -1
  71. package/dist/MutableRef.d.ts.map +1 -1
  72. package/dist/NonEmptyIterable.d.ts.map +1 -1
  73. package/dist/Number.d.ts.map +1 -1
  74. package/dist/Number.js +28 -10
  75. package/dist/Number.js.map +1 -1
  76. package/dist/Optic.d.ts.map +1 -1
  77. package/dist/Option.d.ts.map +1 -1
  78. package/dist/Order.d.ts.map +1 -1
  79. package/dist/Ordering.d.ts.map +1 -1
  80. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  81. package/dist/Pipeable.d.ts.map +1 -1
  82. package/dist/PlatformError.d.ts.map +1 -1
  83. package/dist/Pool.d.ts.map +1 -1
  84. package/dist/PrimaryKey.d.ts.map +1 -1
  85. package/dist/PubSub.d.ts.map +1 -1
  86. package/dist/Pull.d.ts.map +1 -1
  87. package/dist/Queue.d.ts.map +1 -1
  88. package/dist/Random.d.ts.map +1 -1
  89. package/dist/RcMap.d.ts.map +1 -1
  90. package/dist/Record.d.ts.map +1 -1
  91. package/dist/Redactable.d.ts.map +1 -1
  92. package/dist/Redacted.d.ts.map +1 -1
  93. package/dist/Ref.d.ts.map +1 -1
  94. package/dist/RegExp.d.ts.map +1 -1
  95. package/dist/Request.d.ts +1 -1
  96. package/dist/Request.d.ts.map +1 -1
  97. package/dist/RequestResolver.d.ts.map +1 -1
  98. package/dist/Resource.d.ts.map +1 -1
  99. package/dist/Result.d.ts.map +1 -1
  100. package/dist/Runtime.d.ts.map +1 -1
  101. package/dist/Schedule.d.ts +1206 -4013
  102. package/dist/Schedule.d.ts.map +1 -1
  103. package/dist/Schedule.js +244 -1348
  104. package/dist/Schedule.js.map +1 -1
  105. package/dist/Scheduler.d.ts.map +1 -1
  106. package/dist/Scheduler.js.map +1 -1
  107. package/dist/Schema.d.ts +71 -22
  108. package/dist/Schema.d.ts.map +1 -1
  109. package/dist/Schema.js +76 -33
  110. package/dist/Schema.js.map +1 -1
  111. package/dist/SchemaAST.d.ts.map +1 -1
  112. package/dist/SchemaAST.js +25 -10
  113. package/dist/SchemaAST.js.map +1 -1
  114. package/dist/SchemaError.d.ts +53 -0
  115. package/dist/SchemaError.d.ts.map +1 -0
  116. package/dist/SchemaError.js +61 -0
  117. package/dist/SchemaError.js.map +1 -0
  118. package/dist/SchemaGetter.d.ts.map +1 -1
  119. package/dist/SchemaGetter.js +17 -12
  120. package/dist/SchemaGetter.js.map +1 -1
  121. package/dist/SchemaIssue.d.ts.map +1 -1
  122. package/dist/SchemaIssue.js.map +1 -1
  123. package/dist/SchemaParser.d.ts.map +1 -1
  124. package/dist/SchemaRepresentation.d.ts +106 -106
  125. package/dist/SchemaRepresentation.d.ts.map +1 -1
  126. package/dist/SchemaRepresentation.js +186 -224
  127. package/dist/SchemaRepresentation.js.map +1 -1
  128. package/dist/SchemaTransformation.d.ts +38 -2
  129. package/dist/SchemaTransformation.d.ts.map +1 -1
  130. package/dist/SchemaTransformation.js +38 -2
  131. package/dist/SchemaTransformation.js.map +1 -1
  132. package/dist/ScopedCache.d.ts.map +1 -1
  133. package/dist/ScopedRef.d.ts.map +1 -1
  134. package/dist/Semaphore.d.ts.map +1 -1
  135. package/dist/Sink.d.ts.map +1 -1
  136. package/dist/Stdio.d.ts.map +1 -1
  137. package/dist/Stream.d.ts +2 -2
  138. package/dist/Stream.d.ts.map +1 -1
  139. package/dist/Stream.js +1 -1
  140. package/dist/String.d.ts.map +1 -1
  141. package/dist/String.js.map +1 -1
  142. package/dist/Struct.d.ts.map +1 -1
  143. package/dist/SubscriptionRef.d.ts.map +1 -1
  144. package/dist/SynchronizedRef.d.ts.map +1 -1
  145. package/dist/Take.d.ts.map +1 -1
  146. package/dist/Terminal.d.ts.map +1 -1
  147. package/dist/Tracer.d.ts.map +1 -1
  148. package/dist/Trie.d.ts.map +1 -1
  149. package/dist/Tuple.d.ts.map +1 -1
  150. package/dist/TxChunk.d.ts.map +1 -1
  151. package/dist/TxDeferred.d.ts.map +1 -1
  152. package/dist/TxHashMap.d.ts.map +1 -1
  153. package/dist/TxHashSet.d.ts.map +1 -1
  154. package/dist/TxPriorityQueue.d.ts.map +1 -1
  155. package/dist/TxPubSub.d.ts.map +1 -1
  156. package/dist/TxQueue.d.ts.map +1 -1
  157. package/dist/TxReentrantLock.d.ts.map +1 -1
  158. package/dist/TxRef.d.ts.map +1 -1
  159. package/dist/TxSemaphore.d.ts.map +1 -1
  160. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  161. package/dist/Types.d.ts +1 -1
  162. package/dist/Types.d.ts.map +1 -1
  163. package/dist/UndefinedOr.d.ts.map +1 -1
  164. package/dist/Utils.d.ts.map +1 -1
  165. package/dist/index.d.ts +8 -0
  166. package/dist/index.d.ts.map +1 -1
  167. package/dist/index.js +8 -0
  168. package/dist/index.js.map +1 -1
  169. package/dist/internal/effect.js +26 -8
  170. package/dist/internal/effect.js.map +1 -1
  171. package/dist/internal/schema/equivalence.js +1 -2
  172. package/dist/internal/schema/equivalence.js.map +1 -1
  173. package/dist/internal/schema/representation.js +1 -3
  174. package/dist/internal/schema/representation.js.map +1 -1
  175. package/dist/internal/schema/schema.d.ts +0 -13
  176. package/dist/internal/schema/schema.d.ts.map +1 -1
  177. package/dist/internal/schema/schema.js +4 -29
  178. package/dist/internal/schema/schema.js.map +1 -1
  179. package/dist/testing/TestClock.d.ts.map +1 -1
  180. package/dist/testing/TestConsole.d.ts.map +1 -1
  181. package/dist/testing/TestSchema.d.ts.map +1 -1
  182. package/dist/unstable/ai/AiError.d.ts +1 -1
  183. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  184. package/dist/unstable/ai/Chat.d.ts +1 -1
  185. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  186. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  187. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  188. package/dist/unstable/ai/McpSchema.d.ts +278 -278
  189. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  190. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  191. package/dist/unstable/ai/Model.d.ts.map +1 -1
  192. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  193. package/dist/unstable/ai/Response.d.ts.map +1 -1
  194. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  195. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  196. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  197. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  198. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  199. package/dist/unstable/cli/CliError.d.ts +8 -16
  200. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  201. package/dist/unstable/cli/CliError.js +8 -16
  202. package/dist/unstable/cli/CliError.js.map +1 -1
  203. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  204. package/dist/unstable/cli/Command.d.ts +4 -3
  205. package/dist/unstable/cli/Command.d.ts.map +1 -1
  206. package/dist/unstable/cli/Command.js +3 -3
  207. package/dist/unstable/cli/Command.js.map +1 -1
  208. package/dist/unstable/cli/Completions.d.ts.map +1 -1
  209. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  210. package/dist/unstable/cli/GlobalFlag.d.ts +6 -8
  211. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  212. package/dist/unstable/cli/GlobalFlag.js +6 -6
  213. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  214. package/dist/unstable/cli/Param.d.ts.map +1 -1
  215. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  216. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  217. package/dist/unstable/cli/Prompt.js.map +1 -1
  218. package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
  219. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  220. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  221. package/dist/unstable/cli/internal/help.d.ts.map +1 -1
  222. package/dist/unstable/cli/internal/parser.js.map +1 -1
  223. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  224. package/dist/unstable/cluster/ClusterCron.js +1 -1
  225. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  226. package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
  227. package/dist/unstable/cluster/ClusterSchema.d.ts +1 -1
  228. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  229. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +1 -1
  230. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  231. package/dist/unstable/cluster/ClusterWorkflowEngine.js +1 -1
  232. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  233. package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
  234. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  235. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  236. package/dist/unstable/cluster/EntityId.d.ts.map +1 -1
  237. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  238. package/dist/unstable/cluster/EntityProxyServer.d.ts +1 -1
  239. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  240. package/dist/unstable/cluster/EntityProxyServer.js +2 -4
  241. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  242. package/dist/unstable/cluster/EntityType.d.ts.map +1 -1
  243. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  244. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  245. package/dist/unstable/cluster/MachineId.d.ts.map +1 -1
  246. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  247. package/dist/unstable/cluster/MessageStorage.d.ts +25 -29
  248. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  249. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  250. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  251. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  252. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  253. package/dist/unstable/cluster/RunnerServer.d.ts +1 -1
  254. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  255. package/dist/unstable/cluster/Runners.d.ts +8 -8
  256. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  257. package/dist/unstable/cluster/Sharding.js +3 -4
  258. package/dist/unstable/cluster/Sharding.js.map +1 -1
  259. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  260. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts +6 -8
  261. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts.map +1 -1
  262. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  263. package/dist/unstable/cluster/Singleton.d.ts.map +1 -1
  264. package/dist/unstable/cluster/SingletonAddress.d.ts.map +1 -1
  265. package/dist/unstable/cluster/Snowflake.d.ts +1 -1
  266. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  267. package/dist/unstable/cluster/Snowflake.js +1 -1
  268. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  269. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  270. package/dist/unstable/cluster/SqlRunnerStorage.d.ts +1 -1
  271. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  272. package/dist/unstable/cluster/internal/entityManager.js +26 -24
  273. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  274. package/dist/unstable/devtools/DevTools.d.ts.map +1 -1
  275. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  276. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  277. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  278. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  279. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  280. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  281. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  282. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  283. package/dist/unstable/eventlog/EventLog.js +2 -2
  284. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  285. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  286. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  287. package/dist/unstable/eventlog/EventLogRemote.d.ts +21 -21
  288. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  289. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +1 -1
  290. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +3 -4
  291. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  292. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  293. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  294. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  295. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  296. package/dist/unstable/http/Cookies.d.ts +1 -1
  297. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  298. package/dist/unstable/http/Etag.d.ts.map +1 -1
  299. package/dist/unstable/http/Headers.d.ts.map +1 -1
  300. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  301. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  302. package/dist/unstable/http/HttpClientError.d.ts +1 -1
  303. package/dist/unstable/http/HttpClientError.d.ts.map +1 -1
  304. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  305. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  306. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  307. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  308. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  309. package/dist/unstable/http/HttpMiddleware.d.ts +1 -1
  310. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  311. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  312. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  313. package/dist/unstable/http/HttpServerError.d.ts +1 -1
  314. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  315. package/dist/unstable/http/HttpServerRequest.d.ts +2 -2
  316. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  317. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  318. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  319. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  320. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  321. package/dist/unstable/http/Multipart.d.ts +2 -1
  322. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  323. package/dist/unstable/http/Url.d.ts.map +1 -1
  324. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  325. package/dist/unstable/httpapi/HttpApi.d.ts +36 -15
  326. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  327. package/dist/unstable/httpapi/HttpApi.js +19 -20
  328. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  329. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +51 -62
  330. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  331. package/dist/unstable/httpapi/HttpApiBuilder.js +68 -58
  332. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  333. package/dist/unstable/httpapi/HttpApiClient.d.ts +53 -53
  334. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  335. package/dist/unstable/httpapi/HttpApiClient.js +40 -30
  336. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  337. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +171 -170
  338. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  339. package/dist/unstable/httpapi/HttpApiEndpoint.js +31 -19
  340. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  341. package/dist/unstable/httpapi/HttpApiError.d.ts +23 -1
  342. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  343. package/dist/unstable/httpapi/HttpApiError.js +31 -0
  344. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  345. package/dist/unstable/httpapi/HttpApiGroup.d.ts +55 -30
  346. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  347. package/dist/unstable/httpapi/HttpApiGroup.js +22 -29
  348. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  349. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +8 -8
  350. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  351. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  352. package/dist/unstable/httpapi/HttpApiScalar.d.ts +2 -2
  353. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  354. package/dist/unstable/httpapi/HttpApiScalar.js +4 -3
  355. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  356. package/dist/unstable/httpapi/HttpApiSchema.d.ts +8 -0
  357. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  358. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  359. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  360. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +1 -1
  361. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  362. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  363. package/dist/unstable/httpapi/HttpApiTest.d.ts +4 -4
  364. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  365. package/dist/unstable/httpapi/HttpApiTest.js +9 -8
  366. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  367. package/dist/unstable/httpapi/OpenApi.d.ts +1 -1
  368. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  369. package/dist/unstable/httpapi/OpenApi.js +77 -37
  370. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  371. package/dist/unstable/httpapi/internal/html.js +6 -2
  372. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  373. package/dist/unstable/httpapi/internal/mediaType.d.ts +2 -0
  374. package/dist/unstable/httpapi/internal/mediaType.d.ts.map +1 -0
  375. package/dist/unstable/httpapi/internal/mediaType.js +7 -0
  376. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -0
  377. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  378. package/dist/unstable/observability/OtlpExporter.js +3 -1
  379. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  380. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  381. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  382. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  383. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  384. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  385. package/dist/unstable/observability/internal/otlpEnv.d.ts.map +1 -1
  386. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  387. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  388. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  389. package/dist/unstable/persistence/PersistedQueue.d.ts +1 -1
  390. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  391. package/dist/unstable/persistence/PersistedQueue.js +16 -12
  392. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  393. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  394. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  395. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  396. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  397. package/dist/unstable/process/ChildProcess.js.map +1 -1
  398. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  399. package/dist/unstable/reactivity/AsyncResult.d.ts +2 -2
  400. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  401. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  402. package/dist/unstable/reactivity/Atom.js +1 -1
  403. package/dist/unstable/reactivity/Atom.js.map +1 -1
  404. package/dist/unstable/reactivity/AtomHttpApi.d.ts +7 -7
  405. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  406. package/dist/unstable/reactivity/AtomHttpApi.js +3 -2
  407. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  408. package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
  409. package/dist/unstable/reactivity/AtomRegistry.d.ts +2 -2
  410. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  411. package/dist/unstable/reactivity/AtomRegistry.js +28 -37
  412. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  413. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  414. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  415. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  416. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  417. package/dist/unstable/rpc/RpcClient.d.ts +2 -1
  418. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  419. package/dist/unstable/rpc/RpcClient.js +5 -5
  420. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  421. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  422. package/dist/unstable/rpc/RpcMessage.d.ts +7 -7
  423. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  424. package/dist/unstable/rpc/RpcMessage.js +2 -2
  425. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  426. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  427. package/dist/unstable/rpc/RpcSchema.d.ts +1 -1
  428. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  429. package/dist/unstable/rpc/RpcSerialization.js +8 -8
  430. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  431. package/dist/unstable/rpc/RpcServer.d.ts +5 -3
  432. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  433. package/dist/unstable/rpc/RpcServer.js +11 -8
  434. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  435. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  436. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  437. package/dist/unstable/schema/Model.d.ts +24 -38
  438. package/dist/unstable/schema/Model.d.ts.map +1 -1
  439. package/dist/unstable/schema/VariantSchema.d.ts +1 -1
  440. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  441. package/dist/unstable/socket/Socket.d.ts +1 -1
  442. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  443. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  444. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  445. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  446. package/dist/unstable/sql/SqlError.d.ts +2 -2
  447. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  448. package/dist/unstable/sql/SqlError.js.map +1 -1
  449. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  450. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  451. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  452. package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
  453. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  454. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  455. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  456. package/dist/unstable/workers/WorkerError.d.ts.map +1 -1
  457. package/dist/unstable/workflow/Activity.d.ts +1 -1
  458. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  459. package/dist/unstable/workflow/Activity.js +1 -1
  460. package/dist/unstable/workflow/Activity.js.map +1 -1
  461. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  462. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  463. package/dist/unstable/workflow/DurableDeferred.js +1 -1
  464. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  465. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  466. package/dist/unstable/workflow/DurableQueue.js +1 -1
  467. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  468. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  469. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  470. package/dist/unstable/workflow/WorkflowEngine.js +1 -1
  471. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  472. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  473. package/dist/unstable/workflow/WorkflowProxyServer.d.ts +1 -1
  474. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  475. package/dist/unstable/workflow/WorkflowProxyServer.js +1 -2
  476. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  477. package/package.json +11 -12
  478. package/src/ConfigProvider.ts +79 -27
  479. package/src/Cron.ts +109 -57
  480. package/src/LayerRef.ts +4 -6
  481. package/src/Number.ts +29 -10
  482. package/src/Schedule.ts +1437 -4445
  483. package/src/Schema.ts +95 -34
  484. package/src/SchemaAST.ts +25 -13
  485. package/src/SchemaError.ts +64 -0
  486. package/src/SchemaGetter.ts +22 -16
  487. package/src/SchemaRepresentation.ts +165 -202
  488. package/src/SchemaTransformation.ts +42 -2
  489. package/src/Stream.ts +1 -1
  490. package/src/index.ts +10 -0
  491. package/src/internal/effect.ts +39 -22
  492. package/src/internal/schema/equivalence.ts +1 -2
  493. package/src/internal/schema/representation.ts +4 -4
  494. package/src/internal/schema/schema.ts +4 -37
  495. package/src/unstable/cli/CliError.ts +24 -16
  496. package/src/unstable/cli/Command.ts +8 -8
  497. package/src/unstable/cli/GlobalFlag.ts +22 -33
  498. package/src/unstable/cluster/ClusterCron.ts +4 -3
  499. package/src/unstable/cluster/ClusterWorkflowEngine.ts +4 -3
  500. package/src/unstable/cluster/EntityProxyServer.ts +15 -17
  501. package/src/unstable/cluster/Sharding.ts +4 -4
  502. package/src/unstable/cluster/Snowflake.ts +2 -2
  503. package/src/unstable/cluster/internal/entityManager.ts +61 -47
  504. package/src/unstable/eventlog/EventLog.ts +4 -3
  505. package/src/unstable/httpapi/HttpApi.ts +72 -47
  506. package/src/unstable/httpapi/HttpApiBuilder.ts +320 -217
  507. package/src/unstable/httpapi/HttpApiClient.ts +196 -151
  508. package/src/unstable/httpapi/HttpApiEndpoint.ts +251 -447
  509. package/src/unstable/httpapi/HttpApiError.ts +33 -0
  510. package/src/unstable/httpapi/HttpApiGroup.ts +95 -74
  511. package/src/unstable/httpapi/HttpApiMiddleware.ts +10 -7
  512. package/src/unstable/httpapi/HttpApiScalar.ts +15 -12
  513. package/src/unstable/httpapi/HttpApiSchema.ts +8 -0
  514. package/src/unstable/httpapi/HttpApiSwagger.ts +2 -2
  515. package/src/unstable/httpapi/HttpApiTest.ts +15 -14
  516. package/src/unstable/httpapi/OpenApi.ts +74 -36
  517. package/src/unstable/httpapi/internal/html.ts +9 -2
  518. package/src/unstable/httpapi/internal/mediaType.ts +6 -0
  519. package/src/unstable/observability/OtlpExporter.ts +1 -1
  520. package/src/unstable/persistence/PersistedQueue.ts +16 -14
  521. package/src/unstable/reactivity/Atom.ts +1 -1
  522. package/src/unstable/reactivity/AtomHttpApi.ts +164 -162
  523. package/src/unstable/reactivity/AtomRegistry.ts +35 -44
  524. package/src/unstable/rpc/RpcClient.ts +10 -9
  525. package/src/unstable/rpc/RpcMessage.ts +8 -9
  526. package/src/unstable/rpc/RpcSerialization.ts +16 -16
  527. package/src/unstable/rpc/RpcServer.ts +15 -9
  528. package/src/unstable/workflow/Activity.ts +6 -5
  529. package/src/unstable/workflow/DurableDeferred.ts +1 -1
  530. package/src/unstable/workflow/DurableQueue.ts +4 -3
  531. package/src/unstable/workflow/WorkflowEngine.ts +4 -3
  532. package/src/unstable/workflow/WorkflowProxyServer.ts +11 -12
@@ -5,7 +5,7 @@ import type { Path } from "../../Path.ts";
5
5
  import { type Pipeable } from "../../Pipeable.ts";
6
6
  import * as Redacted from "../../Redacted.ts";
7
7
  import * as Scope from "../../Scope.ts";
8
- import type { Covariant, NoInfer } from "../../Types.ts";
8
+ import type { NoInfer } from "../../Types.ts";
9
9
  import type { Cookie } from "../http/Cookies.ts";
10
10
  import type * as Etag from "../http/Etag.ts";
11
11
  import type { HttpPlatform } from "../http/HttpPlatform.ts";
@@ -23,7 +23,7 @@ import type * as HttpApiSecurity from "./HttpApiSecurity.ts";
23
23
  * @category constructors
24
24
  * @since 4.0.0
25
25
  */
26
- export declare const layer: <Id extends string, Groups extends HttpApiGroup.Any>(api: HttpApi.HttpApi<Id, Groups>, options?: {
26
+ export declare const layer: <Id extends string, Groups extends HttpApiGroup.Constraint>(api: HttpApi.HttpApi<Id, Groups>, options?: {
27
27
  readonly openapiPath?: `/${string}` | undefined;
28
28
  }) => Layer.Layer<never, never, Etag.Generator | HttpRouter.HttpRouter | FileSystem | HttpPlatform | Path | HttpApiGroup.ToService<Id, Groups>>;
29
29
  /**
@@ -38,52 +38,65 @@ export declare const layer: <Id extends string, Groups extends HttpApiGroup.Any>
38
38
  * @category handlers
39
39
  * @since 4.0.0
40
40
  */
41
- export declare const group: <ApiId extends string, Groups extends HttpApiGroup.Any, const Name extends HttpApiGroup.Name<Groups>, Return>(api: HttpApi.HttpApi<ApiId, Groups>, groupName: Name, build: (handlers: Handlers.FromGroup<HttpApiGroup.WithName<Groups, Name>>) => Handlers.ValidateReturn<Return>) => Layer.Layer<HttpApiGroup.ApiGroup<ApiId, Name>, Handlers.Error<Return>, Exclude<Handlers.Context<Return>, Scope.Scope>>;
42
- /**
43
- * Type identifier symbol used to brand `Handlers` values.
44
- *
45
- * @category type IDs
46
- * @since 4.0.0
47
- */
48
- export declare const HandlersTypeId: unique symbol;
49
- /**
50
- * Type of the `Handlers` type identifier symbol.
51
- *
52
- * @category type IDs
53
- * @since 4.0.0
54
- */
55
- export type HandlersTypeId = typeof HandlersTypeId;
41
+ export declare const group: <ApiId extends string, Groups extends HttpApiGroup.Constraint, const Identifier extends HttpApiGroup.Identifier<Groups>, Return>(api: HttpApi.HttpApi<ApiId, Groups>, groupIdentifier: Identifier, build: (handlers: Handlers.FromGroup<HttpApiGroup.WithIdentifier<Groups, Identifier>>) => Handlers.ValidateReturn<Return>) => Layer.Layer<HttpApiGroup.Service<ApiId, Identifier>, Handlers.Error<Return>, Exclude<Handlers.Context<Return>, Scope.Scope>>;
42
+ declare const HandlersTypeId = "~effect/httpapi/HttpApiBuilder/Handlers";
43
+ type HandlerRequirements<Endpoint extends HttpApiEndpoint.Constraint, R1, R = HttpApiEndpoint.ExcludeProvided<Endpoint, R1 | HttpApiEndpoint.ServerServices<Endpoint>>> = HttpApiEndpoint.Middleware<Endpoint> | HttpApiEndpoint.MiddlewareServices<Endpoint> | ([R] extends [never] ? never : HttpRouter.Request<"Requires", R>);
44
+ interface HandlerOptions {
45
+ readonly uninterruptible?: boolean | undefined;
46
+ }
47
+ type HandleAllEntry<Endpoint extends HttpApiEndpoint.Constraint> = HttpApiEndpoint.Handler<Endpoint, HttpApiEndpoint.MiddlewareError<Endpoint>, unknown> | {
48
+ readonly handler: HttpApiEndpoint.Handler<Endpoint, HttpApiEndpoint.MiddlewareError<Endpoint>, unknown>;
49
+ readonly options?: HandlerOptions | undefined;
50
+ };
51
+ type HandleAllHandlers<EndpointsByIdentifier extends Record<string, HttpApiEndpoint.Constraint>> = {
52
+ readonly [Identifier in keyof EndpointsByIdentifier]?: HandleAllEntry<EndpointsByIdentifier[Identifier]>;
53
+ };
54
+ type HandleAllExtraKeys<EndpointsByIdentifier extends Record<string, HttpApiEndpoint.Constraint>, HandlersByIdentifier> = {
55
+ readonly [Identifier in Exclude<keyof HandlersByIdentifier, keyof EndpointsByIdentifier>]: never;
56
+ };
57
+ type NotHandledIdentifier<Identifier extends PropertyKey, HandledIdentifiers extends PropertyKey> = Identifier extends HandledIdentifiers ? never : unknown;
58
+ type HandleAllEntryHandler<Entry> = Entry extends {
59
+ readonly handler: infer Handler;
60
+ } ? Handler : Entry;
61
+ type HandleAllRequirements<EndpointsByIdentifier extends Record<string, HttpApiEndpoint.Constraint>, HandlersByIdentifier extends HandleAllHandlers<EndpointsByIdentifier>> = {
62
+ readonly [Identifier in keyof HandlersByIdentifier & keyof EndpointsByIdentifier]: HandleAllEntryHandler<HandlersByIdentifier[Identifier]> extends HttpApiEndpoint.Handler<EndpointsByIdentifier[Identifier], HttpApiEndpoint.MiddlewareError<EndpointsByIdentifier[Identifier]>, infer R1> ? HandlerRequirements<EndpointsByIdentifier[Identifier], R1> : never;
63
+ }[keyof HandlersByIdentifier & keyof EndpointsByIdentifier];
64
+ type HandlersResult<A> = A extends Effect.Effect<infer H, any, any> ? H : A;
65
+ type MissingHandlerNames<H extends Handlers<any, any, any>> = Exclude<keyof H["~EndpointsByIdentifier"], H["~HandledIdentifiers"]>;
66
+ type ValidateHandlersReturn<A, H = HandlersResult<A>, Missing = H extends Handlers<any, any, any> ? MissingHandlerNames<H> : never> = H extends Handlers<any, any, any> ? [Missing] extends [never] ? A : `Endpoint not handled: ${Missing & string}` : `Must return the implemented handlers`;
56
67
  /**
57
68
  * Mutable handler collection for one `HttpApi` group.
58
69
  *
59
70
  * **Details**
60
71
  *
61
72
  * Each call to `handle` or `handleRaw` registers an endpoint implementation and
62
- * removes that endpoint from the type-level set of endpoints still requiring
63
- * handlers.
73
+ * adds that endpoint identifier to the type-level set of implemented endpoints.
74
+ * Endpoint identifiers that were already handled are rejected at the type level.
64
75
  *
65
76
  * @category handlers
66
77
  * @since 4.0.0
67
78
  */
68
- export interface Handlers<R, Endpoints extends HttpApiEndpoint.Any = never> extends Pipeable {
69
- readonly [HandlersTypeId]: {
70
- _Endpoints: Covariant<Endpoints>;
71
- };
72
- readonly group: HttpApiGroup.AnyWithProps;
73
- readonly handlers: Map<string, Handlers.Item<R>>;
79
+ export interface Handlers<R, EndpointsByIdentifier extends Record<string, HttpApiEndpoint.Constraint> = {}, HandledIdentifiers extends keyof EndpointsByIdentifier = never> extends Pipeable {
80
+ readonly [HandlersTypeId]: typeof HandlersTypeId;
81
+ readonly "~EndpointsByIdentifier": EndpointsByIdentifier;
82
+ readonly "~HandledIdentifiers": HandledIdentifiers;
74
83
  /**
75
- * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
84
+ * Add the implementation for an unhandled `HttpApiEndpoint` to a `Handlers` group.
76
85
  */
77
- handle<Name extends HttpApiEndpoint.Name<Endpoints>, R1>(name: Name, handler: HttpApiEndpoint.HandlerWithName<Endpoints, Name, HttpApiEndpoint.ErrorsWithName<Endpoints, Name>, R1>, options?: {
86
+ handle<Identifier extends keyof EndpointsByIdentifier, R1>(identifier: Identifier & NotHandledIdentifier<Identifier, HandledIdentifiers>, handler: HttpApiEndpoint.Handler<EndpointsByIdentifier[Identifier], HttpApiEndpoint.MiddlewareError<EndpointsByIdentifier[Identifier]>, R1>, options?: {
78
87
  readonly uninterruptible?: boolean | undefined;
79
- } | undefined): Handlers<R | HttpApiEndpoint.MiddlewareWithName<Endpoints, Name> | HttpApiEndpoint.MiddlewareServicesWithName<Endpoints, Name> | (HttpApiEndpoint.ExcludeProvidedWithName<Endpoints, Name, R1 | HttpApiEndpoint.ServerServicesWithName<Endpoints, Name>> extends infer _R ? _R extends never ? never : HttpRouter.Request<"Requires", _R> : never), HttpApiEndpoint.ExcludeName<Endpoints, Name>>;
88
+ } | undefined): Handlers<R | HandlerRequirements<EndpointsByIdentifier[Identifier], R1>, EndpointsByIdentifier, HandledIdentifiers | Identifier>;
80
89
  /**
81
- * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
90
+ * Add implementations for unhandled `HttpApiEndpoint`s in a `Handlers` group.
91
+ */
92
+ handleAll<const HandlersByIdentifier extends HandleAllHandlers<Omit<EndpointsByIdentifier, HandledIdentifiers>>>(handlers: HandlersByIdentifier & HandleAllExtraKeys<Omit<EndpointsByIdentifier, HandledIdentifiers>, HandlersByIdentifier>): Handlers<R | HandleAllRequirements<EndpointsByIdentifier, HandlersByIdentifier>, EndpointsByIdentifier, HandledIdentifiers | (keyof HandlersByIdentifier & keyof EndpointsByIdentifier)>;
93
+ /**
94
+ * Add the implementation for an unhandled `HttpApiEndpoint` to a `Handlers` group.
82
95
  * This version opts out of automatic payload decoding and provides the raw request.
83
96
  */
84
- handleRaw<Name extends HttpApiEndpoint.Name<Endpoints>, R1>(name: Name, handler: HttpApiEndpoint.HandlerRawWithName<Endpoints, Name, HttpApiEndpoint.ErrorsWithName<Endpoints, Name>, R1>, options?: {
97
+ handleRaw<Identifier extends keyof EndpointsByIdentifier, R1>(identifier: Identifier & NotHandledIdentifier<Identifier, HandledIdentifiers>, handler: HttpApiEndpoint.HandlerRaw<EndpointsByIdentifier[Identifier], HttpApiEndpoint.MiddlewareError<EndpointsByIdentifier[Identifier]>, R1>, options?: {
85
98
  readonly uninterruptible?: boolean | undefined;
86
- } | undefined): Handlers<R | HttpApiEndpoint.MiddlewareWithName<Endpoints, Name> | HttpApiEndpoint.MiddlewareServicesWithName<Endpoints, Name> | (HttpApiEndpoint.ExcludeProvidedWithName<Endpoints, Name, R1 | HttpApiEndpoint.ServerServicesWithName<Endpoints, Name>> extends infer _R ? _R extends never ? never : HttpRouter.Request<"Requires", _R> : never), HttpApiEndpoint.ExcludeName<Endpoints, Name>>;
99
+ } | undefined): Handlers<R | HandlerRequirements<EndpointsByIdentifier[Identifier], R1>, EndpointsByIdentifier, HandledIdentifiers | Identifier>;
87
100
  }
88
101
  /**
89
102
  * Namespace containing helper types for `HttpApiBuilder` handler collections.
@@ -91,32 +104,6 @@ export interface Handlers<R, Endpoints extends HttpApiEndpoint.Any = never> exte
91
104
  * @since 4.0.0
92
105
  */
93
106
  export declare namespace Handlers {
94
- /**
95
- * A `Handlers` value with its context and endpoint types erased.
96
- *
97
- * @category handlers
98
- * @since 4.0.0
99
- */
100
- interface Any {
101
- readonly [HandlersTypeId]: any;
102
- }
103
- /**
104
- * Record stored for a registered endpoint handler.
105
- *
106
- * **Details**
107
- *
108
- * It keeps the endpoint metadata, handler function, whether raw request handling
109
- * is used, and whether the handler should run uninterruptibly.
110
- *
111
- * @category handlers
112
- * @since 4.0.0
113
- */
114
- type Item<R> = {
115
- readonly endpoint: HttpApiEndpoint.AnyWithProps;
116
- readonly handler: HttpApiEndpoint.Handler<any, any, R>;
117
- readonly isRaw: boolean;
118
- readonly uninterruptible: boolean;
119
- };
120
107
  /**
121
108
  * Creates a handler collection for a group where every endpoint in the group is
122
109
  * still awaiting an implementation.
@@ -124,7 +111,7 @@ export declare namespace Handlers {
124
111
  * @category handlers
125
112
  * @since 4.0.0
126
113
  */
127
- type FromGroup<Group extends HttpApiGroup.Any> = Handlers<never, HttpApiGroup.Endpoints<Group>>;
114
+ type FromGroup<Group extends HttpApiGroup.Constraint> = Handlers<never, Group["endpoints"]>;
128
115
  /**
129
116
  * Validates the return value of a group handler builder, preserving successful
130
117
  * handler collections and producing a descriptive type error when endpoints remain
@@ -133,7 +120,7 @@ export declare namespace Handlers {
133
120
  * @category handlers
134
121
  * @since 4.0.0
135
122
  */
136
- type ValidateReturn<A> = A extends (Handlers<infer _R, infer _Endpoints> | Effect.Effect<Handlers<infer _R, infer _Endpoints>, infer _EX, infer _RX>) ? [_Endpoints] extends [never] ? A : `Endpoint not handled: ${HttpApiEndpoint.Name<_Endpoints>}` : `Must return the implemented handlers`;
123
+ type ValidateReturn<A> = ValidateHandlersReturn<A>;
137
124
  /**
138
125
  * Extracts the error channel from an effect that produces a `Handlers`
139
126
  * collection, returning `never` for non-effectful handler collections.
@@ -141,7 +128,7 @@ export declare namespace Handlers {
141
128
  * @category handlers
142
129
  * @since 4.0.0
143
130
  */
144
- type Error<A> = A extends Effect.Effect<Handlers<infer _R, infer _Endpoints>, infer _EX, infer _RX> ? _EX : never;
131
+ type Error<A> = A extends Effect.Effect<Handlers<infer _R, infer _EndpointsByIdentifier, infer _HandledIdentifiers>, infer _EX, infer _RX> ? _EX : never;
145
132
  /**
146
133
  * Extracts the services required by a handler collection, including both handler
147
134
  * requirements and the environment required to construct the handlers.
@@ -149,8 +136,9 @@ export declare namespace Handlers {
149
136
  * @category handlers
150
137
  * @since 4.0.0
151
138
  */
152
- type Context<A> = A extends Handlers<infer _R, infer _Endpoints> ? _R : A extends Effect.Effect<Handlers<infer _R, infer _Endpoints>, infer _EX, infer _RX> ? _R | _RX : never;
139
+ type Context<A> = A extends Handlers<infer _R, infer _EndpointsByIdentifier, infer _HandledIdentifiers> ? _R : A extends Effect.Effect<Handlers<infer _R, infer _EndpointsByIdentifier, infer _HandledIdentifiers>, infer _EX, infer _RX> ? _R | _RX : never;
153
140
  }
141
+ type EndpointReturn<Groups extends HttpApiGroup.Constraint, GroupIdentifier extends HttpApiGroup.Identifier<Groups>, EndpointIdentifier extends HttpApiGroup.Endpoints<HttpApiGroup.WithIdentifier<Groups, GroupIdentifier>>["identifier"], R, Endpoint extends HttpApiEndpoint.Constraint = HttpApiEndpoint.WithIdentifier<HttpApiGroup.Endpoints<HttpApiGroup.WithIdentifier<Groups, GroupIdentifier>>, EndpointIdentifier>> = Effect.Effect<Effect.Effect<HttpServerResponse, never, HttpServerRequest | HttpRouter.RouteContext | Request.ParsedSearchParams | Exclude<R, HttpApiEndpoint.MiddlewareProvides<Endpoint>>>, never, HttpApiEndpoint.ServerServices<Endpoint> | HttpApiEndpoint.Middleware<Endpoint> | HttpApiEndpoint.MiddlewareServices<Endpoint> | Etag.Generator | FileSystem | HttpPlatform | Path>;
154
142
  /**
155
143
  * Builds the server-side HTTP effect for a single endpoint in an API group using
156
144
  * the endpoint metadata, middleware, codecs, and supplied handler.
@@ -158,7 +146,7 @@ export declare namespace Handlers {
158
146
  * @category handlers
159
147
  * @since 4.0.0
160
148
  */
161
- export declare const endpoint: <ApiId extends string, Groups extends HttpApiGroup.Any, const GroupName extends HttpApiGroup.Name<Groups>, const EndpointName extends HttpApiEndpoint.Name<HttpApiGroup.Endpoints<HttpApiGroup.WithName<Groups, GroupName>>>, R, Group extends HttpApiGroup.Any = HttpApiGroup.WithName<Groups, GroupName>, Endpoint extends HttpApiEndpoint.Any = HttpApiEndpoint.WithName<HttpApiGroup.Endpoints<Group>, EndpointName>>(api: HttpApi.HttpApi<ApiId, Groups>, groupName: GroupName, endpointName: EndpointName, handler: NoInfer<HttpApiEndpoint.HandlerWithName<HttpApiGroup.Endpoints<HttpApiGroup.WithName<Groups, GroupName>>, EndpointName, never, R>>) => Effect.Effect<Effect.Effect<HttpServerResponse, never, HttpServerRequest | HttpRouter.RouteContext | Request.ParsedSearchParams | Exclude<R, HttpApiEndpoint.MiddlewareProvides<Endpoint>>>, never, HttpApiEndpoint.ServerServices<Endpoint> | HttpApiEndpoint.Middleware<Endpoint> | HttpApiEndpoint.MiddlewareServices<Endpoint> | Etag.Generator | FileSystem | HttpPlatform | Path>;
149
+ export declare const endpoint: <ApiId extends string, Groups extends HttpApiGroup.Constraint, const GroupIdentifier extends HttpApiGroup.Identifier<Groups>, const EndpointIdentifier extends HttpApiGroup.Endpoints<HttpApiGroup.WithIdentifier<Groups, GroupIdentifier>>["identifier"], R>(api: HttpApi.HttpApi<ApiId, Groups>, groupIdentifier: GroupIdentifier, endpointIdentifier: EndpointIdentifier, handler: NoInfer<HttpApiEndpoint.HandlerWithIdentifier<HttpApiGroup.Endpoints<HttpApiGroup.WithIdentifier<Groups, GroupIdentifier>>, EndpointIdentifier, never, R>>) => EndpointReturn<Groups, GroupIdentifier, EndpointIdentifier, R>;
162
150
  /**
163
151
  * Decodes credentials for an HTTP API security scheme from the current request,
164
152
  * supporting bearer, API key, and basic authentication inputs.
@@ -175,4 +163,5 @@ export declare const securityDecode: <Security extends HttpApiSecurity.HttpApiSe
175
163
  * @since 4.0.0
176
164
  */
177
165
  export declare const securitySetCookie: (self: HttpApiSecurity.ApiKey, value: string | Redacted.Redacted, options?: Cookie["options"]) => Effect.Effect<void, never, HttpServerRequest>;
166
+ export {};
178
167
  //# sourceMappingURL=HttpApiBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiBuilder.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpApiBuilder.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiBuilder.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ import * as HttpApiEndpoint from "./HttpApiEndpoint.js";
30
30
  import { HttpApiSchemaError } from "./HttpApiError.js";
31
31
  import * as HttpApiMiddleware from "./HttpApiMiddleware.js";
32
32
  import * as HttpApiSchema from "./HttpApiSchema.js";
33
+ import * as MediaType from "./internal/mediaType.js";
33
34
  import * as OpenApi from "./OpenApi.js";
34
35
  /**
35
36
  * Registers an `HttpApi` with a `HttpRouter`.
@@ -41,7 +42,8 @@ export const layer = (api, options) => HttpRouter.use(Effect.fnUntraced(function
41
42
  const services = yield* Effect.context();
42
43
  const routes = [];
43
44
  const availableGroups = Array.from(services.mapUnsafe.keys()).filter(key => key.startsWith("effect/httpapi/HttpApiGroup/"));
44
- for (const group of Object.values(api.groups)) {
45
+ const groups = Object.values(api.groups);
46
+ for (const group of groups) {
45
47
  const groupRoutes = services.mapUnsafe.get(group.key)?.routes;
46
48
  if (groupRoutes === undefined) {
47
49
  const available = availableGroups.length === 0 ? "none" : availableGroups.join(", ");
@@ -67,9 +69,9 @@ export const layer = (api, options) => HttpRouter.use(Effect.fnUntraced(function
67
69
  * @category handlers
68
70
  * @since 4.0.0
69
71
  */
70
- export const group = (api, groupName, build) => Layer.effectContext(Effect.gen(function* () {
72
+ export const group = (api, groupIdentifier, build) => Layer.effectContext(Effect.gen(function* () {
71
73
  const services = (yield* Effect.context()).pipe(Context.omit(Scope.Scope));
72
- const group = api.groups[groupName];
74
+ const group = api.groups[groupIdentifier];
73
75
  const result = build(makeHandlers(group));
74
76
  const handlers = Effect.isEffect(result) ? yield* result : result;
75
77
  const routes = [];
@@ -81,13 +83,7 @@ export const group = (api, groupName, build) => Layer.effectContext(Effect.gen(f
81
83
  handlers: handlers.handlers
82
84
  }]]));
83
85
  }));
84
- /**
85
- * Type identifier symbol used to brand `Handlers` values.
86
- *
87
- * @category type IDs
88
- * @since 4.0.0
89
- */
90
- export const HandlersTypeId = /*#__PURE__*/Symbol.for("@effect/platform/HttpApiBuilder/Handlers");
86
+ const HandlersTypeId = "~effect/httpapi/HttpApiBuilder/Handlers";
91
87
  /**
92
88
  * Builds the server-side HTTP effect for a single endpoint in an API group using
93
89
  * the endpoint metadata, middleware, codecs, and supplied handler.
@@ -95,9 +91,9 @@ export const HandlersTypeId = /*#__PURE__*/Symbol.for("@effect/platform/HttpApiB
95
91
  * @category handlers
96
92
  * @since 4.0.0
97
93
  */
98
- export const endpoint = (api, groupName, endpointName, handler) => Effect.contextWith(context => {
99
- const group = api.groups[groupName];
100
- const endpoint = group.endpoints[endpointName];
94
+ export const endpoint = (api, groupIdentifier, endpointIdentifier, handler) => Effect.contextWith(context => {
95
+ const group = api.groups[groupIdentifier];
96
+ const endpoint = group.endpoints[endpointIdentifier];
101
97
  return Effect.succeed(handlerToHttpEffect(group, endpoint, Context.omit(Scope.Scope)(context), handler, false));
102
98
  });
103
99
  /**
@@ -111,9 +107,7 @@ export const securityDecode = self => {
111
107
  switch (self._tag) {
112
108
  case "Http":
113
109
  {
114
- return Effect.map(HttpServerRequest,
115
- // schemeLength + space
116
- request => Redacted.make((request.headers.authorization ?? "").slice(self.schemeLength + 1)));
110
+ return Effect.map(HttpServerRequest, request => Redacted.make(getAuthorizationCredential(request.headers.authorization, self.scheme) ?? ""));
117
111
  }
118
112
  case "ApiKey":
119
113
  {
@@ -133,19 +127,20 @@ export const securityDecode = self => {
133
127
  username: "",
134
128
  password: Redacted.make("")
135
129
  };
136
- return HttpServerRequest.pipe(Effect.flatMap(request => Effect.fromResult(Encoding.decodeBase64String((request.headers.authorization ?? "").slice(basicLen)))), Effect.match({
137
- onFailure: () => empty,
138
- onSuccess: header => {
139
- const parts = header.split(":");
140
- if (parts.length !== 2) {
141
- return empty;
142
- }
143
- return {
144
- username: parts[0],
145
- password: Redacted.make(parts[1])
146
- };
147
- }
148
- }));
130
+ return Effect.map(HttpServerRequest, request => {
131
+ const encoded = getAuthorizationCredential(request.headers.authorization, basicScheme);
132
+ if (encoded === undefined) return empty;
133
+ const decoded = Result.getOrUndefined(Encoding.decodeBase64String(encoded));
134
+ if (decoded === undefined) return empty;
135
+ // RFC 7617, Section 2: only the first colon separates the user-id from the password.
136
+ // https://www.rfc-editor.org/rfc/rfc7617.html#section-2
137
+ const separator = decoded.indexOf(":");
138
+ if (separator === -1) return empty;
139
+ return {
140
+ username: decoded.slice(0, separator),
141
+ password: Redacted.make(decoded.slice(separator + 1))
142
+ };
143
+ });
149
144
  }
150
145
  }
151
146
  };
@@ -164,33 +159,54 @@ export const securitySetCookie = (self, value, options) => HttpEffect.appendPreR
164
159
  // -----------------------------------------------------------------------------
165
160
  // Internal
166
161
  // -----------------------------------------------------------------------------
167
- const basicLen = `Basic `.length;
162
+ const basicScheme = "Basic";
163
+ function getAuthorizationCredential(authorization, scheme) {
164
+ const schemeLength = scheme.length;
165
+ // RFC 9110, Section 11.1: schemes are case-insensitive and credentials follow 1*SP.
166
+ // https://www.rfc-editor.org/rfc/rfc9110.html#section-11.1
167
+ if (authorization === undefined || authorization.length <= schemeLength || authorization.charCodeAt(schemeLength) !== 32 || authorization.slice(0, schemeLength).toLowerCase() !== scheme.toLowerCase()) {
168
+ return undefined;
169
+ }
170
+ let credentialStart = schemeLength + 1;
171
+ while (authorization.charCodeAt(credentialStart) === 32) {
172
+ credentialStart++;
173
+ }
174
+ return credentialStart === authorization.length ? undefined : authorization.slice(credentialStart);
175
+ }
176
+ const registerHandler = (self, identifier, handler, isRaw, options) => {
177
+ if (!Object.hasOwn(self.group.endpoints, identifier)) {
178
+ throw new Error(`HttpApiEndpoint "${identifier}" not found in HttpApiGroup "${self.group.identifier}"`);
179
+ }
180
+ if (self.handlers.has(identifier)) {
181
+ throw new Error(`Handler for HttpApiEndpoint "${identifier}" is already registered in HttpApiGroup "${self.group.identifier}"`);
182
+ }
183
+ const endpoint = self.group.endpoints[identifier];
184
+ self.handlers.set(identifier, {
185
+ endpoint,
186
+ handler,
187
+ isRaw,
188
+ uninterruptible: options?.uninterruptible ?? false
189
+ });
190
+ return self;
191
+ };
168
192
  const HandlersProto = {
169
- [HandlersTypeId]: {
170
- _Endpoints: identity
171
- },
193
+ [HandlersTypeId]: HandlersTypeId,
172
194
  pipe() {
173
195
  return pipeArguments(this, arguments);
174
196
  },
175
- handle(name, handler, options) {
176
- const endpoint = this.group.endpoints[name];
177
- this.handlers.set(name, {
178
- endpoint,
179
- handler,
180
- isRaw: false,
181
- uninterruptible: options?.uninterruptible ?? false
182
- });
183
- return this;
197
+ handle(identifier, handler, options) {
198
+ return registerHandler(this, identifier, handler, false, options);
184
199
  },
185
- handleRaw(name, handler, options) {
186
- const endpoint = this.group.endpoints[name];
187
- this.handlers.set(name, {
188
- endpoint,
189
- handler,
190
- isRaw: true,
191
- uninterruptible: options?.uninterruptible ?? false
192
- });
200
+ handleAll(handlers) {
201
+ for (const [identifier, entry] of Object.entries(handlers)) {
202
+ const handler = typeof entry === "function" ? entry : entry.handler;
203
+ const options = typeof entry === "function" ? undefined : entry.options;
204
+ registerHandler(this, identifier, handler, false, options);
205
+ }
193
206
  return this;
207
+ },
208
+ handleRaw(identifier, handler, options) {
209
+ return registerHandler(this, identifier, handler, true, options);
194
210
  }
195
211
  };
196
212
  const makeHandlers = group => {
@@ -225,7 +241,7 @@ function buildPayloadDecoders(payloadMap) {
225
241
  }
226
242
  function decodePayload(payloadBy, httpRequest, query) {
227
243
  const hasBody = HttpMethod.hasBody(httpRequest.method);
228
- const contentType = hasBody ? getRequestMediaType(httpRequest) : "application/x-www-form-urlencoded";
244
+ const contentType = hasBody ? MediaType.normalize(httpRequest.headers["content-type"] ?? "application/json") : "application/x-www-form-urlencoded";
229
245
  const existing = payloadBy.get(contentType);
230
246
  if (!existing) {
231
247
  return Response.text(`Unsupported content-type: ${contentType}`, {
@@ -331,12 +347,6 @@ export function handlerToRoute(group, handler, context) {
331
347
  uninterruptible: handler.uninterruptible
332
348
  });
333
349
  }
334
- const getRequestContentType = request => request.headers["content-type"] ? request.headers["content-type"].toLowerCase().trim() : "application/json";
335
- const getRequestMediaType = request => {
336
- const contentType = getRequestContentType(request);
337
- const index = contentType.indexOf(";");
338
- return index === -1 ? contentType : contentType.slice(0, index).trim();
339
- };
340
350
  const applyMiddleware = (group, endpoint, context, handler) => {
341
351
  const options = {
342
352
  group,
@@ -497,7 +507,7 @@ function toResponseSchema(getStatus) {
497
507
  return cached;
498
508
  }
499
509
  const responseSchema = $HttpServerResponse.pipe(Schema.decodeTo(schema, getResponseTransformation(getStatus, schema)));
500
- cache.set(responseSchema.ast, responseSchema);
510
+ cache.set(schema.ast, responseSchema);
501
511
  return responseSchema;
502
512
  };
503
513
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiBuilder.js","names":["Context","Effect","Encoding","Fiber","identity","stringOrRedacted","Layer","Option","pipeArguments","hasProperty","Redacted","Result","Schema","SchemaAST","SchemaIssue","SchemaTransformation","Scope","Stream","UndefinedOr","Sse","HttpEffect","HttpMethod","HttpRouter","Request","HttpServerRequest","Response","Multipart","UrlParams","HttpApiEndpoint","HttpApiSchemaError","HttpApiMiddleware","HttpApiSchema","OpenApi","layer","api","options","use","fnUntraced","router","services","context","routes","availableGroups","Array","from","mapUnsafe","keys","filter","key","startsWith","group","Object","values","groups","groupRoutes","get","undefined","available","length","join","die","identifier","push","addAll","openapiPath","spec","fromApi","add","succeed","jsonUnsafe","groupName","build","effectContext","gen","pipe","omit","result","makeHandlers","handlers","isEffect","item","handlerToRoute","makeUnsafe","Map","HandlersTypeId","Symbol","for","endpoint","endpointName","handler","contextWith","endpoints","handlerToHttpEffect","securityDecode","self","_tag","map","request","make","headers","authorization","slice","schemeLength","in","toLowerCase","schema","Struct","String","decode","schemaSearchParams","schemaCookies","schemaHeaders","match","onFailure","onSuccess","empty","username","password","flatMap","fromResult","decodeBase64String","basicLen","header","parts","split","securitySetCookie","value","appendPreResponseHandler","_req","response","orDie","setCookie","secure","httpOnly","HandlersProto","_Endpoints","arguments","handle","name","set","isRaw","uninterruptible","handleRaw","create","buildPayloadDecoders","payloadMap","forEach","encoding","schemas","contentType","decodeUnknownEffect","Union","mode","limits","nullOnEmpty","some","s","isNull","toEncoded","ast","decodePayload","payloadBy","httpRequest","query","hasBody","method","getRequestMediaType","existing","text","status","eff","multipart","provideContext","limitsServices","multipartStream","JSON","parse","cause","fail","SchemaError","InvalidValue","message","source","urlParamsBody","toRecord","arrayBuffer","buffer","Uint8Array","encodeSuccess","encodeUnknownEffect","makeSuccessSchema","encodeError","makeErrorSchema","decodeParams","params","decodeHeaders","decodeQuery","encodeStream","makeStreamEncoder","shouldParsePayload","payload","size","applyMiddleware","fiber","getCurrent","getUnsafe","routeContext","RouteContext","ParsedSearchParams","wrap","isHttpServerResponse","streamResponse","withErrorReporting","catch","error","is","route","path","getRequestContentType","trim","index","indexOf","key_","middlewares","service","apply","isSecurity","makeSecurityMiddleware","securityMiddlewareCache","WeakMap","cached","entries","security","securityKey","middleware","mapError","HandlerError","lastResult","i","credential","isFailure","isHandlerError","failure","success","HandlerErrorTypeId","constructor","$HttpServerResponse","declare","streamSchema","getStreamSuccessSchema","hasBuffered","hasBufferedSuccess","getStatusStream","isStreamUint8Array","isStream","stream","sseEncoder","makeSseEncoder","encodeSseStream","isStreamSchema","isSchema","CauseSchema","toCodecJson","Cause","Defect","sseMode","encodeEvents","events","encodeCause","fromJsonString","encoder","id","event","data","mapArrayEffect","chunk","catchCause","fromEffect","encodeFailureEvent","renderSseEvent","encodeText","encodedCause","reservedStreamFailureEvent","write","toResponseSuccessSchema","toResponseSchema","getStatusSuccess","toResponseErrorSchema","getStatusError","getSuccessSchemas","getErrorSchemas","Never","getStatus","cache","responseSchema","decodeTo","getResponseTransformation","encode","getResponseEncode","getResponseEncoding","isNoContent","transformOrFail","res","Forbidden","e","stringify","globalThis","uint8Array","urlParams","setHeader"],"sources":["../../../src/unstable/httpapi/HttpApiBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiBuilder.js","names":["Context","Effect","Encoding","Fiber","identity","stringOrRedacted","Layer","Option","pipeArguments","hasProperty","Redacted","Result","Schema","SchemaAST","SchemaIssue","SchemaTransformation","Scope","Stream","UndefinedOr","Sse","HttpEffect","HttpMethod","HttpRouter","Request","HttpServerRequest","Response","Multipart","UrlParams","HttpApiEndpoint","HttpApiSchemaError","HttpApiMiddleware","HttpApiSchema","MediaType","OpenApi","layer","api","options","use","fnUntraced","router","services","context","routes","availableGroups","Array","from","mapUnsafe","keys","filter","key","startsWith","groups","Object","values","group","groupRoutes","get","undefined","available","length","join","die","identifier","push","addAll","openapiPath","spec","fromApi","add","succeed","jsonUnsafe","groupIdentifier","build","effectContext","gen","pipe","omit","result","makeHandlers","handlers","isEffect","item","handlerToRoute","makeUnsafe","Map","HandlersTypeId","endpoint","endpointIdentifier","handler","contextWith","endpoints","handlerToHttpEffect","securityDecode","self","_tag","map","request","make","getAuthorizationCredential","headers","authorization","scheme","in","toLowerCase","schema","Struct","String","decode","schemaSearchParams","schemaCookies","schemaHeaders","match","onFailure","onSuccess","empty","username","password","encoded","basicScheme","decoded","getOrUndefined","decodeBase64String","separator","indexOf","slice","securitySetCookie","value","appendPreResponseHandler","_req","response","orDie","setCookie","secure","httpOnly","schemeLength","charCodeAt","credentialStart","registerHandler","isRaw","hasOwn","Error","has","set","uninterruptible","HandlersProto","arguments","handle","handleAll","entry","entries","handleRaw","create","buildPayloadDecoders","payloadMap","forEach","encoding","schemas","contentType","decodeUnknownEffect","Union","mode","limits","nullOnEmpty","some","s","isNull","toEncoded","ast","decodePayload","payloadBy","httpRequest","query","hasBody","method","normalize","existing","text","status","eff","multipart","provideContext","limitsServices","flatMap","multipartStream","JSON","parse","cause","fail","SchemaError","InvalidValue","message","source","urlParamsBody","toRecord","arrayBuffer","buffer","Uint8Array","encodeSuccess","encodeUnknownEffect","makeSuccessSchema","encodeError","makeErrorSchema","decodeParams","params","decodeHeaders","decodeQuery","encodeStream","makeStreamEncoder","shouldParsePayload","payload","size","applyMiddleware","fiber","getCurrent","getUnsafe","routeContext","RouteContext","ParsedSearchParams","wrap","isHttpServerResponse","streamResponse","withErrorReporting","catch","error","is","route","path","key_","middlewares","service","apply","isSecurity","makeSecurityMiddleware","securityMiddlewareCache","WeakMap","cached","security","securityKey","middleware","mapError","HandlerError","lastResult","i","credential","isFailure","isHandlerError","failure","success","fromResult","HandlerErrorTypeId","constructor","$HttpServerResponse","declare","streamSchema","getStreamSuccessSchema","hasBuffered","hasBufferedSuccess","getStatusStream","isStreamUint8Array","isStream","stream","sseEncoder","makeSseEncoder","encodeSseStream","isStreamSchema","isSchema","CauseSchema","toCodecJson","Cause","Defect","sseMode","encodeEvents","events","encodeCause","fromJsonString","encoder","id","event","data","mapArrayEffect","chunk","catchCause","fromEffect","encodeFailureEvent","renderSseEvent","encodeText","encodedCause","reservedStreamFailureEvent","write","toResponseSuccessSchema","toResponseSchema","getStatusSuccess","toResponseErrorSchema","getStatusError","getSuccessSchemas","getErrorSchemas","Never","getStatus","cache","responseSchema","decodeTo","getResponseTransformation","encode","getResponseEncode","getResponseEncoding","isNoContent","transformOrFail","res","Forbidden","e","stringify","globalThis","uint8Array","urlParams","setHeader"],"sources":["../../../src/unstable/httpapi/HttpApiBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}