@suveren/gateway 0.8.7 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. package/bin/suveren-gateway.js +165 -9
  2. package/dist/control-plane/index.mjs +330 -87
  3. package/dist/mcp-server/http.mjs +662 -186
  4. package/dist/ui/assets/{index-tzStUGuj.js → index-CIiOCgjJ.js} +21 -21
  5. package/dist/ui/index.html +1 -1
  6. package/lib/config.d.mts +37 -0
  7. package/lib/config.mjs +150 -0
  8. package/node_modules/@hap/core/dist/index.d.mts +33 -2
  9. package/node_modules/@hap/core/dist/index.d.ts +33 -2
  10. package/node_modules/@hap/core/dist/index.js +26 -2
  11. package/node_modules/@hap/core/dist/index.mjs +25 -2
  12. package/node_modules/@hap/core/package.json +1 -1
  13. package/node_modules/@hap/core/src/gatekeeper.ts +36 -2
  14. package/node_modules/@hap/core/src/types.ts +21 -1
  15. package/node_modules/@hono/node-server/README.md +21 -10
  16. package/node_modules/@hono/node-server/dist/early-hints.cjs +1 -1
  17. package/node_modules/@hono/node-server/dist/early-hints.mjs +1 -1
  18. package/node_modules/@hono/node-server/dist/index.cjs +41 -19
  19. package/node_modules/@hono/node-server/dist/index.mjs +42 -20
  20. package/node_modules/@hono/node-server/dist/serve-static.cjs +1 -0
  21. package/node_modules/@hono/node-server/dist/serve-static.d.cts +2 -1
  22. package/node_modules/@hono/node-server/dist/serve-static.d.mts +2 -1
  23. package/node_modules/@hono/node-server/dist/serve-static.mjs +1 -0
  24. package/node_modules/@hono/node-server/package.json +3 -2
  25. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts +43 -2
  26. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.d.ts.map +1 -1
  27. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js +26 -5
  28. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth-extensions.js.map +1 -1
  29. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts +11 -0
  30. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts.map +1 -1
  31. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js +96 -14
  32. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js.map +1 -1
  33. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts +1 -0
  34. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.d.ts.map +1 -1
  35. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js +11 -2
  36. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/client/simpleClientCredentials.js.map +1 -1
  37. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +2 -0
  38. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  39. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  40. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js +6 -3
  41. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  42. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts +3 -0
  43. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.d.ts.map +1 -1
  44. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js +12 -2
  45. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/auth.js.map +1 -1
  46. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts +43 -2
  47. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.d.ts.map +1 -1
  48. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js +26 -5
  49. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth-extensions.js.map +1 -1
  50. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts +11 -0
  51. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts.map +1 -1
  52. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js +96 -14
  53. package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js.map +1 -1
  54. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts +1 -0
  55. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.d.ts.map +1 -1
  56. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js +11 -2
  57. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/client/simpleClientCredentials.js.map +1 -1
  58. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +2 -0
  59. package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  60. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  61. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js +6 -3
  62. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  63. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts +3 -0
  64. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.d.ts.map +1 -1
  65. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js +12 -2
  66. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js.map +1 -1
  67. package/node_modules/@modelcontextprotocol/sdk/package.json +1 -1
  68. package/node_modules/@types/node/README.md +1 -1
  69. package/node_modules/@types/node/crypto.d.ts +2 -2
  70. package/node_modules/@types/node/dgram.d.ts +1 -1
  71. package/node_modules/@types/node/package.json +2 -2
  72. package/node_modules/hono/dist/_virtual/_rolldown/runtime.js +13 -0
  73. package/node_modules/hono/dist/adapter/aws-lambda/conninfo.js +42 -23
  74. package/node_modules/hono/dist/adapter/aws-lambda/handler.js +318 -344
  75. package/node_modules/hono/dist/adapter/aws-lambda/index.js +2 -8
  76. package/node_modules/hono/dist/adapter/aws-lambda/types.js +1 -0
  77. package/node_modules/hono/dist/adapter/bun/conninfo.js +20 -25
  78. package/node_modules/hono/dist/adapter/bun/index.js +3 -13
  79. package/node_modules/hono/dist/adapter/bun/serve-static.js +27 -27
  80. package/node_modules/hono/dist/adapter/bun/server.js +11 -5
  81. package/node_modules/hono/dist/adapter/bun/ssg.js +25 -15
  82. package/node_modules/hono/dist/adapter/bun/websocket.js +61 -68
  83. package/node_modules/hono/dist/adapter/cloudflare-pages/conninfo.js +24 -9
  84. package/node_modules/hono/dist/adapter/cloudflare-pages/handler.js +59 -62
  85. package/node_modules/hono/dist/adapter/cloudflare-pages/index.js +2 -8
  86. package/node_modules/hono/dist/adapter/cloudflare-workers/conninfo.js +7 -9
  87. package/node_modules/hono/dist/adapter/cloudflare-workers/index.js +3 -8
  88. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static-module.js +5 -6
  89. package/node_modules/hono/dist/adapter/cloudflare-workers/serve-static.js +26 -20
  90. package/node_modules/hono/dist/adapter/cloudflare-workers/utils.js +21 -34
  91. package/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js +31 -39
  92. package/node_modules/hono/dist/adapter/deno/conninfo.js +16 -13
  93. package/node_modules/hono/dist/adapter/deno/deno.d.js +1 -0
  94. package/node_modules/hono/dist/adapter/deno/index.js +3 -10
  95. package/node_modules/hono/dist/adapter/deno/serve-static.js +33 -38
  96. package/node_modules/hono/dist/adapter/deno/ssg.js +27 -16
  97. package/node_modules/hono/dist/adapter/deno/websocket.js +30 -30
  98. package/node_modules/hono/dist/adapter/lambda-edge/conninfo.js +7 -9
  99. package/node_modules/hono/dist/adapter/lambda-edge/handler.js +102 -101
  100. package/node_modules/hono/dist/adapter/lambda-edge/index.js +2 -6
  101. package/node_modules/hono/dist/adapter/netlify/conninfo.js +24 -9
  102. package/node_modules/hono/dist/adapter/netlify/handler.js +10 -8
  103. package/node_modules/hono/dist/adapter/netlify/index.js +3 -2
  104. package/node_modules/hono/dist/adapter/netlify/mod.js +2 -6
  105. package/node_modules/hono/dist/adapter/service-worker/handler.js +15 -19
  106. package/node_modules/hono/dist/adapter/service-worker/index.js +23 -7
  107. package/node_modules/hono/dist/adapter/service-worker/types.js +1 -0
  108. package/node_modules/hono/dist/adapter/vercel/conninfo.js +7 -10
  109. package/node_modules/hono/dist/adapter/vercel/handler.js +8 -6
  110. package/node_modules/hono/dist/adapter/vercel/index.js +2 -6
  111. package/node_modules/hono/dist/cjs/_virtual/_rolldown/runtime.js +33 -0
  112. package/node_modules/hono/dist/cjs/adapter/aws-lambda/conninfo.js +42 -44
  113. package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +326 -373
  114. package/node_modules/hono/dist/cjs/adapter/aws-lambda/index.js +7 -34
  115. package/node_modules/hono/dist/cjs/adapter/aws-lambda/types.js +0 -15
  116. package/node_modules/hono/dist/cjs/adapter/bun/conninfo.js +21 -47
  117. package/node_modules/hono/dist/cjs/adapter/bun/index.js +14 -45
  118. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +29 -50
  119. package/node_modules/hono/dist/cjs/adapter/bun/server.js +11 -26
  120. package/node_modules/hono/dist/cjs/adapter/bun/ssg.js +24 -35
  121. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +63 -91
  122. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/conninfo.js +25 -31
  123. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/handler.js +61 -85
  124. package/node_modules/hono/dist/cjs/adapter/cloudflare-pages/index.js +7 -34
  125. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/conninfo.js +8 -31
  126. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/index.js +7 -33
  127. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static-module.js +7 -29
  128. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/serve-static.js +27 -42
  129. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/utils.js +21 -55
  130. package/node_modules/hono/dist/cjs/adapter/cloudflare-workers/websocket.js +33 -62
  131. package/node_modules/hono/dist/cjs/adapter/deno/conninfo.js +16 -34
  132. package/node_modules/hono/dist/cjs/adapter/deno/index.js +10 -38
  133. package/node_modules/hono/dist/cjs/adapter/deno/serve-static.js +33 -59
  134. package/node_modules/hono/dist/cjs/adapter/deno/ssg.js +27 -37
  135. package/node_modules/hono/dist/cjs/adapter/deno/websocket.js +32 -53
  136. package/node_modules/hono/dist/cjs/adapter/lambda-edge/conninfo.js +8 -31
  137. package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +102 -130
  138. package/node_modules/hono/dist/cjs/adapter/lambda-edge/index.js +5 -30
  139. package/node_modules/hono/dist/cjs/adapter/netlify/conninfo.js +25 -31
  140. package/node_modules/hono/dist/cjs/adapter/netlify/handler.js +10 -29
  141. package/node_modules/hono/dist/cjs/adapter/netlify/index.js +5 -21
  142. package/node_modules/hono/dist/cjs/adapter/netlify/mod.js +5 -30
  143. package/node_modules/hono/dist/cjs/adapter/service-worker/handler.js +16 -41
  144. package/node_modules/hono/dist/cjs/adapter/service-worker/index.js +25 -30
  145. package/node_modules/hono/dist/cjs/adapter/service-worker/types.js +0 -15
  146. package/node_modules/hono/dist/cjs/adapter/vercel/conninfo.js +8 -32
  147. package/node_modules/hono/dist/cjs/adapter/vercel/handler.js +8 -27
  148. package/node_modules/hono/dist/cjs/adapter/vercel/index.js +5 -30
  149. package/node_modules/hono/dist/cjs/client/client.js +139 -212
  150. package/node_modules/hono/dist/cjs/client/fetch-result-please.js +62 -80
  151. package/node_modules/hono/dist/cjs/client/index.js +7 -32
  152. package/node_modules/hono/dist/cjs/client/types.js +0 -15
  153. package/node_modules/hono/dist/cjs/client/utils.js +54 -92
  154. package/node_modules/hono/dist/cjs/compose.js +49 -66
  155. package/node_modules/hono/dist/cjs/context.js +379 -450
  156. package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +47 -72
  157. package/node_modules/hono/dist/cjs/helper/accepts/index.js +3 -27
  158. package/node_modules/hono/dist/cjs/helper/adapter/index.js +33 -73
  159. package/node_modules/hono/dist/cjs/helper/conninfo/index.js +0 -15
  160. package/node_modules/hono/dist/cjs/helper/conninfo/types.js +0 -15
  161. package/node_modules/hono/dist/cjs/helper/cookie/index.js +75 -116
  162. package/node_modules/hono/dist/cjs/helper/css/common.js +165 -244
  163. package/node_modules/hono/dist/cjs/helper/css/index.js +136 -151
  164. package/node_modules/hono/dist/cjs/helper/dev/index.js +45 -71
  165. package/node_modules/hono/dist/cjs/helper/factory/index.js +30 -51
  166. package/node_modules/hono/dist/cjs/helper/html/index.js +32 -62
  167. package/node_modules/hono/dist/cjs/helper/proxy/index.js +113 -106
  168. package/node_modules/hono/dist/cjs/helper/route/index.js +123 -66
  169. package/node_modules/hono/dist/cjs/helper/ssg/index.js +19 -43
  170. package/node_modules/hono/dist/cjs/helper/ssg/middleware.js +56 -64
  171. package/node_modules/hono/dist/cjs/helper/ssg/plugins.js +55 -57
  172. package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +196 -296
  173. package/node_modules/hono/dist/cjs/helper/ssg/utils.js +47 -90
  174. package/node_modules/hono/dist/cjs/helper/streaming/index.js +8 -35
  175. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +53 -85
  176. package/node_modules/hono/dist/cjs/helper/streaming/stream.js +23 -53
  177. package/node_modules/hono/dist/cjs/helper/streaming/text.js +10 -32
  178. package/node_modules/hono/dist/cjs/helper/streaming/utils.js +13 -32
  179. package/node_modules/hono/dist/cjs/helper/testing/index.js +16 -31
  180. package/node_modules/hono/dist/cjs/helper/websocket/index.js +51 -76
  181. package/node_modules/hono/dist/cjs/hono-base.js +345 -403
  182. package/node_modules/hono/dist/cjs/hono.js +28 -42
  183. package/node_modules/hono/dist/cjs/http-exception.js +55 -56
  184. package/node_modules/hono/dist/cjs/index.js +22 -30
  185. package/node_modules/hono/dist/cjs/jsx/base.js +237 -366
  186. package/node_modules/hono/dist/cjs/jsx/children.js +16 -41
  187. package/node_modules/hono/dist/cjs/jsx/components.js +119 -192
  188. package/node_modules/hono/dist/cjs/jsx/constants.js +15 -42
  189. package/node_modules/hono/dist/cjs/jsx/context.js +144 -162
  190. package/node_modules/hono/dist/cjs/jsx/dom/client.js +49 -69
  191. package/node_modules/hono/dist/cjs/jsx/dom/components.js +23 -52
  192. package/node_modules/hono/dist/cjs/jsx/dom/context.js +39 -67
  193. package/node_modules/hono/dist/cjs/jsx/dom/css.js +143 -158
  194. package/node_modules/hono/dist/cjs/jsx/dom/hooks/index.js +55 -64
  195. package/node_modules/hono/dist/cjs/jsx/dom/index.js +114 -173
  196. package/node_modules/hono/dist/cjs/jsx/dom/intrinsic-element/components.js +282 -375
  197. package/node_modules/hono/dist/cjs/jsx/dom/jsx-dev-runtime.js +14 -49
  198. package/node_modules/hono/dist/cjs/jsx/dom/jsx-runtime.js +5 -32
  199. package/node_modules/hono/dist/cjs/jsx/dom/render.js +469 -623
  200. package/node_modules/hono/dist/cjs/jsx/dom/server.js +37 -64
  201. package/node_modules/hono/dist/cjs/jsx/dom/utils.js +7 -30
  202. package/node_modules/hono/dist/cjs/jsx/hooks/index.js +225 -318
  203. package/node_modules/hono/dist/cjs/jsx/index.js +86 -135
  204. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/common.js +20 -43
  205. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +117 -168
  206. package/node_modules/hono/dist/cjs/jsx/intrinsic-elements.js +0 -15
  207. package/node_modules/hono/dist/cjs/jsx/jsx-dev-runtime.js +14 -39
  208. package/node_modules/hono/dist/cjs/jsx/jsx-runtime.js +34 -68
  209. package/node_modules/hono/dist/cjs/jsx/streaming.js +123 -166
  210. package/node_modules/hono/dist/cjs/jsx/types.js +0 -15
  211. package/node_modules/hono/dist/cjs/jsx/utils.js +91 -175
  212. package/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +98 -86
  213. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +92 -109
  214. package/node_modules/hono/dist/cjs/middleware/body-limit/index.js +66 -72
  215. package/node_modules/hono/dist/cjs/middleware/cache/index.js +153 -199
  216. package/node_modules/hono/dist/cjs/middleware/combine/index.js +135 -95
  217. package/node_modules/hono/dist/cjs/middleware/compress/index.js +73 -88
  218. package/node_modules/hono/dist/cjs/middleware/context-storage/index.js +49 -41
  219. package/node_modules/hono/dist/cjs/middleware/cors/index.js +107 -107
  220. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +101 -72
  221. package/node_modules/hono/dist/cjs/middleware/etag/digest.js +58 -97
  222. package/node_modules/hono/dist/cjs/middleware/etag/index.js +71 -91
  223. package/node_modules/hono/dist/cjs/middleware/ip-restriction/index.js +161 -169
  224. package/node_modules/hono/dist/cjs/middleware/jsx-renderer/index.js +99 -77
  225. package/node_modules/hono/dist/cjs/middleware/jwk/index.js +3 -27
  226. package/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +118 -135
  227. package/node_modules/hono/dist/cjs/middleware/jwt/index.js +9 -38
  228. package/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +120 -141
  229. package/node_modules/hono/dist/cjs/middleware/language/index.js +7 -35
  230. package/node_modules/hono/dist/cjs/middleware/language/language.js +184 -182
  231. package/node_modules/hono/dist/cjs/middleware/logger/index.js +41 -62
  232. package/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +82 -88
  233. package/node_modules/hono/dist/cjs/middleware/method-override/index.js +101 -102
  234. package/node_modules/hono/dist/cjs/middleware/powered-by/index.js +23 -30
  235. package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +38 -42
  236. package/node_modules/hono/dist/cjs/middleware/request-id/index.js +3 -27
  237. package/node_modules/hono/dist/cjs/middleware/request-id/request-id.js +34 -42
  238. package/node_modules/hono/dist/cjs/middleware/secure-headers/index.js +4 -29
  239. package/node_modules/hono/dist/cjs/middleware/secure-headers/permissions-policy.js +0 -15
  240. package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +142 -174
  241. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +56 -93
  242. package/node_modules/hono/dist/cjs/middleware/serve-static/path.js +15 -38
  243. package/node_modules/hono/dist/cjs/middleware/timeout/index.js +40 -45
  244. package/node_modules/hono/dist/cjs/middleware/timing/index.js +7 -35
  245. package/node_modules/hono/dist/cjs/middleware/timing/timing.js +177 -118
  246. package/node_modules/hono/dist/cjs/middleware/trailing-slash/index.js +85 -58
  247. package/node_modules/hono/dist/cjs/preset/quick.js +18 -37
  248. package/node_modules/hono/dist/cjs/preset/tiny.js +15 -33
  249. package/node_modules/hono/dist/cjs/request/constants.js +5 -27
  250. package/node_modules/hono/dist/cjs/request.js +334 -346
  251. package/node_modules/hono/dist/cjs/router/linear-router/index.js +3 -27
  252. package/node_modules/hono/dist/cjs/router/linear-router/router.js +95 -143
  253. package/node_modules/hono/dist/cjs/router/pattern-router/index.js +3 -27
  254. package/node_modules/hono/dist/cjs/router/pattern-router/router.js +41 -63
  255. package/node_modules/hono/dist/cjs/router/reg-exp-router/index.js +7 -34
  256. package/node_modules/hono/dist/cjs/router/reg-exp-router/matcher.js +18 -45
  257. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +91 -135
  258. package/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +92 -161
  259. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +98 -147
  260. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +73 -89
  261. package/node_modules/hono/dist/cjs/router/smart-router/index.js +3 -27
  262. package/node_modules/hono/dist/cjs/router/smart-router/router.js +49 -79
  263. package/node_modules/hono/dist/cjs/router/trie-router/index.js +3 -27
  264. package/node_modules/hono/dist/cjs/router/trie-router/node.js +134 -186
  265. package/node_modules/hono/dist/cjs/router/trie-router/router.js +15 -39
  266. package/node_modules/hono/dist/cjs/router/utils.js +5 -27
  267. package/node_modules/hono/dist/cjs/router.js +37 -37
  268. package/node_modules/hono/dist/cjs/types.js +5 -28
  269. package/node_modules/hono/dist/cjs/utils/accept.js +177 -225
  270. package/node_modules/hono/dist/cjs/utils/basic-auth.js +16 -40
  271. package/node_modules/hono/dist/cjs/utils/body.js +84 -110
  272. package/node_modules/hono/dist/cjs/utils/buffer.js +43 -91
  273. package/node_modules/hono/dist/cjs/utils/color.js +35 -44
  274. package/node_modules/hono/dist/cjs/utils/compress.js +11 -26
  275. package/node_modules/hono/dist/cjs/utils/concurrent.js +29 -59
  276. package/node_modules/hono/dist/cjs/utils/constants.js +7 -26
  277. package/node_modules/hono/dist/cjs/utils/cookie.js +107 -177
  278. package/node_modules/hono/dist/cjs/utils/crypto.js +30 -61
  279. package/node_modules/hono/dist/cjs/utils/encode.js +31 -48
  280. package/node_modules/hono/dist/cjs/utils/filepath.js +23 -54
  281. package/node_modules/hono/dist/cjs/utils/handler.js +11 -33
  282. package/node_modules/hono/dist/cjs/utils/headers.js +0 -15
  283. package/node_modules/hono/dist/cjs/utils/html.js +96 -137
  284. package/node_modules/hono/dist/cjs/utils/http-status.js +0 -15
  285. package/node_modules/hono/dist/cjs/utils/ipaddr.js +213 -286
  286. package/node_modules/hono/dist/cjs/utils/jwt/index.js +14 -27
  287. package/node_modules/hono/dist/cjs/utils/jwt/jwa.js +25 -42
  288. package/node_modules/hono/dist/cjs/utils/jwt/jws.js +119 -199
  289. package/node_modules/hono/dist/cjs/utils/jwt/jwt.js +122 -206
  290. package/node_modules/hono/dist/cjs/utils/jwt/types.js +122 -159
  291. package/node_modules/hono/dist/cjs/utils/jwt/utf8.js +9 -28
  292. package/node_modules/hono/dist/cjs/utils/mime.js +75 -101
  293. package/node_modules/hono/dist/cjs/utils/stream.js +88 -111
  294. package/node_modules/hono/dist/cjs/utils/types.js +0 -15
  295. package/node_modules/hono/dist/cjs/utils/url.js +185 -234
  296. package/node_modules/hono/dist/cjs/validator/index.js +3 -27
  297. package/node_modules/hono/dist/cjs/validator/utils.js +0 -15
  298. package/node_modules/hono/dist/cjs/validator/validator.js +60 -103
  299. package/node_modules/hono/dist/client/client.js +138 -197
  300. package/node_modules/hono/dist/client/fetch-result-please.js +59 -56
  301. package/node_modules/hono/dist/client/index.js +3 -7
  302. package/node_modules/hono/dist/client/types.js +1 -0
  303. package/node_modules/hono/dist/client/utils.js +51 -68
  304. package/node_modules/hono/dist/compose.js +49 -45
  305. package/node_modules/hono/dist/context.js +376 -426
  306. package/node_modules/hono/dist/helper/accepts/accepts.js +47 -51
  307. package/node_modules/hono/dist/helper/accepts/index.js +1 -4
  308. package/node_modules/hono/dist/helper/adapter/index.js +33 -52
  309. package/node_modules/hono/dist/helper/conninfo/index.js +1 -0
  310. package/node_modules/hono/dist/helper/conninfo/types.js +1 -0
  311. package/node_modules/hono/dist/helper/cookie/index.js +74 -94
  312. package/node_modules/hono/dist/helper/css/common.js +167 -225
  313. package/node_modules/hono/dist/helper/css/index.js +132 -137
  314. package/node_modules/hono/dist/helper/dev/index.js +44 -49
  315. package/node_modules/hono/dist/helper/factory/index.js +27 -27
  316. package/node_modules/hono/dist/helper/html/index.js +30 -39
  317. package/node_modules/hono/dist/helper/proxy/index.js +116 -88
  318. package/node_modules/hono/dist/helper/route/index.js +121 -43
  319. package/node_modules/hono/dist/helper/ssg/index.js +3 -18
  320. package/node_modules/hono/dist/helper/ssg/middleware.js +53 -40
  321. package/node_modules/hono/dist/helper/ssg/plugins.js +55 -36
  322. package/node_modules/hono/dist/helper/ssg/ssg.js +198 -283
  323. package/node_modules/hono/dist/helper/ssg/utils.js +53 -75
  324. package/node_modules/hono/dist/helper/streaming/index.js +2 -8
  325. package/node_modules/hono/dist/helper/streaming/sse.js +50 -61
  326. package/node_modules/hono/dist/helper/streaming/stream.js +22 -31
  327. package/node_modules/hono/dist/helper/streaming/text.js +9 -10
  328. package/node_modules/hono/dist/helper/streaming/utils.js +9 -12
  329. package/node_modules/hono/dist/helper/testing/index.js +16 -10
  330. package/node_modules/hono/dist/helper/websocket/index.js +49 -53
  331. package/node_modules/hono/dist/hono-base.js +342 -379
  332. package/node_modules/hono/dist/hono.js +27 -20
  333. package/node_modules/hono/dist/http-exception.js +53 -33
  334. package/node_modules/hono/dist/index.js +19 -6
  335. package/node_modules/hono/dist/jsx/base.js +231 -340
  336. package/node_modules/hono/dist/jsx/children.js +16 -20
  337. package/node_modules/hono/dist/jsx/components.js +118 -170
  338. package/node_modules/hono/dist/jsx/constants.js +9 -15
  339. package/node_modules/hono/dist/jsx/context.js +153 -150
  340. package/node_modules/hono/dist/jsx/dom/client.js +45 -48
  341. package/node_modules/hono/dist/jsx/dom/components.js +21 -29
  342. package/node_modules/hono/dist/jsx/dom/context.js +37 -44
  343. package/node_modules/hono/dist/jsx/dom/css.js +142 -147
  344. package/node_modules/hono/dist/jsx/dom/hooks/index.js +52 -40
  345. package/node_modules/hono/dist/jsx/dom/index.js +71 -134
  346. package/node_modules/hono/dist/jsx/dom/intrinsic-element/components.js +275 -359
  347. package/node_modules/hono/dist/jsx/dom/jsx-dev-runtime.js +14 -18
  348. package/node_modules/hono/dist/jsx/dom/jsx-runtime.js +2 -8
  349. package/node_modules/hono/dist/jsx/dom/render.js +492 -631
  350. package/node_modules/hono/dist/jsx/dom/server.js +32 -32
  351. package/node_modules/hono/dist/jsx/dom/utils.js +6 -8
  352. package/node_modules/hono/dist/jsx/hooks/index.js +236 -308
  353. package/node_modules/hono/dist/jsx/index.js +45 -98
  354. package/node_modules/hono/dist/jsx/intrinsic-element/common.js +20 -22
  355. package/node_modules/hono/dist/jsx/intrinsic-element/components.js +113 -154
  356. package/node_modules/hono/dist/jsx/intrinsic-elements.js +1 -0
  357. package/node_modules/hono/dist/jsx/jsx-dev-runtime.js +12 -16
  358. package/node_modules/hono/dist/jsx/jsx-runtime.js +29 -42
  359. package/node_modules/hono/dist/jsx/streaming.js +120 -142
  360. package/node_modules/hono/dist/jsx/types.js +1 -0
  361. package/node_modules/hono/dist/jsx/utils.js +105 -168
  362. package/node_modules/hono/dist/middleware/basic-auth/index.js +96 -63
  363. package/node_modules/hono/dist/middleware/bearer-auth/index.js +93 -89
  364. package/node_modules/hono/dist/middleware/body-limit/index.js +66 -51
  365. package/node_modules/hono/dist/middleware/cache/index.js +165 -190
  366. package/node_modules/hono/dist/middleware/combine/index.js +134 -73
  367. package/node_modules/hono/dist/middleware/compress/index.js +75 -69
  368. package/node_modules/hono/dist/middleware/context-storage/index.js +49 -19
  369. package/node_modules/hono/dist/middleware/cors/index.js +107 -86
  370. package/node_modules/hono/dist/middleware/csrf/index.js +103 -53
  371. package/node_modules/hono/dist/middleware/etag/digest.js +59 -77
  372. package/node_modules/hono/dist/middleware/etag/index.js +71 -70
  373. package/node_modules/hono/dist/middleware/ip-restriction/index.js +163 -158
  374. package/node_modules/hono/dist/middleware/jsx-renderer/index.js +97 -54
  375. package/node_modules/hono/dist/middleware/jwk/index.js +1 -4
  376. package/node_modules/hono/dist/middleware/jwk/jwk.js +116 -112
  377. package/node_modules/hono/dist/middleware/jwt/index.js +2 -10
  378. package/node_modules/hono/dist/middleware/jwt/jwt.js +114 -114
  379. package/node_modules/hono/dist/middleware/language/index.js +2 -15
  380. package/node_modules/hono/dist/middleware/language/language.js +180 -157
  381. package/node_modules/hono/dist/middleware/logger/index.js +43 -37
  382. package/node_modules/hono/dist/middleware/method-not-allowed/index.js +81 -66
  383. package/node_modules/hono/dist/middleware/method-override/index.js +101 -81
  384. package/node_modules/hono/dist/middleware/powered-by/index.js +23 -9
  385. package/node_modules/hono/dist/middleware/pretty-json/index.js +39 -22
  386. package/node_modules/hono/dist/middleware/request-id/index.js +1 -4
  387. package/node_modules/hono/dist/middleware/request-id/request-id.js +33 -20
  388. package/node_modules/hono/dist/middleware/secure-headers/index.js +1 -5
  389. package/node_modules/hono/dist/middleware/secure-headers/permissions-policy.js +1 -0
  390. package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +144 -155
  391. package/node_modules/hono/dist/middleware/serve-static/index.js +56 -72
  392. package/node_modules/hono/dist/middleware/serve-static/path.js +15 -17
  393. package/node_modules/hono/dist/middleware/timeout/index.js +40 -23
  394. package/node_modules/hono/dist/middleware/timing/index.js +2 -9
  395. package/node_modules/hono/dist/middleware/timing/timing.js +177 -97
  396. package/node_modules/hono/dist/middleware/trailing-slash/index.js +85 -37
  397. package/node_modules/hono/dist/preset/quick.js +17 -15
  398. package/node_modules/hono/dist/preset/tiny.js +14 -11
  399. package/node_modules/hono/dist/request/constants.js +4 -5
  400. package/node_modules/hono/dist/request.js +328 -319
  401. package/node_modules/hono/dist/router/linear-router/index.js +1 -4
  402. package/node_modules/hono/dist/router/linear-router/router.js +93 -120
  403. package/node_modules/hono/dist/router/pattern-router/index.js +1 -4
  404. package/node_modules/hono/dist/router/pattern-router/router.js +39 -40
  405. package/node_modules/hono/dist/router/reg-exp-router/index.js +1 -7
  406. package/node_modules/hono/dist/router/reg-exp-router/matcher.js +17 -23
  407. package/node_modules/hono/dist/router/reg-exp-router/node.js +87 -110
  408. package/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +89 -137
  409. package/node_modules/hono/dist/router/reg-exp-router/router.js +92 -129
  410. package/node_modules/hono/dist/router/reg-exp-router/trie.js +69 -64
  411. package/node_modules/hono/dist/router/smart-router/index.js +1 -4
  412. package/node_modules/hono/dist/router/smart-router/router.js +46 -55
  413. package/node_modules/hono/dist/router/trie-router/index.js +1 -4
  414. package/node_modules/hono/dist/router/trie-router/node.js +131 -162
  415. package/node_modules/hono/dist/router/trie-router/router.js +11 -14
  416. package/node_modules/hono/dist/router/utils.js +4 -5
  417. package/node_modules/hono/dist/router.js +35 -14
  418. package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +4 -1
  419. package/node_modules/hono/dist/types/adapter/aws-lambda/handler.d.ts +150 -104
  420. package/node_modules/hono/dist/types/adapter/aws-lambda/index.d.ts +4 -8
  421. package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +152 -122
  422. package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +4 -1
  423. package/node_modules/hono/dist/types/adapter/bun/index.d.ts +6 -10
  424. package/node_modules/hono/dist/types/adapter/bun/serve-static.d.ts +7 -2
  425. package/node_modules/hono/dist/types/adapter/bun/server.d.ts +4 -5
  426. package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +5 -1
  427. package/node_modules/hono/dist/types/adapter/bun/websocket.d.ts +31 -16
  428. package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +4 -1
  429. package/node_modules/hono/dist/types/adapter/cloudflare-pages/handler.d.ts +29 -17
  430. package/node_modules/hono/dist/types/adapter/cloudflare-pages/index.d.ts +3 -7
  431. package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +6 -1
  432. package/node_modules/hono/dist/types/adapter/cloudflare-workers/index.d.ts +4 -7
  433. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static-module.d.ts +5 -2
  434. package/node_modules/hono/dist/types/adapter/cloudflare-workers/serve-static.d.ts +10 -5
  435. package/node_modules/hono/dist/types/adapter/cloudflare-workers/utils.d.ts +10 -2
  436. package/node_modules/hono/dist/types/adapter/cloudflare-workers/websocket.d.ts +6 -1
  437. package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +4 -1
  438. package/node_modules/hono/dist/types/adapter/deno/deno.d.ts +1 -0
  439. package/node_modules/hono/dist/types/adapter/deno/index.d.ts +5 -8
  440. package/node_modules/hono/dist/types/adapter/deno/serve-static.d.ts +7 -2
  441. package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +5 -1
  442. package/node_modules/hono/dist/types/adapter/deno/websocket.d.ts +6 -1
  443. package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +6 -1
  444. package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +83 -57
  445. package/node_modules/hono/dist/types/adapter/lambda-edge/index.d.ts +3 -7
  446. package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +4 -1
  447. package/node_modules/hono/dist/types/adapter/netlify/handler.d.ts +6 -1
  448. package/node_modules/hono/dist/types/adapter/netlify/index.d.ts +3 -5
  449. package/node_modules/hono/dist/types/adapter/netlify/mod.d.ts +3 -2
  450. package/node_modules/hono/dist/types/adapter/service-worker/handler.d.ts +9 -7
  451. package/node_modules/hono/dist/types/adapter/service-worker/index.d.ts +7 -9
  452. package/node_modules/hono/dist/types/adapter/service-worker/types.d.ts +12 -7
  453. package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +6 -1
  454. package/node_modules/hono/dist/types/adapter/vercel/handler.d.ts +6 -1
  455. package/node_modules/hono/dist/types/adapter/vercel/index.d.ts +3 -6
  456. package/node_modules/hono/dist/types/client/client.d.ts +5 -3
  457. package/node_modules/hono/dist/types/client/fetch-result-please.d.ts +21 -19
  458. package/node_modules/hono/dist/types/client/index.d.ts +5 -7
  459. package/node_modules/hono/dist/types/client/types.d.ts +134 -159
  460. package/node_modules/hono/dist/types/client/utils.d.ts +6 -4
  461. package/node_modules/hono/dist/types/compose.d.ts +4 -2
  462. package/node_modules/hono/dist/types/context.d.ts +335 -335
  463. package/node_modules/hono/dist/types/helper/accepts/accepts.d.ts +11 -9
  464. package/node_modules/hono/dist/types/helper/accepts/index.d.ts +2 -5
  465. package/node_modules/hono/dist/types/helper/adapter/index.d.ts +4 -6
  466. package/node_modules/hono/dist/types/helper/conninfo/index.d.ts +2 -5
  467. package/node_modules/hono/dist/types/helper/conninfo/types.d.ts +25 -23
  468. package/node_modules/hono/dist/types/helper/cookie/index.d.ts +10 -12
  469. package/node_modules/hono/dist/types/helper/css/common.d.ts +11 -9
  470. package/node_modules/hono/dist/types/helper/css/index.d.ts +26 -28
  471. package/node_modules/hono/dist/types/helper/dev/index.d.ts +10 -12
  472. package/node_modules/hono/dist/types/helper/factory/index.d.ts +26 -73
  473. package/node_modules/hono/dist/types/helper/html/index.d.ts +4 -7
  474. package/node_modules/hono/dist/types/helper/proxy/index.d.ts +19 -21
  475. package/node_modules/hono/dist/types/helper/route/index.d.ts +4 -2
  476. package/node_modules/hono/dist/types/helper/ssg/index.d.ts +4 -7
  477. package/node_modules/hono/dist/types/helper/ssg/middleware.d.ts +8 -6
  478. package/node_modules/hono/dist/types/helper/ssg/plugins.d.ts +3 -1
  479. package/node_modules/hono/dist/types/helper/ssg/ssg.d.ts +38 -36
  480. package/node_modules/hono/dist/types/helper/ssg/utils.d.ts +5 -3
  481. package/node_modules/hono/dist/types/helper/streaming/index.d.ts +4 -8
  482. package/node_modules/hono/dist/types/helper/streaming/sse.d.ts +10 -8
  483. package/node_modules/hono/dist/types/helper/streaming/stream.d.ts +4 -2
  484. package/node_modules/hono/dist/types/helper/streaming/text.d.ts +4 -2
  485. package/node_modules/hono/dist/types/helper/streaming/utils.d.ts +2 -0
  486. package/node_modules/hono/dist/types/helper/testing/index.d.ts +7 -9
  487. package/node_modules/hono/dist/types/helper/websocket/index.d.ts +30 -33
  488. package/node_modules/hono/dist/types/hono-base.d.ts +208 -210
  489. package/node_modules/hono/dist/types/hono.d.ts +11 -10
  490. package/node_modules/hono/dist/types/http-exception.d.ts +20 -22
  491. package/node_modules/hono/dist/types/index.d.ts +6 -37
  492. package/node_modules/hono/dist/types/jsx/base.d.ts +36 -34
  493. package/node_modules/hono/dist/types/jsx/children.d.ts +8 -6
  494. package/node_modules/hono/dist/types/jsx/components.d.ts +8 -5
  495. package/node_modules/hono/dist/types/jsx/constants.d.ts +2 -0
  496. package/node_modules/hono/dist/types/jsx/context.d.ts +9 -6
  497. package/node_modules/hono/dist/types/jsx/dom/client.d.ts +9 -10
  498. package/node_modules/hono/dist/types/jsx/dom/components.d.ts +9 -6
  499. package/node_modules/hono/dist/types/jsx/dom/context.d.ts +3 -1
  500. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +27 -30
  501. package/node_modules/hono/dist/types/jsx/dom/hooks/index.d.ts +11 -12
  502. package/node_modules/hono/dist/types/jsx/dom/index.d.ts +79 -83
  503. package/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +9 -5
  504. package/node_modules/hono/dist/types/jsx/dom/jsx-dev-runtime.d.ts +4 -6
  505. package/node_modules/hono/dist/types/jsx/dom/jsx-runtime.d.ts +3 -7
  506. package/node_modules/hono/dist/types/jsx/dom/render.d.ts +32 -50
  507. package/node_modules/hono/dist/types/jsx/dom/server.d.ts +87 -85
  508. package/node_modules/hono/dist/types/jsx/dom/utils.d.ts +2 -0
  509. package/node_modules/hono/dist/types/jsx/hooks/index.d.ts +16 -16
  510. package/node_modules/hono/dist/types/jsx/index.d.ts +71 -73
  511. package/node_modules/hono/dist/types/jsx/intrinsic-element/common.d.ts +3 -1
  512. package/node_modules/hono/dist/types/jsx/intrinsic-element/components.d.ts +7 -4
  513. package/node_modules/hono/dist/types/jsx/intrinsic-elements.d.ts +708 -708
  514. package/node_modules/hono/dist/types/jsx/jsx-dev-runtime.d.ts +4 -7
  515. package/node_modules/hono/dist/types/jsx/jsx-runtime.d.ts +7 -10
  516. package/node_modules/hono/dist/types/jsx/streaming.d.ts +9 -10
  517. package/node_modules/hono/dist/types/jsx/types.d.ts +12 -13
  518. package/node_modules/hono/dist/types/jsx/utils.d.ts +2 -0
  519. package/node_modules/hono/dist/types/middleware/basic-auth/index.d.ts +17 -19
  520. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +46 -48
  521. package/node_modules/hono/dist/types/middleware/body-limit/index.d.ts +6 -8
  522. package/node_modules/hono/dist/types/middleware/cache/index.d.ts +13 -15
  523. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +4 -6
  524. package/node_modules/hono/dist/types/middleware/compress/index.d.ts +9 -10
  525. package/node_modules/hono/dist/types/middleware/context-storage/index.d.ts +4 -6
  526. package/node_modules/hono/dist/types/middleware/cors/index.d.ts +10 -12
  527. package/node_modules/hono/dist/types/middleware/csrf/index.d.ts +6 -8
  528. package/node_modules/hono/dist/types/middleware/etag/digest.d.ts +2 -0
  529. package/node_modules/hono/dist/types/middleware/etag/index.d.ts +6 -8
  530. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +11 -12
  531. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +11 -11
  532. package/node_modules/hono/dist/types/middleware/jwk/index.d.ts +2 -1
  533. package/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +20 -23
  534. package/node_modules/hono/dist/types/middleware/jwt/index.d.ts +7 -6
  535. package/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +28 -30
  536. package/node_modules/hono/dist/types/middleware/language/index.d.ts +6 -5
  537. package/node_modules/hono/dist/types/middleware/language/language.d.ts +42 -44
  538. package/node_modules/hono/dist/types/middleware/logger/index.d.ts +3 -5
  539. package/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +7 -9
  540. package/node_modules/hono/dist/types/middleware/method-override/index.d.ts +14 -16
  541. package/node_modules/hono/dist/types/middleware/powered-by/index.d.ts +8 -10
  542. package/node_modules/hono/dist/types/middleware/pretty-json/index.d.ts +18 -20
  543. package/node_modules/hono/dist/types/middleware/request-id/index.d.ts +6 -5
  544. package/node_modules/hono/dist/types/middleware/request-id/request-id.d.ts +9 -11
  545. package/node_modules/hono/dist/types/middleware/secure-headers/index.d.ts +6 -6
  546. package/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +2 -0
  547. package/node_modules/hono/dist/types/middleware/secure-headers/secure-headers.d.ts +55 -57
  548. package/node_modules/hono/dist/types/middleware/serve-static/index.d.ts +24 -24
  549. package/node_modules/hono/dist/types/middleware/serve-static/path.d.ts +2 -0
  550. package/node_modules/hono/dist/types/middleware/timeout/index.d.ts +5 -7
  551. package/node_modules/hono/dist/types/middleware/timing/index.d.ts +6 -5
  552. package/node_modules/hono/dist/types/middleware/timing/timing.d.ts +17 -20
  553. package/node_modules/hono/dist/types/middleware/trailing-slash/index.d.ts +35 -37
  554. package/node_modules/hono/dist/types/preset/quick.d.ts +6 -9
  555. package/node_modules/hono/dist/types/preset/tiny.d.ts +6 -9
  556. package/node_modules/hono/dist/types/request/constants.d.ts +2 -0
  557. package/node_modules/hono/dist/types/request.d.ts +288 -286
  558. package/node_modules/hono/dist/types/router/linear-router/index.d.ts +2 -5
  559. package/node_modules/hono/dist/types/router/linear-router/router.d.ts +7 -5
  560. package/node_modules/hono/dist/types/router/pattern-router/index.d.ts +2 -5
  561. package/node_modules/hono/dist/types/router/pattern-router/router.d.ts +7 -5
  562. package/node_modules/hono/dist/types/router/reg-exp-router/index.d.ts +3 -6
  563. package/node_modules/hono/dist/types/router/reg-exp-router/matcher.d.ts +3 -1
  564. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +6 -4
  565. package/node_modules/hono/dist/types/router/reg-exp-router/prepared-router.d.ts +11 -10
  566. package/node_modules/hono/dist/types/router/reg-exp-router/router.d.ts +10 -9
  567. package/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +7 -5
  568. package/node_modules/hono/dist/types/router/smart-router/index.d.ts +2 -5
  569. package/node_modules/hono/dist/types/router/smart-router/router.d.ts +11 -9
  570. package/node_modules/hono/dist/types/router/trie-router/index.d.ts +2 -5
  571. package/node_modules/hono/dist/types/router/trie-router/node.d.ts +6 -4
  572. package/node_modules/hono/dist/types/router/trie-router/router.d.ts +7 -5
  573. package/node_modules/hono/dist/types/router/utils.d.ts +2 -0
  574. package/node_modules/hono/dist/types/router.d.ts +23 -22
  575. package/node_modules/hono/dist/types/types.d.ts +146 -505
  576. package/node_modules/hono/dist/types/utils/accept.d.ts +5 -3
  577. package/node_modules/hono/dist/types/utils/basic-auth.d.ts +4 -2
  578. package/node_modules/hono/dist/types/utils/body.d.ts +46 -50
  579. package/node_modules/hono/dist/types/utils/buffer.d.ts +7 -5
  580. package/node_modules/hono/dist/types/utils/color.d.ts +2 -0
  581. package/node_modules/hono/dist/types/utils/compress.d.ts +2 -0
  582. package/node_modules/hono/dist/types/utils/concurrent.d.ts +6 -4
  583. package/node_modules/hono/dist/types/utils/constants.d.ts +2 -0
  584. package/node_modules/hono/dist/types/utils/cookie.d.ts +20 -18
  585. package/node_modules/hono/dist/types/utils/crypto.d.ts +5 -7
  586. package/node_modules/hono/dist/types/utils/encode.d.ts +2 -0
  587. package/node_modules/hono/dist/types/utils/filepath.d.ts +5 -3
  588. package/node_modules/hono/dist/types/utils/handler.d.ts +2 -0
  589. package/node_modules/hono/dist/types/utils/headers.d.ts +2 -0
  590. package/node_modules/hono/dist/types/utils/html.d.ts +11 -9
  591. package/node_modules/hono/dist/types/utils/http-status.d.ts +2 -0
  592. package/node_modules/hono/dist/types/utils/ipaddr.d.ts +4 -6
  593. package/node_modules/hono/dist/types/utils/jwt/index.d.ts +18 -12
  594. package/node_modules/hono/dist/types/utils/jwt/jwa.d.ts +15 -13
  595. package/node_modules/hono/dist/types/utils/jwt/jws.d.ts +4 -7
  596. package/node_modules/hono/dist/types/utils/jwt/jwt.d.ts +26 -29
  597. package/node_modules/hono/dist/types/utils/jwt/types.d.ts +48 -45
  598. package/node_modules/hono/dist/types/utils/jwt/utf8.d.ts +2 -0
  599. package/node_modules/hono/dist/types/utils/mime.d.ts +60 -57
  600. package/node_modules/hono/dist/types/utils/stream.d.ts +27 -25
  601. package/node_modules/hono/dist/types/utils/types.d.ts +14 -26
  602. package/node_modules/hono/dist/types/utils/url.d.ts +2 -0
  603. package/node_modules/hono/dist/types/validator/index.d.ts +3 -7
  604. package/node_modules/hono/dist/types/validator/utils.d.ts +6 -8
  605. package/node_modules/hono/dist/types/validator/validator.d.ts +11 -9
  606. package/node_modules/hono/dist/types.js +4 -6
  607. package/node_modules/hono/dist/utils/accept.js +185 -212
  608. package/node_modules/hono/dist/utils/basic-auth.js +18 -21
  609. package/node_modules/hono/dist/utils/body.js +87 -92
  610. package/node_modules/hono/dist/utils/buffer.js +44 -71
  611. package/node_modules/hono/dist/utils/color.js +33 -21
  612. package/node_modules/hono/dist/utils/compress.js +11 -5
  613. package/node_modules/hono/dist/utils/concurrent.js +29 -38
  614. package/node_modules/hono/dist/utils/constants.js +7 -5
  615. package/node_modules/hono/dist/utils/cookie.js +114 -163
  616. package/node_modules/hono/dist/utils/crypto.js +30 -40
  617. package/node_modules/hono/dist/utils/encode.js +30 -26
  618. package/node_modules/hono/dist/utils/filepath.js +23 -33
  619. package/node_modules/hono/dist/utils/handler.js +10 -11
  620. package/node_modules/hono/dist/utils/headers.js +1 -0
  621. package/node_modules/hono/dist/utils/html.js +97 -117
  622. package/node_modules/hono/dist/utils/http-status.js +1 -0
  623. package/node_modules/hono/dist/utils/ipaddr.js +227 -279
  624. package/node_modules/hono/dist/utils/jwt/index.js +12 -4
  625. package/node_modules/hono/dist/utils/jwt/jwa.js +24 -20
  626. package/node_modules/hono/dist/utils/jwt/jws.js +115 -174
  627. package/node_modules/hono/dist/utils/jwt/jwt.js +120 -198
  628. package/node_modules/hono/dist/utils/jwt/types.js +79 -95
  629. package/node_modules/hono/dist/utils/jwt/utf8.js +9 -7
  630. package/node_modules/hono/dist/utils/mime.js +74 -79
  631. package/node_modules/hono/dist/utils/stream.js +86 -88
  632. package/node_modules/hono/dist/utils/types.js +1 -0
  633. package/node_modules/hono/dist/utils/url.js +187 -215
  634. package/node_modules/hono/dist/validator/index.js +1 -4
  635. package/node_modules/hono/dist/validator/utils.js +1 -0
  636. package/node_modules/hono/dist/validator/validator.js +61 -83
  637. package/node_modules/hono/package.json +27 -27
  638. package/package.json +2 -2
  639. package/profiles/README.md +20 -0
  640. package/profiles/index.json +2 -1
  641. package/profiles/sales/0.1.profile.json +252 -0
  642. package/server.js +99 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hono",
