effect 4.0.0-beta.97 → 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 (166) hide show
  1. package/dist/LayerRef.d.ts +4 -6
  2. package/dist/LayerRef.d.ts.map +1 -1
  3. package/dist/LayerRef.js +4 -6
  4. package/dist/LayerRef.js.map +1 -1
  5. package/dist/Number.d.ts.map +1 -1
  6. package/dist/Number.js +28 -10
  7. package/dist/Number.js.map +1 -1
  8. package/dist/Schema.d.ts +22 -22
  9. package/dist/Schema.d.ts.map +1 -1
  10. package/dist/Schema.js +36 -33
  11. package/dist/Schema.js.map +1 -1
  12. package/dist/SchemaAST.d.ts.map +1 -1
  13. package/dist/SchemaAST.js +25 -10
  14. package/dist/SchemaAST.js.map +1 -1
  15. package/dist/SchemaError.d.ts +53 -0
  16. package/dist/SchemaError.d.ts.map +1 -0
  17. package/dist/SchemaError.js +61 -0
  18. package/dist/SchemaError.js.map +1 -0
  19. package/dist/SchemaGetter.d.ts.map +1 -1
  20. package/dist/SchemaGetter.js +17 -12
  21. package/dist/SchemaGetter.js.map +1 -1
  22. package/dist/SchemaRepresentation.d.ts.map +1 -1
  23. package/dist/SchemaRepresentation.js +186 -224
  24. package/dist/SchemaRepresentation.js.map +1 -1
  25. package/dist/index.d.ts +8 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +8 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/internal/effect.js +26 -8
  30. package/dist/internal/effect.js.map +1 -1
  31. package/dist/internal/schema/equivalence.js +1 -2
  32. package/dist/internal/schema/equivalence.js.map +1 -1
  33. package/dist/internal/schema/representation.js +1 -3
  34. package/dist/internal/schema/representation.js.map +1 -1
  35. package/dist/internal/schema/schema.d.ts +0 -13
  36. package/dist/internal/schema/schema.d.ts.map +1 -1
  37. package/dist/internal/schema/schema.js +4 -29
  38. package/dist/internal/schema/schema.js.map +1 -1
  39. package/dist/unstable/ai/McpSchema.d.ts +128 -128
  40. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  41. package/dist/unstable/cli/CliError.d.ts +8 -16
  42. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  43. package/dist/unstable/cli/CliError.js +8 -16
  44. package/dist/unstable/cli/CliError.js.map +1 -1
  45. package/dist/unstable/cli/Command.d.ts +4 -3
  46. package/dist/unstable/cli/Command.d.ts.map +1 -1
  47. package/dist/unstable/cli/Command.js +3 -3
  48. package/dist/unstable/cli/Command.js.map +1 -1
  49. package/dist/unstable/cli/GlobalFlag.d.ts +6 -8
  50. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  51. package/dist/unstable/cli/GlobalFlag.js +6 -6
  52. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  53. package/dist/unstable/cluster/EntityProxyServer.d.ts +1 -1
  54. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  55. package/dist/unstable/cluster/EntityProxyServer.js +2 -4
  56. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  57. package/dist/unstable/cluster/internal/entityManager.js +15 -12
  58. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  59. package/dist/unstable/httpapi/HttpApi.d.ts +36 -15
  60. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  61. package/dist/unstable/httpapi/HttpApi.js +19 -20
  62. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  63. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +51 -62
  64. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  65. package/dist/unstable/httpapi/HttpApiBuilder.js +68 -58
  66. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  67. package/dist/unstable/httpapi/HttpApiClient.d.ts +53 -53
  68. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  69. package/dist/unstable/httpapi/HttpApiClient.js +40 -30
  70. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  71. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +165 -164
  72. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  73. package/dist/unstable/httpapi/HttpApiEndpoint.js +31 -19
  74. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  75. package/dist/unstable/httpapi/HttpApiError.d.ts +22 -0
  76. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  77. package/dist/unstable/httpapi/HttpApiError.js +31 -0
  78. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  79. package/dist/unstable/httpapi/HttpApiGroup.d.ts +55 -30
  80. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  81. package/dist/unstable/httpapi/HttpApiGroup.js +22 -29
  82. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  83. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +8 -8
  84. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  85. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  86. package/dist/unstable/httpapi/HttpApiScalar.d.ts +2 -2
  87. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  88. package/dist/unstable/httpapi/HttpApiScalar.js +4 -3
  89. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  90. package/dist/unstable/httpapi/HttpApiSchema.d.ts +8 -0
  91. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  92. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  93. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +1 -1
  94. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  95. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  96. package/dist/unstable/httpapi/HttpApiTest.d.ts +4 -4
  97. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  98. package/dist/unstable/httpapi/HttpApiTest.js +9 -8
  99. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  100. package/dist/unstable/httpapi/OpenApi.d.ts +1 -1
  101. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  102. package/dist/unstable/httpapi/OpenApi.js +77 -37
  103. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  104. package/dist/unstable/httpapi/internal/html.js +6 -2
  105. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  106. package/dist/unstable/httpapi/internal/mediaType.d.ts +2 -0
  107. package/dist/unstable/httpapi/internal/mediaType.d.ts.map +1 -0
  108. package/dist/unstable/httpapi/internal/mediaType.js +7 -0
  109. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -0
  110. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  111. package/dist/unstable/persistence/PersistedQueue.js +16 -12
  112. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  113. package/dist/unstable/reactivity/Atom.js +1 -1
  114. package/dist/unstable/reactivity/Atom.js.map +1 -1
  115. package/dist/unstable/reactivity/AtomHttpApi.d.ts +7 -7
  116. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  117. package/dist/unstable/reactivity/AtomHttpApi.js +3 -2
  118. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  119. package/dist/unstable/rpc/RpcServer.d.ts +3 -1
  120. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  121. package/dist/unstable/rpc/RpcServer.js +6 -3
  122. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  123. package/dist/unstable/workflow/DurableDeferred.js +1 -1
  124. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  125. package/dist/unstable/workflow/WorkflowProxyServer.d.ts +1 -1
  126. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  127. package/dist/unstable/workflow/WorkflowProxyServer.js +1 -2
  128. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  129. package/package.json +1 -1
  130. package/src/LayerRef.ts +4 -6
  131. package/src/Number.ts +29 -10
  132. package/src/Schema.ts +42 -34
  133. package/src/SchemaAST.ts +25 -13
  134. package/src/SchemaError.ts +64 -0
  135. package/src/SchemaGetter.ts +22 -16
  136. package/src/SchemaRepresentation.ts +165 -202
  137. package/src/index.ts +10 -0
  138. package/src/internal/effect.ts +39 -22
  139. package/src/internal/schema/equivalence.ts +1 -2
  140. package/src/internal/schema/representation.ts +4 -4
  141. package/src/internal/schema/schema.ts +4 -37
  142. package/src/unstable/cli/CliError.ts +24 -16
  143. package/src/unstable/cli/Command.ts +8 -8
  144. package/src/unstable/cli/GlobalFlag.ts +22 -33
  145. package/src/unstable/cluster/EntityProxyServer.ts +15 -17
  146. package/src/unstable/cluster/internal/entityManager.ts +48 -34
  147. package/src/unstable/httpapi/HttpApi.ts +72 -47
  148. package/src/unstable/httpapi/HttpApiBuilder.ts +320 -217
  149. package/src/unstable/httpapi/HttpApiClient.ts +196 -151
  150. package/src/unstable/httpapi/HttpApiEndpoint.ts +251 -447
  151. package/src/unstable/httpapi/HttpApiError.ts +33 -0
  152. package/src/unstable/httpapi/HttpApiGroup.ts +95 -74
  153. package/src/unstable/httpapi/HttpApiMiddleware.ts +10 -7
  154. package/src/unstable/httpapi/HttpApiScalar.ts +15 -12
  155. package/src/unstable/httpapi/HttpApiSchema.ts +8 -0
  156. package/src/unstable/httpapi/HttpApiSwagger.ts +2 -2
  157. package/src/unstable/httpapi/HttpApiTest.ts +15 -14
  158. package/src/unstable/httpapi/OpenApi.ts +74 -36
  159. package/src/unstable/httpapi/internal/html.ts +9 -2
  160. package/src/unstable/httpapi/internal/mediaType.ts +6 -0
  161. package/src/unstable/persistence/PersistedQueue.ts +16 -14
  162. package/src/unstable/reactivity/Atom.ts +1 -1
  163. package/src/unstable/reactivity/AtomHttpApi.ts +164 -162
  164. package/src/unstable/rpc/RpcServer.ts +10 -4
  165. package/src/unstable/workflow/DurableDeferred.ts +1 -1
  166. package/src/unstable/workflow/WorkflowProxyServer.ts +11 -12
