@lovrozagar/honey 0.7.3 → 1.0.0-rc.3

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 (1005) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +930 -1664
  3. package/bin/honey.js +87 -27
  4. package/dist/adapters/bun/serve.d.ts +18 -0
  5. package/dist/adapters/bun/serve.js +89 -0
  6. package/dist/adapters/fetch-request.d.ts +20 -0
  7. package/dist/adapters/fetch-request.js +29 -0
  8. package/dist/adapters/node/headers.d.ts +27 -0
  9. package/dist/adapters/node/headers.js +86 -0
  10. package/dist/adapters/node/request.d.ts +16 -0
  11. package/dist/adapters/node/request.js +214 -0
  12. package/dist/adapters/node/response.d.ts +11 -0
  13. package/dist/adapters/node/response.js +126 -0
  14. package/dist/adapters/node/serve.d.ts +39 -0
  15. package/dist/adapters/node/serve.js +205 -0
  16. package/dist/adapters/node/url.d.ts +13 -0
  17. package/dist/adapters/node/url.js +87 -0
  18. package/dist/adapters/serve.d.ts +36 -0
  19. package/dist/adapters/serve.js +52 -0
  20. package/dist/build/artifacts.d.ts +34 -0
  21. package/dist/build/artifacts.js +123 -0
  22. package/dist/build/cli-args.d.ts +30 -0
  23. package/dist/build/cli-args.js +97 -0
  24. package/dist/build/cli.d.ts +11 -0
  25. package/dist/build/cli.js +150 -0
  26. package/dist/build/config.d.ts +102 -0
  27. package/dist/build/config.js +89 -0
  28. package/dist/build/generate.d.ts +19 -0
  29. package/dist/build/generate.js +80 -0
  30. package/dist/build/glob.d.ts +8 -0
  31. package/dist/build/glob.js +97 -0
  32. package/dist/build/index.d.ts +3 -58
  33. package/dist/build/index.js +3 -173
  34. package/dist/build/init.d.ts +3 -0
  35. package/dist/build/init.js +131 -0
  36. package/dist/build/loaders.d.ts +33 -0
  37. package/dist/build/loaders.js +105 -0
  38. package/dist/build/plugin.d.ts +52 -0
  39. package/dist/build/plugin.js +146 -0
  40. package/dist/build/source.d.ts +21 -0
  41. package/dist/build/source.js +100 -0
  42. package/dist/build/targets.d.ts +59 -0
  43. package/dist/build/targets.js +107 -0
  44. package/dist/context/context.d.ts +111 -0
  45. package/dist/context/context.js +213 -0
  46. package/dist/context/cookie-sign.d.ts +38 -0
  47. package/dist/context/cookie-sign.js +113 -0
  48. package/dist/context/cookie.d.ts +28 -0
  49. package/dist/context/cookie.js +142 -0
  50. package/dist/context/peer.d.ts +34 -0
  51. package/dist/context/peer.js +190 -0
  52. package/dist/errors/error.d.ts +60 -0
  53. package/dist/errors/error.js +84 -0
  54. package/dist/errors/errors.d.ts +45 -0
  55. package/dist/errors/errors.js +31 -0
  56. package/dist/errors/on-error.d.ts +10 -0
  57. package/dist/errors/on-error.js +204 -0
  58. package/dist/errors/problem-json.d.ts +14 -0
  59. package/dist/errors/problem-json.js +58 -0
  60. package/dist/errors/projector.d.ts +50 -0
  61. package/dist/errors/projector.js +107 -0
  62. package/dist/i18n/error-i18n.d.ts +26 -0
  63. package/dist/i18n/error-i18n.js +77 -0
  64. package/dist/i18n/i18n.d.ts +21 -0
  65. package/dist/i18n/i18n.js +40 -0
  66. package/dist/i18n/icu.d.ts +29 -0
  67. package/dist/i18n/icu.js +170 -0
  68. package/dist/i18n/index.d.ts +4 -0
  69. package/dist/i18n/index.js +3 -0
  70. package/dist/index.d.ts +30 -746
  71. package/dist/index.js +12 -2364
  72. package/dist/input/accepts.d.ts +5 -0
  73. package/dist/input/accepts.js +105 -0
  74. package/dist/input/binary.d.ts +20 -0
  75. package/dist/input/binary.js +40 -0
  76. package/dist/input/body-kind.d.ts +15 -0
  77. package/dist/input/body-kind.js +47 -0
  78. package/dist/input/body-limit.d.ts +21 -0
  79. package/dist/input/body-limit.js +99 -0
  80. package/dist/input/cookies.d.ts +7 -0
  81. package/dist/input/cookies.js +8 -0
  82. package/dist/input/form.d.ts +10 -0
  83. package/dist/input/form.js +24 -0
  84. package/dist/input/headers.d.ts +7 -0
  85. package/dist/input/headers.js +8 -0
  86. package/dist/input/input.d.ts +91 -0
  87. package/dist/input/input.js +88 -0
  88. package/dist/input/json.d.ts +10 -0
  89. package/dist/input/json.js +22 -0
  90. package/dist/input/params.d.ts +7 -0
  91. package/dist/input/params.js +8 -0
  92. package/dist/input/query.d.ts +10 -0
  93. package/dist/input/query.js +17 -0
  94. package/dist/mcp/mount.d.ts +116 -0
  95. package/dist/mcp/mount.js +45 -0
  96. package/dist/mcp/oauth.d.ts +14 -0
  97. package/dist/mcp/oauth.js +88 -0
  98. package/dist/mcp/uploads.d.ts +36 -0
  99. package/dist/mcp/uploads.js +171 -0
  100. package/dist/mcp/url-files.d.ts +32 -0
  101. package/dist/mcp/url-files.js +75 -0
  102. package/dist/meta/meta-spec-apply.d.ts +25 -0
  103. package/dist/meta/meta-spec-apply.js +83 -0
  104. package/dist/meta/meta-spec-merge.d.ts +103 -0
  105. package/dist/meta/meta-spec-merge.js +50 -0
  106. package/dist/meta/meta-spec-validate.d.ts +61 -0
  107. package/dist/meta/meta-spec-validate.js +166 -0
  108. package/dist/meta/meta-spec.d.ts +49 -0
  109. package/dist/meta/meta-spec.js +197 -0
  110. package/dist/middleware/compress.d.ts +15 -0
  111. package/dist/middleware/compress.js +93 -0
  112. package/dist/middleware/cors.d.ts +18 -0
  113. package/dist/middleware/cors.js +80 -0
  114. package/dist/middleware/csrf.d.ts +11 -0
  115. package/dist/middleware/csrf.js +65 -0
  116. package/dist/middleware/ip-restrict.d.ts +10 -0
  117. package/dist/middleware/ip-restrict.js +82 -0
  118. package/dist/middleware/middleware.d.ts +53 -0
  119. package/dist/middleware/middleware.js +112 -0
  120. package/dist/middleware/powered-by.d.ts +6 -0
  121. package/dist/middleware/powered-by.js +13 -0
  122. package/dist/middleware/rate-limit.d.ts +40 -0
  123. package/dist/middleware/rate-limit.js +90 -0
  124. package/dist/middleware/request-id.d.ts +25 -0
  125. package/dist/middleware/request-id.js +30 -0
  126. package/dist/middleware/secure-headers.d.ts +18 -0
  127. package/dist/middleware/secure-headers.js +36 -0
  128. package/dist/middleware/server-timing.d.ts +8 -0
  129. package/dist/middleware/server-timing.js +52 -0
  130. package/dist/middleware/timeout.d.ts +6 -0
  131. package/dist/middleware/timeout.js +29 -0
  132. package/dist/observability/curl-logger.d.ts +46 -0
  133. package/dist/observability/curl-logger.js +175 -0
  134. package/dist/observability/request-to-curl.d.ts +17 -0
  135. package/dist/observability/request-to-curl.js +47 -0
  136. package/dist/openapi/collect.d.ts +56 -18
  137. package/dist/openapi/collect.js +109 -23
  138. package/dist/openapi/components.d.ts +9 -0
  139. package/dist/openapi/components.js +90 -0
  140. package/dist/openapi/docs-page.d.ts +20 -18
  141. package/dist/openapi/docs-page.js +28 -46
  142. package/dist/openapi/document.d.ts +33 -26
  143. package/dist/openapi/document.js +21 -780
  144. package/dist/openapi/extract-schemas.d.ts +11 -0
  145. package/dist/openapi/extract-schemas.js +31 -0
  146. package/dist/openapi/generate.d.ts +47 -0
  147. package/dist/openapi/generate.js +180 -0
  148. package/dist/openapi/manifest.d.ts +41 -0
  149. package/dist/openapi/manifest.js +49 -0
  150. package/dist/openapi/output-keys.d.ts +6 -0
  151. package/dist/openapi/output-keys.js +24 -0
  152. package/dist/openapi/paths.d.ts +35 -0
  153. package/dist/openapi/paths.js +175 -0
  154. package/dist/openapi/register.d.ts +14 -3
  155. package/dist/openapi/register.js +13 -20
  156. package/dist/openapi/responses.d.ts +44 -0
  157. package/dist/openapi/responses.js +159 -0
  158. package/dist/openapi/scalar.d.ts +4 -14
  159. package/dist/openapi/scalar.js +5 -7
  160. package/dist/openapi/security.d.ts +4 -0
  161. package/dist/openapi/security.js +25 -0
  162. package/dist/openapi/serve.d.ts +25 -9
  163. package/dist/openapi/serve.js +108 -29
  164. package/dist/openapi/servers.d.ts +19 -0
  165. package/dist/openapi/servers.js +72 -0
  166. package/dist/openapi/swagger.d.ts +4 -14
  167. package/dist/openapi/swagger.js +5 -7
  168. package/dist/openapi/tags.d.ts +20 -0
  169. package/dist/openapi/tags.js +20 -0
  170. package/dist/openapi/webhooks.d.ts +19 -0
  171. package/dist/openapi/webhooks.js +70 -0
  172. package/dist/openapi/yaml.d.ts +8 -0
  173. package/dist/openapi/yaml.js +74 -0
  174. package/dist/proxy/headers.d.ts +30 -0
  175. package/dist/proxy/headers.js +86 -0
  176. package/dist/proxy/proxy.d.ts +39 -0
  177. package/dist/proxy/proxy.js +103 -0
  178. package/dist/proxy/upstream.d.ts +30 -0
  179. package/dist/proxy/upstream.js +116 -0
  180. package/dist/realtime/bus.d.ts +10 -13
  181. package/dist/realtime/bus.js +48 -93
  182. package/dist/realtime/invoke-user.d.ts +36 -0
  183. package/dist/realtime/invoke-user.js +103 -0
  184. package/dist/realtime/realtime.d.ts +7 -0
  185. package/dist/realtime/realtime.js +40 -0
  186. package/dist/realtime/route.d.ts +33 -27
  187. package/dist/realtime/route.js +27 -43
  188. package/dist/realtime/server.d.ts +24 -28
  189. package/dist/realtime/server.js +202 -225
  190. package/dist/response/binary.d.ts +18 -0
  191. package/dist/response/binary.js +10 -0
  192. package/dist/response/builder.d.ts +73 -0
  193. package/dist/response/builder.js +214 -0
  194. package/dist/response/cache-control.d.ts +30 -0
  195. package/dist/response/cache-control.js +74 -0
  196. package/dist/response/etag.d.ts +15 -0
  197. package/dist/response/etag.js +83 -0
  198. package/dist/response/media-type.d.ts +28 -0
  199. package/dist/response/media-type.js +97 -0
  200. package/dist/response/out-headers.d.ts +31 -0
  201. package/dist/response/out-headers.js +130 -0
  202. package/dist/response/pretty-json.d.ts +10 -0
  203. package/dist/response/pretty-json.js +44 -0
  204. package/dist/response/range.d.ts +19 -0
  205. package/dist/response/range.js +98 -0
  206. package/dist/response/response-headers.d.ts +11 -0
  207. package/dist/response/response-headers.js +21 -0
  208. package/dist/response/response.d.ts +69 -0
  209. package/dist/response/response.js +208 -0
  210. package/dist/response/sse.d.ts +41 -0
  211. package/dist/response/sse.js +73 -0
  212. package/dist/response/static.d.ts +20 -0
  213. package/dist/response/static.js +181 -0
  214. package/dist/response/status.d.ts +5 -0
  215. package/dist/response/status.js +68 -0
  216. package/dist/response/with-headers.d.ts +11 -0
  217. package/dist/response/with-headers.js +47 -0
  218. package/dist/routing/app-types.d.ts +175 -0
  219. package/dist/routing/app-types.js +1 -0
  220. package/dist/routing/app.d.ts +76 -0
  221. package/dist/routing/app.js +137 -0
  222. package/dist/routing/codegen-types.d.ts +17 -0
  223. package/dist/routing/codegen-types.js +1 -0
  224. package/dist/routing/delegate.d.ts +9 -0
  225. package/dist/routing/delegate.js +75 -0
  226. package/dist/routing/dispatch.d.ts +22 -0
  227. package/dist/routing/dispatch.js +255 -0
  228. package/dist/routing/finalize.d.ts +47 -0
  229. package/dist/routing/finalize.js +169 -0
  230. package/dist/routing/gateway-tree.d.ts +19 -0
  231. package/dist/routing/gateway-tree.js +74 -0
  232. package/dist/routing/invalidate-check.d.ts +58 -0
  233. package/dist/routing/invalidate-check.js +124 -0
  234. package/dist/routing/match.d.ts +22 -0
  235. package/dist/routing/match.js +108 -0
  236. package/dist/routing/meta-types.d.ts +34 -0
  237. package/dist/routing/meta-types.js +5 -0
  238. package/dist/routing/middleware-chain.d.ts +16 -0
  239. package/dist/routing/middleware-chain.js +41 -0
  240. package/dist/routing/output-types.d.ts +91 -0
  241. package/dist/routing/output-types.js +1 -0
  242. package/dist/routing/pattern.d.ts +55 -0
  243. package/dist/routing/pattern.js +219 -0
  244. package/dist/routing/record.d.ts +18 -0
  245. package/dist/routing/record.js +4 -0
  246. package/dist/routing/register.d.ts +135 -0
  247. package/dist/routing/register.js +155 -0
  248. package/dist/routing/request-path.d.ts +30 -0
  249. package/dist/routing/request-path.js +173 -0
  250. package/dist/routing/route-builder.d.ts +160 -0
  251. package/dist/routing/route-builder.js +86 -0
  252. package/dist/routing/route-tree.d.ts +18 -0
  253. package/dist/routing/route-tree.js +91 -0
  254. package/dist/routing/settings-chain.d.ts +75 -0
  255. package/dist/routing/settings-chain.js +137 -0
  256. package/dist/routing/settings.d.ts +90 -0
  257. package/dist/routing/settings.js +44 -0
  258. package/dist/routing/tap.d.ts +31 -0
  259. package/dist/routing/tap.js +77 -0
  260. package/dist/routing/tree-merge.d.ts +7 -0
  261. package/dist/routing/tree-merge.js +77 -0
  262. package/dist/routing/tree.d.ts +85 -0
  263. package/dist/routing/tree.js +196 -0
  264. package/dist/routing/types.d.ts +20 -0
  265. package/dist/routing/types.js +1 -0
  266. package/dist/routing/ws-builder.d.ts +62 -0
  267. package/dist/routing/ws-builder.js +109 -0
  268. package/dist/runtime/detect-runtime.d.ts +16 -0
  269. package/dist/runtime/detect-runtime.js +11 -0
  270. package/dist/runtime/optional-peer.d.ts +10 -0
  271. package/dist/runtime/optional-peer.js +19 -0
  272. package/dist/schema/arktype.d.ts +7 -0
  273. package/dist/schema/arktype.js +13 -0
  274. package/dist/schema/canonicalize.d.ts +8 -0
  275. package/dist/schema/canonicalize.js +19 -0
  276. package/dist/schema/effect.d.ts +7 -0
  277. package/dist/schema/effect.js +4 -0
  278. package/dist/schema/naming.d.ts +31 -0
  279. package/dist/schema/naming.js +116 -0
  280. package/dist/schema/sanitize-spec.d.ts +15 -0
  281. package/dist/schema/sanitize-spec.js +43 -0
  282. package/dist/schema/slots.d.ts +15 -0
  283. package/dist/schema/slots.js +179 -0
  284. package/dist/schema/to-json-schema.d.ts +34 -0
  285. package/dist/schema/to-json-schema.js +94 -0
  286. package/dist/schema/valibot.d.ts +4 -0
  287. package/dist/schema/valibot.js +153 -0
  288. package/dist/schema/yup.d.ts +3 -0
  289. package/dist/schema/yup.js +57 -0
  290. package/dist/schema/zod.d.ts +6 -0
  291. package/dist/schema/zod.js +192 -0
  292. package/dist/security/crypto.d.ts +7 -0
  293. package/dist/security/crypto.js +30 -0
  294. package/dist/streaming/producer-stream.d.ts +45 -0
  295. package/dist/streaming/producer-stream.js +251 -0
  296. package/dist/telemetry/fields.d.ts +43 -0
  297. package/dist/telemetry/fields.js +64 -0
  298. package/dist/telemetry/log-format.d.ts +7 -0
  299. package/dist/telemetry/log-format.js +43 -0
  300. package/dist/telemetry/logger.d.ts +44 -0
  301. package/dist/telemetry/logger.js +136 -0
  302. package/dist/telemetry/otel-subpath.d.ts +7 -0
  303. package/dist/telemetry/otel-subpath.js +5 -0
  304. package/dist/telemetry/otel.d.ts +50 -57
  305. package/dist/telemetry/otel.js +54 -130
  306. package/dist/telemetry/request-log.d.ts +22 -0
  307. package/dist/telemetry/request-log.js +83 -0
  308. package/dist/telemetry/request-trace.d.ts +123 -0
  309. package/dist/telemetry/request-trace.js +199 -0
  310. package/dist/telemetry/span-lifecycle.d.ts +11 -0
  311. package/dist/telemetry/span-lifecycle.js +114 -0
  312. package/dist/telemetry/traceparent.d.ts +40 -0
  313. package/dist/telemetry/traceparent.js +73 -0
  314. package/dist/testing/testing.d.ts +42 -0
  315. package/dist/testing/testing.js +101 -0
  316. package/dist/validation/content-type.d.ts +21 -0
  317. package/dist/validation/content-type.js +42 -0
  318. package/dist/validation/standard-schema.d.ts +41 -0
  319. package/dist/validation/standard-schema.js +5 -0
  320. package/dist/validation/validate-input.d.ts +45 -0
  321. package/dist/validation/validate-input.js +174 -0
  322. package/dist/validation/validate-output.d.ts +34 -0
  323. package/dist/validation/validate-output.js +107 -0
  324. package/dist/ws/bun.d.ts +30 -25
  325. package/dist/ws/bun.js +42 -46
  326. package/dist/ws/cloudflare.d.ts +6 -75
  327. package/dist/ws/cloudflare.js +37 -104
  328. package/dist/ws/contract.d.ts +74 -0
  329. package/dist/ws/contract.js +83 -0
  330. package/dist/ws/node.d.ts +12 -21
  331. package/dist/ws/node.js +103 -151
  332. package/dist/ws/origin.d.ts +23 -0
  333. package/dist/ws/origin.js +48 -0
  334. package/dist/ws/route.d.ts +14 -0
  335. package/dist/ws/route.js +5 -0
  336. package/dist/ws/session.d.ts +15 -6
  337. package/dist/ws/session.js +22 -23
  338. package/dist/ws/shared.d.ts +23 -33
  339. package/dist/ws/shared.js +53 -39
  340. package/package.json +169 -251
  341. package/dist/accepts.d.ts +0 -12
  342. package/dist/accepts.d.ts.map +0 -1
  343. package/dist/accepts.js +0 -126
  344. package/dist/accepts.js.map +0 -1
  345. package/dist/body-kind.d.ts +0 -26
  346. package/dist/body-kind.d.ts.map +0 -1
  347. package/dist/body-kind.js +0 -70
  348. package/dist/body-kind.js.map +0 -1
  349. package/dist/body-limit.d.ts +0 -26
  350. package/dist/body-limit.d.ts.map +0 -1
  351. package/dist/body-limit.js +0 -126
  352. package/dist/body-limit.js.map +0 -1
  353. package/dist/build/index.d.ts.map +0 -1
  354. package/dist/build/index.js.map +0 -1
  355. package/dist/cli-args.d.ts +0 -33
  356. package/dist/cli-args.d.ts.map +0 -1
  357. package/dist/cli-args.js +0 -102
  358. package/dist/cli-args.js.map +0 -1
  359. package/dist/cli-go/auth.go +0 -26
  360. package/dist/cli-go/config.go +0 -192
  361. package/dist/cli-go/errors.go +0 -75
  362. package/dist/cli-go/multipart.go +0 -79
  363. package/dist/cli-go/output.go +0 -163
  364. package/dist/cli-go/root.go +0 -30
  365. package/dist/cli-go/stream.go +0 -88
  366. package/dist/cli-go/version.go +0 -5
  367. package/dist/cli.d.ts +0 -3
  368. package/dist/cli.d.ts.map +0 -1
  369. package/dist/cli.js +0 -209
  370. package/dist/cli.js.map +0 -1
  371. package/dist/client/defaults.d.ts +0 -12
  372. package/dist/client/defaults.d.ts.map +0 -1
  373. package/dist/client/defaults.js +0 -48
  374. package/dist/client/defaults.js.map +0 -1
  375. package/dist/client/error.d.ts +0 -49
  376. package/dist/client/error.d.ts.map +0 -1
  377. package/dist/client/error.js +0 -71
  378. package/dist/client/error.js.map +0 -1
  379. package/dist/client/http.d.ts +0 -155
  380. package/dist/client/http.d.ts.map +0 -1
  381. package/dist/client/http.js +0 -571
  382. package/dist/client/http.js.map +0 -1
  383. package/dist/client/index.d.ts +0 -23
  384. package/dist/client/index.d.ts.map +0 -1
  385. package/dist/client/index.js +0 -95
  386. package/dist/client/index.js.map +0 -1
  387. package/dist/client/path.d.ts +0 -26
  388. package/dist/client/path.d.ts.map +0 -1
  389. package/dist/client/path.js +0 -163
  390. package/dist/client/path.js.map +0 -1
  391. package/dist/client/redirect-policy.d.ts +0 -12
  392. package/dist/client/redirect-policy.d.ts.map +0 -1
  393. package/dist/client/redirect-policy.js +0 -20
  394. package/dist/client/redirect-policy.js.map +0 -1
  395. package/dist/client/sdk.d.ts +0 -70
  396. package/dist/client/sdk.d.ts.map +0 -1
  397. package/dist/client/sdk.js +0 -292
  398. package/dist/client/sdk.js.map +0 -1
  399. package/dist/client/sse.d.ts +0 -23
  400. package/dist/client/sse.d.ts.map +0 -1
  401. package/dist/client/sse.js +0 -129
  402. package/dist/client/sse.js.map +0 -1
  403. package/dist/client/types.d.ts +0 -124
  404. package/dist/client/types.d.ts.map +0 -1
  405. package/dist/client/types.js +0 -2
  406. package/dist/client/types.js.map +0 -1
  407. package/dist/client/ws.d.ts +0 -22
  408. package/dist/client/ws.d.ts.map +0 -1
  409. package/dist/client/ws.js +0 -112
  410. package/dist/client/ws.js.map +0 -1
  411. package/dist/client-go/errors.go +0 -236
  412. package/dist/client-go/export.go +0 -44
  413. package/dist/client-go/invalidation.go +0 -371
  414. package/dist/client-go/nullable.go +0 -62
  415. package/dist/client-go/realtime.go +0 -354
  416. package/dist/client-go/result.go +0 -20
  417. package/dist/client-go/runtime.go +0 -975
  418. package/dist/client-go/sse.go +0 -159
  419. package/dist/client-go/transport.go +0 -495
  420. package/dist/client-go/ws.go +0 -128
  421. package/dist/client-info.d.ts +0 -36
  422. package/dist/client-info.d.ts.map +0 -1
  423. package/dist/client-info.js +0 -53
  424. package/dist/client-info.js.map +0 -1
  425. package/dist/client-mcp/README.md +0 -10
  426. package/dist/client-mcp/server.ts +0 -221
  427. package/dist/client-mcp/types.ts +0 -19
  428. package/dist/client-python/_errors.py +0 -115
  429. package/dist/client-python/_invalidation.py +0 -494
  430. package/dist/client-python/_realtime.py +0 -179
  431. package/dist/client-python/_runtime.py +0 -860
  432. package/dist/client-python/_sse.py +0 -155
  433. package/dist/client-python/_transport.py +0 -366
  434. package/dist/client-python/_ws.py +0 -159
  435. package/dist/client-python/py.typed +0 -0
  436. package/dist/client-rust/errors.rs +0 -220
  437. package/dist/client-rust/invalidation.rs +0 -412
  438. package/dist/client-rust/invalidation_sync.rs +0 -93
  439. package/dist/client-rust/nullable.rs +0 -17
  440. package/dist/client-rust/realtime.rs +0 -702
  441. package/dist/client-rust/result.rs +0 -22
  442. package/dist/client-rust/runtime.rs +0 -980
  443. package/dist/client-rust/runtime_sync.rs +0 -484
  444. package/dist/client-rust/sse.rs +0 -188
  445. package/dist/client-rust/ws.rs +0 -167
  446. package/dist/codegen-go-cli.d.ts +0 -22
  447. package/dist/codegen-go-cli.d.ts.map +0 -1
  448. package/dist/codegen-go-cli.js +0 -964
  449. package/dist/codegen-go-cli.js.map +0 -1
  450. package/dist/codegen-go.d.ts +0 -41
  451. package/dist/codegen-go.d.ts.map +0 -1
  452. package/dist/codegen-go.js +0 -872
  453. package/dist/codegen-go.js.map +0 -1
  454. package/dist/codegen-hash.d.ts +0 -3
  455. package/dist/codegen-hash.d.ts.map +0 -1
  456. package/dist/codegen-hash.js +0 -9
  457. package/dist/codegen-hash.js.map +0 -1
  458. package/dist/codegen-ir.d.ts +0 -190
  459. package/dist/codegen-ir.d.ts.map +0 -1
  460. package/dist/codegen-ir.js +0 -661
  461. package/dist/codegen-ir.js.map +0 -1
  462. package/dist/codegen-lang.d.ts +0 -65
  463. package/dist/codegen-lang.d.ts.map +0 -1
  464. package/dist/codegen-lang.js +0 -526
  465. package/dist/codegen-lang.js.map +0 -1
  466. package/dist/codegen-load.d.ts +0 -31
  467. package/dist/codegen-load.d.ts.map +0 -1
  468. package/dist/codegen-load.js +0 -138
  469. package/dist/codegen-load.js.map +0 -1
  470. package/dist/codegen-loaders.d.ts +0 -12
  471. package/dist/codegen-loaders.d.ts.map +0 -1
  472. package/dist/codegen-loaders.js +0 -55
  473. package/dist/codegen-loaders.js.map +0 -1
  474. package/dist/codegen-mcp.d.ts +0 -13
  475. package/dist/codegen-mcp.d.ts.map +0 -1
  476. package/dist/codegen-mcp.js +0 -368
  477. package/dist/codegen-mcp.js.map +0 -1
  478. package/dist/codegen-python.d.ts +0 -33
  479. package/dist/codegen-python.d.ts.map +0 -1
  480. package/dist/codegen-python.js +0 -828
  481. package/dist/codegen-python.js.map +0 -1
  482. package/dist/codegen-route-tree-intern.d.ts +0 -40
  483. package/dist/codegen-route-tree-intern.d.ts.map +0 -1
  484. package/dist/codegen-route-tree-intern.js +0 -221
  485. package/dist/codegen-route-tree-intern.js.map +0 -1
  486. package/dist/codegen-rust.d.ts +0 -18
  487. package/dist/codegen-rust.d.ts.map +0 -1
  488. package/dist/codegen-rust.js +0 -1293
  489. package/dist/codegen-rust.js.map +0 -1
  490. package/dist/codegen-sanitize.d.ts +0 -3
  491. package/dist/codegen-sanitize.d.ts.map +0 -1
  492. package/dist/codegen-sanitize.js +0 -56
  493. package/dist/codegen-sanitize.js.map +0 -1
  494. package/dist/codegen-schema-naming.d.ts +0 -27
  495. package/dist/codegen-schema-naming.d.ts.map +0 -1
  496. package/dist/codegen-schema-naming.js +0 -150
  497. package/dist/codegen-schema-naming.js.map +0 -1
  498. package/dist/codegen-sdk-model.d.ts +0 -71
  499. package/dist/codegen-sdk-model.d.ts.map +0 -1
  500. package/dist/codegen-sdk-model.js +0 -179
  501. package/dist/codegen-sdk-model.js.map +0 -1
  502. package/dist/codegen.d.ts +0 -187
  503. package/dist/codegen.d.ts.map +0 -1
  504. package/dist/codegen.js +0 -4619
  505. package/dist/codegen.js.map +0 -1
  506. package/dist/context.d.ts +0 -86
  507. package/dist/context.d.ts.map +0 -1
  508. package/dist/context.js +0 -242
  509. package/dist/context.js.map +0 -1
  510. package/dist/cookie-sign.d.ts +0 -17
  511. package/dist/cookie-sign.d.ts.map +0 -1
  512. package/dist/cookie-sign.js +0 -104
  513. package/dist/cookie-sign.js.map +0 -1
  514. package/dist/cookie.d.ts +0 -24
  515. package/dist/cookie.d.ts.map +0 -1
  516. package/dist/cookie.js +0 -138
  517. package/dist/cookie.js.map +0 -1
  518. package/dist/cors.d.ts +0 -14
  519. package/dist/cors.d.ts.map +0 -1
  520. package/dist/cors.js +0 -87
  521. package/dist/cors.js.map +0 -1
  522. package/dist/crypto.d.ts +0 -7
  523. package/dist/crypto.d.ts.map +0 -1
  524. package/dist/crypto.js +0 -38
  525. package/dist/crypto.js.map +0 -1
  526. package/dist/csrf.d.ts +0 -28
  527. package/dist/csrf.d.ts.map +0 -1
  528. package/dist/csrf.js +0 -79
  529. package/dist/csrf.js.map +0 -1
  530. package/dist/curl-logger.d.ts +0 -44
  531. package/dist/curl-logger.d.ts.map +0 -1
  532. package/dist/curl-logger.js +0 -199
  533. package/dist/curl-logger.js.map +0 -1
  534. package/dist/detect-runtime.d.ts +0 -16
  535. package/dist/detect-runtime.d.ts.map +0 -1
  536. package/dist/detect-runtime.js +0 -13
  537. package/dist/detect-runtime.js.map +0 -1
  538. package/dist/dict.d.ts +0 -11
  539. package/dist/dict.d.ts.map +0 -1
  540. package/dist/dict.js +0 -13
  541. package/dist/dict.js.map +0 -1
  542. package/dist/error.d.ts +0 -21
  543. package/dist/error.d.ts.map +0 -1
  544. package/dist/error.js +0 -44
  545. package/dist/error.js.map +0 -1
  546. package/dist/errors.d.ts +0 -40
  547. package/dist/errors.d.ts.map +0 -1
  548. package/dist/errors.js +0 -39
  549. package/dist/errors.js.map +0 -1
  550. package/dist/etag.d.ts +0 -11
  551. package/dist/etag.d.ts.map +0 -1
  552. package/dist/etag.js +0 -82
  553. package/dist/etag.js.map +0 -1
  554. package/dist/feature-detect.d.ts +0 -25
  555. package/dist/feature-detect.d.ts.map +0 -1
  556. package/dist/feature-detect.js +0 -144
  557. package/dist/feature-detect.js.map +0 -1
  558. package/dist/feature-load.d.ts +0 -3
  559. package/dist/feature-load.d.ts.map +0 -1
  560. package/dist/feature-load.js +0 -36
  561. package/dist/feature-load.js.map +0 -1
  562. package/dist/feature-slots.d.ts +0 -44
  563. package/dist/feature-slots.d.ts.map +0 -1
  564. package/dist/feature-slots.js +0 -48
  565. package/dist/feature-slots.js.map +0 -1
  566. package/dist/fetch-request.d.ts +0 -10
  567. package/dist/fetch-request.d.ts.map +0 -1
  568. package/dist/fetch-request.js +0 -13
  569. package/dist/fetch-request.js.map +0 -1
  570. package/dist/gen-process.d.ts +0 -15
  571. package/dist/gen-process.d.ts.map +0 -1
  572. package/dist/gen-process.js +0 -43
  573. package/dist/gen-process.js.map +0 -1
  574. package/dist/gen-write.d.ts +0 -19
  575. package/dist/gen-write.d.ts.map +0 -1
  576. package/dist/gen-write.js +0 -120
  577. package/dist/gen-write.js.map +0 -1
  578. package/dist/glob.d.ts +0 -21
  579. package/dist/glob.d.ts.map +0 -1
  580. package/dist/glob.js +0 -115
  581. package/dist/glob.js.map +0 -1
  582. package/dist/go-type-emitter.d.ts +0 -47
  583. package/dist/go-type-emitter.d.ts.map +0 -1
  584. package/dist/go-type-emitter.js +0 -594
  585. package/dist/go-type-emitter.js.map +0 -1
  586. package/dist/honey-response.d.ts +0 -82
  587. package/dist/honey-response.d.ts.map +0 -1
  588. package/dist/honey-response.js +0 -338
  589. package/dist/honey-response.js.map +0 -1
  590. package/dist/i18n-slot.d.ts +0 -15
  591. package/dist/i18n-slot.d.ts.map +0 -1
  592. package/dist/i18n-slot.js +0 -14
  593. package/dist/i18n-slot.js.map +0 -1
  594. package/dist/i18n.d.ts +0 -29
  595. package/dist/i18n.d.ts.map +0 -1
  596. package/dist/i18n.js +0 -250
  597. package/dist/i18n.js.map +0 -1
  598. package/dist/index.d.ts.map +0 -1
  599. package/dist/index.js.map +0 -1
  600. package/dist/init.d.ts +0 -5
  601. package/dist/init.d.ts.map +0 -1
  602. package/dist/init.js +0 -140
  603. package/dist/init.js.map +0 -1
  604. package/dist/input.d.ts +0 -6
  605. package/dist/input.d.ts.map +0 -1
  606. package/dist/input.js +0 -4
  607. package/dist/input.js.map +0 -1
  608. package/dist/invalidate-check.d.ts +0 -61
  609. package/dist/invalidate-check.d.ts.map +0 -1
  610. package/dist/invalidate-check.js +0 -163
  611. package/dist/invalidate-check.js.map +0 -1
  612. package/dist/invoke-user.d.ts +0 -35
  613. package/dist/invoke-user.d.ts.map +0 -1
  614. package/dist/invoke-user.js +0 -73
  615. package/dist/invoke-user.js.map +0 -1
  616. package/dist/ip-restrict.d.ts +0 -24
  617. package/dist/ip-restrict.d.ts.map +0 -1
  618. package/dist/ip-restrict.js +0 -60
  619. package/dist/ip-restrict.js.map +0 -1
  620. package/dist/ip.d.ts +0 -39
  621. package/dist/ip.d.ts.map +0 -1
  622. package/dist/ip.js +0 -209
  623. package/dist/ip.js.map +0 -1
  624. package/dist/logger.d.ts +0 -45
  625. package/dist/logger.d.ts.map +0 -1
  626. package/dist/logger.js +0 -113
  627. package/dist/logger.js.map +0 -1
  628. package/dist/media-type.d.ts +0 -30
  629. package/dist/media-type.d.ts.map +0 -1
  630. package/dist/media-type.js +0 -97
  631. package/dist/media-type.js.map +0 -1
  632. package/dist/meta-spec-merge.d.ts +0 -32
  633. package/dist/meta-spec-merge.d.ts.map +0 -1
  634. package/dist/meta-spec-merge.js +0 -68
  635. package/dist/meta-spec-merge.js.map +0 -1
  636. package/dist/meta-spec.d.ts +0 -94
  637. package/dist/meta-spec.d.ts.map +0 -1
  638. package/dist/meta-spec.js +0 -535
  639. package/dist/meta-spec.js.map +0 -1
  640. package/dist/middleware.d.ts +0 -77
  641. package/dist/middleware.d.ts.map +0 -1
  642. package/dist/middleware.js +0 -253
  643. package/dist/middleware.js.map +0 -1
  644. package/dist/node-request.d.ts +0 -104
  645. package/dist/node-request.d.ts.map +0 -1
  646. package/dist/node-request.js +0 -407
  647. package/dist/node-request.js.map +0 -1
  648. package/dist/node.d.ts +0 -30
  649. package/dist/node.d.ts.map +0 -1
  650. package/dist/node.js +0 -396
  651. package/dist/node.js.map +0 -1
  652. package/dist/openapi/collect.d.ts.map +0 -1
  653. package/dist/openapi/collect.js.map +0 -1
  654. package/dist/openapi/docs-page.d.ts.map +0 -1
  655. package/dist/openapi/docs-page.js.map +0 -1
  656. package/dist/openapi/document.d.ts.map +0 -1
  657. package/dist/openapi/document.js.map +0 -1
  658. package/dist/openapi/json-schema-slot.d.ts +0 -12
  659. package/dist/openapi/json-schema-slot.d.ts.map +0 -1
  660. package/dist/openapi/json-schema-slot.js +0 -38
  661. package/dist/openapi/json-schema-slot.js.map +0 -1
  662. package/dist/openapi/register.d.ts.map +0 -1
  663. package/dist/openapi/register.js.map +0 -1
  664. package/dist/openapi/scalar.d.ts.map +0 -1
  665. package/dist/openapi/scalar.js.map +0 -1
  666. package/dist/openapi/serve.d.ts.map +0 -1
  667. package/dist/openapi/serve.js.map +0 -1
  668. package/dist/openapi/spec-factory.d.ts +0 -65
  669. package/dist/openapi/spec-factory.d.ts.map +0 -1
  670. package/dist/openapi/spec-factory.js +0 -52
  671. package/dist/openapi/spec-factory.js.map +0 -1
  672. package/dist/openapi/spec.d.ts +0 -29
  673. package/dist/openapi/spec.d.ts.map +0 -1
  674. package/dist/openapi/spec.js +0 -50
  675. package/dist/openapi/spec.js.map +0 -1
  676. package/dist/openapi/swagger.d.ts.map +0 -1
  677. package/dist/openapi/swagger.js.map +0 -1
  678. package/dist/pattern.d.ts +0 -71
  679. package/dist/pattern.d.ts.map +0 -1
  680. package/dist/pattern.js +0 -239
  681. package/dist/pattern.js.map +0 -1
  682. package/dist/peer.d.ts +0 -17
  683. package/dist/peer.d.ts.map +0 -1
  684. package/dist/peer.js +0 -50
  685. package/dist/peer.js.map +0 -1
  686. package/dist/plugin.d.ts +0 -228
  687. package/dist/plugin.d.ts.map +0 -1
  688. package/dist/plugin.js +0 -666
  689. package/dist/plugin.js.map +0 -1
  690. package/dist/powered-by.d.ts +0 -7
  691. package/dist/powered-by.d.ts.map +0 -1
  692. package/dist/powered-by.js +0 -11
  693. package/dist/powered-by.js.map +0 -1
  694. package/dist/pretty-json.d.ts +0 -10
  695. package/dist/pretty-json.d.ts.map +0 -1
  696. package/dist/pretty-json.js +0 -47
  697. package/dist/pretty-json.js.map +0 -1
  698. package/dist/producer-stream.d.ts +0 -47
  699. package/dist/producer-stream.d.ts.map +0 -1
  700. package/dist/producer-stream.js +0 -267
  701. package/dist/producer-stream.js.map +0 -1
  702. package/dist/proxy.d.ts +0 -90
  703. package/dist/proxy.d.ts.map +0 -1
  704. package/dist/proxy.js +0 -274
  705. package/dist/proxy.js.map +0 -1
  706. package/dist/python-type-emitter.d.ts +0 -24
  707. package/dist/python-type-emitter.d.ts.map +0 -1
  708. package/dist/python-type-emitter.js +0 -157
  709. package/dist/python-type-emitter.js.map +0 -1
  710. package/dist/realtime/bus.d.ts.map +0 -1
  711. package/dist/realtime/bus.js.map +0 -1
  712. package/dist/realtime/register.d.ts +0 -3
  713. package/dist/realtime/register.d.ts.map +0 -1
  714. package/dist/realtime/register.js +0 -10
  715. package/dist/realtime/register.js.map +0 -1
  716. package/dist/realtime/route.d.ts.map +0 -1
  717. package/dist/realtime/route.js.map +0 -1
  718. package/dist/realtime/server.d.ts.map +0 -1
  719. package/dist/realtime/server.js.map +0 -1
  720. package/dist/request-id.d.ts +0 -19
  721. package/dist/request-id.d.ts.map +0 -1
  722. package/dist/request-id.js +0 -16
  723. package/dist/request-id.js.map +0 -1
  724. package/dist/request-limits.d.ts +0 -3
  725. package/dist/request-limits.d.ts.map +0 -1
  726. package/dist/request-limits.js +0 -3
  727. package/dist/request-limits.js.map +0 -1
  728. package/dist/request-path.d.ts +0 -33
  729. package/dist/request-path.d.ts.map +0 -1
  730. package/dist/request-path.js +0 -178
  731. package/dist/request-path.js.map +0 -1
  732. package/dist/request-to-curl.d.ts +0 -15
  733. package/dist/request-to-curl.d.ts.map +0 -1
  734. package/dist/request-to-curl.js +0 -48
  735. package/dist/request-to-curl.js.map +0 -1
  736. package/dist/response.d.ts +0 -86
  737. package/dist/response.d.ts.map +0 -1
  738. package/dist/response.js +0 -313
  739. package/dist/response.js.map +0 -1
  740. package/dist/rust-type-emitter.d.ts +0 -44
  741. package/dist/rust-type-emitter.d.ts.map +0 -1
  742. package/dist/rust-type-emitter.js +0 -463
  743. package/dist/rust-type-emitter.js.map +0 -1
  744. package/dist/secure-headers.d.ts +0 -16
  745. package/dist/secure-headers.d.ts.map +0 -1
  746. package/dist/secure-headers.js +0 -53
  747. package/dist/secure-headers.js.map +0 -1
  748. package/dist/serve-register.d.ts +0 -6
  749. package/dist/serve-register.d.ts.map +0 -1
  750. package/dist/serve-register.js +0 -9
  751. package/dist/serve-register.js.map +0 -1
  752. package/dist/serve-slot.d.ts +0 -9
  753. package/dist/serve-slot.d.ts.map +0 -1
  754. package/dist/serve-slot.js +0 -52
  755. package/dist/serve-slot.js.map +0 -1
  756. package/dist/serve.d.ts +0 -38
  757. package/dist/serve.d.ts.map +0 -1
  758. package/dist/serve.js +0 -157
  759. package/dist/serve.js.map +0 -1
  760. package/dist/server-timing.d.ts +0 -9
  761. package/dist/server-timing.d.ts.map +0 -1
  762. package/dist/server-timing.js +0 -51
  763. package/dist/server-timing.js.map +0 -1
  764. package/dist/static.d.ts +0 -21
  765. package/dist/static.d.ts.map +0 -1
  766. package/dist/static.js +0 -102
  767. package/dist/static.js.map +0 -1
  768. package/dist/telemetry/otel.d.ts.map +0 -1
  769. package/dist/telemetry/otel.js.map +0 -1
  770. package/dist/testing.d.ts +0 -36
  771. package/dist/testing.d.ts.map +0 -1
  772. package/dist/testing.js +0 -124
  773. package/dist/testing.js.map +0 -1
  774. package/dist/timeout.d.ts +0 -13
  775. package/dist/timeout.d.ts.map +0 -1
  776. package/dist/timeout.js +0 -36
  777. package/dist/timeout.js.map +0 -1
  778. package/dist/tree.d.ts +0 -197
  779. package/dist/tree.d.ts.map +0 -1
  780. package/dist/tree.js +0 -437
  781. package/dist/tree.js.map +0 -1
  782. package/dist/trust.d.ts +0 -21
  783. package/dist/trust.d.ts.map +0 -1
  784. package/dist/trust.js +0 -100
  785. package/dist/trust.js.map +0 -1
  786. package/dist/ts-type-emitter.d.ts +0 -8
  787. package/dist/ts-type-emitter.d.ts.map +0 -1
  788. package/dist/ts-type-emitter.js +0 -150
  789. package/dist/ts-type-emitter.js.map +0 -1
  790. package/dist/type-emitter.d.ts +0 -36
  791. package/dist/type-emitter.d.ts.map +0 -1
  792. package/dist/type-emitter.js +0 -729
  793. package/dist/type-emitter.js.map +0 -1
  794. package/dist/type-extractor.d.ts +0 -43
  795. package/dist/type-extractor.d.ts.map +0 -1
  796. package/dist/type-extractor.js +0 -819
  797. package/dist/type-extractor.js.map +0 -1
  798. package/dist/types.d.ts +0 -467
  799. package/dist/types.d.ts.map +0 -1
  800. package/dist/types.js +0 -96
  801. package/dist/types.js.map +0 -1
  802. package/dist/validation.d.ts +0 -31
  803. package/dist/validation.d.ts.map +0 -1
  804. package/dist/validation.js +0 -335
  805. package/dist/validation.js.map +0 -1
  806. package/dist/with-headers.d.ts +0 -15
  807. package/dist/with-headers.d.ts.map +0 -1
  808. package/dist/with-headers.js +0 -45
  809. package/dist/with-headers.js.map +0 -1
  810. package/dist/ws/bun.d.ts.map +0 -1
  811. package/dist/ws/bun.js.map +0 -1
  812. package/dist/ws/cloudflare.d.ts.map +0 -1
  813. package/dist/ws/cloudflare.js.map +0 -1
  814. package/dist/ws/deno.d.ts +0 -13
  815. package/dist/ws/deno.d.ts.map +0 -1
  816. package/dist/ws/deno.js +0 -133
  817. package/dist/ws/deno.js.map +0 -1
  818. package/dist/ws/node.d.ts.map +0 -1
  819. package/dist/ws/node.js.map +0 -1
  820. package/dist/ws/session.d.ts.map +0 -1
  821. package/dist/ws/session.js.map +0 -1
  822. package/dist/ws/shared.d.ts.map +0 -1
  823. package/dist/ws/shared.js.map +0 -1
  824. package/dist/ws-origin.d.ts +0 -20
  825. package/dist/ws-origin.d.ts.map +0 -1
  826. package/dist/ws-origin.js +0 -41
  827. package/dist/ws-origin.js.map +0 -1
  828. package/dist/yaml.d.ts +0 -18
  829. package/dist/yaml.d.ts.map +0 -1
  830. package/dist/yaml.js +0 -101
  831. package/dist/yaml.js.map +0 -1
  832. package/docs/api-ref/go.md +0 -399
  833. package/docs/api-ref/python.md +0 -399
  834. package/docs/api-ref/rust.md +0 -399
  835. package/docs/api-ref/typescript.md +0 -399
  836. package/docs/invalidate-spec.md +0 -333
  837. package/docs/meta-spec.md +0 -555
  838. package/docs/packaging.md +0 -104
  839. package/docs/regression-matrix/README.md +0 -32
  840. package/docs/regression-matrix/review.md +0 -44
  841. package/docs/regression-matrix/ws1-3.md +0 -97
  842. package/docs/regression-matrix/ws4-8.md +0 -107
  843. package/docs/regression-matrix/ws9-12.md +0 -266
  844. package/docs/sdk.md +0 -798
  845. package/src/accepts.ts +0 -136
  846. package/src/body-kind.ts +0 -67
  847. package/src/body-limit.ts +0 -152
  848. package/src/build/index.ts +0 -217
  849. package/src/cli-args.ts +0 -123
  850. package/src/cli-go/auth.go +0 -26
  851. package/src/cli-go/config.go +0 -192
  852. package/src/cli-go/errors.go +0 -75
  853. package/src/cli-go/multipart.go +0 -79
  854. package/src/cli-go/output.go +0 -163
  855. package/src/cli-go/root.go +0 -30
  856. package/src/cli-go/stream.go +0 -88
  857. package/src/cli-go/version.go +0 -5
  858. package/src/cli.ts +0 -209
  859. package/src/client/defaults.ts +0 -47
  860. package/src/client/error.ts +0 -82
  861. package/src/client/http.ts +0 -737
  862. package/src/client/index.ts +0 -157
  863. package/src/client/path.ts +0 -169
  864. package/src/client/redirect-policy.ts +0 -19
  865. package/src/client/sdk.ts +0 -351
  866. package/src/client/sse.ts +0 -128
  867. package/src/client/types.ts +0 -206
  868. package/src/client/ws.ts +0 -149
  869. package/src/client-go/errors.go +0 -236
  870. package/src/client-go/export.go +0 -44
  871. package/src/client-go/invalidation.go +0 -371
  872. package/src/client-go/nullable.go +0 -62
  873. package/src/client-go/realtime.go +0 -354
  874. package/src/client-go/result.go +0 -20
  875. package/src/client-go/runtime.go +0 -975
  876. package/src/client-go/sse.go +0 -159
  877. package/src/client-go/transport.go +0 -495
  878. package/src/client-go/ws.go +0 -128
  879. package/src/client-info.ts +0 -79
  880. package/src/client-mcp/README.md +0 -10
  881. package/src/client-mcp/server.ts +0 -221
  882. package/src/client-mcp/types.ts +0 -19
  883. package/src/client-python/_errors.py +0 -115
  884. package/src/client-python/_invalidation.py +0 -494
  885. package/src/client-python/_realtime.py +0 -179
  886. package/src/client-python/_runtime.py +0 -860
  887. package/src/client-python/_sse.py +0 -155
  888. package/src/client-python/_transport.py +0 -366
  889. package/src/client-python/_ws.py +0 -159
  890. package/src/client-python/py.typed +0 -0
  891. package/src/client-rust/errors.rs +0 -220
  892. package/src/client-rust/invalidation.rs +0 -412
  893. package/src/client-rust/invalidation_sync.rs +0 -93
  894. package/src/client-rust/nullable.rs +0 -17
  895. package/src/client-rust/realtime.rs +0 -702
  896. package/src/client-rust/result.rs +0 -22
  897. package/src/client-rust/runtime.rs +0 -980
  898. package/src/client-rust/runtime_sync.rs +0 -484
  899. package/src/client-rust/sse.rs +0 -188
  900. package/src/client-rust/ws.rs +0 -167
  901. package/src/codegen-go-cli.ts +0 -1066
  902. package/src/codegen-go.ts +0 -970
  903. package/src/codegen-hash.ts +0 -8
  904. package/src/codegen-ir.ts +0 -812
  905. package/src/codegen-lang.ts +0 -517
  906. package/src/codegen-load.ts +0 -150
  907. package/src/codegen-loaders.ts +0 -50
  908. package/src/codegen-mcp.ts +0 -445
  909. package/src/codegen-python.ts +0 -916
  910. package/src/codegen-route-tree-intern.ts +0 -198
  911. package/src/codegen-rust.ts +0 -1402
  912. package/src/codegen-sanitize.ts +0 -57
  913. package/src/codegen-schema-naming.ts +0 -165
  914. package/src/codegen-sdk-model.ts +0 -228
  915. package/src/codegen.ts +0 -5089
  916. package/src/context.ts +0 -325
  917. package/src/cookie-sign.ts +0 -119
  918. package/src/cookie.ts +0 -143
  919. package/src/cors.ts +0 -95
  920. package/src/crypto.ts +0 -38
  921. package/src/csrf.ts +0 -86
  922. package/src/curl-logger.ts +0 -258
  923. package/src/detect-runtime.ts +0 -17
  924. package/src/dict.ts +0 -12
  925. package/src/error.ts +0 -55
  926. package/src/errors.ts +0 -85
  927. package/src/etag.ts +0 -97
  928. package/src/feature-detect.ts +0 -147
  929. package/src/feature-load.ts +0 -23
  930. package/src/feature-slots.ts +0 -70
  931. package/src/fetch-request.ts +0 -13
  932. package/src/gen-process.ts +0 -42
  933. package/src/gen-write.ts +0 -127
  934. package/src/glob.ts +0 -109
  935. package/src/go-type-emitter.ts +0 -660
  936. package/src/honey-response.ts +0 -379
  937. package/src/i18n-slot.ts +0 -30
  938. package/src/i18n.ts +0 -300
  939. package/src/index.ts +0 -3829
  940. package/src/init.ts +0 -161
  941. package/src/input.ts +0 -8
  942. package/src/invalidate-check.ts +0 -205
  943. package/src/invoke-user.ts +0 -95
  944. package/src/ip-restrict.ts +0 -79
  945. package/src/ip.ts +0 -194
  946. package/src/logger.ts +0 -178
  947. package/src/media-type.ts +0 -104
  948. package/src/meta-spec-merge.ts +0 -80
  949. package/src/meta-spec.ts +0 -718
  950. package/src/middleware.ts +0 -331
  951. package/src/node-request.ts +0 -431
  952. package/src/node.ts +0 -454
  953. package/src/openapi/collect.ts +0 -50
  954. package/src/openapi/docs-page.ts +0 -89
  955. package/src/openapi/document.ts +0 -902
  956. package/src/openapi/json-schema-slot.ts +0 -53
  957. package/src/openapi/register.ts +0 -23
  958. package/src/openapi/scalar.ts +0 -34
  959. package/src/openapi/serve.ts +0 -39
  960. package/src/openapi/spec-factory.ts +0 -100
  961. package/src/openapi/spec.ts +0 -74
  962. package/src/openapi/swagger.ts +0 -35
  963. package/src/pattern.ts +0 -245
  964. package/src/peer.ts +0 -53
  965. package/src/plugin.ts +0 -864
  966. package/src/powered-by.ts +0 -18
  967. package/src/pretty-json.ts +0 -56
  968. package/src/producer-stream.ts +0 -296
  969. package/src/proxy.ts +0 -370
  970. package/src/python-type-emitter.ts +0 -181
  971. package/src/realtime/bus.ts +0 -140
  972. package/src/realtime/register.ts +0 -13
  973. package/src/realtime/route.ts +0 -153
  974. package/src/realtime/server.ts +0 -298
  975. package/src/request-id.ts +0 -32
  976. package/src/request-limits.ts +0 -2
  977. package/src/request-path.ts +0 -165
  978. package/src/request-to-curl.ts +0 -52
  979. package/src/response.ts +0 -411
  980. package/src/rust-type-emitter.ts +0 -548
  981. package/src/secure-headers.ts +0 -74
  982. package/src/serve-register.ts +0 -12
  983. package/src/serve-slot.ts +0 -58
  984. package/src/serve.ts +0 -220
  985. package/src/server-timing.ts +0 -71
  986. package/src/static.ts +0 -112
  987. package/src/telemetry/otel.ts +0 -156
  988. package/src/testing.ts +0 -167
  989. package/src/timeout.ts +0 -45
  990. package/src/tree.ts +0 -558
  991. package/src/trust.ts +0 -117
  992. package/src/ts-type-emitter.ts +0 -168
  993. package/src/type-emitter.ts +0 -760
  994. package/src/type-extractor.ts +0 -855
  995. package/src/types.ts +0 -756
  996. package/src/validation.ts +0 -413
  997. package/src/with-headers.ts +0 -45
  998. package/src/ws/bun.ts +0 -120
  999. package/src/ws/cloudflare.ts +0 -192
  1000. package/src/ws/deno.ts +0 -188
  1001. package/src/ws/node.ts +0 -240
  1002. package/src/ws/session.ts +0 -73
  1003. package/src/ws/shared.ts +0 -140
  1004. package/src/ws-origin.ts +0 -53
  1005. package/src/yaml.ts +0 -103
