@lovrozagar/honey 0.1.0 → 0.2.0

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 (263) hide show
  1. package/README.md +1596 -6
  2. package/dist/accepts.d.ts +6 -0
  3. package/dist/accepts.d.ts.map +1 -0
  4. package/dist/body-limit.d.ts +22 -0
  5. package/dist/body-limit.d.ts.map +1 -0
  6. package/dist/build/index.d.ts +42 -0
  7. package/dist/build/index.d.ts.map +1 -0
  8. package/dist/cli.d.ts +3 -0
  9. package/dist/cli.d.ts.map +1 -0
  10. package/dist/client/error.d.ts +14 -0
  11. package/dist/client/error.d.ts.map +1 -0
  12. package/dist/client/http.d.ts +88 -0
  13. package/dist/client/http.d.ts.map +1 -0
  14. package/dist/client/index.d.ts +22 -0
  15. package/dist/client/index.d.ts.map +1 -0
  16. package/dist/client/sdk.d.ts +34 -0
  17. package/dist/client/sdk.d.ts.map +1 -0
  18. package/dist/client/sse.d.ts +10 -0
  19. package/dist/client/sse.d.ts.map +1 -0
  20. package/dist/client/types.d.ts +124 -0
  21. package/dist/client/types.d.ts.map +1 -0
  22. package/dist/client/ws.d.ts +15 -0
  23. package/dist/client/ws.d.ts.map +1 -0
  24. package/dist/client-mcp/server.d.ts +10 -0
  25. package/dist/client-mcp/server.d.ts.map +1 -0
  26. package/dist/client-mcp/types.d.ts +16 -0
  27. package/dist/client-mcp/types.d.ts.map +1 -0
  28. package/dist/cloudflare/realtime.d.ts +30 -0
  29. package/dist/cloudflare/realtime.d.ts.map +1 -0
  30. package/dist/codegen-go-cli.d.ts +22 -0
  31. package/dist/codegen-go-cli.d.ts.map +1 -0
  32. package/dist/codegen-go.d.ts +29 -0
  33. package/dist/codegen-go.d.ts.map +1 -0
  34. package/dist/codegen-hash.d.ts +3 -0
  35. package/dist/codegen-hash.d.ts.map +1 -0
  36. package/dist/codegen-ir.d.ts +123 -0
  37. package/dist/codegen-ir.d.ts.map +1 -0
  38. package/dist/codegen-loaders.d.ts +12 -0
  39. package/dist/codegen-loaders.d.ts.map +1 -0
  40. package/dist/codegen-mcp.d.ts +13 -0
  41. package/dist/codegen-mcp.d.ts.map +1 -0
  42. package/dist/codegen-python.d.ts +21 -0
  43. package/dist/codegen-python.d.ts.map +1 -0
  44. package/dist/codegen-rust.d.ts +18 -0
  45. package/dist/codegen-rust.d.ts.map +1 -0
  46. package/dist/codegen-sanitize.d.ts +3 -0
  47. package/dist/codegen-sanitize.d.ts.map +1 -0
  48. package/dist/codegen-schema-naming.d.ts +22 -0
  49. package/dist/codegen-schema-naming.d.ts.map +1 -0
  50. package/dist/codegen.d.ts +178 -0
  51. package/dist/codegen.d.ts.map +1 -0
  52. package/dist/context.d.ts +56 -0
  53. package/dist/context.d.ts.map +1 -0
  54. package/dist/cookie-sign.d.ts +3 -0
  55. package/dist/cookie-sign.d.ts.map +1 -0
  56. package/dist/cookie.d.ts +12 -0
  57. package/dist/cookie.d.ts.map +1 -0
  58. package/dist/cors.d.ts +13 -0
  59. package/dist/cors.d.ts.map +1 -0
  60. package/dist/crypto.d.ts +2 -0
  61. package/dist/crypto.d.ts.map +1 -0
  62. package/dist/csrf.d.ts +9 -0
  63. package/dist/csrf.d.ts.map +1 -0
  64. package/dist/curl-logger.d.ts +33 -0
  65. package/dist/curl-logger.d.ts.map +1 -0
  66. package/dist/detect-runtime.d.ts +16 -0
  67. package/dist/detect-runtime.d.ts.map +1 -0
  68. package/dist/error.d.ts +21 -0
  69. package/dist/error.d.ts.map +1 -0
  70. package/dist/errors.d.ts +40 -0
  71. package/dist/errors.d.ts.map +1 -0
  72. package/dist/etag.d.ts +9 -0
  73. package/dist/etag.d.ts.map +1 -0
  74. package/dist/feature-load.d.ts +3 -0
  75. package/dist/feature-load.d.ts.map +1 -0
  76. package/dist/go-type-emitter.d.ts +33 -0
  77. package/dist/go-type-emitter.d.ts.map +1 -0
  78. package/dist/honey-response.d.ts +82 -0
  79. package/dist/honey-response.d.ts.map +1 -0
  80. package/dist/i18n-slot.d.ts +7 -0
  81. package/dist/i18n-slot.d.ts.map +1 -0
  82. package/dist/i18n.d.ts +26 -0
  83. package/dist/i18n.d.ts.map +1 -0
  84. package/dist/index.d.ts +470 -0
  85. package/dist/index.d.ts.map +1 -0
  86. package/dist/init.d.ts +7 -0
  87. package/dist/init.d.ts.map +1 -0
  88. package/dist/input.d.ts +6 -0
  89. package/dist/input.d.ts.map +1 -0
  90. package/dist/ip-restrict.d.ts +12 -0
  91. package/dist/ip-restrict.d.ts.map +1 -0
  92. package/dist/logger.d.ts +45 -0
  93. package/dist/logger.d.ts.map +1 -0
  94. package/dist/meta-spec.d.ts +81 -0
  95. package/dist/meta-spec.d.ts.map +1 -0
  96. package/dist/middleware.d.ts +60 -0
  97. package/dist/middleware.d.ts.map +1 -0
  98. package/dist/node-request.d.ts +59 -0
  99. package/dist/node-request.d.ts.map +1 -0
  100. package/dist/node.d.ts +13 -0
  101. package/dist/node.d.ts.map +1 -0
  102. package/dist/openapi/register.d.ts +3 -0
  103. package/dist/openapi/register.d.ts.map +1 -0
  104. package/dist/openapi/scalar.d.ts +12 -0
  105. package/dist/openapi/scalar.d.ts.map +1 -0
  106. package/dist/openapi/spec-factory.d.ts +31 -0
  107. package/dist/openapi/spec-factory.d.ts.map +1 -0
  108. package/dist/openapi/spec.d.ts +19 -0
  109. package/dist/openapi/spec.d.ts.map +1 -0
  110. package/dist/openapi/swagger.d.ts +12 -0
  111. package/dist/openapi/swagger.d.ts.map +1 -0
  112. package/dist/plugin.d.ts +167 -0
  113. package/dist/plugin.d.ts.map +1 -0
  114. package/dist/powered-by.d.ts +7 -0
  115. package/dist/powered-by.d.ts.map +1 -0
  116. package/dist/pretty-json.d.ts +10 -0
  117. package/dist/pretty-json.d.ts.map +1 -0
  118. package/dist/proxy.d.ts +51 -0
  119. package/dist/proxy.d.ts.map +1 -0
  120. package/dist/python-type-emitter.d.ts +11 -0
  121. package/dist/python-type-emitter.d.ts.map +1 -0
  122. package/dist/realtime/buffer.d.ts +18 -0
  123. package/dist/realtime/buffer.d.ts.map +1 -0
  124. package/dist/realtime/bus.d.ts +11 -0
  125. package/dist/realtime/bus.d.ts.map +1 -0
  126. package/dist/realtime/longpoll.d.ts +23 -0
  127. package/dist/realtime/longpoll.d.ts.map +1 -0
  128. package/dist/realtime/protocol.d.ts +50 -0
  129. package/dist/realtime/protocol.d.ts.map +1 -0
  130. package/dist/realtime/route.d.ts +42 -0
  131. package/dist/realtime/route.d.ts.map +1 -0
  132. package/dist/realtime/runtime.d.ts +74 -0
  133. package/dist/realtime/runtime.d.ts.map +1 -0
  134. package/dist/request-id.d.ts +12 -0
  135. package/dist/request-id.d.ts.map +1 -0
  136. package/dist/request-to-curl.d.ts +9 -0
  137. package/dist/request-to-curl.d.ts.map +1 -0
  138. package/dist/response.d.ts +57 -0
  139. package/dist/response.d.ts.map +1 -0
  140. package/dist/rust-type-emitter.d.ts +32 -0
  141. package/dist/rust-type-emitter.d.ts.map +1 -0
  142. package/dist/secure-headers.d.ts +16 -0
  143. package/dist/secure-headers.d.ts.map +1 -0
  144. package/dist/serve-register.d.ts +2 -0
  145. package/dist/serve-register.d.ts.map +1 -0
  146. package/dist/serve-slot.d.ts +6 -0
  147. package/dist/serve-slot.d.ts.map +1 -0
  148. package/dist/serve.d.ts +21 -0
  149. package/dist/serve.d.ts.map +1 -0
  150. package/dist/server-timing.d.ts +9 -0
  151. package/dist/server-timing.d.ts.map +1 -0
  152. package/dist/static.d.ts +12 -0
  153. package/dist/static.d.ts.map +1 -0
  154. package/dist/telemetry/otel.d.ts +59 -0
  155. package/dist/telemetry/otel.d.ts.map +1 -0
  156. package/dist/testing.d.ts +24 -0
  157. package/dist/testing.d.ts.map +1 -0
  158. package/dist/timeout.d.ts +7 -0
  159. package/dist/timeout.d.ts.map +1 -0
  160. package/dist/tree.d.ts +90 -0
  161. package/dist/tree.d.ts.map +1 -0
  162. package/dist/ts-type-emitter.d.ts +4 -0
  163. package/dist/ts-type-emitter.d.ts.map +1 -0
  164. package/dist/type-emitter.d.ts +8 -0
  165. package/dist/type-emitter.d.ts.map +1 -0
  166. package/dist/type-extractor.d.ts +39 -0
  167. package/dist/type-extractor.d.ts.map +1 -0
  168. package/dist/types.d.ts +451 -0
  169. package/dist/types.d.ts.map +1 -0
  170. package/dist/validation.d.ts +18 -0
  171. package/dist/validation.d.ts.map +1 -0
  172. package/dist/ws/bun.d.ts +28 -0
  173. package/dist/ws/bun.d.ts.map +1 -0
  174. package/dist/ws/cloudflare.d.ts +55 -0
  175. package/dist/ws/cloudflare.d.ts.map +1 -0
  176. package/dist/ws/deno.d.ts +13 -0
  177. package/dist/ws/deno.d.ts.map +1 -0
  178. package/dist/ws/node.d.ts +10 -0
  179. package/dist/ws/node.d.ts.map +1 -0
  180. package/dist/yaml.d.ts +4 -0
  181. package/dist/yaml.d.ts.map +1 -0
  182. package/docs/api-ref/go.md +82 -82
  183. package/docs/api-ref/python.md +82 -82
  184. package/docs/api-ref/rust.md +82 -82
  185. package/docs/api-ref/typescript.md +82 -82
  186. package/docs/invalidate-spec.md +13 -13
  187. package/docs/meta-spec.md +513 -0
  188. package/docs/packaging.md +85 -0
  189. package/docs/sdk.md +87 -73
  190. package/package.json +195 -51
  191. package/src/body-limit.ts +2 -1
  192. package/src/build/index.ts +2 -9
  193. package/src/cli.ts +2 -3
  194. package/src/client/http.ts +204 -223
  195. package/src/client/index.ts +6 -14
  196. package/src/client/sdk.ts +24 -17
  197. package/src/client/types.ts +4 -9
  198. package/src/client/ws.ts +3 -5
  199. package/src/client-mcp/server.ts +1 -4
  200. package/src/cloudflare/realtime.ts +8 -10
  201. package/src/codegen-go-cli.ts +74 -67
  202. package/src/codegen-go.ts +71 -51
  203. package/src/codegen-ir.ts +16 -27
  204. package/src/codegen-loaders.ts +5 -8
  205. package/src/codegen-mcp.ts +9 -27
  206. package/src/codegen-python.ts +47 -27
  207. package/src/codegen-rust.ts +110 -66
  208. package/src/codegen-sanitize.ts +1 -7
  209. package/src/codegen-schema-naming.ts +8 -2
  210. package/src/codegen.ts +299 -196
  211. package/src/context.ts +91 -95
  212. package/src/cookie-sign.ts +5 -13
  213. package/src/cookie.ts +1 -2
  214. package/src/cors.ts +4 -6
  215. package/src/crypto.ts +1 -4
  216. package/src/csrf.ts +3 -3
  217. package/src/curl-logger.ts +14 -32
  218. package/src/detect-runtime.ts +1 -3
  219. package/src/errors.ts +1 -3
  220. package/src/etag.ts +3 -4
  221. package/src/go-type-emitter.ts +45 -40
  222. package/src/honey-response.ts +1 -3
  223. package/src/i18n.ts +3 -12
  224. package/src/index.ts +1168 -1412
  225. package/src/ip-restrict.ts +2 -1
  226. package/src/logger.ts +13 -13
  227. package/src/meta-spec.ts +0 -0
  228. package/src/middleware.ts +111 -79
  229. package/src/node-request.ts +2 -1
  230. package/src/node.ts +9 -10
  231. package/src/openapi/register.ts +1 -2
  232. package/src/openapi/scalar.ts +9 -9
  233. package/src/openapi/spec-factory.ts +2 -2
  234. package/src/openapi/spec.ts +26 -19
  235. package/src/openapi/swagger.ts +9 -9
  236. package/src/plugin.ts +226 -256
  237. package/src/powered-by.ts +2 -1
  238. package/src/pretty-json.ts +2 -1
  239. package/src/proxy.ts +1 -3
  240. package/src/python-type-emitter.ts +37 -12
  241. package/src/realtime/route.ts +1 -1
  242. package/src/realtime/runtime.ts +9 -12
  243. package/src/request-id.ts +3 -4
  244. package/src/request-to-curl.ts +1 -4
  245. package/src/response.ts +150 -199
  246. package/src/rust-type-emitter.ts +66 -25
  247. package/src/secure-headers.ts +2 -1
  248. package/src/serve.ts +3 -12
  249. package/src/server-timing.ts +2 -1
  250. package/src/static.ts +3 -4
  251. package/src/telemetry/otel.ts +1 -6
  252. package/src/testing.ts +2 -11
  253. package/src/timeout.ts +2 -1
  254. package/src/tree.ts +12 -27
  255. package/src/ts-type-emitter.ts +71 -15
  256. package/src/type-emitter.ts +226 -237
  257. package/src/type-extractor.ts +260 -334
  258. package/src/types.ts +168 -68
  259. package/src/validation.ts +7 -30
  260. package/src/ws/bun.ts +2 -9
  261. package/src/ws/cloudflare.ts +13 -16
  262. package/src/ws/deno.ts +31 -40
  263. package/src/ws/node.ts +4 -19