@@ -4,6 +4,7 @@ import type { Effect } from "../../Effect.ts";
4
4
  import { type Pipeable } from "../../Pipeable.ts";
5
5
  import * as Schema from "../../Schema.ts";
6
6
  import type * as Stream from "../../Stream.ts";
7
+ import type { Simplify } from "../../Struct.ts";
7
8
  import type * as Types from "../../Types.ts";
8
9
  import type { HttpMethod } from "../http/HttpMethod.ts";
9
10
  import * as HttpRouter from "../http/HttpRouter.ts";
@@ -21,25 +22,53 @@ declare const TypeId = "~effect/httpapi/HttpApiEndpoint";
21
22
  * @category guards
22
23
  * @since 4.0.0
23
24
  */
24
- export declare const isHttpApiEndpoint: (u: unknown) => u is HttpApiEndpoint<any, any, any>;
25
+ export declare const isHttpApiEndpoint: (u: unknown) => u is Top;
26
+ type SuccessType<S> = S extends HttpApiSchema.StreamSse<infer _Events, infer _Error, infer _Value> ? Stream.Stream<_Value, _Error["Type"], never> : S extends HttpApiSchema.StreamUint8Array ? Stream.Stream<Uint8Array, unknown, never> : S extends Schema.Constraint ? S["Type"] : never;
27
+ type SuccessEncodingServices<S> = S extends HttpApiSchema.StreamSse<infer _Events, infer _Error, infer _Value> ? _Events["EncodingServices"] | _Error["EncodingServices"] : S extends HttpApiSchema.StreamUint8Array ? never : S extends Schema.Constraint ? S["EncodingServices"] : never;
28
+ type SuccessDecodingServices<S> = S extends HttpApiSchema.StreamSse<infer _Events, infer _Error, infer _Value> ? _Events["DecodingServices"] | _Error["DecodingServices"] : S extends HttpApiSchema.StreamUint8Array ? never : S extends Schema.Constraint ? S["DecodingServices"] : never;
29
+ type UnwrapReadonlyArray<S> = S extends ReadonlyArray<infer A> ? A : S;
30
+ type ExtractBufferedSuccess<S extends SuccessConstraint> = Exclude<Extract<UnwrapReadonlyArray<S>, Schema.Top>, HttpApiSchema.StreamSchema>;
31
+ type ExtractStreamSuccess<S extends SuccessConstraint> = UnwrapReadonlyArray<S> extends infer Success ? Success extends HttpApiSchema.StreamSchema ? Success : never : never;
32
+ type ToSuccessCodec<S extends SuccessConstraint> = [ExtractBufferedSuccess<S>] extends [never] ? ExtractStreamSuccess<S> : Schema.toCodecJson<ExtractBufferedSuccess<S>> | ExtractStreamSuccess<S>;
33
+ type ToJsonCodec<S> = [S] extends [never] ? never : [S] extends [Schema.Constraint] ? Schema.toCodecJson<S> : never;
34
+ type ToStringTreeCodec<S> = [S] extends [never] ? never : [S] extends [Schema.Struct.Fields] ? Schema.toCodecStringTree<Schema.Struct<S>> : [S] extends [Schema.Constraint] ? Schema.toCodecStringTree<S> : never;
35
+ type RequestFromParts<Endpoint, ParamsType, QueryType, PayloadType, HeadersType> = ([ParamsType] extends [never] ? {} : {
36
+ readonly params: Simplify<ParamsType>;
37
+ }) & ([QueryType] extends [never] ? {} : {
38
+ readonly query: Simplify<QueryType>;
39
+ }) & ([PayloadType] extends [never] ? {} : PayloadType extends Brand<HttpApiSchema.MultipartStreamTypeId> ? {
40
+ readonly payload: Stream.Stream<Multipart.Part, Multipart.MultipartError>;
41
+ } : {
42
+ readonly payload: Simplify<PayloadType>;
43
+ }) & ([HeadersType] extends [never] ? {} : {
44
+ readonly headers: Simplify<HeadersType>;
45
+ }) & {
46
+ readonly request: HttpServerRequest;
47
+ readonly endpoint: Endpoint;
48
+ readonly group: HttpApiGroup.Top;
49
+ };
50
+ type RequestRawFromParts<Endpoint, ParamsType, QueryType, HeadersType> = ([ParamsType] extends [never] ? {} : {
51
+ readonly params: Simplify<ParamsType>;
52
+ }) & ([QueryType] extends [never] ? {} : {
53
+ readonly query: Simplify<QueryType>;
54
+ }) & ([HeadersType] extends [never] ? {} : {
55
+ readonly headers: Simplify<HeadersType>;
56
+ }) & {
57
+ readonly request: HttpServerRequest;
58
+ readonly endpoint: Endpoint;
59
+ readonly group: HttpApiGroup.Top;
60
+ };
25
61
  /**
26
- * Maps content types to the payload encoding strategy and one or more schemas that
27
- * can decode or encode payloads for that content type.
62
+ * Maps normalized media types to a payload encoding strategy and one or more
63
+ * schemas. Each schema retains its declared content type in its encoding annotation.
28
64
  *
29
65
  * @category models
30
66
  * @since 4.0.0
31
67
  */
32
68
  export type PayloadMap = ReadonlyMap<string, {
33
69
  readonly encoding: HttpApiSchema.PayloadEncoding;
34
- readonly schemas: [Schema.Top, ...Array<Schema.Top>];
70
+ readonly schemas: readonly [Schema.Top, ...Array<Schema.Top>];
35
71
  }>;
36
- type SuccessType<S> = S extends HttpApiSchema.StreamSse<infer _Events, infer _Error, infer _Value> ? Stream.Stream<_Value, _Error["Type"], never> : S extends HttpApiSchema.StreamUint8Array ? Stream.Stream<Uint8Array, unknown, never> : S extends Schema.Constraint ? S["Type"] : never;
37
- type SuccessEncodingServices<S> = S extends HttpApiSchema.StreamSse<infer _Events, infer _Error, infer _Value> ? _Events["EncodingServices"] | _Error["EncodingServices"] : S extends HttpApiSchema.StreamUint8Array ? never : S extends Schema.Constraint ? S["EncodingServices"] : never;
38
- type SuccessDecodingServices<S> = S extends HttpApiSchema.StreamSse<infer _Events, infer _Error, infer _Value> ? _Events["DecodingServices"] | _Error["DecodingServices"] : S extends HttpApiSchema.StreamUint8Array ? never : S extends Schema.Constraint ? S["DecodingServices"] : never;
39
- type ExtractSuccessOrArray<S extends SuccessConstraint> = S extends ReadonlyArray<Schema.Constraint> ? S[number] : S;
40
- type ExtractBufferedSuccess<S extends SuccessConstraint> = Exclude<Extract<ExtractSuccessOrArray<S>, Schema.Top>, HttpApiSchema.StreamSchema>;
41
- type ExtractStreamSuccess<S extends SuccessConstraint> = ExtractSuccessOrArray<S> extends infer Success ? Success extends HttpApiSchema.StreamSchema ? Success : never : never;
42
- type JsonSuccessOrArray<S extends SuccessConstraint> = [ExtractBufferedSuccess<S>] extends [never] ? ExtractStreamSuccess<S> : Json<ExtractBufferedSuccess<S>> | ExtractStreamSuccess<S>;
43
72
  /**
44
73
  * Represents an API endpoint. An API endpoint is mapped to a single route on
45
74
  * the underlying `HttpRouter`.
@@ -47,17 +76,20 @@ type JsonSuccessOrArray<S extends SuccessConstraint> = [ExtractBufferedSuccess<S
47
76
  * @category models
48
77
  * @since 4.0.0
49
78
  */