3
- "version": "4.13.9",
3
+ "version": "4.13.12",
4
4
  "description": "Web framework built on Web Standards",
5
5
  "main": "dist/cjs/index.js",
6
6
  "type": "module",
@@ -11,29 +11,31 @@
11
11
  "!dist/**/*.tsbuildinfo"
12
12
  ],
13
13
  "scripts": {
14
- "test": "tsc -p tsconfig.spec.json && vitest --run",
15
- "test:watch": "vitest --watch",
14
+ "test": "tsc -p tsconfig.spec.json && vp test --run",
15
+ "test:watch": "vp test --watch",
16
16
  "test:deno": "deno test --allow-read --allow-env --allow-write --allow-net -c runtime-tests/deno/deno.json runtime-tests/deno && deno test --no-lock -c runtime-tests/deno-jsx/deno.precompile.json runtime-tests/deno-jsx && deno test --no-lock -c runtime-tests/deno-jsx/deno.react-jsx.json runtime-tests/deno-jsx",
17
- "test:bun": "bun test --jsx-import-source ../../src/jsx runtime-tests/bun/*",
18
- "test:fastly": "vitest --run --project fastly",
19
- "test:node": "vitest --run --project node",
20
- "test:workerd": "vitest --run --project workerd",
21
- "test:lambda": "vitest --run --project lambda",
22
- "test:lambda-edge": "vitest --run --project lambda-edge",
23
- "test:all": "bun run test && bun test:deno && bun test:bun",
24
- "lint": "eslint src runtime-tests build perf-measures benchmarks",
25
- "lint:fix": "eslint src runtime-tests build perf-measures benchmarks --fix",
26
- "format": "prettier --check --cache \"src/**/*.{js,ts,tsx}\" \"runtime-tests/**/*.{js,ts,tsx}\" \"build/**/*.{js,ts,tsx}\" \"perf-measures/**/*.{js,ts,tsx}\" \"benchmarks/**/*.{js,ts,tsx}\"",
27
- "format:fix": "prettier --write --cache --cache-strategy metadata \"src/**/*.{js,ts,tsx}\" \"runtime-tests/**/*.{js,ts,tsx}\" \"build/**/*.{js,ts,tsx}\" \"perf-measures/**/*.{js,ts,tsx}\" \"benchmarks/**/*.{js,ts,tsx}\"",
17
+ "test:bun": "bun test --jsx-import-source ../../src/jsx runtime-tests/bun",
18
+ "test:fastly": "vp test --run --project fastly",
19
+ "test:node": "vp test --run --project node",
20
+ "test:workerd": "vp test --run --project workerd",
21
+ "test:all": "pnpm run test && pnpm run test:deno && pnpm run test:bun",
22
+ "check": "vp check",
23
+ "check:fix": "vp check --fix",
24
+ "lint": "vp lint src runtime-tests build perf-measures benchmarks adapters",
25
+ "lint:fix": "vp lint --fix src runtime-tests build perf-measures benchmarks adapters",
26
+ "format": "vp fmt --check \"src/**/*.{js,ts,tsx}\" \"runtime-tests/**/*.{js,ts,tsx}\" \"build/**/*.{js,ts,tsx}\" \"perf-measures/**/*.{js,ts,tsx}\" \"benchmarks/**/*.{js,ts,tsx}\" \"adapters/**/*.{js,ts,tsx}\"",
27
+ "format:fix": "vp fmt \"src/**/*.{js,ts,tsx}\" \"runtime-tests/**/*.{js,ts,tsx}\" \"build/**/*.{js,ts,tsx}\" \"perf-measures/**/*.{js,ts,tsx}\" \"benchmarks/**/*.{js,ts,tsx}\" \"adapters/**/*.{js,ts,tsx}\"",
28
28
  "editorconfig-checker": "editorconfig-checker",
29
29
  "copy:package.cjs.json": "cp ./package.cjs.json ./dist/cjs/package.json && cp ./package.cjs.json ./dist/types/package.json",
30
- "build": "bun run --shell bun remove-dist && bun ./build/build.ts && bun run copy:package.cjs.json",
31
- "postbuild": "publint",
32
- "watch": "bun run --shell bun remove-dist && bun ./build/build.ts --watch && bun run copy:package.cjs.json",
33
- "coverage": "vitest --run --coverage",
34
- "prerelease": "bun test:deno && bun run build",
30
+ "build": "pnpm run remove-dist && vp pack && pnpm run copy:package.cjs.json && publint",
31
+ "watch": "pnpm run remove-dist && vp pack --watch && pnpm run copy:package.cjs.json",
32
+ "coverage": "vp test --run --coverage",
33
+ "prerelease": "pnpm run test:deno && pnpm run build",
35
34
  "release": "np --no-publish",
36
- "remove-dist": "rm -rf dist"
35
+ "remove-dist": "rm -rf dist",
36
+ "build:adapters": "pnpm -r --filter \"./adapters/*\" run build",
37
+ "test:adapters": "pnpm -r --filter \"./adapters/*\" run test",
38
+ "release:adapter": "node ./build/release-adapter.ts"
37
39
  },
