@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
@@ -1,594 +0,0 @@
1
- import { schemaToIR } from "./codegen-ir.js";
2
- import { GO_KEYWORDS, cmpCodeUnit, goExported, goJsonTag, goJsonTagNameValid, goString, NameScope, } from "./codegen-lang.js";
3
- export { GO_KEYWORDS };
4
- /** Exported Go identifier from kebab-case, snake_case, dotted, camelCase or arbitrary text. */
5
- export function goPascal(name) {
6
- return goExported(name);
7
- }
8
- /**
9
- * Returns a safe Go identifier. PascalCase makes all exported identifiers safe
10
- * without keyword conflicts (Go keywords are all lowercase; Title casing avoids clashes).
11
- * For unexported uses the keyword check adds `_` suffix.
12
- */
13
- export function goIdent(name, exported = true) {
14
- const pascal = goPascal(name);
15
- if (exported)
16
- return pascal;
17
- const lower = name.toLowerCase();
18
- if (GO_KEYWORDS.has(lower))
19
- return `${lower}_`;
20
- return name;
21
- }
22
- export function goTag(jsonKey, omit) {
23
- return goJsonTag(jsonKey, omit);
24
- }
25
- /** An optional field that may also be null: absent, null and a value are three different requests. */
26
- function isTriState(field) {
27
- return !field.required && field.schema.kind === "nullable";
28
- }
29
- /** Go type of a struct field: `Nullable[T]` for optional + nullable, else a pointer when optional. */
30
- function structFieldType(field, render) {
31
- if (isTriState(field) && field.schema.kind === "nullable") {
32
- /* a cyclic ref stays a pointer: Nullable holds its value inline */
33
- return `Nullable[${render(field.schema.inner)}]`;
34
- }
35
- return fieldType(render(field.schema), field.required);
36
- }
37
- function fieldTag(field) {
38
- return goTag(field.name, isTriState(field) ? "omitzero" : !field.required);
39
- }
40
- const DEFAULT_NAMES = {
41
- claimConst: (base) => base,
42
- cyclic: new Set(),
43
- hoist: (_key, base) => base,
44
- ref: (name) => goPascal(name),
45
- resolve: (s) => s,
46
- };
47
- export function isNullable(schema) {
48
- if (schema.nullable === true)
49
- return true;
50
- const t = schema.type;
51
- if (Array.isArray(t) && t.includes("null"))
52
- return true;
53
- const variants = (schema.anyOf ?? schema.oneOf);
54
- if (variants && variants.some((v) => v.type === "null"))
55
- return true;
56
- return false;
57
- }
58
- export function isStringEnum(schema) {
59
- const e = schema.enum;
60
- if (!e || e.length === 0)
61
- return false;
62
- const t = schema.type;
63
- if (t === "string")
64
- return true;
65
- if (!t && e.every((v) => typeof v === "string"))
66
- return true;
67
- return false;
68
- }
69
- export function isIntEnum(schema) {
70
- const e = schema.enum;
71
- if (!e || e.length === 0)
72
- return false;
73
- const t = schema.type;
74
- if (t === "integer")
75
- return true;
76
- if (!t && e.every((v) => typeof v === "number" && Number.isInteger(v)))
77
- return true;
78
- return false;
79
- }
80
- export function isLiteralConst(schema) {
81
- return schema.const !== undefined;
82
- }
83
- export function hoistEnumName(parentName, fieldName) {
84
- return `${goPascal(parentName)}${goPascal(fieldName)}`;
85
- }
86
- function enumLabel(v) {
87
- if (typeof v === "string")
88
- return v === "" ? "Empty" : goExported(v);
89
- if (typeof v === "number")
90
- return v < 0 ? `Neg${String(-v).replace(/\./g, "_")}` : String(v).replace(/\./g, "_");
91
- return goExported(String(v));
92
- }
93
- function renderHoistedStringEnum(typeName, enumVals, names) {
94
- const l = [];
95
- l.push(`type ${typeName} string`);
96
- l.push(`const (`);
97
- const local = new NameScope();
98
- for (const v of enumVals) {
99
- if (v === null)
100
- continue;
101
- const constName = names.claimConst(local.claim(`${typeName}${enumLabel(v)}`));
102
- l.push(`\t${constName} ${typeName} = ${goString(String(v))}`);
103
- }
104
- l.push(`)`);
105
- return l.join("\n");
106
- }
107
- function renderHoistedIntEnum(typeName, enumVals, names) {
108
- const l = [];
109
- l.push(`type ${typeName} int`);
110
- l.push(`const (`);
111
- const local = new NameScope();
112
- for (const v of enumVals) {
113
- if (typeof v !== "number" || !Number.isInteger(v))
114
- continue;
115
- const constName = names.claimConst(local.claim(`${typeName}${enumLabel(v)}`));
116
- l.push(`\t${constName} ${typeName} = ${String(v)}`);
117
- }
118
- l.push(`)`);
119
- return l.join("\n");
120
- }
121
- function primitiveFor(t) {
122
- switch (t) {
123
- case "string":
124
- return "string";
125
- case "integer":
126
- return "int64";
127
- case "number":
128
- return "float64";
129
- case "boolean":
130
- return "bool";
131
- default:
132
- return null;
133
- }
134
- }
135
- function constBaseType(val) {
136
- if (typeof val === "boolean")
137
- return "bool";
138
- if (typeof val === "number")
139
- return Number.isInteger(val) ? "int64" : "float64";
140
- return "string";
141
- }
142
- function isNilable(t) {
143
- return (t === "json.RawMessage" ||
144
- t.startsWith("*") ||
145
- t.startsWith("[]") ||
146
- t.startsWith("map[") ||
147
- t === "any" ||
148
- t === "interface{}");
149
- }
150
- /** Mutates `ctx.decls` when hoisting enums. */
151
- export function irRenderUse(ir, ctx, depth = 0) {
152
- if (depth > 12)
153
- return "json.RawMessage";
154
- const names = ctx.names ?? DEFAULT_NAMES;
155
- switch (ir.kind) {
156
- case "ref": {
157
- const goName = names.ref(ir.name);
158
- if (ctx.circularRefs?.has(goName) || names.cyclic.has(ir.name))
159
- return `*${goName}`;
160
- return goName;
161
- }
162
- case "allOf": {
163
- const firstRef = ir.parts.find((p) => p.kind === "ref");
164
- if (ir.parts.length > 1 && ctx.names) {
165
- /* several parts: hoist a struct that embeds/inlines them all */
166
- const name = names.hoist(`${ctx.parentName}.${ctx.fieldName}`, hoistEnumName(ctx.parentName, ctx.fieldName));
167
- if (!ctx.decls.has(name)) {
168
- ctx.decls.set(name, "");
169
- ctx.decls.set(name, irRenderTopLevel(name, ir, ctx.decls, undefined, names));
170
- }
171
- return name;
172
- }
173
- if (firstRef && firstRef.kind === "ref")
174
- return names.ref(firstRef.name);
175
- return "json.RawMessage";
176
- }
177
- case "nullable": {
178
- const innerStr = irRenderUse(ir.inner, ctx, depth + 1);
179
- /* already-nilable forms need no pointer prefix */
180
- if (isNilable(innerStr))
181
- return innerStr;
182
- return `*${innerStr}`;
183
- }
184
- case "union": {
185
- /* union at use-position → always json.RawMessage (Go has no native union type) */
186
- return "json.RawMessage";
187
- }
188
- case "scalar": {
189
- if (ir.enum) {
190
- const name = names.hoist(`${ctx.parentName}.${ctx.fieldName}`, hoistEnumName(ctx.parentName, ctx.fieldName));
191
- if (!ctx.decls.has(name)) {
192
- if (ir.type === "string") {
193
- ctx.decls.set(name, renderHoistedStringEnum(name, ir.enum, names));
194
- }
195
- else if (ir.type === "integer") {
196
- ctx.decls.set(name, renderHoistedIntEnum(name, ir.enum, names));
197
- }
198
- else {
199
- return primitiveFor(ir.type) ?? "json.RawMessage";
200
- }
201
- }
202
- return name;
203
- }
204
- const prim = primitiveFor(ir.type);
205
- if (prim)
206
- return prim;
207
- return "json.RawMessage";
208
- }
209
- case "const": {
210
- return constBaseType(ir.value);
211
- }
212
- case "array": {
213
- const itemCtx = ctx.names ? { ...ctx, fieldName: `${ctx.fieldName}Item` } : ctx;
214
- const el = irRenderUse(ir.items, itemCtx, depth + 1);
215
- /* a slice already breaks a recursive cycle */
216
- return `[]${el.startsWith("*") && ir.items.kind === "ref" ? el.slice(1) : el}`;
217
- }
218
- case "tuple": {
219
- return `[${ir.items.length}]interface{}`;
220
- }
221
- case "object": {
222
- const { fields, additional } = ir;
223
- if (fields.length === 0) {
224
- if (additional) {
225
- const valType = irRenderUse(additional, ctx, depth + 1);
226
- return `map[string]${valType.startsWith("*") && additional.kind === "ref" ? valType.slice(1) : valType}`;
227
- }
228
- if (additional === false)
229
- return "struct{}";
230
- return "map[string]interface{}";
231
- }
232
- if (ctx.names) {
233
- /* a named type: callers can construct it, and it can carry (un)marshal methods */
234
- const name = names.hoist(`${ctx.parentName}.${ctx.fieldName}`, hoistEnumName(ctx.parentName, ctx.fieldName));
235
- if (!ctx.decls.has(name)) {
236
- ctx.decls.set(name, "");
237
- ctx.decls.set(name, irRenderTopLevel(name, ir, ctx.decls, undefined, names));
238
- }
239
- return name;
240
- }
241
- return irRenderAnonStruct(ir, ctx, depth);
242
- }
243
- case "binary": {
244
- /*
245
- * dominant case: {type:"string", format:"binary"} → IR binary → "string".
246
- * bare {format:"binary"} no-type is a 1-case deliberate divergence from raw
247
- * (raw returns "json.RawMessage", IR returns "string"). Documented in spec §binary.
248
- */
249
- return "string";
250
- }
251
- case "unknown": {
252
- return "json.RawMessage";
253
- }
254
- }
255
- }
256
- function sortFields(fields) {
257
- return fields.slice().sort((a, b) => cmpCodeUnit(a.name, b.name));
258
- }
259
- function fieldType(ft, required) {
260
- return !required && !isNilable(ft) ? `*${ft}` : ft;
261
- }
262
- function irRenderAnonStruct(ir, ctx, depth) {
263
- const lines = [];
264
- lines.push(`struct {`);
265
- const scope = new NameScope();
266
- for (const field of sortFields(ir.fields)) {
267
- const fieldGoName = scope.claim(goPascal(field.name));
268
- const childParent = `${ctx.parentName}${goPascal(ctx.fieldName)}`;
269
- const childCtx = {
270
- circularRefs: ctx.circularRefs,
271
- decls: ctx.decls,
272
- depth: depth + 1,
273
- fieldName: field.name,
274
- names: ctx.names,
275
- parentName: childParent,
276
- };
277
- const type = structFieldType(field, (schema) => irRenderUse(schema, childCtx, depth + 1));
278
- lines.push(`\t${fieldGoName} ${type} ${fieldTag(field)}`);
279
- }
280
- lines.push(`}`);
281
- return lines.join("\n");
282
- }
283
- /** A struct plus, when needed, (un)marshal methods for keys encoding/json cannot tag and for extra keys. */
284
- function renderStruct(typeName, embeds, fields, extra) {
285
- const l = [];
286
- l.push(`type ${typeName} struct {`);
287
- for (const e of embeds)
288
- l.push(`\t${e}`);
289
- for (const f of fields) {
290
- const tag = f.tagged ? goTag(f.key, f.triState ? "omitzero" : !f.required) : '`json:"-"`';
291
- l.push(`\t${f.goName} ${f.type} ${tag}`);
292
- }
293
- if (extra)
294
- l.push(`\t${extra.goName} map[string]${extra.valueType} \`json:"-"\``);
295
- l.push(`}`);
296
- const untagged = fields.filter((f) => !f.tagged);
297
- /* a required slice or map left nil would encode as null, which the schema does not allow */
298
- const emptyWhenNil = fields.filter((f) => f.required && !f.triState && (f.type.startsWith("[]") || f.type.startsWith("map[")));
299
- const fillNil = (target) => {
300
- for (const f of emptyWhenNil) {
301
- l.push(`\tif ${target}.${f.goName} == nil {`);
302
- l.push(`\t\t${target}.${f.goName} = ${f.type}{}`);
303
- l.push(`\t}`);
304
- }
305
- };
306
- if (untagged.length === 0 && !extra) {
307
- if (emptyWhenNil.length === 0)
308
- return l.join("\n");
309
- l.push(``);
310
- l.push(`func (s ${typeName}) MarshalJSON() ([]byte, error) {`);
311
- l.push(`\ttype plain ${typeName}`);
312
- l.push(`\tp := plain(s)`);
313
- fillNil("p");
314
- l.push(`\treturn json.Marshal(p)`);
315
- l.push(`}`);
316
- return l.join("\n");
317
- }
318
- const known = fields.map((f) => goString(f.key));
319
- l.push(``);
320
- l.push(`func (s *${typeName}) UnmarshalJSON(data []byte) error {`);
321
- l.push(`\ttype plain ${typeName}`);
322
- l.push(`\tvar base plain`);
323
- l.push(`\tif err := json.Unmarshal(data, &base); err != nil {`);
324
- l.push(`\t\treturn err`);
325
- l.push(`\t}`);
326
- l.push(`\tvar raw map[string]json.RawMessage`);
327
- l.push(`\tif err := json.Unmarshal(data, &raw); err != nil {`);
328
- l.push(`\t\treturn err`);
329
- l.push(`\t}`);
330
- for (const f of untagged) {
331
- l.push(`\tif v, ok := raw[${goString(f.key)}]; ok {`);
332
- l.push(`\t\tif err := json.Unmarshal(v, &base.${f.goName}); err != nil {`);
333
- l.push(`\t\t\treturn err`);
334
- l.push(`\t\t}`);
335
- l.push(`\t}`);
336
- }
337
- if (extra) {
338
- l.push(`\tknown := map[string]bool{${known.map((k) => `${k}: true`).join(", ")}}`);
339
- l.push(`\tfor k, v := range raw {`);
340
- l.push(`\t\tif known[k] {`);
341
- l.push(`\t\t\tcontinue`);
342
- l.push(`\t\t}`);
343
- l.push(`\t\tvar item ${extra.valueType}`);
344
- l.push(`\t\tif err := json.Unmarshal(v, &item); err != nil {`);
345
- l.push(`\t\t\treturn err`);
346
- l.push(`\t\t}`);
347
- l.push(`\t\tif base.${extra.goName} == nil {`);
348
- l.push(`\t\t\tbase.${extra.goName} = map[string]${extra.valueType}{}`);
349
- l.push(`\t\t}`);
350
- l.push(`\t\tbase.${extra.goName}[k] = item`);
351
- l.push(`\t}`);
352
- }
353
- l.push(`\t*s = ${typeName}(base)`);
354
- l.push(`\treturn nil`);
355
- l.push(`}`);
356
- l.push(``);
357
- l.push(`func (s ${typeName}) MarshalJSON() ([]byte, error) {`);
358
- l.push(`\ttype plain ${typeName}`);
359
- l.push(`\tp := plain(s)`);
360
- fillNil("p");
361
- l.push(`\tencoded, err := json.Marshal(p)`);
362
- l.push(`\tif err != nil {`);
363
- l.push(`\t\treturn nil, err`);
364
- l.push(`\t}`);
365
- l.push(`\tvar out map[string]json.RawMessage`);
366
- l.push(`\tif err := json.Unmarshal(encoded, &out); err != nil {`);
367
- l.push(`\t\treturn nil, err`);
368
- l.push(`\t}`);
369
- if (extra) {
370
- l.push(`\tfor k, v := range p.${extra.goName} {`);
371
- l.push(`\t\tif _, taken := out[k]; taken {`);
372
- l.push(`\t\t\tcontinue`);
373
- l.push(`\t\t}`);
374
- l.push(`\t\tb, err := json.Marshal(v)`);
375
- l.push(`\t\tif err != nil {`);
376
- l.push(`\t\t\treturn nil, err`);
377
- l.push(`\t\t}`);
378
- l.push(`\t\tout[k] = b`);
379
- l.push(`\t}`);
380
- }
381
- for (const f of untagged) {
382
- const nilable = isNilable(f.type);
383
- const guarded = nilable || f.triState;
384
- const indent = guarded ? "\t\t" : "\t";
385
- if (f.triState)
386
- l.push(`\tif !p.${f.goName}.IsZero() {`);
387
- else if (nilable)
388
- l.push(`\tif p.${f.goName} != nil {`);
389
- l.push(`${indent}b, err := json.Marshal(p.${f.goName})`);
390
- l.push(`${indent}if err != nil {`);
391
- l.push(`${indent}\treturn nil, err`);
392
- l.push(`${indent}}`);
393
- l.push(`${indent}out[${goString(f.key)}] = b`);
394
- if (guarded)
395
- l.push(`\t}`);
396
- }
397
- l.push(`\treturn json.Marshal(out)`);
398
- l.push(`}`);
399
- return l.join("\n");
400
- }
401
- function discriminatorValues(variant, propertyName, mapping, names) {
402
- if (variant.kind === "ref") {
403
- const mapped = mapping
404
- ? Object.entries(mapping)
405
- .filter(([, target]) => target === variant.name)
406
- .map(([k]) => k)
407
- : [];
408
- if (mapped.length > 0)
409
- return mapped;
410
- }
411
- const resolved = names.resolve(variant);
412
- if (resolved.kind === "object") {
413
- const f = resolved.fields.find((x) => x.name === propertyName);
414
- if (f?.schema.kind === "const" && typeof f.schema.value === "string")
415
- return [f.schema.value];
416
- if (f?.schema.kind === "scalar" && f.schema.enum)
417
- return f.schema.enum.map(String);
418
- }
419
- return variant.kind === "ref" ? [variant.name] : [];
420
- }
421
- /**
422
- * `raw` 4th arg is for the const-with-declared-type branch only: IR `const` kind
423
- * strips the type field; `raw.type` provides the override.
424
- */
425
- export function irRenderTopLevel(name, ir, decls, raw, names) {
426
- const n = names ?? DEFAULT_NAMES;
427
- /* the schema name is already a Go identifier when the caller passes `names` */
428
- const typeName = names ? name : goPascal(name);
429
- const circularRefs = new Set([typeName]);
430
- const useCtx = (fieldName) => ({
431
- circularRefs,
432
- decls,
433
- fieldName,
434
- names,
435
- parentName: typeName,
436
- });
437
- if (ir.kind === "scalar" && ir.enum) {
438
- if (ir.type === "string")
439
- return renderHoistedStringEnum(typeName, ir.enum, n);
440
- if (ir.type === "integer")
441
- return renderHoistedIntEnum(typeName, ir.enum, n);
442
- }
443
- if (ir.kind === "const") {
444
- const rawType = ir.type ?? raw?.type;
445
- const base = rawType ? (primitiveFor(rawType) ?? "string") : constBaseType(ir.value);
446
- const val = typeof ir.value === "string" ? goString(ir.value) : String(ir.value);
447
- return [`type ${typeName} ${base}`, `const ${n.claimConst(`${typeName}Value`)} ${typeName} = ${val}`].join("\n");
448
- }
449
- if (ir.kind === "allOf") {
450
- const embeds = [];
451
- const fields = [];
452
- const scope = new NameScope(["UnmarshalJSON", "MarshalJSON"]);
453
- for (const part of ir.parts) {
454
- if (part.kind === "ref") {
455
- const embedded = n.ref(part.name);
456
- scope.reserve(embedded);
457
- embeds.push(n.cyclic.has(part.name) ? `*${embedded}` : embedded);
458
- }
459
- }
460
- for (const part of ir.parts) {
461
- const obj = part.kind === "object" ? part : undefined;
462
- if (!obj)
463
- continue;
464
- for (const field of sortFields(obj.fields)) {
465
- if (fields.some((f) => f.key === field.name))
466
- continue;
467
- fields.push({
468
- goName: scope.claim(goPascal(field.name)),
469
- key: field.name,
470
- required: field.required,
471
- tagged: goJsonTagNameValid(field.name),
472
- triState: isTriState(field),
473
- type: structFieldType(field, (schema) => irRenderUse(schema, useCtx(field.name))),
474
- });
475
- }
476
- }
477
- return renderStruct(typeName, embeds, fields, undefined);
478
- }
479
- if (ir.kind === "union" && ir.discriminator) {
480
- const prop = ir.discriminator.propertyName;
481
- const scope = new NameScope(["Raw", "UnmarshalJSON", "MarshalJSON"]);
482
- const variants = [];
483
- ir.variants.forEach((v, i) => {
484
- const values = discriminatorValues(v, prop, ir.discriminator?.mapping, n);
485
- let type;
486
- if (v.kind === "ref") {
487
- type = n.ref(v.name);
488
- }
489
- else if (v.kind === "object") {
490
- const hoisted = n.hoist(`${typeName}.variant${i}`, `${typeName}${goPascal(values[0] ?? `Variant${i}`)}`);
491
- if (!decls.has(hoisted)) {
492
- decls.set(hoisted, "");
493
- decls.set(hoisted, irRenderTopLevel(hoisted, v, decls, undefined, names));
494
- }
495
- type = hoisted;
496
- }
497
- else {
498
- return;
499
- }
500
- variants.push({ field: scope.claim(goPascal(values[0] ?? type)), type, values });
501
- });
502
- const l = [];
503
- l.push(`// ${typeName} holds exactly one variant, selected by the ${goString(prop)} property.`);
504
- l.push(`type ${typeName} struct {`);
505
- for (const v of variants)
506
- l.push(`\t${v.field} *${v.type}`);
507
- l.push(`\t// Raw keeps a payload whose discriminator matches no known variant.`);
508
- l.push(`\tRaw json.RawMessage`);
509
- l.push(`}`);
510
- l.push(``);
511
- l.push(`func (u *${typeName}) UnmarshalJSON(data []byte) error {`);
512
- l.push(`\tvar probe map[string]json.RawMessage`);
513
- l.push(`\tif err := json.Unmarshal(data, &probe); err != nil {`);
514
- l.push(`\t\treturn err`);
515
- l.push(`\t}`);
516
- l.push(`\tvar tag string`);
517
- l.push(`\tif v, ok := probe[${goString(prop)}]; ok {`);
518
- l.push(`\t\t_ = json.Unmarshal(v, &tag)`);
519
- l.push(`\t}`);
520
- l.push(`\t*u = ${typeName}{}`);
521
- l.push(`\tswitch tag {`);
522
- for (const v of variants) {
523
- if (v.values.length === 0)
524
- continue;
525
- l.push(`\tcase ${v.values.map(goString).join(", ")}:`);
526
- l.push(`\t\tu.${v.field} = new(${v.type})`);
527
- l.push(`\t\treturn json.Unmarshal(data, u.${v.field})`);
528
- }
529
- l.push(`\t}`);
530
- l.push(`\tu.Raw = append(json.RawMessage(nil), data...)`);
531
- l.push(`\treturn nil`);
532
- l.push(`}`);
533
- l.push(``);
534
- l.push(`func (u ${typeName}) MarshalJSON() ([]byte, error) {`);
535
- for (const v of variants) {
536
- l.push(`\tif u.${v.field} != nil {`);
537
- l.push(`\t\treturn json.Marshal(u.${v.field})`);
538
- l.push(`\t}`);
539
- }
540
- l.push(`\tif u.Raw != nil {`);
541
- l.push(`\t\treturn u.Raw, nil`);
542
- l.push(`\t}`);
543
- l.push(`\treturn []byte("null"), nil`);
544
- l.push(`}`);
545
- return l.join("\n");
546
- }
547
- if (ir.kind === "object") {
548
- const { fields, additional } = ir;
549
- if (fields.length === 0 && additional) {
550
- const valType = irRenderUse(additional, useCtx("Value"));
551
- return `type ${typeName} map[string]${valType}`;
552
- }
553
- if (fields.length === 0) {
554
- if (additional === false)
555
- return `type ${typeName} struct{}`;
556
- return `type ${typeName} map[string]interface{}`;
557
- }
558
- const scope = new NameScope(["UnmarshalJSON", "MarshalJSON"]);
559
- const extraName = additional ? scope.claim("Extra") : "";
560
- const out = [];
561
- for (const field of sortFields(fields)) {
562
- let finalType;
563
- if (isTriState(field)) {
564
- finalType = structFieldType(field, (schema) => irRenderUse(schema, useCtx(field.name)));
565
- }
566
- else {
567
- const ft = irRenderUse(field.schema, useCtx(field.name));
568
- finalType = fieldType(ft, field.required);
569
- /* self-ref → pointer (circular) */
570
- if (circularRefs.has(ft.replace(/^\*/, "")) && !finalType.startsWith("*"))
571
- finalType = `*${ft}`;
572
- }
573
- out.push({
574
- goName: scope.claim(goPascal(field.name)),
575
- key: field.name,
576
- required: field.required,
577
- tagged: goJsonTagNameValid(field.name),
578
- triState: isTriState(field),
579
- type: finalType,
580
- });
581
- }
582
- const extra = additional ? { goName: extraName, valueType: irRenderUse(additional, useCtx("Extra")) } : undefined;
583
- return renderStruct(typeName, [], out, extra);
584
- }
585
- const aliased = irRenderUse(ir, useCtx("Value"));
586
- return `type ${typeName} = ${aliased}`;
587
- }
588
- export function renderUse(schema, ctx) {
589
- return irRenderUse(schemaToIR(schema), ctx, ctx.depth ?? 0);
590
- }
591
- export function renderTopLevel(name, schema, decls) {
592
- return irRenderTopLevel(name, schemaToIR(schema), decls, schema);
593
- }
594
- //# sourceMappingURL=go-type-emitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"go-type-emitter.js","sourceRoot":"","sources":["../src/go-type-emitter.ts"],"names":[],"mappings":"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"}