50
- export interface HttpApiEndpoint<out Name extends string, out Method extends HttpMethod, out Path extends string, out Params extends Schema.Top = never, out Query extends Schema.Top = never, out Payload extends Schema.Top = never, out Headers extends Schema.Top = never, out Success extends Schema.Top = typeof HttpApiSchema.NoContent, out Error extends Schema.Top = never, in out Middleware = never, out MiddlewareR = never> extends Pipeable {
51
- readonly [TypeId]: {
52
- readonly _MiddlewareR: Types.Covariant<MiddlewareR>;
53
- };
79
+ export interface HttpApiEndpoint<out Identifier extends string, out Method extends HttpMethod, out Path extends string, out Params extends Schema.Top = never, out Query extends Schema.Top = never, out Payload extends Schema.Top = never, out Headers extends Schema.Top = never, out Success extends Schema.Top = typeof HttpApiSchema.NoContent, out Error extends Schema.Top = never, in out Middleware = never, out MiddlewareServices = never> extends Pipeable {
80
+ new (_: never): {};
81
+ readonly [TypeId]: typeof TypeId;
54
82
  readonly "~Params": Params;
55
83
  readonly "~Query": Query;
56
84
  readonly "~Headers": Headers;
57
85
  readonly "~Payload": Payload;
58
86
  readonly "~Success": Success;
59
87
  readonly "~Error": Error;
60
- readonly name: Name;
88
+ readonly "~Middleware": Middleware;
89
+ readonly "~MiddlewareServices": MiddlewareServices;
90
+ readonly "~Request": RequestFromParts<this, Params["Type"], Query["Type"], Payload["Type"], Headers["Type"]>;
91
+ readonly "~RequestRaw": RequestRawFromParts<this, Params["Type"], Query["Type"], Headers["Type"]>;
92
+ readonly identifier: Identifier;
61
93
  readonly path: Path;
62
94
  readonly method: Method;
63
95
  readonly params: Schema.Top | undefined;
@@ -71,19 +103,19 @@ export interface HttpApiEndpoint<out Name extends string, out Method extends Htt
71
103
  /**
72
104
  * Add a prefix to the path of the endpoint.
73
105
  */
74
- prefix<const Prefix extends HttpRouter.PathInput>(prefix: Prefix): HttpApiEndpoint<Name, Method, `${Prefix}${Path}`, Params, Query, Payload, Headers, Success, Error, Middleware, MiddlewareR>;
106
+ prefix<const Prefix extends HttpRouter.PathInput>(prefix: Prefix): HttpApiEndpoint<Identifier, Method, `${Prefix}${Path}`, Params, Query, Payload, Headers, Success, Error, Middleware, MiddlewareServices>;
75
107
  /**
76
108
  * Add an `HttpApiMiddleware` to the endpoint.
77
109
  */
78
- middleware<I extends HttpApiMiddleware.AnyId, S>(middleware: Context.Key<I, S>): HttpApiEndpoint<Name, Method, Path, Params, Query, Payload, Headers, Success, Error, Middleware | I, HttpApiMiddleware.ApplyServices<I, MiddlewareR>>;
110
+ middleware<I extends HttpApiMiddleware.AnyId, S>(middleware: Context.Key<I, S>): HttpApiEndpoint<Identifier, Method, Path, Params, Query, Payload, Headers, Success, Error, Middleware | I, HttpApiMiddleware.ApplyServices<I, MiddlewareServices>>;
79
111
  /**
80
112
  * Add an annotation on the endpoint.
81
113
  */
82
- annotate<I, S>(key: Context.Key<I, S>, value: Types.NoInfer<S>): HttpApiEndpoint<Name, Method, Path, Params, Query, Payload, Headers, Success, Error, Middleware, MiddlewareR>;
114
+ annotate<I, S>(key: Context.Key<I, S>, value: Types.NoInfer<S>): HttpApiEndpoint<Identifier, Method, Path, Params, Query, Payload, Headers, Success, Error, Middleware, MiddlewareServices>;
83
115
  /**
84
116
  * Merge the annotations of the endpoint with the provided context.
85
117
  */
86
- annotateMerge<I>(annotations: Context.Context<I>): HttpApiEndpoint<Name, Method, Path, Params, Query, Payload, Headers, Success, Error, Middleware, MiddlewareR>;
118
+ annotateMerge<I>(annotations: Context.Context<I>): HttpApiEndpoint<Identifier, Method, Path, Params, Query, Payload, Headers, Success, Error, Middleware, MiddlewareServices>;
87
119
  }
88
120
  /**
89
121
  * A widened `HttpApiEndpoint` type used when the concrete method, path, schemas,
@@ -92,11 +124,26 @@ export interface HttpApiEndpoint<out Name extends string, out Method extends Htt
92
124
  * @category models
93
125
  * @since 4.0.0
94
126
  */
95
- export interface Any extends Pipeable {
96
- readonly [TypeId]: any;
97
- readonly name: string;
98
- readonly ["~Success"]: Schema.Top;
99
- readonly ["~Error"]: Schema.Top;
127
+ export interface Constraint {
128
+ readonly [TypeId]: typeof TypeId;
129
+ readonly identifier: string;
130
+ readonly ["~Success"]: Schema.Constraint;
131
+ readonly ["~Error"]: Schema.Constraint;
132
+ readonly ["~Request"]: unknown;
133
+ readonly ["~RequestRaw"]: unknown;
134
+ }
135
+ /**
136
+ * A widened endpoint type that preserves request and middleware pipeline phantom fields.
137
+ *
138
+ * @category models
139
+ * @since 4.0.0
140
+ */
141
+ export interface ConstraintRequest extends Constraint {
142
+ readonly ["~Params"]: Schema.Constraint;
143
+ readonly ["~Query"]: Schema.Constraint;
144
+ readonly ["~Payload"]: Schema.Constraint;
145
+ readonly ["~Headers"]: Schema.Constraint;
146
+ readonly ["~Middleware"]: unknown;
100
147
  }
101
148
  /**
102
149
  * A widened endpoint type that preserves concrete runtime properties such as
@@ -105,78 +152,80 @@ export interface Any extends Pipeable {
105
152
  * @category models
106
153
  * @since 4.0.0
107
154
  */
108
- export interface AnyWithProps extends HttpApiEndpoint<string, HttpMethod, string, Schema.Top, Schema.Top, Schema.Top, Schema.Top, any, any> {
155
+ export interface Top extends HttpApiEndpoint<string, HttpMethod, string, Schema.Top, Schema.Top, Schema.Top, Schema.Top, Schema.Top, Schema.Top, any, unknown> {
109
156
  }
110
157
  /**
111
- * Extracts the name literal from an `HttpApiEndpoint`.
158
+ * Extracts the endpoint identifier literal from an `HttpApiEndpoint`.
112
159
  *
113
160
  * @category models
114
161
  * @since 4.0.0
115
162
  */
116
- export type Name<Endpoint> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Name : never;
163
+ export type Identifier<Endpoint> = Endpoint extends Constraint ? Endpoint["identifier"] : never;
117
164
  /**
118
165
  * Extracts the success schema associated with an endpoint.
119
166
  *
120
167
  * @category models
121
168
  * @since 4.0.0
122
169
  */
123
- export type Success<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Success : never;
170
+ export type Success<Endpoint> = Endpoint extends Constraint ? Endpoint["~Success"] : never;
124
171
  /**
125
172
  * Extracts the error schema associated with an endpoint.
126
173
  *
127
174
  * @category models
128
175
  * @since 4.0.0
129
176
  */
130
- export type Error<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Error : never;
177
+ export type Error<Endpoint> = Endpoint extends Constraint ? Endpoint["~Error"] : never;
131
178
  /**
132
179
  * Extracts the schema used for an endpoint's path parameters.
133
180
  *
134
181
  * @category models
135
182
  * @since 4.0.0
136
183
  */
137
- export type Params<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Params : never;
184
+ export type Params<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~Params"] : never;
138
185
  /**
139
186
  * Extracts the schema used for an endpoint's query parameters.
140
187
  *
141
188
  * @category models
142
189
  * @since 4.0.0
143
190
  */
144
- export type Query<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Query : never;
191
+ export type Query<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~Query"] : never;
145
192
  /**
146
193
  * Extracts the schema used for an endpoint's request payload.
147
194
  *
148
195
  * @category models
149
196
  * @since 4.0.0
150
197
  */
151
- export type Payload<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Payload : never;
198
+ export type Payload<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~Payload"] : never;
152
199
  /**
153
200
  * Extracts the schema used for an endpoint's request headers.
154
201
  *
155
202
  * @category models
156
203
  * @since 4.0.0
157
204
  */
158
- export type Headers<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Headers : never;
205
+ export type Headers<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~Headers"] : never;
159
206
  /**
160
207
  * Extracts the middleware identifiers attached to an endpoint.
161
208
  *
162
209
  * @category models
163
210
  * @since 4.0.0
164
211
  */
165
- export type Middleware<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _M : never;
212
+ export type Middleware<Endpoint> = Endpoint extends {
213
+ readonly "~Middleware": infer M;
214
+ } ? M : never;
166
215
  /**
167
216
  * Computes the services provided by the middleware attached to an endpoint.
168
217
  *
169
218
  * @category models
170
219
  * @since 4.0.0
171
220
  */
172
- export type MiddlewareProvides<Endpoint extends Any> = HttpApiMiddleware.Provides<Middleware<Endpoint>>;
221
+ export type MiddlewareProvides<Endpoint> = HttpApiMiddleware.Provides<Middleware<Endpoint>>;
173
222
  /**
174
223
  * Computes the client-side middleware services required by an endpoint.
175
224
  *
176
225
  * @category models
177
226
  * @since 4.0.0
178
227
  */
179
- export type MiddlewareClient<Endpoint extends Any> = HttpApiMiddleware.MiddlewareClient<Middleware<Endpoint>>;
228
+ export type MiddlewareClient<Endpoint> = HttpApiMiddleware.MiddlewareClient<Middleware<Endpoint>>;
180
229
  /**
181
230
  * Computes the error types that can be produced by the middleware attached to an
182
231
  * endpoint.
@@ -184,7 +233,7 @@ export type MiddlewareClient<Endpoint extends Any> = HttpApiMiddleware.Middlewar
184
233
  * @category models
185
234
  * @since 4.0.0
186
235
  */
187
- export type MiddlewareError<Endpoint extends Any> = HttpApiMiddleware.Error<Middleware<Endpoint>>;
236
+ export type MiddlewareError<Endpoint> = HttpApiMiddleware.Error<Middleware<Endpoint>>;
188
237
  /**
189
238
  * Computes the full error value union for an endpoint, including the endpoint
190
239
  * error schema's type and errors introduced by middleware.
@@ -192,7 +241,7 @@ export type MiddlewareError<Endpoint extends Any> = HttpApiMiddleware.Error<Midd
192
241
  * @category models
193
242
  * @since 4.0.0
194
243
  */
195
- export type Errors<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Error["Type"] | HttpApiMiddleware.Error<Middleware<Endpoint>> : never;
244
+ export type Errors<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~Error"]["Type"] | HttpApiMiddleware.Error<Endpoint["~Middleware"]> : never;
196
245
  /**
197
246
  * Computes the services required to encode an endpoint's error responses,
198
247
  * including services required by middleware error encoders.
@@ -200,7 +249,7 @@ export type Errors<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infe
200
249
  * @category models
201
250
  * @since 4.0.0
202
251
  */
203
- export type ErrorServicesEncode<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Error["EncodingServices"] | HttpApiMiddleware.ErrorServicesEncode<Middleware<Endpoint>> : never;
252
+ export type ErrorServicesEncode<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~Error"]["EncodingServices"] | HttpApiMiddleware.ErrorServicesEncode<Endpoint["~Middleware"]> : never;
204
253
  /**
205
254
  * Builds the decoded request shape passed to a normal endpoint handler, including
206
255
  * available params, query, payload, headers, the raw request, endpoint, and group.
@@ -209,21 +258,7 @@ export type ErrorServicesEncode<Endpoint extends Any> = Endpoint extends HttpApi
209
258
  * @category models
210
259
  * @since 4.0.0
211
260
  */
212
- export type Request<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? ([_Params["Type"]] extends [never] ? {} : {
213
- readonly params: _Params["Type"];
214
- }) & ([_Query["Type"]] extends [never] ? {} : {
215
- readonly query: _Query["Type"];
216
- }) & ([_Payload["Type"]] extends [never] ? {} : _Payload["Type"] extends Brand<HttpApiSchema.MultipartStreamTypeId> ? {
217
- readonly payload: Stream.Stream<Multipart.Part, Multipart.MultipartError>;
218
- } : {
219
- readonly payload: _Payload["Type"];
220
- }) & ([_Headers] extends [never] ? {} : {
221
- readonly headers: _Headers["Type"];
222
- }) & {
223
- readonly request: HttpServerRequest;
224
- readonly endpoint: Endpoint;
225
- readonly group: HttpApiGroup.AnyWithProps;
226
- } : {};
261
+ export type Request<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~Request"] : {};
227
262
  /**
228
263
  * Builds the request shape passed to a raw endpoint handler, including decoded
229
264
  * params, query, and headers plus the raw request, endpoint, and group, while
@@ -232,17 +267,7 @@ export type Request<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<inf
232
267
  * @category models
233
268
  * @since 4.0.0
234
269
  */
235
- export type RequestRaw<Endpoint extends Any> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? ([_Params["Type"]] extends [never] ? {} : {
236
- readonly params: _Params["Type"];
237
- }) & ([_Query["Type"]] extends [never] ? {} : {
238
- readonly query: _Query["Type"];
239
- }) & ([_Headers["Type"]] extends [never] ? {} : {
240
- readonly headers: _Headers["Type"];
241
- }) & {
242
- readonly request: HttpServerRequest;
243
- readonly endpoint: Endpoint;
244
- readonly group: HttpApiGroup.AnyWithProps;
245
- } : {};
270
+ export type RequestRaw<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~RequestRaw"] : {};
246
271
  /**
247
272
  * Builds the request object accepted by a generated client method, including only
248
273
  * the params, query, headers, payload, and response mode fields required by the
@@ -283,7 +308,7 @@ export type ClientResponseMode = "decoded-only" | "decoded-and-response" | "resp
283
308
  * @category models
284
309
  * @since 4.0.0
285
310
  */
286
- export type ServerServices<Endpoint> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Params["DecodingServices"] | _Query["DecodingServices"] | _Payload["DecodingServices"] | _Headers["DecodingServices"] | SuccessEncodingServices<_Success> | _Error["EncodingServices"] | HttpApiMiddleware.ErrorServicesEncode<_M> : never;
311
+ export type ServerServices<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~Params"]["DecodingServices"] | Endpoint["~Query"]["DecodingServices"] | Endpoint["~Payload"]["DecodingServices"] | Endpoint["~Headers"]["DecodingServices"] | SuccessEncodingServices<Endpoint["~Success"]> | Endpoint["~Error"]["EncodingServices"] | HttpApiMiddleware.ErrorServicesEncode<Endpoint["~Middleware"]> : never;
287
312
  /**
288
313
  * Computes the services required on the client to encode endpoint requests and
289
314
  * decode endpoint success or error responses.
@@ -291,14 +316,16 @@ export type ServerServices<Endpoint> = Endpoint extends HttpApiEndpoint<infer _N
291
316
  * @category models
292
317
  * @since 4.0.0
293
318
  */
294
- export type ClientServices<Endpoint> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Params["EncodingServices"] | _Query["EncodingServices"] | _Payload["EncodingServices"] | _Headers["EncodingServices"] | SuccessDecodingServices<_Success> | _Error["DecodingServices"] : never;
319
+ export type ClientServices<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~Params"]["EncodingServices"] | Endpoint["~Query"]["EncodingServices"] | Endpoint["~Payload"]["EncodingServices"] | Endpoint["~Headers"]["EncodingServices"] | SuccessDecodingServices<Endpoint["~Success"]> | Endpoint["~Error"]["DecodingServices"] : never;
295
320
  /**
296
321
  * Extracts the additional services required by middleware applied to an endpoint.
297
322
  *
298
323
  * @category models
299
324
  * @since 4.0.0
300
325
  */
301
- export type MiddlewareServices<Endpoint> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _MR : never;
326
+ export type MiddlewareServices<Endpoint> = Endpoint extends {
327
+ readonly "~MiddlewareServices": infer R;
328
+ } ? R : never;
302
329
  /**
303
330
  * Computes the services required to decode an endpoint's error responses,
304
331
  * including services required by middleware error decoders.
@@ -306,7 +333,7 @@ export type MiddlewareServices<Endpoint> = Endpoint extends HttpApiEndpoint<infe
306
333
  * @category models
307
334
  * @since 4.0.0
308
335
  */
309
- export type ErrorServicesDecode<Endpoint> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? _Error["DecodingServices"] | HttpApiMiddleware.ErrorServicesDecode<Middleware<Endpoint>> : never;
336
+ export type ErrorServicesDecode<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint["~Error"]["DecodingServices"] | HttpApiMiddleware.ErrorServicesDecode<Endpoint["~Middleware"]> : never;
310
337
  /**
311
338
  * The normal server handler for an endpoint, accepting the decoded request shape
312
339
  * and returning either the endpoint success value or a custom `HttpServerResponse`.
@@ -314,7 +341,7 @@ export type ErrorServicesDecode<Endpoint> = Endpoint extends HttpApiEndpoint<inf
314
341
  * @category models
315
342
  * @since 4.0.0
316
343
  */
317
- export type Handler<Endpoint extends Any, E, R> = (request: Types.Simplify<Request<Endpoint>>) => Effect<SuccessType<Endpoint["~Success"]> | HttpServerResponse, Endpoint["~Error"]["Type"] | E, R>;
344
+ export type Handler<Endpoint extends Constraint, E, R> = (request: Simplify<Endpoint["~Request"]>) => Effect<SuccessType<Endpoint["~Success"]> | HttpServerResponse, Endpoint["~Error"]["Type"] | E, R>;
318
345
  /**
319
346
  * The raw server handler for an endpoint, receiving a request shape without a
320
347
  * decoded payload so the handler can read the raw `HttpServerRequest` directly.
@@ -322,89 +349,89 @@ export type Handler<Endpoint extends Any, E, R> = (request: Types.Simplify<Reque
322
349
  * @category models
323
350
  * @since 4.0.0
324
351
  */
325
- export type HandlerRaw<Endpoint extends Any, E, R> = (request: Types.Simplify<RequestRaw<Endpoint>>) => Effect<SuccessType<Endpoint["~Success"]> | HttpServerResponse, Endpoint["~Error"]["Type"] | E, R>;
352
+ export type HandlerRaw<Endpoint extends Constraint, E, R> = (request: Simplify<Endpoint["~RequestRaw"]>) => Effect<SuccessType<Endpoint["~Success"]> | HttpServerResponse, Endpoint["~Error"]["Type"] | E, R>;
326
353
  /**
327
- * Selects the endpoint with the specified name from a union of endpoints.
354
+ * Selects the endpoint with the specified identifier from a union of endpoints.
328
355
  *
329
356
  * @category models
330
357
  * @since 4.0.0
331
358
  */
332
- export type WithName<Endpoints extends Any, Name extends string> = Extract<Endpoints, {
333
- readonly name: Name;
359
+ export type WithIdentifier<Endpoints, Identifier extends string> = Extract<Endpoints, {
360
+ readonly identifier: Identifier;
334
361
  }>;
335
362
  /**
336
- * Removes endpoints with the specified name from a union of endpoints.
363
+ * Removes endpoints with the specified identifier from a union of endpoints.
337
364
  *
338
365
  * @category models
339
366
  * @since 4.0.0
340
367
  */
341
- export type ExcludeName<Endpoints extends Any, Name extends string> = Exclude<Endpoints, {
342
- readonly name: Name;
368
+ export type ExcludeIdentifier<Endpoints, Identifier extends string> = Exclude<Endpoints, {
369
+ readonly identifier: Identifier;
343
370
  }>;
344
371
  /**
345
- * Derives the normal handler type for the endpoint with the specified name in an
346
- * endpoint union.
372
+ * Derives the normal handler type for the endpoint with the specified identifier
373
+ * in an endpoint union.
347
374
  *
348
375
  * @category models
349
376
  * @since 4.0.0
350
377
  */
351
- export type HandlerWithName<Endpoints extends Any, Name extends string, E, R> = Handler<WithName<Endpoints, Name>, E, R>;
378
+ export type HandlerWithIdentifier<Endpoints extends Constraint, Identifier extends string, E, R> = Handler<WithIdentifier<Endpoints, Identifier>, E, R>;
352
379
  /**
353
- * Derives the raw handler type for the endpoint with the specified name in an
354
- * endpoint union.
380
+ * Derives the raw handler type for the endpoint with the specified identifier in
381
+ * an endpoint union.
355
382
  *
356
383
  * @category models
357
384
  * @since 4.0.0
358
385
  */
359
- export type HandlerRawWithName<Endpoints extends Any, Name extends string, E, R> = HandlerRaw<WithName<Endpoints, Name>, E, R>;
386
+ export type HandlerRawWithIdentifier<Endpoints extends Constraint, Identifier extends string, E, R> = HandlerRaw<WithIdentifier<Endpoints, Identifier>, E, R>;
360
387
  /**
361
- * Extracts the decoded success value type for the endpoint with the specified name
362
- * in an endpoint union.
388
+ * Extracts the decoded success value type for the endpoint with the specified
389
+ * identifier in an endpoint union.
363
390
  *
364
391
  * @category models
365
392
  * @since 4.0.0
366
393
  */
367
- export type SuccessWithName<Endpoints extends Any, Name extends string> = Success<WithName<Endpoints, Name>> extends infer S ? SuccessType<S> : never;
394
+ export type SuccessWithIdentifier<Endpoints extends Constraint, Identifier extends string> = Success<WithIdentifier<Endpoints, Identifier>> extends infer S ? SuccessType<S> : never;
368
395
  /**
369
- * Computes the full error value union for the endpoint with the specified name in
370
- * an endpoint union.
396
+ * Computes the full error value union for the endpoint with the specified
397
+ * identifier in an endpoint union.
371
398
  *
372
399
  * @category models
373
400
  * @since 4.0.0
374
401
  */
375
- export type ErrorsWithName<Endpoints extends Any, Name extends string> = Errors<WithName<Endpoints, Name>>;
402
+ export type ErrorsWithIdentifier<Endpoints extends Constraint, Identifier extends string> = Errors<WithIdentifier<Endpoints, Identifier>>;
376
403
  /**
377
404
  * Computes the server-side service requirements for the endpoint with the
378
- * specified name in an endpoint union.
405
+ * specified identifier in an endpoint union.
379
406
  *
380
407
  * @category models
381
408
  * @since 4.0.0
382
409
  */
383
- export type ServerServicesWithName<Endpoints extends Any, Name extends string> = ServerServices<WithName<Endpoints, Name>>;
410
+ export type ServerServicesWithIdentifier<Endpoints extends Constraint, Identifier extends string> = ServerServices<WithIdentifier<Endpoints, Identifier>>;
384
411
  /**
385
- * Extracts the middleware identifiers for the endpoint with the specified name in
386
- * an endpoint union.
412
+ * Extracts the middleware identifiers for the endpoint with the specified
413
+ * identifier in an endpoint union.
387
414
  *
388
415
  * @category models
389
416
  * @since 4.0.0
390
417
  */
391
- export type MiddlewareWithName<Endpoints extends Any, Name extends string> = Middleware<WithName<Endpoints, Name>>;
418
+ export type MiddlewareWithIdentifier<Endpoints extends Constraint, Identifier extends string> = Middleware<WithIdentifier<Endpoints, Identifier>>;
392
419
  /**
393
- * Extracts the middleware service requirements for the endpoint with the specified
394
- * name in an endpoint union.
420
+ * Extracts the middleware service requirements for the endpoint with the
421
+ * specified identifier in an endpoint union.
395
422
  *
396
423
  * @category models
397
424
  * @since 4.0.0
398
425
  */
399
- export type MiddlewareServicesWithName<Endpoints extends Any, Name extends string> = MiddlewareServices<WithName<Endpoints, Name>>;
426
+ export type MiddlewareServicesWithIdentifier<Endpoints extends Constraint, Identifier extends string> = MiddlewareServices<WithIdentifier<Endpoints, Identifier>>;
400
427
  /**
401
- * Removes services provided by the HTTP router and the named endpoint's middleware
402
- * from a service requirement union.
428
+ * Removes services provided by the HTTP router and the selected endpoint's
429
+ * middleware from a service requirement union.
403
430
  *
404
431
  * @category models
405
432
  * @since 4.0.0
406
433
  */
407
- export type ExcludeProvidedWithName<Endpoints extends Any, Name extends string, R> = ExcludeProvided<WithName<Endpoints, Name>, R>;
434
+ export type ExcludeProvidedWithIdentifier<Endpoints extends Constraint, Identifier extends string, R> = ExcludeProvided<WithIdentifier<Endpoints, Identifier>, R>;
408
435
  /**
409
436
  * Removes services provided by the HTTP router and endpoint middleware from a
410
437
  * service requirement union.
@@ -412,7 +439,7 @@ export type ExcludeProvidedWithName<Endpoints extends Any, Name extends string,
412
439
  * @category models
413
440
  * @since 4.0.0
414
441
  */
415
- export type ExcludeProvided<Endpoint extends Any, R> = Exclude<R, HttpRouter.Provided | HttpApiMiddleware.Provides<Middleware<Endpoint>>>;
442
+ export type ExcludeProvided<Endpoint extends Constraint, R> = Exclude<R, HttpRouter.Provided | HttpApiMiddleware.Provides<Middleware<Endpoint>>>;
416
443
  /**
417
444
  * Returns an endpoint type with the supplied path prefix prepended while
418
445
  * preserving the endpoint's schemas, method, errors, and middleware.
@@ -420,15 +447,7 @@ export type ExcludeProvided<Endpoint extends Any, R> = Exclude<R, HttpRouter.Pro
420
447
  * @category models
421
448
  * @since 4.0.0
422
449
  */
423
- export type AddPrefix<Endpoint extends Any, Prefix extends HttpRouter.PathInput> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? HttpApiEndpoint<_Name, _Method, `${Prefix}${_Path}`, _Params, _Query, _Payload, _Headers, _Success, _Error, _M, _MR> : never;
424
- /**
425
- * Returns an endpoint type with an additional error schema added to the endpoint's
426
- * existing error schema union.
427
- *
428
- * @category models
429
- * @since 4.0.0
430
- */
431
- export type AddError<Endpoint extends Any, E extends Schema.Top> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? HttpApiEndpoint<_Name, _Method, _Path, _Params, _Query, _Payload, _Headers, _Success, _Error | E, _M, _MR> : never;
450
+ export type AddPrefix<Endpoint, Prefix extends HttpRouter.PathInput> = Endpoint extends HttpApiEndpoint<infer _Identifier, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? HttpApiEndpoint<_Identifier, _Method, `${Prefix}${_Path}`, _Params, _Query, _Payload, _Headers, _Success, _Error, _M, _MR> : never;
432
451
  /**
433
452
  * Returns an endpoint type with additional middleware applied and the endpoint's
434
453
  * middleware service requirements updated accordingly.
@@ -436,7 +455,7 @@ export type AddError<Endpoint extends Any, E extends Schema.Top> = Endpoint exte
436
455
  * @category models
437
456
  * @since 4.0.0
438
457
  */
439
- export type AddMiddleware<Endpoint extends Any, M extends HttpApiMiddleware.AnyId> = Endpoint extends HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? HttpApiEndpoint<_Name, _Method, _Path, _Params, _Query, _Payload, _Headers, _Success, _Error, _M | M, HttpApiMiddleware.ApplyServices<M, _MR>> : never;
458
+ export type AddMiddleware<Endpoint, M extends HttpApiMiddleware.AnyId> = Endpoint extends HttpApiEndpoint<infer _Identifier, infer _Method, infer _Path, infer _Params, infer _Query, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _M, infer _MR> ? HttpApiEndpoint<_Identifier, _Method, _Path, _Params, _Query, _Payload, _Headers, _Success, _Error, _M | M, HttpApiMiddleware.ApplyServices<M, _MR>> : never;
440
459
  /**
441
460
  * Constraint for path parameter schemas: each parameter must encode to
442
461
  * `string | undefined`, or the schema must encode to a record of those values.
@@ -503,7 +522,7 @@ type ErrorNoStream<S extends ErrorConstraint> = [
503
522
  ] extends [never] ? S : never;
504
523
  /**
505
524
  * Creates endpoint constructors for a specific HTTP method. The resulting
506
- * constructor builds an `HttpApiEndpoint` from a name, path, and optional request
525
+ * constructor builds an `HttpApiEndpoint` from an identifier, path, and optional request
507
526
  * and response schemas, applying automatic JSON or string-tree codecs unless
508
527
  * `disableCodecs` is enabled.
509
528
  *
@@ -511,7 +530,7 @@ type ErrorNoStream<S extends ErrorConstraint> = [
511
530
  * @since 4.0.0
512
531
  */
513
532
  export declare const make: <Method extends HttpMethod>(method: Method) => {
514
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<Method> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(name: Name, path: Path, options?: {
533
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<Method> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(identifier: Identifier, path: Path, options?: {
515
534
  readonly disableCodecs?: false | undefined;
516
535
  readonly params?: Params | undefined;
517
536
  readonly query?: Query | undefined;
@@ -519,8 +538,8 @@ export declare const make: <Method extends HttpMethod>(method: Method) => {
519
538
  readonly payload?: Payload | undefined;
520
539
  readonly success?: Success | undefined;
521
540
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
522
- }): HttpApiEndpoint<Name, Method, Path, StringTree<Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params>, StringTree<Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query>, Method extends HttpMethod.WithBody ? Json<ExtractSchemaOrArray<Payload>> : StringTree<ExtractSchemaOrArray<Payload>>, StringTree<Headers extends Schema.Struct.Fields ? Schema.Struct<Headers> : Headers>, JsonSuccessOrArray<Success>, Json<Error extends ReadonlyArray<Schema.Constraint> ? Error[number] : Error>>;
523
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<Method> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(name: Name, path: Path, options?: {
541
+ }): HttpApiEndpoint<Identifier, Method, Path, ToStringTreeCodec<Params>, ToStringTreeCodec<Query>, Method extends HttpMethod.WithBody ? ToJsonCodec<ToSchema<Payload>> : ToStringTreeCodec<ToSchema<Payload>>, ToStringTreeCodec<Headers>, ToSuccessCodec<Success>, ToJsonCodec<Error extends ReadonlyArray<Schema.Constraint> ? Error[number] : Error>>;
542
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<Method> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(identifier: Identifier, path: Path, options?: {
524
543
  readonly disableCodecs: true;
525
544
  readonly params?: Params | undefined;
526
545
  readonly query?: Query | undefined;
@@ -528,27 +547,9 @@ export declare const make: <Method extends HttpMethod>(method: Method) => {
528
547
  readonly payload?: Payload | undefined;
529
548
  readonly success?: Success | undefined;
530
549
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
531
- }): HttpApiEndpoint<Name, Method, Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ExtractSchemaOrArray<Payload>, ExtractSchemaOrArray<Headers>, ExtractSuccessOrArray<Success>, Error extends ReadonlyArray<Schema.Constraint> ? Error[number] : Error>;
550
+ }): HttpApiEndpoint<Identifier, Method, Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ToSchema<Payload>, ToSchema<Headers>, UnwrapReadonlyArray<Success>, Error extends ReadonlyArray<Schema.Constraint> ? Error[number] : Error>;
532
551
  };
533
- type ExtractSchemaOrArray<S extends Schema.Struct.Fields | Schema.Constraint | ReadonlyArray<Schema.Constraint>> = S extends Schema.Struct.Fields ? Schema.Struct<S> : S extends ReadonlyArray<Schema.Constraint> ? S[number] : S;
534
- /**
535
- * A schema codec that decodes and encodes the schema's value type through JSON
536
- * transport values.
537
- *
538
- * @category Codecs
539
- * @since 4.0.0
540
- */
541
- export interface Json<S extends Schema.Constraint> extends Schema.Codec<S["Type"], Schema.Json, S["DecodingServices"], S["EncodingServices"]> {
542
- }
543
- /**
544
- * A schema codec that decodes and encodes the schema's value type through
545
- * `Schema.StringTree` transport values.
546
- *
547
- * @category Codecs
548
- * @since 4.0.0
549
- */
550
- export interface StringTree<S extends Schema.Constraint> extends Schema.Codec<S["Type"], Schema.StringTree, S["DecodingServices"], S["EncodingServices"]> {
551
- }
552
+ type ToSchema<S extends Schema.Struct.Fields | Schema.Constraint | ReadonlyArray<Schema.Constraint>> = S extends Schema.Struct.Fields ? Schema.Struct<S> : S extends ReadonlyArray<Schema.Constraint> ? S[number] : S;
552
553
  /**
553
554
  * Creates a `GET` endpoint declaration.
554
555
  *
@@ -556,7 +557,7 @@ export interface StringTree<S extends Schema.Constraint> extends Schema.Codec<S[
556
557
  * @since 4.0.0
557
558
  */
558
559
  export declare const get: {
559
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"GET"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(name: Name, path: Path, options?: {
560
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"GET"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(identifier: Identifier, path: Path, options?: {
560
561
  readonly disableCodecs?: false | undefined;
561
562
  readonly params?: Params | undefined;
562
563
  readonly query?: Query | undefined;
@@ -564,8 +565,8 @@ export declare const get: {
564
565
  readonly payload?: Payload | undefined;
565
566
  readonly success?: Success | undefined;
566
567
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
567
- } | undefined): HttpApiEndpoint<Name, "GET", Path, StringTree<Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params>, StringTree<Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query>, StringTree<ExtractSchemaOrArray<Payload>>, StringTree<Headers extends Schema.Struct.Fields ? Schema.Struct<Headers> : Headers>, JsonSuccessOrArray<Success>, Json<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
568
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"GET"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(name: Name, path: Path, options?: {
568
+ } | undefined): HttpApiEndpoint<Identifier, "GET", Path, ToStringTreeCodec<Params>, ToStringTreeCodec<Query>, ToStringTreeCodec<ToSchema<Payload>>, ToStringTreeCodec<Headers>, ToSuccessCodec<Success>, ToJsonCodec<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
569
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"GET"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(identifier: Identifier, path: Path, options?: {
569
570
  readonly disableCodecs: true;
570
571
  readonly params?: Params | undefined;
571
572
  readonly query?: Query | undefined;
@@ -573,7 +574,7 @@ export declare const get: {
573
574
  readonly payload?: Payload | undefined;
574
575
  readonly success?: Success | undefined;
575
576
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
576
- } | undefined): HttpApiEndpoint<Name, "GET", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ExtractSchemaOrArray<Payload>, ExtractSchemaOrArray<Headers>, ExtractSuccessOrArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
577
+ } | undefined): HttpApiEndpoint<Identifier, "GET", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ToSchema<Payload>, ToSchema<Headers>, UnwrapReadonlyArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
577
578
  };
578
579
  /**
579
580
  * Creates a `POST` endpoint declaration.
@@ -582,7 +583,7 @@ export declare const get: {
582
583
  * @since 4.0.0
583
584
  */
584
585
  export declare const post: {
585
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"POST"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(name: Name, path: Path, options?: {
586
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"POST"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(identifier: Identifier, path: Path, options?: {
586
587
  readonly disableCodecs?: false | undefined;
587
588
  readonly params?: Params | undefined;
588
589
  readonly query?: Query | undefined;
@@ -590,8 +591,8 @@ export declare const post: {
590
591
  readonly payload?: Payload | undefined;
591
592
  readonly success?: Success | undefined;
592
593
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
593
- } | undefined): HttpApiEndpoint<Name, "POST", Path, StringTree<Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params>, StringTree<Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query>, Json<ExtractSchemaOrArray<Payload>>, StringTree<Headers extends Schema.Struct.Fields ? Schema.Struct<Headers> : Headers>, JsonSuccessOrArray<Success>, Json<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
594
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"POST"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(name: Name, path: Path, options?: {
594
+ } | undefined): HttpApiEndpoint<Identifier, "POST", Path, ToStringTreeCodec<Params>, ToStringTreeCodec<Query>, ToJsonCodec<ToSchema<Payload>>, ToStringTreeCodec<Headers>, ToSuccessCodec<Success>, ToJsonCodec<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
595
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"POST"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(identifier: Identifier, path: Path, options?: {
595
596
  readonly disableCodecs: true;
596
597
  readonly params?: Params | undefined;
597
598
  readonly query?: Query | undefined;
@@ -599,7 +600,7 @@ export declare const post: {
599
600
  readonly payload?: Payload | undefined;
600
601
  readonly success?: Success | undefined;
601
602
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
602
- } | undefined): HttpApiEndpoint<Name, "POST", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ExtractSchemaOrArray<Payload>, ExtractSchemaOrArray<Headers>, ExtractSuccessOrArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
603
+ } | undefined): HttpApiEndpoint<Identifier, "POST", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ToSchema<Payload>, ToSchema<Headers>, UnwrapReadonlyArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
603
604
  };
604
605
  /**
605
606
  * Creates a `PUT` endpoint declaration.
@@ -608,7 +609,7 @@ export declare const post: {
608
609
  * @since 4.0.0
609
610
  */
610
611
  export declare const put: {
611
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"PUT"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(name: Name, path: Path, options?: {
612
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"PUT"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(identifier: Identifier, path: Path, options?: {
612
613
  readonly disableCodecs?: false | undefined;
613
614
  readonly params?: Params | undefined;
614
615
  readonly query?: Query | undefined;
@@ -616,8 +617,8 @@ export declare const put: {
616
617
  readonly payload?: Payload | undefined;
617
618
  readonly success?: Success | undefined;
618
619
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
619
- } | undefined): HttpApiEndpoint<Name, "PUT", Path, StringTree<Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params>, StringTree<Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query>, Json<ExtractSchemaOrArray<Payload>>, StringTree<Headers extends Schema.Struct.Fields ? Schema.Struct<Headers> : Headers>, JsonSuccessOrArray<Success>, Json<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
620
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"PUT"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(name: Name, path: Path, options?: {
620
+ } | undefined): HttpApiEndpoint<Identifier, "PUT", Path, ToStringTreeCodec<Params>, ToStringTreeCodec<Query>, ToJsonCodec<ToSchema<Payload>>, ToStringTreeCodec<Headers>, ToSuccessCodec<Success>, ToJsonCodec<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
621
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"PUT"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(identifier: Identifier, path: Path, options?: {
621
622
  readonly disableCodecs: true;
622
623
  readonly params?: Params | undefined;
623
624
  readonly query?: Query | undefined;
@@ -625,7 +626,7 @@ export declare const put: {
625
626
  readonly payload?: Payload | undefined;
626
627
  readonly success?: Success | undefined;
627
628
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
628
- } | undefined): HttpApiEndpoint<Name, "PUT", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ExtractSchemaOrArray<Payload>, ExtractSchemaOrArray<Headers>, ExtractSuccessOrArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
629
+ } | undefined): HttpApiEndpoint<Identifier, "PUT", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ToSchema<Payload>, ToSchema<Headers>, UnwrapReadonlyArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
629
630
  };
630
631
  /**
631
632
  * Creates a `PATCH` endpoint declaration.
@@ -634,7 +635,7 @@ export declare const put: {
634
635
  * @since 4.0.0
635
636
  */
636
637
  export declare const patch: {
637
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"PATCH"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(name: Name, path: Path, options?: {
638
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"PATCH"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(identifier: Identifier, path: Path, options?: {
638
639
  readonly disableCodecs?: false | undefined;
639
640
  readonly params?: Params | undefined;
640
641
  readonly query?: Query | undefined;
@@ -642,8 +643,8 @@ export declare const patch: {
642
643
  readonly payload?: Payload | undefined;
643
644
  readonly success?: Success | undefined;
644
645
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
645
- } | undefined): HttpApiEndpoint<Name, "PATCH", Path, StringTree<Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params>, StringTree<Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query>, Json<ExtractSchemaOrArray<Payload>>, StringTree<Headers extends Schema.Struct.Fields ? Schema.Struct<Headers> : Headers>, JsonSuccessOrArray<Success>, Json<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
646
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"PATCH"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(name: Name, path: Path, options?: {
646
+ } | undefined): HttpApiEndpoint<Identifier, "PATCH", Path, ToStringTreeCodec<Params>, ToStringTreeCodec<Query>, ToJsonCodec<ToSchema<Payload>>, ToStringTreeCodec<Headers>, ToSuccessCodec<Success>, ToJsonCodec<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
647
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"PATCH"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(identifier: Identifier, path: Path, options?: {
647
648
  readonly disableCodecs: true;
648
649
  readonly params?: Params | undefined;
649
650
  readonly query?: Query | undefined;
@@ -651,10 +652,10 @@ export declare const patch: {
651
652
  readonly payload?: Payload | undefined;
652
653
  readonly success?: Success | undefined;
653
654
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
654
- } | undefined): HttpApiEndpoint<Name, "PATCH", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ExtractSchemaOrArray<Payload>, ExtractSchemaOrArray<Headers>, ExtractSuccessOrArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
655
+ } | undefined): HttpApiEndpoint<Identifier, "PATCH", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ToSchema<Payload>, ToSchema<Headers>, UnwrapReadonlyArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
655
656
  };
656
657
  declare const del: {
657
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"DELETE"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(name: Name, path: Path, options?: {
658
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"DELETE"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(identifier: Identifier, path: Path, options?: {
658
659
  readonly disableCodecs?: false | undefined;
659
660
  readonly params?: Params | undefined;
660
661
  readonly query?: Query | undefined;
@@ -662,8 +663,8 @@ declare const del: {
662
663
  readonly payload?: Payload | undefined;
663
664
  readonly success?: Success | undefined;
664
665
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
665
- } | undefined): HttpApiEndpoint<Name, "DELETE", Path, StringTree<Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params>, StringTree<Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query>, Json<ExtractSchemaOrArray<Payload>>, StringTree<Headers extends Schema.Struct.Fields ? Schema.Struct<Headers> : Headers>, JsonSuccessOrArray<Success>, Json<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
666
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"DELETE"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(name: Name, path: Path, options?: {
666
+ } | undefined): HttpApiEndpoint<Identifier, "DELETE", Path, ToStringTreeCodec<Params>, ToStringTreeCodec<Query>, ToJsonCodec<ToSchema<Payload>>, ToStringTreeCodec<Headers>, ToSuccessCodec<Success>, ToJsonCodec<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
667
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"DELETE"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(identifier: Identifier, path: Path, options?: {
667
668
  readonly disableCodecs: true;
668
669
  readonly params?: Params | undefined;
669
670
  readonly query?: Query | undefined;
@@ -671,7 +672,7 @@ declare const del: {
671
672
  readonly payload?: Payload | undefined;
672
673
  readonly success?: Success | undefined;
673
674
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
674
- } | undefined): HttpApiEndpoint<Name, "DELETE", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ExtractSchemaOrArray<Payload>, ExtractSchemaOrArray<Headers>, ExtractSuccessOrArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
675
+ } | undefined): HttpApiEndpoint<Identifier, "DELETE", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ToSchema<Payload>, ToSchema<Headers>, UnwrapReadonlyArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
675
676
  };
676
677
  export {
677
678
  /**
@@ -688,7 +689,7 @@ del as delete };
688
689
  * @since 4.0.0
689
690
  */
690
691
  export declare const head: {
691
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"HEAD"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(name: Name, path: Path, options?: {
692
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"HEAD"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(identifier: Identifier, path: Path, options?: {
692
693
  readonly disableCodecs?: false | undefined;
693
694
  readonly params?: Params | undefined;
694
695
  readonly query?: Query | undefined;
@@ -696,8 +697,8 @@ export declare const head: {
696
697
  readonly payload?: Payload | undefined;
697
698
  readonly success?: Success | undefined;
698
699
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
699
- } | undefined): HttpApiEndpoint<Name, "HEAD", Path, StringTree<Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params>, StringTree<Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query>, StringTree<ExtractSchemaOrArray<Payload>>, StringTree<Headers extends Schema.Struct.Fields ? Schema.Struct<Headers> : Headers>, JsonSuccessOrArray<Success>, Json<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
700
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"HEAD"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(name: Name, path: Path, options?: {
700
+ } | undefined): HttpApiEndpoint<Identifier, "HEAD", Path, ToStringTreeCodec<Params>, ToStringTreeCodec<Query>, ToStringTreeCodec<ToSchema<Payload>>, ToStringTreeCodec<Headers>, ToSuccessCodec<Success>, ToJsonCodec<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
701
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"HEAD"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(identifier: Identifier, path: Path, options?: {
701
702
  readonly disableCodecs: true;
702
703
  readonly params?: Params | undefined;
703
704
  readonly query?: Query | undefined;
@@ -705,7 +706,7 @@ export declare const head: {
705
706
  readonly payload?: Payload | undefined;
706
707
  readonly success?: Success | undefined;
707
708
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
708
- } | undefined): HttpApiEndpoint<Name, "HEAD", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ExtractSchemaOrArray<Payload>, ExtractSchemaOrArray<Headers>, ExtractSuccessOrArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
709
+ } | undefined): HttpApiEndpoint<Identifier, "HEAD", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ToSchema<Payload>, ToSchema<Headers>, UnwrapReadonlyArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
709
710
  };
710
711
  /**
711
712
  * Creates an `OPTIONS` endpoint declaration.
@@ -714,7 +715,7 @@ export declare const head: {
714
715
  * @since 4.0.0
715
716
  */
716
717
  export declare const options: {
717
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"OPTIONS"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(name: Name, path: Path, options?: {
718
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends Schema.Top | Schema.Struct.Fields = never, Query extends Schema.Top | Schema.Struct.Fields = never, Payload extends PayloadConstraintCodecs<"OPTIONS"> = never, Headers extends Schema.Top | Schema.Struct.Fields = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends Schema.Top | ReadonlyArray<Schema.Top> = never>(identifier: Identifier, path: Path, options?: {
718
719
  readonly disableCodecs?: false | undefined;
719
720
  readonly params?: Params | undefined;
720
721
  readonly query?: Query | undefined;
@@ -722,8 +723,8 @@ export declare const options: {
722
723
  readonly payload?: Payload | undefined;
723
724
  readonly success?: Success | undefined;
724
725
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
725
- } | undefined): HttpApiEndpoint<Name, "OPTIONS", Path, StringTree<Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params>, StringTree<Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query>, StringTree<ExtractSchemaOrArray<Payload>>, StringTree<Headers extends Schema.Struct.Fields ? Schema.Struct<Headers> : Headers>, JsonSuccessOrArray<Success>, Json<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
726
- <const Name extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"OPTIONS"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(name: Name, path: Path, options?: {
726
+ } | undefined): HttpApiEndpoint<Identifier, "OPTIONS", Path, ToStringTreeCodec<Params>, ToStringTreeCodec<Query>, ToStringTreeCodec<ToSchema<Payload>>, ToStringTreeCodec<Headers>, ToSuccessCodec<Success>, ToJsonCodec<Error extends readonly Schema.Constraint[] ? Error[number] : Error>, never, never>;
727
+ <const Identifier extends string, const Path extends HttpRouter.PathInput, Params extends ParamsConstraint = never, Query extends QueryConstraint = never, Payload extends PayloadConstraint<"OPTIONS"> = never, Headers extends HeadersConstraint = never, const Success extends SuccessConstraint = HttpApiSchema.NoContent, const Error extends ErrorConstraint = never>(identifier: Identifier, path: Path, options?: {
727
728
  readonly disableCodecs: true;
728
729
  readonly params?: Params | undefined;
729
730
  readonly query?: Query | undefined;
@@ -731,6 +732,6 @@ export declare const options: {
731
732
  readonly payload?: Payload | undefined;
732
733
  readonly success?: Success | undefined;
733
734
  readonly error?: (Error & ErrorNoStream<Types.NoInfer<Error>>) | undefined;
734
- } | undefined): HttpApiEndpoint<Name, "OPTIONS", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ExtractSchemaOrArray<Payload>, ExtractSchemaOrArray<Headers>, ExtractSuccessOrArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
735
+ } | undefined): HttpApiEndpoint<Identifier, "OPTIONS", Path, Params extends Schema.Struct.Fields ? Schema.Struct<Params> : Params, Query extends Schema.Struct.Fields ? Schema.Struct<Query> : Query, ToSchema<Payload>, ToSchema<Headers>, UnwrapReadonlyArray<Success>, Error extends readonly Schema.Constraint[] ? Error[number] : Error, never, never>;
735
736
  };
736
737
  //# sourceMappingURL=HttpApiEndpoint.d.ts.map