38
40
  "exports": {
39
41
  ".": {
@@ -674,32 +676,30 @@
674
676
  "nodejs"
675
677
  ],
676
678
  "devDependencies": {
677
- "@hono/eslint-config": "^2.1.1",
678
679
  "@hono/node-server": "^2.0.12",
679
680
  "@types/jsdom": "^21.1.7",
680
681
  "@types/node": "^24.3.0",
681
682
  "@types/ws": "^8.18.1",
682
683
  "@typescript/native-preview": "7.0.0-dev.20260210.1",
683
- "@vitest/coverage-v8": "^4.1.7",
684
+ "@vitest/coverage-v8": "5.0.1",
684
685
  "bun-types": "^1.2.20",
685
686
  "editorconfig-checker": "6.2.0",
686
687
  "esbuild": "^0.27.1",
687
- "eslint": "^9.39.3",
688
688
  "jsdom": "22.1.0",
689
689
  "msw": "^2.6.0",
690
690
  "np": "11.2.1",
691
- "oxc-parser": "^0.96.0",
692
691
  "pkg-pr-new": "^0.0.53",
693
- "prettier": "3.7.4",
694
692
  "publint": "0.3.15",
693
+ "rolldown": "^1.2.10",
695
694
  "typescript": "^6.0.3",
696
695
  "vite-plugin-fastly-js-compute": "^0.4.2",
697
- "vitest": "^4.1.9",
696
+ "vite-plus": "1.0.0",
697
+ "vitest": "5.0.1",
698
698
  "wrangler": "4.107.0",
699
699
  "ws": "^8.21.0",
700
700
  "zod": "^3.23.8"
701
701
  },
702
- "packageManager": "bun@1.2.20",
702
+ "packageManager": "pnpm@12.6.0",
703
703
  "engines": {
704
704
  "node": ">=16.9.0"
705
705
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@suveren/gateway",
3
- "version": "0.8.7",
3
+ "version": "0.9.0",
4
4
  "description": "Suveren gateway — local agent gateway built in compliance with the Human Agency Protocol (HAP). Runs the UI, control plane, and MCP server in one Node process.",
5
5
  "type": "module",
6
6
  "main": "server.js",
@@ -24,7 +24,7 @@
24
24
  "node": ">=20"
25
25
  },
26
26
  "dependencies": {
27
- "@hap/core": "npm:@humanagencyp/hap-core@^0.10.0",
27
+ "@hap/core": "npm:@humanagencyp/hap-core@^0.10.1",
28
28
  "@hpke/core": "^1.9.0",
29
29
  "express": "^4.18.0",
30
30
  "http-proxy-middleware": "^3.0.0",
@@ -183,6 +183,26 @@ Governs accessing and modifying personal structured data: queries, schema change
183
183
 
184
184
  ---
185
185
 
186
+ ### sales — Sales
187
+
188
+ Governs quote-to-order in an ERP: draft quotes, send quotes to customers (a binding offer), convert quotes to orders (reserves stock, commits a delivery date). No invoicing, delivery, payments or master data. Reference connector: `@humanagencyp/erp-mcp`, which re-derives the declared value and discount from the document and refuses a mismatch.
189
+
190
+ | Bound | Type | Purpose |
191
+ |-------|------|---------|
192
+ | `read_access` | enum | Look up items, stock, prices, customers, quotes, orders |
193
+ | `value_max` | per-transaction | Maximum net value of one quote or order |
194
+ | `discount_max` | per-transaction | Maximum discount against list price (percent) |
195
+ | `order_value_daily_max` | cumulative | Daily order value cap (orders only) |
196
+ | `quote_daily_max` | cumulative | Draft quotes per day |
197
+ | `send_daily_max` | cumulative | Quotes sent per day |
198
+ | `order_daily_max` | cumulative | Orders per day |
199
+
200
+ | Context | Type | Purpose |
201
+ |---------|------|---------|
202
+ | `currency` | enum | Permitted document currency |
203
+
204
+ ---
205
+
186
206
  ## How Profiles Work
187
207
 
188
208
  A human creates an authorization by selecting a profile and execution path, setting the bounds, and answering the gate questions. Domain owners cryptographically attest to the bounds. The Gatekeeper then enforces those bounds on every tool call:
@@ -22,6 +22,7 @@
22
22
  "github.com/humanagencyprotocol/hap-profiles/customers@0.7": "customers/0.7.profile.json",
23
23
  "github.com/humanagencyprotocol/hap-profiles/deploy@0.9": "deploy/0.9.profile.json",
24
24
  "github.com/humanagencyprotocol/hap-profiles/deploy@0.10": "deploy/0.10.profile.json",
25
- "github.com/humanagencyprotocol/hap-profiles/charge@0.5": "charge/0.5.profile.json"
25
+ "github.com/humanagencyprotocol/hap-profiles/charge@0.5": "charge/0.5.profile.json",
26
+ "github.com/humanagencyprotocol/hap-profiles/sales@0.1": "sales/0.1.profile.json"
26
27
  }
27
28
  }