package/src/types.ts DELETED
@@ -1,756 +0,0 @@
1
- export type HttpMethod = "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT"
2
-
3
- /** Overwrite keys in T with keys from U -- used by .use() to support narrowing middleware */
4
- export type Overwrite<T, U> = Omit<T, keyof U> & U
5
-
6
- export type WSReadyState = 0 | 1 | 2 | 3
7
-
8
- /** All HTTP status codes 2xx–5xx as snake_case keys */
9
- export type StatusKey =
10
- /* 2xx success */
11
- | "accepted"
12
- | "already_reported"
13
- | "created"
14
- | "im_used"
15
- | "multi_status"
16
- | "no_content"
17
- | "non_authoritative_information"
18
- | "ok"
19
- | "partial_content"
20
- | "reset_content"
21
- /* 3xx redirection */
22
- | "found"
23
- | "moved_permanently"
24
- | "multiple_choices"
25
- | "not_modified"
26
- | "permanent_redirect"
27
- | "see_other"
28
- | "temporary_redirect"
29
- /* 4xx client error */
30
- | "bad_request"
31
- | "conflict"
32
- | "expectation_failed"
33
- | "failed_dependency"
34
- | "forbidden"
35
- | "gone"
36
- | "im_a_teapot"
37
- | "length_required"
38
- | "locked"
39
- | "method_not_allowed"
40
- | "misdirected_request"
41
- | "not_acceptable"
42
- | "not_found"
43
- | "content_too_large"
44
- | "payment_required"
45
- | "precondition_failed"
46
- | "precondition_required"
47
- | "proxy_authentication_required"
48
- | "range_not_satisfiable"
49
- | "request_header_fields_too_large"
50
- | "request_timeout"
51
- | "too_early"
52
- | "too_many_requests"
53
- | "unauthorized"
54
- | "unavailable_for_legal_reasons"
55
- | "unprocessable_entity"
56
- | "unsupported_media_type"
57
- | "upgrade_required"
58
- | "uri_too_long"
59
- /* 5xx server error */
60
- | "bad_gateway"
61
- | "gateway_timeout"
62
- | "http_version_not_supported"
63
- | "insufficient_storage"
64
- | "internal_server_error"
65
- | "loop_detected"
66
- | "network_authentication_required"
67
- | "not_extended"
68
- | "not_implemented"
69
- | "service_unavailable"
70
- | "variant_also_negotiates"
71
-
72
- export const statusKeyToCode: Record<StatusKey, number> = {
73
- accepted: 202,
74
- already_reported: 208,
75
- bad_gateway: 502,
76
- bad_request: 400,
77
- conflict: 409,
78
- content_too_large: 413,
79
- created: 201,
80
- expectation_failed: 417,
81
- failed_dependency: 424,
82
- forbidden: 403,
83
- found: 302,
84
- gateway_timeout: 504,
85
- gone: 410,
86
- http_version_not_supported: 505,
87
- im_a_teapot: 418,
88
- im_used: 226,
89
- insufficient_storage: 507,
90
- internal_server_error: 500,
91
- length_required: 411,
92
- locked: 423,
93
- loop_detected: 508,
94
- method_not_allowed: 405,
95
- misdirected_request: 421,
96
- moved_permanently: 301,
97
- multi_status: 207,
98
- multiple_choices: 300,
99
- network_authentication_required: 511,
100
- no_content: 204,
101
- non_authoritative_information: 203,
102
- not_acceptable: 406,
103
- not_extended: 510,
104
- not_found: 404,
105
- not_implemented: 501,
106
- not_modified: 304,
107
- ok: 200,
108
- partial_content: 206,
109
- payment_required: 402,
110
- permanent_redirect: 308,
111
- precondition_failed: 412,
112
- precondition_required: 428,
113
- proxy_authentication_required: 407,
114
- range_not_satisfiable: 416,
115
- request_header_fields_too_large: 431,
116
- request_timeout: 408,
117
- reset_content: 205,
118
- see_other: 303,
119
- service_unavailable: 503,
120
- temporary_redirect: 307,
121
- too_early: 425,
122
- too_many_requests: 429,
123
- unauthorized: 401,
124
- unavailable_for_legal_reasons: 451,
125
- unprocessable_entity: 422,
126
- unsupported_media_type: 415,
127
- upgrade_required: 426,
128
- uri_too_long: 414,
129
- variant_also_negotiates: 506,
130
- }
131
-
132
- export const codeToStatusKey: Record<number, StatusKey> = Object.fromEntries(
133
- Object.entries(statusKeyToCode).map(([k, v]) => [v, k]),
134
- ) as Record<number, StatusKey>
135
-
136
- /** Framework error keys — centralized to prevent typo-induced silent failures */
137
- export const EK = {
138
- bad_gateway: "bad_gateway",
139
- bad_request: "bad_request",
140
- content_too_large: "content_too_large",
141
- forbidden: "forbidden",
142
- gateway_timeout: "gateway_timeout",
143
- internal_server_error: "internal_server_error",
144
- /** a request body the declared parser cannot read (bad JSON, broken multipart) — 400 */
145
- malformed_body: "malformed_body",
146
- method_not_allowed: "method_not_allowed",
147
- not_found: "not_found",
148
- output_content_type_mismatch: "output_content_type_mismatch",
149
- output_validation_failed: "output_validation_failed",
150
- request_timeout: "request_timeout",
151
- too_many_requests: "too_many_requests",
152
- unsupported_media_type: "unsupported_media_type",
153
- validation_failed: "validation_failed",
154
- } as const
155
-
156
- /** Framework status keys — centralized subset of StatusKey used internally */
157
- export const SK = {
158
- bad_gateway: "bad_gateway",
159
- bad_request: "bad_request",
160
- content_too_large: "content_too_large",
161
- forbidden: "forbidden",
162
- gateway_timeout: "gateway_timeout",
163
- internal_server_error: "internal_server_error",
164
- method_not_allowed: "method_not_allowed",
165
- not_found: "not_found",
166
- unprocessable_entity: "unprocessable_entity",
167
- unsupported_media_type: "unsupported_media_type",
168
- } as const satisfies Record<string, StatusKey>
169
-
170
- export type FieldError = {
171
- error_key: string
172
- message: string
173
- path: string
174
- }
175
-
176
- /* shared frozen empty objects — avoid per-call {} allocations */
177
- export const EMPTY_OBJ: Record<string, never> = Object.freeze(Object.create(null)) as Record<string, never>
178
- export const EMPTY_FIELDS: Record<string, FieldError[]> = EMPTY_OBJ as Record<string, FieldError[]>
179
-
180
- export type NormalizedIssue = {
181
- code: string
182
- message: string
183
- meta: {
184
- expected?: string
185
- field?: string
186
- max?: number
187
- min?: number
188
- multipleOf?: number
189
- received?: string
190
- }
191
- path: PropertyKey[]
192
- }
193
-
194
- export type SchemaDefinition = {
195
- input: unknown
196
- output: unknown
197
- }
198
-
199
- /**
200
- * Minimal Standard Schema interface (StandardSchemaV1).
201
- * Compatible with Zod, Valibot, ArkType, etc.
202
- */
203
- export type StandardSchemaLike = {
204
- readonly "~standard": {
205
- readonly types?: { readonly input: unknown; readonly output: unknown } | undefined
206
- readonly validate: (value: unknown) =>
207
- | {
208
- readonly issues?: ReadonlyArray<StandardSchemaIssue> | undefined
209
- readonly value?: unknown
210
- }
211
- | Promise<{
212
- readonly issues?: ReadonlyArray<StandardSchemaIssue> | undefined
213
- readonly value?: unknown
214
- }>
215
- readonly vendor: string
216
- readonly version: number
217
- }
218
- }
219
-
220
- export type StandardSchemaIssue = {
221
- readonly message: string
222
- readonly path?: ReadonlyArray<PropertyKey | { readonly key: PropertyKey }> | undefined
223
- }
224
-
225
- /** Extract the output type from a Standard Schema compatible schema */
226
- export type InferOutput<T> = T extends {
227
- readonly "~standard": { readonly types?: infer TTypes }
228
- }
229
- ? NonNullable<TTypes> extends { readonly output: infer O }
230
- ? O
231
- : unknown
232
- : unknown
233
-
234
- /** Map input schema definitions to their inferred output types, dropping undefined keys */
235
- export type InferInputMap<T> = {
236
- [K in keyof T as T[K] extends undefined | null ? never : K]-?: InferOutput<UnwrapInputSchema<NonNullable<T[K]>>>
237
- }
238
-
239
- /**
240
- * Extract param names from a route path string.
241
- * "/users/:id/posts/:postId" → "id" | "postId"
242
- * Handles optional params (:id?) and wildcards (*name)
243
- */
244
- export type ParamKeys<Path extends string> = Path extends `${string}:${infer Param}/${infer Rest}`
245
- ? ParamKey<Param> | ParamKeys<`/${Rest}`>
246
- : Path extends `${string}:${infer Param}`
247
- ? ParamKey<Param>
248
- : Path extends `${string}*${infer Name}`
249
- ? Name extends ""
250
- ? "*"
251
- : Name
252
- : never
253
-
254
- type ParamKey<T extends string> = T extends `${infer Name}?` ? Name : T
255
-
256
- /** Build a params record from a route path string */
257
- export type ParamsFromPath<Path extends string> = [ParamKeys<Path>] extends [never]
258
- ? Record<string, string>
259
- : { [K in ParamKeys<Path>]: string }
260
-
261
- /** Tagged schema wrapper for runtime behavior control */
262
- type TaggedSchema = {
263
- readonly _tag: "readableStream"
264
- readonly schema: StandardSchemaLike
265
- }
266
-
267
- /** A schema entry: plain StandardSchema or wrapped with readableStream() */
268
- export type InputSchemaEntry = StandardSchemaLike | TaggedSchema
269
-
270
- /** Unwrap tagged schemas to get the inner StandardSchemaLike for type inference */
271
- type UnwrapInputSchema<T> = T extends {
272
- readonly _tag: string
273
- readonly schema: infer S
274
- }
275
- ? S
276
- : T
277
-
278
- /** Non-body input sources — combine freely */
279
- type InputNonBody = {
280
- cookies?: InputSchemaEntry
281
- headers?: InputSchemaEntry
282
- params?: InputSchemaEntry
283
- search?: InputSchemaEntry
284
- }
285
-
286
- /** Input schema definition — json and form are mutually exclusive (one Content-Type per request) */
287
- export type InputSchemasDef =
288
- | (InputNonBody & { form?: InputSchemaEntry; json?: never })
289
- | (InputNonBody & { form?: never; json?: InputSchemaEntry })
290
-
291
- /** 2xx-only status keys for output declarations */
292
- export type SuccessStatusKey =
293
- | "accepted"
294
- | "already_reported"
295
- | "created"
296
- | "im_used"
297
- | "multi_status"
298
- | "no_content"
299
- | "non_authoritative_information"
300
- | "ok"
301
- | "partial_content"
302
- | "reset_content"
303
-
304
- /** Status-key → schema map for a single content type (2xx only) */
305
- type StatusSchemaMap = Partial<Record<SuccessStatusKey, StandardSchemaLike>>
306
-
307
- /** 3xx redirect status keys (excludes not_modified — cache, not redirect) */
308
- export type RedirectStatusKey =
309
- | "found"
310
- | "moved_permanently"
311
- | "multiple_choices"
312
- | "permanent_redirect"
313
- | "see_other"
314
- | "temporary_redirect"
315
-
316
- /** Redirect declaration map — no body schema, just status keys */
317
- type RedirectSchemaMap = Partial<Record<RedirectStatusKey, true>>
318
-
319
- /** Output schema definition — maps content-type → status-key → schema */
320
- export type OutputSchemaDef = {
321
- "application/cbor"?: StatusSchemaMap
322
- "application/json"?: StatusSchemaMap
323
- "application/msgpack"?: StatusSchemaMap
324
- "application/octet-stream"?: StatusSchemaMap
325
- "application/pdf"?: StatusSchemaMap
326
- "application/xml"?: StatusSchemaMap
327
- redirect?: RedirectSchemaMap
328
- "text/csv"?: StatusSchemaMap
329
- "text/event-stream"?: StatusSchemaMap
330
- "text/html"?: StatusSchemaMap
331
- "text/plain"?: StatusSchemaMap
332
- }
333
-
334
- /** Maps content-type strings to HoneyRes method names */
335
- export type ContentTypeMethodMap = {
336
- "application/json": "json"
337
- "application/octet-stream": "binary"
338
- "application/xml": "xml"
339
- "text/csv": "csv"
340
- "text/event-stream": "sse"
341
- "text/html": "html"
342
- "text/plain": "text"
343
- }
344
-
345
- /** Methods always available on ctx.res regardless of output declaration */
346
- export type UniversalResMethods = "noContent" | "raw" | "redirect" | "stream"
347
-
348
- /** Derive allowed response methods from declared output content types */
349
- export type AllowedResMethods<TOutput> = {
350
- [CT in keyof ContentTypeMethodMap]: CT extends keyof TOutput ? ContentTypeMethodMap[CT] : never
351
- }[keyof ContentTypeMethodMap]
352
-
353
- /** Extract schemas for any content type from an OutputSchemaDef */
354
- export type ExtractSchemas<T, CT extends string> = T extends {
355
- [K in CT]: infer S extends Record<string, unknown>
356
- }
357
- ? S
358
- : never
359
-
360
- /** Extract JSON output schemas from an OutputSchemaDef */
361
- export type ExtractJsonSchemas<T> = ExtractSchemas<T, "application/json">
362
-
363
- /** Infer output types from a JSON output schema map */
364
- export type InferJsonOutputMap<T extends Record<string, StandardSchemaLike>> = {
365
- [K in keyof T]: InferOutput<T[K]>
366
- }
367
-
368
- /** OpenAPI operation-level metadata (also serves as built-in meta base) */
369
- export type OpenApiMeta = {
370
- internal?: boolean
371
- deprecated?: boolean
372
- description?: string
373
- /** Escape hatch — emitted verbatim at the highest precedence. Prefer a `.metaSpec()` entry. */
374
- extensions?: Record<`x-${string}`, unknown>
375
- invalidate?: readonly string[] | null
376
- mcp?: boolean
377
- operationId?: string
378
- security?: Array<Record<string, string[]>> | string | string[]
379
- summary?: string
380
- tags?: string | string[]
381
- }
382
-
383
- /* ---- Meta spec (codegen-time policy: meta → OpenAPI operation) ---- */
384
-
385
- /** Which operation kinds a policy entry applies to */
386
- export type MetaSpecTarget = "both" | "http" | "ws"
387
-
388
- /** Where a schema-derived policy entry reads its source key from */
389
- export type MetaSpecSchemaSource =
390
- | "input.cookies"
391
- | "input.form"
392
- | "input.headers"
393
- | "input.json"
394
- | "input.search"
395
- | "output"
396
-
397
- /** Passed to a policy entry's `map` / `expand` */
398
- export type MetaSpecContext = {
399
- meta: Record<string, unknown>
400
- method: string
401
- path: string
402
- profile: string
403
- /** Where the source value came from — `"meta"`, or the schema source for schema entries */
404
- source: "meta" | MetaSpecSchemaSource
405
- }
406
-
407
- type MetaSpecEntryBase = {
408
- /** Which operation kinds this entry applies to. Default `"both"` */
409
- on?: MetaSpecTarget
410
- /** Restrict this entry to named profiles. Default: every profile */
411
- profiles?: readonly string[]
412
- /** Validates the produced value at codegen time. A failure is a build error */
413
- schema?: StandardSchemaLike
414
- }
415
-
416
- /** Policy entry writing one operation key */
417
- export type MetaSpecSingle<TValue = unknown> = MetaSpecEntryBase & {
418
- /** Target operation key — an `x-*` extension or an allowed standard field */
419
- key: string
420
- /** Transform the source value. Returning `undefined` omits the key for that operation */
421
- map?: (value: TValue, ctx: MetaSpecContext) => unknown
422
- }
423
-
424
- /** Policy entry fanning one source value out to several operation keys */
425
- export type MetaSpecExpand<TValue = unknown> = MetaSpecEntryBase & {
426
- /** Returns operation keys → values. `undefined` (returned or per key) omits */
427
- expand: (value: TValue, ctx: MetaSpecContext) => Record<string, unknown> | undefined
428
- }
429
-
430
- /** One policy entry: hidden (`false`), verbatim (`"x-foo"`), single target, or fan-out */
431
- export type MetaSpecEntry<TValue = unknown> = false | MetaSpecExpand<TValue> | MetaSpecSingle<TValue> | string
432
-
433
- /**
434
- * How deeply to look for a schema-metadata key.
435
- * `"root"` reads the schema root, reading through one level of `items` for a bare array output.
436
- * `"deep"` walks the schema (properties, items, composition members) and takes the shallowest
437
- * match — for envelope shapes like `{ articles: [Article], nextCursor, count }`.
438
- */
439
- export type MetaSpecSchemaSearch = "deep" | "root"
440
-
441
- /** Refuse a descriptor whose publisher contract version is newer than this policy understands */
442
- export type MetaSpecVersionGuard = {
443
- /** Field carrying the contract version. Default `"v"` */
444
- field?: string
445
- /** Highest version this entry's `map`/`expand` was written against */
446
- max: number
447
- }
448
-
449
- /**
450
- * Policy entry reading its source key off a route schema instead of route meta.
451
- *
452
- * The object key names the entry; `read` says which schema-metadata key it reads, so several
453
- * entries can read one reserved key — the shape a publisher takes when it stamps a
454
- * discriminated union under a single key.
455
- */
456
- export type MetaSpecSchemaEntry<TValue = unknown> = (MetaSpecExpand<TValue> | MetaSpecSingle<TValue>) & {
457
- /** Schema sources to search, in order. First one carrying a matching descriptor wins */
458
- from?: readonly MetaSpecSchemaSource[]
459
- /**
460
- * Shallow subset the descriptor must satisfy for this entry to claim it — the discriminant
461
- * of a union, e.g. `{ kind: "entity" }`. A descriptor found under `read` that satisfies no
462
- * entry's `match` is a build error, never a silently missing tag.
463
- */
464
- match?: Record<string, unknown>
465
- /** Schema-metadata key to read. Defaults to this entry's own name */
466
- read?: string
467
- /** Where in the schema to look. Default `"root"` */
468
- search?: MetaSpecSchemaSearch
469
- /** Fail the build on a descriptor from a newer publisher contract than this entry handles */
470
- version?: MetaSpecVersionGuard
471
- }
472
-
473
- /** Per-document filter over emitted operation keys */
474
- export type MetaSpecProfile = {
475
- /** Denylist of emitted keys */
476
- exclude?: readonly string[]
477
- /** Allowlist of emitted `x-*` keys — standard fields are always kept unless excluded */
478
- include?: readonly string[]
479
- }
480
-
481
- /** How an unmapped meta key is reported at codegen time */
482
- export type MetaSpecStrictness = "error" | "off" | "warn"
483
-
484
- type MetaSpecSections<TMetaSection> = {
485
- /** Route-meta entries, keyed by meta key */
486
- meta?: TMetaSection
487
- /** Named per-document filters. `"default"` filters nothing */
488
- profiles?: Record<string, MetaSpecProfile>
489
- /** Schema-derived entries, keyed by the key read off the schema's metadata */
490
- schema?: Record<string, MetaSpecSchemaEntry<never>>
491
- /** How to report a meta key with no entry. Default `"error"` */
492
- strict?: MetaSpecStrictness
493
- }
494
-
495
- /** Built-in meta keys ship with a default policy — overriding them is optional */
496
- type MetaSpecOptionalKeys<TMeta> = {
497
- [K in Extract<keyof TMeta, keyof OpenApiMeta>]?: MetaSpecEntry<Exclude<TMeta[K], undefined>>
498
- }
499
-
500
- /** Every app-defined meta key must have an entry — a missing key is a type error */
501
- type MetaSpecRequiredKeys<TMeta> = {
502
- [K in Exclude<keyof TMeta, keyof OpenApiMeta>]-?: MetaSpecEntry<Exclude<TMeta[K], undefined>>
503
- }
504
-
505
- /** Declarative policy for what flows from route meta and route schemas into the document */
506
- export type HoneyMetaSpec<TMeta = unknown> = [TMeta] extends [never]
507
- ? MetaSpecSections<Record<string, MetaSpecEntry>>
508
- : TMeta extends Record<string, unknown>
509
- ? MetaSpecSections<MetaSpecOptionalKeys<TMeta> & MetaSpecRequiredKeys<TMeta>>
510
- : MetaSpecSections<Record<string, MetaSpecEntry>>
511
-
512
- /** Recorded when a mounted sub-app's policy entry disagrees with the parent's */
513
- export type MetaSpecMergeConflict = {
514
- key: string
515
- /** `"hidden"` — the sub hid a key the parent emits, and hiding won */
516
- resolution: "hidden" | "parent"
517
- section: "meta" | "profiles" | "schema"
518
- }
519
-
520
- /** Erased runtime shape of a resolved policy — what codegen consumes */
521
- export type MetaSpecConfig = {
522
- /** @internal — populated by `.route()` when merging a mounted sub-app's policy */
523
- conflicts?: readonly MetaSpecMergeConflict[]
524
- meta?: Record<string, MetaSpecEntry>
525
- profiles?: Record<string, MetaSpecProfile>
526
- schema?: Record<string, MetaSpecSchemaEntry>
527
- strict?: MetaSpecStrictness
528
- }
529
-
530
- /** Built-in meta shape — always available on .meta() */
531
- export type DefaultMeta = OpenApiMeta
532
-
533
- /** Augmented by generated code per-app to narrow invalidate selectors */
534
- export interface HoneyCodegen {}
535
-
536
- type ResolveSelector = HoneyCodegen extends { routeSelector: infer R } ? (R extends string ? R : string) : string
537
-
538
- /** Utility: merges built-in meta, custom meta T, and type-safe invalidate from codegen */
539
- export type HoneyMeta<T = {}> = DefaultMeta &
540
- T & {
541
- invalidate?: readonly ResolveSelector[] | null
542
- }
543
-
544
- /** Accumulated route schema entry for RPC client generation */
545
- export type RouteRecord<
546
- TMethod extends string,
547
- TPath extends string,
548
- TInput,
549
- TOutput,
550
- TCtx = unknown,
551
- TErrors extends string = never,
552
- TErrorsByStatus = never,
553
- > = {
554
- [P in TPath]: {
555
- [M in Lowercase<TMethod>]: {
556
- ctx: TCtx
557
- errors: TErrors
558
- errorsByStatus: TErrorsByStatus
559
- input: TInput
560
- output: TOutput
561
- }
562
- }
563
- }
564
-
565
- /** Merge a new route record into accumulated routes via flat intersection */
566
- export type MergeRoute<
567
- TRoutes,
568
- TPath extends string,
569
- TMethod extends string,
570
- TInput,
571
- TOutput,
572
- TCtx,
573
- TMeta = {},
574
- TErrors extends string = never,
575
- TErrorsByStatus = never,
576
- > = TRoutes & {
577
- [P in TPath]: {
578
- [M in Lowercase<TMethod>]: {
579
- ctx: TCtx
580
- errors: TErrors
581
- errorsByStatus: TErrorsByStatus
582
- input: TInput
583
- meta: TMeta
584
- output: TOutput
585
- }
586
- }
587
- }
588
-
589
- /** Extract accumulated routes from a Honey instance type */
590
- export type InferRoutes<T> = T extends { readonly $routes: infer R } ? R : never
591
-
592
- /** Extract accumulated middleware context. `res` is omitted so handler ctx is assignable into services. Use InferRouteCtx for the route's constrained `res`. */
593
- export type InferCtx<T> = T extends { readonly $ctx: infer TCtx } ? Omit<TCtx, "res"> : never
594
-
595
- /** Extract environment type (TEnv) from a Honey instance */
596
- export type InferEnv<T> = T extends { readonly $env: infer TEnv } ? TEnv : never
597
-
598
- /** All HTTP methods used across all routes */
599
- export type InferMethods<T> = InferRoutes<T> extends infer R ? { [P in keyof R]: keyof R[P] & string }[keyof R] : never
600
-
601
- /** Available route paths registered on a Honey instance */
602
- export type InferRoutePaths<T> = keyof InferRoutes<T> & string
603
-
604
- /** Available methods for a given path ("get", "post", etc.) */
605
- export type InferRouteMethods<T, TPath extends InferRoutePaths<T>> = InferRoutes<T>[TPath] extends infer M
606
- ? keyof M & string
607
- : never
608
-
609
- /** Lookup a specific route's record from the accumulated route map */
610
- type RouteLookup<T, TPath extends string, TMethod extends string> =
611
- InferRoutes<T> extends infer R
612
- ? TPath extends keyof R
613
- ? R[TPath] extends infer Methods
614
- ? TMethod extends keyof Methods
615
- ? Methods[TMethod]
616
- : never
617
- : never
618
- : never
619
- : never
620
-
621
- /** Extract the meta type generic (TMeta) from a Honey instance */
622
- export type InferMeta<T> = T extends { readonly $meta: infer M } ? M : never
623
-
624
- /** Extract the full handler context type for a specific route */
625
- export type InferRouteCtx<T, TPath extends InferRoutePaths<T>, TMethod extends InferRouteMethods<T, TPath>> =
626
- RouteLookup<T, TPath, TMethod> extends { ctx: infer C } ? C : never
627
-
628
- /** Extract input type for a specific route */
629
- export type InferRouteInput<T, TPath extends InferRoutePaths<T>, TMethod extends InferRouteMethods<T, TPath>> =
630
- RouteLookup<T, TPath, TMethod> extends { input: infer I } ? I : never
631
-
632
- /** Extract meta type for a specific route */
633
- export type InferRouteMeta<T, TPath extends InferRoutePaths<T>, TMethod extends InferRouteMethods<T, TPath>> =
634
- RouteLookup<T, TPath, TMethod> extends { meta: infer M } ? M : never
635
-
636
- /** Extract output type for a specific route */
637
- export type InferRouteOutput<T, TPath extends InferRoutePaths<T>, TMethod extends InferRouteMethods<T, TPath>> =
638
- RouteLookup<T, TPath, TMethod> extends { output: infer O } ? O : never
639
-
640
- /** Extract error keys for a specific route */
641
- export type InferRouteErrors<T, TPath extends InferRoutePaths<T>, TMethod extends InferRouteMethods<T, TPath>> =
642
- RouteLookup<T, TPath, TMethod> extends { errors: infer E } ? E : never
643
-
644
- /** Extract the error factory type from a Honey instance */
645
- export type InferErrorFactory<T> = T extends { readonly $errorFactory: infer F } ? F : never
646
-
647
- /**
648
- * Compute errorsByStatus from error factory + declared error keys.
649
- * Maps status codes to body shapes for client-side discrimination.
650
- */
651
- export type ComputeErrorsByStatus<TFactory, TErrorKeys extends string, TMetaSymbol extends symbol> = TFactory extends {
652
- readonly [K in TMetaSymbol]: infer TMeta
653
- }
654
- ? TMeta extends Record<string, { schema: infer _S; statusKey: infer _SK }>
655
- ? _BuildByStatus<TMeta, TErrorKeys>
656
- : never
657
- : never
658
-
659
- /** Internal: build { [statusCode]: bodyShape } from meta + error keys */
660
- type _BuildByStatus<TMeta extends Record<string, { schema: unknown; statusKey: unknown }>, TKeys extends string> = {
661
- [SK in _UsedStatusKeys<TMeta, TKeys> & StatusKey as StatusKeyToCodeType<SK>]: _ShapesForStatus<TMeta, TKeys, SK>
662
- }
663
-
664
- /** Internal: collect all statusKeys used by the declared error keys */
665
- type _UsedStatusKeys<
666
- TMeta extends Record<string, { schema: unknown; statusKey: unknown }>,
667
- TKeys extends string,
668
- > = TKeys extends keyof TMeta ? TMeta[TKeys]["statusKey"] : never
669
-
670
- /** Internal: union of shapes for all error keys that map to a given statusKey */
671
- type _ShapesForStatus<
672
- TMeta extends Record<string, { schema: unknown; statusKey: unknown }>,
673
- TKeys extends string,
674
- TSK extends StatusKey,
675
- > = TKeys extends keyof TMeta
676
- ? TMeta[TKeys]["statusKey"] extends TSK
677
- ? TMeta[TKeys]["schema"] extends StandardSchemaLike
678
- ? InferOutput<TMeta[TKeys]["schema"]>
679
- : null
680
- : never
681
- : never
682
-
683
- /** Map StatusKey string to numeric status code at the type level */
684
- type StatusKeyToCodeType<SK extends StatusKey> = SK extends "ok"
685
- ? 200
686
- : SK extends "created"
687
- ? 201
688
- : SK extends "accepted"
689
- ? 202
690
- : SK extends "no_content"
691
- ? 204
692
- : SK extends "bad_request"
693
- ? 400
694
- : SK extends "unauthorized"
695
- ? 401
696
- : SK extends "payment_required"
697
- ? 402
698
- : SK extends "forbidden"
699
- ? 403
700
- : SK extends "not_found"
701
- ? 404
702
- : SK extends "method_not_allowed"
703
- ? 405
704
- : SK extends "not_acceptable"
705
- ? 406
706
- : SK extends "conflict"
707
- ? 409
708
- : SK extends "gone"
709
- ? 410
710
- : SK extends "unprocessable_entity"
711
- ? 422
712
- : SK extends "too_many_requests"
713
- ? 429
714
- : SK extends "internal_server_error"
715
- ? 500
716
- : SK extends "not_implemented"
717
- ? 501
718
- : SK extends "bad_gateway"
719
- ? 502
720
- : SK extends "service_unavailable"
721
- ? 503
722
- : SK extends "gateway_timeout"
723
- ? 504
724
- : number
725
-
726
- /** Extract the base path type from a Honey instance */
727
- export type InferBasePath<T> = T extends { readonly $basePath: infer P } ? P : never
728
-
729
- /** Merge two path segments — "/" is identity */
730
- export type MergePath<A extends string, B extends string> = A extends "/" ? B : B extends "/" ? A : `${A}${B}`
731
-
732
- /** The routes of a mounted sub-app, moved under the mounting handle's basePath. */
733
- export type PrefixRoutes<TBase extends string, TRoutes> = TBase extends "/"
734
- ? TRoutes
735
- : { [P in keyof TRoutes & string as MergePath<TBase, P>]: TRoutes[P] }
736
-
737
- /* ── Tap types ── */
738
-
739
- /** Queued side-effect emitted by c.tap() inside a handler */
740
- export type PendingTap = { key: string; payload: unknown }
741
-
742
- /** Handler registered via app.tap(key, handler) — receives context + payload */
743
- export type TapHandler<TEnv = unknown> = (ctx: TapContext<TEnv>, payload: unknown) => void | Promise<void>
744
-
745
- /** Subset of HoneyContext exposed to tap handlers — no res, no recursive tap */
746
- export type TapContext<TEnv = unknown> = {
747
- readonly background: (p: Promise<unknown>) => void
748
- readonly env: TEnv
749
- readonly headers: Record<string, string>
750
- readonly meta: Record<string, unknown>
751
- readonly params: Record<string, string>
752
- readonly path: string
753
- readonly req: Request
754
- readonly routePattern: string
755
- readonly search: Record<string, string>
756
- }