@@ -0,0 +1,470 @@
1
+ import { HoneyContext } from "./context.ts";
2
+ import { HoneyError } from "./error.ts";
3
+ import { ERROR_META } from "./errors.ts";
4
+ import type { MiddlewareFn, RuntimeMiddleware } from "./middleware.ts";
5
+ import type { ProxyConfig } from "./proxy.ts";
6
+ import type { CustomErrorFormatter, ErrorFormatter, ResponseOptions, TypedResponse } from "./response.ts";
7
+ import { type HoneyRes } from "./response.ts";
8
+ import type { RouteHandler, RouteTree, TreeNode } from "./tree.ts";
9
+ import type { RealtimeBus } from "./realtime/bus.ts";
10
+ import type { RealtimeRouteOpts } from "./realtime/route.ts";
11
+ import type { ComputeErrorsByStatus, DefaultMeta, ExtractSchemas, HttpMethod, InferInputMap, InferOutput, HoneyMetaSpec, InputSchemasDef, MergePath, MergeRoute, MetaSpecConfig, OutputSchemaDef, ParamsFromPath, StandardSchemaLike, TapContext } from "./types.ts";
12
+ import type { WSAdapter, WSHandler } from "./ws/cloudflare.ts";
13
+ import type { HoneyServeOptions, ServeHandle } from "./serve.ts";
14
+ export { HoneyContext } from "./context.ts";
15
+ /** HoneyContext without internal backing fields — use this for consumer-facing types */
16
+ export type HoneyCtx<TEnv = Record<string, unknown>> = Omit<import("./context.ts").HoneyContext<TEnv>, "_errorToResponse" | "_isErrorResponse" | "_lzCookies" | "_lzHeaders" | "_lzSearch" | "_lzSearchAll" | "_lzUrlFn" | "_setErrors">;
17
+ export { HoneyError } from "./error.ts";
18
+ export { defineErrors, ERROR_META } from "./errors.ts";
19
+ export type { ErrorMetaEntry } from "./errors.ts";
20
+ export type { MiddlewareFn } from "./middleware.ts";
21
+ export { createMiddleware, defineMiddleware } from "./middleware.ts";
22
+ export type { ProxyConfig } from "./proxy.ts";
23
+ export type { PendingTap, TapContext, TapHandler } from "./types.ts";
24
+ export type { CookieOptions, CustomErrorFormatter, ErrorFormatter, ResponseOptions, SSEEvent, SSEOptions, SSEStream, TypedResponse, } from "./response.ts";
25
+ export { createErrorResponse, HoneyRes } from "./response.ts";
26
+ export { mergeTree } from "./tree.ts";
27
+ export type { DefaultMeta, HoneyCodegen, HoneyMeta, InferBasePath, InferCtx, InferEnv, InferErrorFactory, InferInputMap, InferMeta, InferMethods, InferOutput, InferRouteCtx, InferRouteErrors, InferRouteInput, InferRouteMeta, InferRouteMethods, InferRouteOutput, InferRoutePaths, InferRoutes, InputSchemasDef, MergePath, HoneyMetaSpec, MetaSpecConfig, MetaSpecContext, MetaSpecEntry, MetaSpecExpand, MetaSpecProfile, MetaSpecSchemaEntry, MetaSpecSchemaSearch, MetaSpecSchemaSource, MetaSpecSingle, MetaSpecStrictness, MetaSpecTarget, OpenApiMeta, OutputSchemaDef, Overwrite, ComputeErrorsByStatus, RouteRecord, StandardSchemaLike, StatusKey, SuccessStatusKey, } from "./types.ts";
28
+ export type { WSAdapter, WSContext, WSHandler, WSPreUpgrade } from "./ws/cloudflare.ts";
29
+ export type { ConnContext, RealtimeRouteOpts } from "./realtime/route.ts";
30
+ export type { RealtimeBus } from "./realtime/bus.ts";
31
+ export type { HoneyServeOptions, ServeHandle } from "./serve.ts";
32
+ export type { ServeRuntime } from "./detect-runtime.ts";
33
+ export { detectRuntime } from "./detect-runtime.ts";
34
+ type TelemetryAdapter = {
35
+ onError?(ctx: {
36
+ duration: number;
37
+ error: HoneyError;
38
+ method: string;
39
+ path: string;
40
+ }): void;
41
+ onHandler?(ctx: {
42
+ duration: number;
43
+ method: string;
44
+ path: string;
45
+ status: number;
46
+ }): void;
47
+ onMethodNotAllowed?(ctx: {
48
+ allowed: string[];
49
+ method: string;
50
+ path: string;
51
+ req: Request;
52
+ }): void;
53
+ onMiddleware?(ctx: {
54
+ duration: number;
55
+ error?: unknown;
56
+ name: string;
57
+ }): void;
58
+ onNotFound?(ctx: {
59
+ method: string;
60
+ path: string;
61
+ req: Request;
62
+ }): void;
63
+ onRequest?(ctx: {
64
+ env: unknown;
65
+ req: Request;
66
+ }): void;
67
+ onResponse?(ctx: {
68
+ duration: number;
69
+ req: Request;
70
+ status: number;
71
+ }): void;
72
+ onRoute?(ctx: {
73
+ method: string;
74
+ params: Record<string, string>;
75
+ path: string;
76
+ req: Request;
77
+ }): void;
78
+ };
79
+ type ErrorI18nConfig<TEnv> = {
80
+ errors?: Record<string, Record<string, string>>;
81
+ fieldNames?: Record<string, Record<string, string>>;
82
+ resolveLocale: (ctx: {
83
+ cookies: Record<string, string>;
84
+ env: TEnv;
85
+ headers: Record<string, string>;
86
+ params: Record<string, string>;
87
+ req: Request;
88
+ search: Record<string, string>;
89
+ }) => string | Promise<string>;
90
+ };
91
+ type Logger = {
92
+ warn?(msg: string, ...args: unknown[]): void;
93
+ };
94
+ type HoneyGraph = {
95
+ handlerMap: Record<string, RouteHandler> | null;
96
+ hasRouteTree: boolean;
97
+ /** Codegen-time meta → OpenAPI policy. Never read on the request path */
98
+ metaSpec: MetaSpecConfig | null;
99
+ realtimeBus: RealtimeBus | null;
100
+ root: TreeNode;
101
+ };
102
+ type ErrorFormatterFn = ErrorFormatter;
103
+ export declare class Honey<TEnv, TCtx = HoneyContext<TEnv>, TRoutes = {}, TMeta = never, TErrorFactory = never, TDefaultErrors extends string = never, TBasePath extends string = "/", TTaps extends Record<string, unknown> = {}, TScopedMw extends readonly ScopedMwEntry[] = []> {
104
+ readonly $basePath: TBasePath;
105
+ readonly $ctx: TCtx;
106
+ readonly $env: TEnv;
107
+ readonly $errorFactory: TErrorFactory;
108
+ readonly $meta: TMeta;
109
+ readonly $routes: TRoutes;
110
+ readonly $taps: TTaps;
111
+ private _basePath;
112
+ private _defaultBoundaryKey;
113
+ private _defaultErrorKeys;
114
+ private _errorFactory;
115
+ private _errorSchema;
116
+ private _customErrorFormatter;
117
+ private _customErrorSchema;
118
+ private _chainMeta;
119
+ private _chainMiddlewares;
120
+ private _scopedMiddlewares;
121
+ private _contextValues;
122
+ private _errorFormatter;
123
+ private _errorI18n;
124
+ private _globalMiddlewares;
125
+ private _graph;
126
+ private _hasWsRoutes;
127
+ private _logger;
128
+ private _outputValidation;
129
+ private _staticRoutes;
130
+ private _stripPrefix;
131
+ private _trailingSlash;
132
+ private _wsAdapter;
133
+ private _openApiCache;
134
+ private _openApiYamlCache;
135
+ private _manifestCache;
136
+ private _onError;
137
+ private _onMethodNotAllowed;
138
+ private _onNotFound;
139
+ private _taps;
140
+ private _telemetry;
141
+ private _realtimeRoutes;
142
+ constructor(opts?: {
143
+ chainMiddlewares?: RuntimeMiddleware[];
144
+ defaultErrorKeys?: Set<string>;
145
+ globalMiddlewares?: RuntimeMiddleware[];
146
+ graph?: HoneyGraph;
147
+ handlerMap?: Record<string, RouteHandler> | null;
148
+ root?: TreeNode;
149
+ scopedMiddlewares?: ScopedEntry[];
150
+ });
151
+ private get _handlerMap();
152
+ private set _handlerMap(value);
153
+ private get _hasRouteTree();
154
+ private set _hasRouteTree(value);
155
+ /** @internal — read by codegen */
156
+ private get _metaSpec();
157
+ private set _metaSpec(value);
158
+ private get _root();
159
+ private set _root(value);
160
+ /** @internal — used by codegen */
161
+ private get _tree();
162
+ private get _realtimeBus();
163
+ private set _realtimeBus(value);
164
+ /** @internal — mark that this app has WS routes */
165
+ _markWsRoutes(): void;
166
+ /** @internal — register a static route for O(1) lookup */
167
+ _registerStatic(key: string, handler: RouteHandler): void;
168
+ /** @internal — used by RouteBuilder for pre-filtered error factory */
169
+ get _factory(): unknown;
170
+ /** @internal — used by runtime error boundary */
171
+ get _boundaryKey(): string | null;
172
+ /** Convert unknown thrown value to error Response — used in WS, 404, 405 catch blocks */
173
+ private _toErrorResponse;
174
+ private _createBoundaryError;
175
+ private _createError;
176
+ /** Apply error keys from a single scoped entry to every matching handler currently in the tree */
177
+ private _applyScopedEntryErrors;
178
+ /**
179
+ * Meta contributed by every middleware that will run for `routePath`, in runtime order:
180
+ * global, chain, then scoped entries matching the path. Route-level `.use()` is folded in
181
+ * later, by the builder. Resolved here — at registration — because the precompiled route
182
+ * tree bakes `mt` as a literal, so a per-request derivation would diverge from it.
183
+ */
184
+ private _contributedMetaFor;
185
+ /**
186
+ * Back-fill meta from one scoped entry onto handlers already in the tree. Mirrors
187
+ * `_applyScopedEntryErrors` — `.use("/prefix", mw)` may be registered after the routes it
188
+ * covers, and a tag missing where enforcement happens is the worst failure direction.
189
+ * `mt` is frozen at registration, so this replaces the object rather than mutating it.
190
+ */
191
+ private _applyScopedEntryMeta;
192
+ /** Apply error keys from every scoped entry on this chain to every matching handler in the tree */
193
+ private _applyAllScopedErrors;
194
+ /** Return scoped middleware functions that match the given route path */
195
+ private _filterScopedForPath;
196
+ /** Mutates `honeyError.message` in-place with the i18n-resolved template for its errorKey.
197
+ * No-op when i18n is not configured or when no template matches. */
198
+ private _resolveI18n;
199
+ /**
200
+ * Convert thrown value into an error Response — resolves boundary wrapping,
201
+ * i18n translation, onError callback, and telemetry.
202
+ * Called from the handler wrapper so errors flow back through middleware.
203
+ */
204
+ private _resolveErrorResponse;
205
+ basePath<P extends string>(prefix: P): Honey<TEnv, TCtx, TRoutes, TMeta, TErrorFactory, TDefaultErrors, MergePath<TBasePath, P>, TTaps, TScopedMw>;
206
+ context<TAdds extends Record<string, unknown>>(values: TAdds): Honey<TEnv, TCtx & Readonly<TAdds>, TRoutes, TMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
207
+ logger(logger: Logger): this;
208
+ outputValidation(mode: "always" | "dev" | "off"): this;
209
+ trailingSlash(mode: "enforce" | "ignore" | "strip"): this;
210
+ /** Strip a URL path prefix before route matching — boundary-safe (won't strip partial segments), paths without the prefix pass through unchanged */
211
+ stripPrefix(prefix: string): this;
212
+ wsAdapter(adapter: WSAdapter): this;
213
+ openapi(options: {
214
+ description?: string;
215
+ docs?: "scalar" | "swagger";
216
+ docsPath?: string;
217
+ filterRoutes?: (route: {
218
+ meta: unknown;
219
+ method: string;
220
+ path: string;
221
+ }) => boolean;
222
+ path?: string;
223
+ /** Named metaSpec profile selecting which emitted keys this document carries */
224
+ profile?: string;
225
+ securitySchemes?: Record<string, unknown>;
226
+ title: string;
227
+ version: string;
228
+ }): this;
229
+ manifest(options?: {
230
+ path?: string;
231
+ }): this;
232
+ serve(options?: HoneyServeOptions): Promise<ServeHandle>;
233
+ private _lookupGet;
234
+ /** Mount an internal GET. Returns false when a user route already owns the path. */
235
+ private _mountInternalGet;
236
+ defaultErrorFormatter<TSchema extends StandardSchemaLike>(schema: TSchema, fn: (error: HoneyError) => InferOutput<TSchema>): this;
237
+ defaultErrorFormatter(fn: ErrorFormatterFn): this;
238
+ customErrorFormatter<TSchema extends StandardSchemaLike>(schema: TSchema, fn: (error: HoneyError, data: Record<string, unknown>) => InferOutput<TSchema>): this;
239
+ customErrorFormatter(fn: CustomErrorFormatter): this;
240
+ errorI18n(config: ErrorI18nConfig<TEnv>): this;
241
+ onError(handler: (error: unknown, ctx: {
242
+ env: TEnv;
243
+ jsonFromError: (err: HoneyError) => Response;
244
+ req: Request;
245
+ }) => HoneyError | Response | Promise<HoneyError | Response | undefined | void> | undefined | void): this;
246
+ onMethodNotAllowed(handler: (ctx: {
247
+ allowed: string[];
248
+ env: TEnv;
249
+ jsonFromError: (err: HoneyError) => Response;
250
+ req: Request;
251
+ }) => Response | Promise<Response>): this;
252
+ onNotFound(handler: (ctx: {
253
+ env: TEnv;
254
+ jsonFromError: (err: HoneyError) => Response;
255
+ req: Request;
256
+ }) => Response | Promise<Response>): this;
257
+ /** Register a tap handler keyed by name — fires after successful handler response */
258
+ tap<K extends string>(key: K, handler: (ctx: TapContext<TEnv>, payload: K extends keyof TTaps ? TTaps[K] : unknown) => void | Promise<void>): this;
259
+ telemetry(adapter: TelemetryAdapter): this;
260
+ routeTree(tree: RouteTree): this;
261
+ toRouteTree(): RouteTree;
262
+ errorFactory<TFactory extends Record<string, (...args: never[]) => unknown>>(factory: TFactory): Honey<TEnv, TCtx, TRoutes, TMeta, TFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
263
+ defaultErrors<TKeys extends ([TErrorFactory] extends [never] ? never : keyof TErrorFactory & string)>(...keys: TKeys[]): Honey<TEnv, TCtx, TRoutes, TMeta, TErrorFactory, TDefaultErrors | TKeys, TBasePath, TTaps, TScopedMw>;
264
+ defaultBoundary<TKey extends ([TErrorFactory] extends [never] ? never : keyof TErrorFactory & string)>(key: TKey): Honey<TEnv, TCtx, TRoutes, TMeta, TErrorFactory, TDefaultErrors | TKey, TBasePath, TTaps, TScopedMw>;
265
+ /** Phantom overload — constrains what route-level .meta() accepts */
266
+ meta<TNewMeta extends Record<string, unknown>>(): Honey<TEnv, TCtx, TRoutes, TNewMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
267
+ /** Typed chain-level default meta — constrains route meta and sets runtime defaults in one call */
268
+ meta<TNewMeta extends Record<string, unknown>, TValues extends Partial<DefaultMeta> & Partial<TNewMeta>>(values: TValues): Honey<TEnv, TCtx, TRoutes, TNewMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
269
+ /** Chain-level default meta — merged into every route registered on this chain */
270
+ meta<TValues extends Partial<DefaultMeta> & ([TMeta] extends [never] ? {} : Partial<TMeta>)>(values: TValues): Honey<TEnv, TCtx, TRoutes, TMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
271
+ /**
272
+ * Declare what flows from route meta and route schemas into the OpenAPI document.
273
+ * Codegen-time only — never consulted on the request path. See docs/meta-spec.md.
274
+ */
275
+ metaSpec<TSpec extends HoneyMetaSpec<TMeta>>(spec: TSpec): this;
276
+ /** Mounted sub-apps fill policy gaps; the parent's entries win on conflict. */
277
+ private _absorbMetaSpec;
278
+ /** Declare tap payload types — auto-extends meta with Partial<T> for meta-driven taps */
279
+ taps<TNewTaps extends Record<string, unknown>>(): Honey<TEnv, Omit<TCtx, "tap"> & {
280
+ tap<K extends keyof TNewTaps>(key: K, payload: TNewTaps[K]): void;
281
+ }, TRoutes, [
282
+ TMeta
283
+ ] extends [never] ? Partial<TNewTaps> : TMeta & Partial<TNewTaps>, TErrorFactory, TDefaultErrors, TBasePath, TNewTaps, TScopedMw>;
284
+ use<TAdds>(mw: MiddlewareFn<TCtx, TAdds>): Honey<TEnv, TCtx & TAdds, TRoutes, TMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
285
+ use<const TPath extends string, TAdds>(path: TPath, mw: MiddlewareFn<TCtx, TAdds>): Honey<TEnv, TCtx, TRoutes, TMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, readonly [...TScopedMw, {
286
+ readonly path: MergePath<TBasePath, TPath>;
287
+ readonly adds: TAdds;
288
+ }]>;
289
+ route<TSubRoutes, TSubMeta, TSubErrorFactory, TSubDefaultErrors extends string, TSubBasePath extends string>(sub: Honey<TEnv, TCtx, TSubRoutes, TSubMeta, TSubErrorFactory, TSubDefaultErrors, TSubBasePath>): Honey<TEnv, TCtx, TRoutes & TSubRoutes, TMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
290
+ private _registerRoute;
291
+ on<const TPath extends string, const TMethods extends readonly [HttpMethod | "ALL", ...(HttpMethod | "ALL")[]]>(methods: TMethods, path: TPath): BuilderChain<TEnv, TCtx & ApplyScoped<TScopedMw, MergePath<TBasePath, TPath>>, {}, never, {}, MergePath<TBasePath, TPath>, TMethods[number], TRoutes, never, TCtx, TMeta, InitAccMeta<TMeta>, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
292
+ all<const TPath extends string>(path: TPath): BuilderChain<TEnv, TCtx & ApplyScoped<TScopedMw, MergePath<TBasePath, TPath>>, {}, never, {}, MergePath<TBasePath, TPath>, "ALL", TRoutes, never, TCtx, TMeta, InitAccMeta<TMeta>, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
293
+ delete<const TPath extends string>(path: TPath): BuilderChain<TEnv, TCtx & ApplyScoped<TScopedMw, MergePath<TBasePath, TPath>>, {}, never, {}, MergePath<TBasePath, TPath>, "DELETE", TRoutes, never, TCtx, TMeta, InitAccMeta<TMeta>, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
294
+ get<const TPath extends string>(path: TPath): BuilderChain<TEnv, TCtx & ApplyScoped<TScopedMw, MergePath<TBasePath, TPath>>, {}, never, {}, MergePath<TBasePath, TPath>, "GET", TRoutes, never, TCtx, TMeta, InitAccMeta<TMeta>, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
295
+ head<const TPath extends string>(path: TPath): BuilderChain<TEnv, TCtx & ApplyScoped<TScopedMw, MergePath<TBasePath, TPath>>, {}, never, {}, MergePath<TBasePath, TPath>, "HEAD", TRoutes, never, TCtx, TMeta, InitAccMeta<TMeta>, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
296
+ options<const TPath extends string>(path: TPath): BuilderChain<TEnv, TCtx & ApplyScoped<TScopedMw, MergePath<TBasePath, TPath>>, {}, never, {}, MergePath<TBasePath, TPath>, "OPTIONS", TRoutes, never, TCtx, TMeta, InitAccMeta<TMeta>, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
297
+ patch<const TPath extends string>(path: TPath): BuilderChain<TEnv, TCtx & ApplyScoped<TScopedMw, MergePath<TBasePath, TPath>>, {}, never, {}, MergePath<TBasePath, TPath>, "PATCH", TRoutes, never, TCtx, TMeta, InitAccMeta<TMeta>, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
298
+ post<const TPath extends string>(path: TPath): BuilderChain<TEnv, TCtx & ApplyScoped<TScopedMw, MergePath<TBasePath, TPath>>, {}, never, {}, MergePath<TBasePath, TPath>, "POST", TRoutes, never, TCtx, TMeta, InitAccMeta<TMeta>, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
299
+ put<const TPath extends string>(path: TPath): BuilderChain<TEnv, TCtx & ApplyScoped<TScopedMw, MergePath<TBasePath, TPath>>, {}, never, {}, MergePath<TBasePath, TPath>, "PUT", TRoutes, never, TCtx, TMeta, InitAccMeta<TMeta>, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
300
+ ws<const TPath extends string>(path: TPath): WSRouteBuilder<TEnv, TCtx & ApplyScoped<TScopedMw, MergePath<TBasePath, TPath>>, {}, never, Honey<TEnv, TCtx, TRoutes, TMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>>;
301
+ realtime(path: string, opts: RealtimeRouteOpts): this;
302
+ /**
303
+ * Deno must call `Deno.upgradeWebSocket` in the same turn as the serve
304
+ * callback. When the adapter implements `preUpgrade`, we do that here
305
+ * and return the 101 response before any middleware Promise.
306
+ */
307
+ fetch(request: Request, env: TEnv, executionCtx?: {
308
+ waitUntil?: (p: Promise<unknown>) => void;
309
+ }): Response | Promise<Response>;
310
+ private pathFromRequest;
311
+ private trailingSlashRedirects;
312
+ private pathAfterPrefix;
313
+ private _doFetch;
314
+ private _makeErrorCtx;
315
+ private _handleWs;
316
+ private _handleRealtime;
317
+ private _handle404;
318
+ private _preflightFallbackMethod;
319
+ /** Run the existing method's middleware for a CORS preflight. Do not invoke the route handler. */
320
+ private _handleCorsPreflight;
321
+ private _handle405;
322
+ private _handleMatched;
323
+ private _afterMatched;
324
+ private _validateThenFinish;
325
+ private _finishMatched;
326
+ }
327
+ /**
328
+ * When content type IS declared → narrow the method (constrain status keys + body).
329
+ * When content type NOT declared → remove the method (Omit).
330
+ * Narrowed methods return TypedResponse<CT, K> for compile-time CT+SK safety.
331
+ */
332
+ /** Resolve body type: schema → InferOutput, plain type → use as-is */
333
+ type ResolveBody<T, TBody> = TBody extends "infer" ? (T extends StandardSchemaLike ? InferOutput<T> : T) : TBody;
334
+ type NarrowMethod<TRes, TSchemas, Method extends string, CT extends string, TBody> = [TSchemas] extends [never] ? Omit<TRes, Method> : TSchemas extends Record<string, unknown> ? Omit<TRes, Method> & {
335
+ [M in Method]: <K extends keyof TSchemas & string>(statusKey: K, body: ResolveBody<TSchemas[K], TBody>, opts?: ResponseOptions) => TypedResponse<CT, K>;
336
+ } : Omit<TRes, Method>;
337
+ /**
338
+ * SSE uses a callback signature, not statusKey+body like other methods.
339
+ * Gate presence on text/event-stream declaration, preserve original signature.
340
+ */
341
+ type NarrowSSE<TOutput> = [ExtractSchemas<TOutput, "text/event-stream">] extends [never] ? {} : {
342
+ sse: HoneyRes["sse"];
343
+ };
344
+ /** Universal methods — always available, not gated by output declaration */
345
+ type UniversalRes = Pick<HoneyRes, "noContent" | "raw" | "redirect" | "stream">;
346
+ /**
347
+ * Constrain ctx.res when output schemas are declared.
348
+ * Declared content types → method constrained (status keys + body type).
349
+ * Undeclared content types → method removed.
350
+ * Universal methods (noContent, redirect, stream, raw) always available.
351
+ * HoneyContext has no private brand, so Omit<TCtx, "res"> replaces the wide HoneyRes.
352
+ */
353
+ type ApplyOutput<TCtx, TOutput> = [keyof TOutput] extends [never] ? TCtx : Omit<TCtx, "res"> & {
354
+ readonly res: UniversalRes & NarrowMethod<{}, ExtractSchemas<TOutput, "application/json">, "json", "application/json", "infer"> & NarrowMethod<{}, ExtractSchemas<TOutput, "text/plain">, "text", "text/plain", string> & NarrowMethod<{}, ExtractSchemas<TOutput, "text/html">, "html", "text/html", string> & NarrowMethod<{}, ExtractSchemas<TOutput, "application/xml">, "xml", "application/xml", string> & NarrowMethod<{}, ExtractSchemas<TOutput, "text/csv">, "csv", "text/csv", string> & NarrowMethod<{}, ExtractSchemas<TOutput, "application/octet-stream">, "binary", "application/octet-stream", ArrayBuffer | Uint8Array<ArrayBuffer>> & NarrowSSE<TOutput>;
355
+ };
356
+ /** Public alias for codegen — applies output schema constraints to a context type */
357
+ export type WithOutput<TCtx, TOutput> = ApplyOutput<TCtx, TOutput>;
358
+ /** @internal — tuple entry describing a scoped middleware at the type level */
359
+ type ScopedMwEntry = {
360
+ readonly path: string;
361
+ readonly adds: unknown;
362
+ };
363
+ /**
364
+ * Walk TScopedMw tuple, intersect `adds` for every entry whose `path` is a prefix of TFullPath.
365
+ * Prefix semantics: TFullPath extends `${P}` (exact) | `${P}/${string}` (descendant).
366
+ *
367
+ * Non-literal-path guard: if Head["path"] is the base `string` type (happens when
368
+ * the user passes a widened variable), skip the entry via `string extends Head["path"] ? {}`.
369
+ * This prevents the always-true `'/anywhere' extends string` from polluting every route.
370
+ */
371
+ type ApplyScoped<TScopedMw extends readonly ScopedMwEntry[], TFullPath extends string> = TScopedMw extends readonly [
372
+ infer Head extends ScopedMwEntry,
373
+ ...infer Rest extends readonly ScopedMwEntry[]
374
+ ] ? (string extends Head["path"] ? {} : TFullPath extends Head["path"] ? Head["adds"] : TFullPath extends `${Head["path"] & string}/${string}` ? Head["adds"] : {}) & ApplyScoped<Rest, TFullPath> : {};
375
+ /** @internal — runtime entry for a scoped middleware */
376
+ type ScopedEntry = {
377
+ /** merged full-path prefix (already rebased against basePath at .use time) */
378
+ prefix: string;
379
+ mw: RuntimeMiddleware;
380
+ /** cached from mw.errors at registration; undefined when none */
381
+ errors: readonly string[] | undefined;
382
+ };
383
+ /** Apply typed params — override params with specific keys when route has :param segments */
384
+ type ApplyParams<TCtx, TParams> = [keyof TParams] extends [string] ? string extends keyof TParams ? TCtx : TCtx & {
385
+ readonly params: TParams;
386
+ } : TCtx;
387
+ /** Typed tap method — constrained to registered tap keys when TTaps is non-empty */
388
+ type TypedTap<TTaps extends Record<string, unknown>> = [keyof TTaps] extends [never] ? {
389
+ tap(key: string, payload: unknown): void;
390
+ } : {
391
+ tap<K extends string & keyof TTaps>(key: K, payload: TTaps[K]): void;
392
+ };
393
+ /** Build the full handler context: base ctx + params + input + meta + errors + taps + output-constrained methods */
394
+ type HandlerCtx<TCtx, TInput, TOutput, TParams, TAccMeta = {}, TErrorFactory = never, TErrorKeys extends string = never, TPath extends string = string, TTaps extends Record<string, unknown> = {}> = ApplyOutput<ApplyParams<[keyof TInput] extends [never] ? TCtx : TCtx & {
395
+ input: TInput;
396
+ }, TParams> & {
397
+ readonly meta: Readonly<Omit<TAccMeta, "openApi">>;
398
+ readonly routePattern: TPath;
399
+ } & ([TErrorFactory] extends [never] ? {} : [TErrorKeys] extends [never] ? {
400
+ readonly errors: TErrorFactory;
401
+ } : {
402
+ readonly errors: Pick<TErrorFactory, TErrorKeys & keyof TErrorFactory>;
403
+ }) & TypedTap<TTaps>, TOutput>;
404
+ type RouteBuilderState<TParent> = {
405
+ boundaryErrorKey: string | null;
406
+ errorKeys: Set<string>;
407
+ extraMethods: (HttpMethod | "ALL")[] | null;
408
+ handlerMap: Record<string, RouteHandler> | null;
409
+ inputSchemas: InputSchemasDef | null;
410
+ meta: Record<string, unknown> | null;
411
+ /** meta contributed by middleware — kept apart so explicit .meta() always outranks it */
412
+ mwMeta: Record<string, unknown> | null;
413
+ method: HttpMethod | "ALL";
414
+ middlewares: RuntimeMiddleware[];
415
+ outputSchemas: OutputSchemaDef | null;
416
+ parent: TParent;
417
+ parentMiddlewares: RuntimeMiddleware[];
418
+ path: string;
419
+ root: TreeNode;
420
+ };
421
+ /** Honey.TMeta defaults to never; never & X is never, so start acc meta at {}. */
422
+ type InitAccMeta<TMeta> = [TMeta] extends [never] ? {} : TMeta;
423
+ /** Skip $routes merge only for a real `{ internal: true }` meta — not for `never`. */
424
+ type SkipRouteRecord<TAccMeta> = [TAccMeta] extends [never] ? false : [TAccMeta] extends [{
425
+ internal: true;
426
+ }] ? true : false;
427
+ /** Return type for handler() — extracted to avoid 3x duplication */
428
+ type HandlerReturn<TEnv, TBaseCtx, TRoutes, TPath extends string, TMethod extends string, TInput, TOutput, TCtx, TAccMeta, TErrorFactory, _TErrorKeys extends string, TDefaultErrors extends string, TMeta, TBasePath extends string = "/", TTaps extends Record<string, unknown> = {}, TScopedMw extends readonly ScopedMwEntry[] = []> = Honey<TEnv, TBaseCtx, SkipRouteRecord<TAccMeta> extends true ? TRoutes : MergeRoute<TRoutes, TPath, TMethod, TInput, TOutput, HandlerCtx<TCtx, TInput, TOutput, ParamsFromPath<TPath>, TAccMeta, TErrorFactory, _TErrorKeys | TDefaultErrors, TPath, TTaps>, TAccMeta, _TErrorKeys | TDefaultErrors, ComputeErrorsByStatus<TErrorFactory, _TErrorKeys | TDefaultErrors, typeof ERROR_META>>, TMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
429
+ type OneShotKey = "boundary" | "errors" | "input" | "meta" | "output";
430
+ type BuilderChain<TEnv, TCtx, TInput, TErrorKeys extends string, TOutput, TPath extends string, TMethod extends string, TRoutes, TUsed extends string, TBaseCtx, TMeta, TAccMeta, TErrorFactory, TDefaultErrors extends string, TBasePath extends string, TTaps extends Record<string, unknown> = {}, TScopedMw extends readonly ScopedMwEntry[] = []> = Omit<RouteBuilder<TEnv, TCtx, TInput, TErrorKeys, TOutput, TPath, TMethod, TRoutes, TUsed, TBaseCtx, TMeta, TAccMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>, TUsed & OneShotKey>;
431
+ declare class RouteBuilder<TEnv, TCtx, TInput = {}, _TErrorKeys extends string = never, TOutput = {}, TPath extends string = string, TMethod extends string = string, TRoutes = {}, TUsed extends string = never, TBaseCtx = TCtx, TMeta = never, TAccMeta = {}, TErrorFactory = never, TDefaultErrors extends string = never, TBasePath extends string = "/", TTaps extends Record<string, unknown> = {}, TScopedMw extends readonly ScopedMwEntry[] = []> {
432
+ private _s;
433
+ constructor(state: RouteBuilderState<Honey<TEnv, TBaseCtx, TRoutes, TMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>>);
434
+ errors<TFactory extends Record<string, (...args: never[]) => unknown>, TKeys extends Exclude<keyof TFactory & string, TDefaultErrors>>(factory: TFactory, ...keys: TKeys[]): BuilderChain<TEnv, TCtx, TInput, _TErrorKeys | TKeys, TOutput, TPath, TMethod, TRoutes, TUsed | "errors", TBaseCtx, TMeta, TAccMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
435
+ errors<TKeys extends ([TErrorFactory] extends [never] ? never : Exclude<keyof TErrorFactory & string, TDefaultErrors>)>(...keys: TKeys[]): BuilderChain<TEnv, TCtx, TInput, _TErrorKeys | TKeys, TOutput, TPath, TMethod, TRoutes, TUsed | "errors", TBaseCtx, TMeta, TAccMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
436
+ boundary<TKey extends ([TErrorFactory] extends [never] ? never : Exclude<keyof TErrorFactory & string, TDefaultErrors>)>(key: TKey): BuilderChain<TEnv, TCtx, TInput, _TErrorKeys | TKey, TOutput, TPath, TMethod, TRoutes, TUsed | "boundary", TBaseCtx, TMeta, TAccMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
437
+ handler(fn: (ctx: HandlerCtx<TCtx, TInput, TOutput, ParamsFromPath<TPath>, TAccMeta, TErrorFactory, _TErrorKeys | TDefaultErrors, TPath, TTaps>) => TypedResponse | Promise<TypedResponse>): HandlerReturn<TEnv, TBaseCtx, TRoutes, TPath, TMethod, TInput, TOutput, TCtx, TAccMeta, TErrorFactory, _TErrorKeys, TDefaultErrors, TMeta, TBasePath, TTaps, TScopedMw>;
438
+ proxy(config: ProxyConfig<HandlerCtx<TCtx, TInput, TOutput, ParamsFromPath<TPath>, TAccMeta, TErrorFactory, _TErrorKeys | TDefaultErrors, TPath, TTaps>>): HandlerReturn<TEnv, TBaseCtx, TRoutes, TPath, TMethod, TInput, TOutput, TCtx, TAccMeta, TErrorFactory, _TErrorKeys, TDefaultErrors, TMeta, TBasePath, TTaps, TScopedMw>;
439
+ input<TSchemas extends InputSchemasDef>(schemas: TSchemas): BuilderChain<TEnv, TCtx, TInput & InferInputMap<TSchemas>, _TErrorKeys, TOutput, TPath, TMethod, TRoutes, TUsed | "input", TBaseCtx, TMeta, TAccMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
440
+ meta<TRouteMeta extends Partial<DefaultMeta> & ([TMeta] extends [never] ? {} : TMeta)>(meta: TRouteMeta): BuilderChain<TEnv, TCtx, TInput, _TErrorKeys, TOutput, TPath, TMethod, TRoutes, TUsed | "meta", TBaseCtx, TMeta, TAccMeta & TRouteMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
441
+ output<TOutputSchemas extends OutputSchemaDef>(_schemas: TOutputSchemas): BuilderChain<TEnv, TCtx, TInput, _TErrorKeys, TOutputSchemas, TPath, TMethod, TRoutes, TUsed | "output", TBaseCtx, TMeta, TAccMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
442
+ use<TAdds>(mw: MiddlewareFn<TCtx, TAdds>): BuilderChain<TEnv, TCtx & TAdds, TInput, _TErrorKeys, TOutput, TPath, TMethod, TRoutes, TUsed, TBaseCtx, TMeta, TAccMeta, TErrorFactory, TDefaultErrors, TBasePath, TTaps, TScopedMw>;
443
+ }
444
+ type WSRouteBuilderState<TParent> = {
445
+ mwMeta?: Record<string, unknown> | null;
446
+ boundaryErrorKey: string | null;
447
+ errorKeys: Set<string>;
448
+ inputSchemas: InputSchemasDef | null;
449
+ meta: Record<string, unknown> | null;
450
+ middlewares: RuntimeMiddleware[];
451
+ parent: TParent;
452
+ parentMiddlewares: RuntimeMiddleware[];
453
+ path: string;
454
+ root: TreeNode;
455
+ };
456
+ declare class WSRouteBuilder<TEnv, TCtx, TInput = {}, _TErrorKeys extends string = never, TParent extends {
457
+ _markWsRoutes(): void;
458
+ } = {
459
+ _markWsRoutes(): void;
460
+ }> {
461
+ private _s;
462
+ constructor(state: WSRouteBuilderState<TParent>);
463
+ errors<TFactory extends Record<string, (...args: never[]) => unknown>>(factory: TFactory, ...keys: Array<keyof TFactory & string>): WSRouteBuilder<TEnv, TCtx, TInput, _TErrorKeys | (keyof TFactory & string), TParent>;
464
+ handler(wsHandler: WSHandler<TCtx>): TParent;
465
+ input<TSchemas extends Pick<InputSchemasDef, "cookies" | "headers" | "search">>(schemas: TSchemas): WSRouteBuilder<TEnv, TCtx, TInput & InferInputMap<TSchemas>, _TErrorKeys, TParent>;
466
+ meta(meta: Record<string, unknown>): this;
467
+ use<TAdds>(mw: MiddlewareFn<TCtx, TAdds>): WSRouteBuilder<TEnv, TCtx & TAdds, TInput, _TErrorKeys, TParent>;
468
+ }
469
+ export declare function honey<TEnv>(): Honey<TEnv>;
470
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/init.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export type InitFlags = {
2
+ cf: boolean;
3
+ force: boolean;
4
+ };
5
+ export declare function parseInitFlags(args: string[]): InitFlags;
6
+ export declare function runInit(cwd: string, flags: InitFlags): void;
7
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG;IACvB,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,OAAO,CAAA;CACd,CAAA;AA6CD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAKxD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAqB3D"}
@@ -0,0 +1,6 @@
1
+ export type ReadableStreamSchema<T> = {
2
+ readonly _tag: "readableStream";
3
+ readonly schema: T;
4
+ };
5
+ export declare function readableStream<T>(schema: T): ReadableStreamSchema<T>;
6
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAEpE"}
@@ -0,0 +1,12 @@
1
+ import type { MiddlewareFn } from "./middleware.ts";
2
+ type IpRestrictOptions = {
3
+ allowList?: string[];
4
+ denyList?: string[];
5
+ getIp?: (req: Request) => string | null;
6
+ trustProxy?: boolean;
7
+ };
8
+ export declare function ipRestrict(opts: IpRestrictOptions): MiddlewareFn<{
9
+ req: Request;
10
+ }, {}>;
11
+ export {};
12
+ //# sourceMappingURL=ip-restrict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ip-restrict.d.ts","sourceRoot":"","sources":["../src/ip-restrict.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGnD,KAAK,iBAAiB,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAA;IACvC,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAqJD,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,CAAC,CAiCtF"}
@@ -0,0 +1,45 @@
1
+ import type { MiddlewareFn } from "./middleware.ts";
2
+ type LogLevel = "debug" | "error" | "fatal" | "info" | "trace" | "warn";
3
+ type LoggerInstance = {
4
+ child(bindings: Record<string, unknown>): LoggerInstance;
5
+ debug(msg: string): void;
6
+ debug(obj: Record<string, unknown>, msg?: string): void;
7
+ error(msg: string): void;
8
+ error(obj: Record<string, unknown>, msg?: string): void;
9
+ fatal(msg: string): void;
10
+ fatal(obj: Record<string, unknown>, msg?: string): void;
11
+ info(msg: string): void;
12
+ info(obj: Record<string, unknown>, msg?: string): void;
13
+ level: LogLevel;
14
+ trace(msg: string): void;
15
+ trace(obj: Record<string, unknown>, msg?: string): void;
16
+ warn(msg: string): void;
17
+ warn(obj: Record<string, unknown>, msg?: string): void;
18
+ };
19
+ type CreateLoggerOptions = {
20
+ base?: Record<string, unknown>;
21
+ level?: LogLevel;
22
+ write?: (line: string) => void;
23
+ };
24
+ declare function createLogger(opts?: CreateLoggerOptions): LoggerInstance;
25
+ type LogData = {
26
+ duration: number;
27
+ method: string;
28
+ path: string;
29
+ requestId: string | null;
30
+ status: number;
31
+ };
32
+ type LoggerOptions = {
33
+ instance?: LoggerInstance;
34
+ log?: (data: LogData) => void;
35
+ skip?: (data: LogData) => boolean;
36
+ };
37
+ declare function logger(options?: LoggerOptions): MiddlewareFn<{
38
+ path: string;
39
+ req: Request;
40
+ }, {
41
+ log: LoggerInstance;
42
+ }>;
43
+ export { createLogger, logger };
44
+ export type { CreateLoggerOptions, LogData, LoggerInstance, LoggerOptions, LogLevel };
45
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAInD,KAAK,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAavE,KAAK,cAAc,GAAG;IACrB,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAAA;IACxD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtD,KAAK,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtD,CAAA;AAED,KAAK,mBAAmB,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,CAAA;AAED,iBAAS,YAAY,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,cAAc,CAgChE;AAID,KAAK,OAAO,GAAG;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,aAAa,GAAG;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;CACjC,CAAA;AAUD,iBAAS,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,EAAE;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,CAAC,CA8C9G;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;AAC/B,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA"}