@@ -0,0 +1,252 @@
1
+ {
2
+ "id": "github.com/humanagencyprotocol/hap-profiles/sales@0.1",
3
+ "name": "Sales",
4
+ "version": "0.1",
5
+ "description": "Sales authority — governs quote-to-order in an ERP: draft quotes, send quotes to customers, convert quotes to orders. No invoicing, delivery, payments or master data.",
6
+ "boundsSchema": {
7
+ "actionTypes": [
8
+ "quote",
9
+ "send",
10
+ "order"
11
+ ],
12
+ "keyOrder": [
13
+ "profile",
14
+ "read_access",
15
+ "value_max",
16
+ "discount_max",
17
+ "order_value_daily_max",
18
+ "quote_daily_max",
19
+ "send_daily_max",
20
+ "order_daily_max"
21
+ ],
22
+ "fields": {
23
+ "profile": {
24
+ "type": "string",
25
+ "required": true
26
+ },
27
+ "read_access": {
28
+ "type": "string",
29
+ "required": true,
30
+ "displayName": "Read access",
31
+ "description": "Allow the agent to look up items, stock, list prices, customers (incl. credit limit and open balance), quotes and orders.",
32
+ "boundType": {
33
+ "kind": "enum",
34
+ "values": [
35
+ "unlimited",
36
+ "none"
37
+ ]
38
+ },
39
+ "toolsDescription": "list_items, get_item, find_customers, get_customer, list_quotes, get_quote, list_orders, get_order",
40
+ "default": "unlimited"
41
+ },
42
+ "value_max": {
43
+ "type": "number",
44
+ "required": true,
45
+ "displayName": "Max value per quote or order",
46
+ "description": "Maximum net document total of a single quote or order, in currency units. The connector recalculates the total from the lines and refuses a call whose declared value does not match.",
47
+ "unit": "currency:EUR",
48
+ "boundType": {
49
+ "kind": "per_transaction",
50
+ "of": "value"
51
+ }
52
+ },
53
+ "discount_max": {
54
+ "type": "number",
55
+ "required": true,
56
+ "displayName": "Max discount",
57
+ "description": "Maximum document discount against list price, in percent. 0 means list price only. The connector recalculates the discount from list prices and refuses a call whose declared discount does not match.",
58
+ "unit": "percent",
59
+ "boundType": {
60
+ "kind": "per_transaction",
61
+ "of": "discount_pct"
62
+ }
63
+ },
64
+ "order_value_daily_max": {
65
+ "type": "number",
66
+ "required": true,
67
+ "displayName": "Daily order value",
68
+ "description": "Maximum cumulative net value of orders created per day, in currency units.",
69
+ "unit": "currency:EUR",
70
+ "boundType": {
71
+ "kind": "cumulative_sum",
72
+ "of": "value",
73
+ "window": "daily"
74
+ },
75
+ "appliesTo": [
76
+ "order"
77
+ ]
78
+ },
79
+ "quote_daily_max": {
80
+ "type": "number",
81
+ "required": true,
82
+ "displayName": "Quotes per day",
83
+ "description": "Maximum draft quotes created or edited per day",
84
+ "unit": "count",
85
+ "boundType": {
86
+ "kind": "cumulative_count",
87
+ "window": "daily"
88
+ },
89
+ "appliesTo": [
90
+ "quote"
91
+ ]
92
+ },
93
+ "send_daily_max": {
94
+ "type": "number",
95
+ "required": true,
96
+ "displayName": "Quotes sent per day",
97
+ "description": "Maximum quotes sent to customers per day. Sending a quote is a binding offer.",
98
+ "unit": "count",
99
+ "boundType": {
100
+ "kind": "cumulative_count",
101
+ "window": "daily"
102
+ },
103
+ "appliesTo": [
104
+ "send"
105
+ ]
106
+ },
107
+ "order_daily_max": {
108
+ "type": "number",
109
+ "required": true,
110
+ "displayName": "Orders per day",
111
+ "description": "Maximum quotes converted to orders per day. An order reserves stock and commits a delivery date.",
112
+ "unit": "count",
113
+ "boundType": {
114
+ "kind": "cumulative_count",
115
+ "window": "daily"
116
+ },
117
+ "appliesTo": [
118
+ "order"
119
+ ]
120
+ }
121
+ }
122
+ },
123
+ "contextSchema": {
124
+ "keyOrder": [
125
+ "currency"
126
+ ],
127
+ "fields": {
128
+ "currency": {
129
+ "type": "string",
130
+ "required": true,
131
+ "displayName": "Currency",
132
+ "description": "Permitted document currency",
133
+ "constraint": {
134
+ "type": "string",
135
+ "enforceable": [
136
+ "enum"
137
+ ]
138
+ },
139
+ "enum": [
140
+ "EUR",
141
+ "CHF",
142
+ "USD",
143
+ "GBP"
144
+ ]
145
+ }
146
+ }
147
+ },
148
+ "executionContextSchema": {
149
+ "fields": {
150
+ "value": {
151
+ "source": "declared",
152
+ "description": "Net document total in currency units (verified by the connector against the lines)",
153
+ "required": true,
154
+ "constraint": {
155
+ "type": "number",
156
+ "enforceable": [
157
+ "max"
158
+ ]
159
+ }
160
+ },
161
+ "discount_pct": {
162
+ "source": "declared",
163
+ "description": "Document discount against list price in percent (verified by the connector against list prices)",
164
+ "required": true,
165
+ "constraint": {
166
+ "type": "number",
167
+ "enforceable": [
168
+ "max"
169
+ ]
170
+ }
171
+ },
172
+ "currency": {
173
+ "source": "declared",
174
+ "description": "Document currency",
175
+ "required": true,
176
+ "constraint": {
177
+ "type": "string",
178
+ "enforceable": [
179
+ "enum"
180
+ ]
181
+ }
182
+ },
183
+ "order_value_daily": {
184
+ "source": "cumulative",
185
+ "description": "Running daily order value (resolved from execution log)",
186
+ "required": true,
187
+ "constraint": {
188
+ "type": "number",
189
+ "enforceable": [
190
+ "max"
191
+ ]
192
+ },
193
+ "cumulativeField": "value",
194
+ "window": "daily"
195
+ },
196
+ "quote_count_daily": {
197
+ "source": "cumulative",
198
+ "description": "Running daily quote count",
199
+ "required": true,
200
+ "constraint": {
201
+ "type": "number",
202
+ "enforceable": [
203
+ "max"
204
+ ]
205
+ },
206
+ "cumulativeField": "_count",
207
+ "window": "daily"
208
+ },
209
+ "send_count_daily": {
210
+ "source": "cumulative",
211
+ "description": "Running daily send count",
212
+ "required": true,
213
+ "constraint": {
214
+ "type": "number",
215
+ "enforceable": [
216
+ "max"
217
+ ]
218
+ },
219
+ "cumulativeField": "_count",
220
+ "window": "daily"
221
+ },
222
+ "order_count_daily": {
223
+ "source": "cumulative",
224
+ "description": "Running daily order count",
225
+ "required": true,
226
+ "constraint": {
227
+ "type": "number",
228
+ "enforceable": [
229
+ "max"
230
+ ]
231
+ },
232
+ "cumulativeField": "_count",
233
+ "window": "daily"
234
+ }
235
+ }
236
+ },
237
+ "requiredGates": [
238
+ "bounds",
239
+ "intent",
240
+ "commitment",
241
+ "decision_owner"
242
+ ],
243
+ "ttl": {
244
+ "default": 86400,
245
+ "max": 2592000
246
+ },
247
+ "retention_minimum": 7776000,
248
+ "content_binding": {
249
+ "version": "1",
250
+ "kind": "jcs"
251
+ }
252
+ }
package/server.js CHANGED
@@ -10,8 +10,107 @@
10
10
  import { spawn } from 'node:child_process';
11
11
  import { dirname, join } from 'node:path';
12
12
  import { fileURLToPath } from 'node:url';
13
+ import { homedir, tmpdir, constants as osConstants } from 'node:os';
14
+ import { existsSync, mkdtempSync, readFileSync, writeFileSync, rmSync } from 'node:fs';
15
+ import { resolveCaFile } from './lib/config.mjs';
13
16
 
14
17
  const __dirname = dirname(fileURLToPath(import.meta.url));
18
+ const THIS_FILE = fileURLToPath(import.meta.url);
19
+
20
+ /** Exit this process the way a shell reports a signal-terminated child: 128
21
+ * plus the signal number, so a caller (or a test) can tell "exited cleanly
22
+ * with code N" from "was killed by signal N" instead of both collapsing to
23
+ * a bare exit(1). */
24
+ function exitLikeChild(code, signal) {
25
+ if (signal) {
26
+ const num = osConstants.signals?.[signal];
27
+ process.exit(128 + (typeof num === 'number' ? num : 0));
28
+ }
29
+ process.exit(code ?? 0);
30
+ }
31
+
32
+ // ─── Internal CA bundle (--ca-file / `config set ca-file`) ─────────────────
33
+ //
34
+ // `NODE_EXTRA_CA_CERTS` is read by Node ONLY at process start, before any of
35
+ // our own code runs — setting `process.env.NODE_EXTRA_CA_CERTS` here would be
36
+ // too late to affect THIS process's own TLS. It still needs to reach the
37
+ // control-plane and MCP-server children below (those are fresh processes, so
38
+ // setting it in the `env` object we spawn them with DOES work), but this
39
+ // process itself also makes its own outbound calls in a few paths.
40
+ //
41
+ // This is the ONE place that has to handle it for every way the gateway can
42
+ // start: `suveren-gateway start` (the CLI just spawns this same file),
43
+ // autostart (launchd/systemd/Task Scheduler spawn this file DIRECTLY,
44
+ // bypassing the CLI's own flag handling), and Docker (`CMD node server.js`).
45
+ // Re-exec once, here, before anything network-related happens, rather than
46
+ // have three separate top-level entry points each remember to do it.
47
+ //
48
+ // Guarded by SUVEREN_CA_REEXEC_DONE, not by comparing NODE_EXTRA_CA_CERTS to
49
+ // the saved path: when the caller's shell already has its OWN
50
+ // NODE_EXTRA_CA_CERTS set (a corporate proxy CA, say), overwriting it would
51
+ // silently break trust for everything else this process does (npm registry
52
+ // fetches for on-demand integrations, other HTTPS calls) — so the two are
53
+ // MERGED into one combined PEM file instead. Comparing against that combined
54
+ // path would never match the saved path alone, so the guard has to be a
55
+ // dedicated marker, not a value comparison (which would also re-exec forever).
56
+ const DATA_DIR = process.env.SUVEREN_DATA_DIR ?? join(homedir(), '.suveren');
57
+ const savedCaFile = resolveCaFile(DATA_DIR);
58
+ if (savedCaFile && !process.env.SUVEREN_CA_REEXEC_DONE) {
59
+ let effectiveCaFile = savedCaFile;
60
+ /** Set only when a combined-CA temp dir was actually created, so it can be
61
+ * cleaned up on exit rather than left behind on every restart. */
62
+ let combinedDirToClean = null;
63
+ const existingCaFile = process.env.NODE_EXTRA_CA_CERTS;
64
+ if (existingCaFile && existingCaFile !== savedCaFile && existsSync(existingCaFile)) {
65
+ try {
66
+ const combined =
67
+ readFileSync(existingCaFile, 'utf8').trimEnd() + '\n' + readFileSync(savedCaFile, 'utf8').trimEnd() + '\n';
68
+ const combinedDir = mkdtempSync(join(tmpdir(), 'suveren-ca-'));
69
+ const combinedPath = join(combinedDir, 'combined-ca-certs.pem');
70
+ writeFileSync(combinedPath, combined, 'utf8');
71
+ effectiveCaFile = combinedPath;
72
+ combinedDirToClean = combinedDir;
73
+ console.error(
74
+ `[suveren-gateway] Merged --ca-file with the existing NODE_EXTRA_CA_CERTS (${existingCaFile}) ` +
75
+ `so neither trust source is lost.`,
76
+ );
77
+ } catch (err) {
78
+ console.error(
79
+ `[suveren-gateway] Could not merge NODE_EXTRA_CA_CERTS with the saved --ca-file (${err.message}); ` +
80
+ `using the saved --ca-file alone, which may break other HTTPS calls that relied on the existing one.`,
81
+ );
82
+ }
83
+ }
84
+
85
+ const child = spawn(
86
+ process.execPath,
87
+ [THIS_FILE, ...process.argv.slice(2)],
88
+ { env: { ...process.env, NODE_EXTRA_CA_CERTS: effectiveCaFile, SUVEREN_CA_REEXEC_DONE: '1' }, stdio: 'inherit' },
89
+ );
90
+ child.on('exit', (code, signal) => {
91
+ if (combinedDirToClean) {
92
+ try { rmSync(combinedDirToClean, { recursive: true, force: true }); } catch { /* best-effort */ }
93
+ }
94
+ exitLikeChild(code, signal);
95
+ });
96
+ for (const sig of ['SIGINT', 'SIGTERM']) {
97
+ process.on(sig, () => child.kill(sig));
98
+ }
99
+ // Stop here — the re-executed child (which now has NODE_EXTRA_CA_CERTS set
100
+ // from its own start) is the one that spawns control-plane + mcp-server;
101
+ // this parent's only job from here is to relay its exit code and signals,
102
+ // both wired above. Top-level await pauses the rest of THIS module's
103
+ // evaluation (the spawns below) until that promise settles, which only
104
+ // happens via the exit handler calling process.exit().
105
+ await new Promise(() => {});
106
+ }
107
+
108
+ // Reached only in the re-executed child (or when no --ca-file is set at
109
+ // all). SUVEREN_CA_REEXEC_DONE is bookkeeping for the block above — internal
110
+ // to this file, and meaningless (worse, confusing) to anything downstream —
111
+ // so it must not ride along in the env every child process below inherits
112
+ // via `...process.env`, all the way down to individual integrations.
113
+ delete process.env.SUVEREN_CA_REEXEC_DONE;
15
114
 
16
115
  const CP_PORT = process.env.SUVEREN_CP_PORT ?? '3400';
17
116
  const MCP_PORT = process.env.SUVEREN_MCP_PORT ?? '3430';