raffel 0.2.3 → 1.0.0-next.f81d4db

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 (590) hide show
  1. package/dist/adapters/grpc.d.ts.map +1 -1
  2. package/dist/adapters/grpc.js +1 -15
  3. package/dist/adapters/grpc.js.map +1 -1
  4. package/dist/adapters/http.d.ts +6 -0
  5. package/dist/adapters/http.d.ts.map +1 -1
  6. package/dist/adapters/http.js +53 -86
  7. package/dist/adapters/http.js.map +1 -1
  8. package/dist/adapters/index.d.ts +0 -2
  9. package/dist/adapters/index.d.ts.map +1 -1
  10. package/dist/adapters/index.js +0 -2
  11. package/dist/adapters/index.js.map +1 -1
  12. package/dist/adapters/tcp.d.ts +16 -0
  13. package/dist/adapters/tcp.d.ts.map +1 -1
  14. package/dist/adapters/tcp.js +85 -34
  15. package/dist/adapters/tcp.js.map +1 -1
  16. package/dist/adapters/websocket.d.ts.map +1 -1
  17. package/dist/adapters/websocket.js +1 -14
  18. package/dist/adapters/websocket.js.map +1 -1
  19. package/dist/cache/drivers/index.d.ts +0 -1
  20. package/dist/cache/drivers/index.d.ts.map +1 -1
  21. package/dist/cache/drivers/index.js +0 -1
  22. package/dist/cache/drivers/index.js.map +1 -1
  23. package/dist/cache/factory.d.ts +2 -9
  24. package/dist/cache/factory.d.ts.map +1 -1
  25. package/dist/cache/factory.js +1 -19
  26. package/dist/cache/factory.js.map +1 -1
  27. package/dist/cache/index.d.ts +2 -7
  28. package/dist/cache/index.d.ts.map +1 -1
  29. package/dist/cache/index.js +1 -6
  30. package/dist/cache/index.js.map +1 -1
  31. package/dist/cache/types.d.ts +1 -32
  32. package/dist/cache/types.d.ts.map +1 -1
  33. package/dist/core/event-delivery.d.ts.map +1 -1
  34. package/dist/core/event-delivery.js +5 -3
  35. package/dist/core/event-delivery.js.map +1 -1
  36. package/dist/core/index.d.ts +1 -1
  37. package/dist/core/index.d.ts.map +1 -1
  38. package/dist/core/registry.d.ts +3 -3
  39. package/dist/core/registry.d.ts.map +1 -1
  40. package/dist/core/registry.js +30 -8
  41. package/dist/core/registry.js.map +1 -1
  42. package/dist/core/router.d.ts.map +1 -1
  43. package/dist/core/router.js +5 -4
  44. package/dist/core/router.js.map +1 -1
  45. package/dist/docs/generators/code-samples.d.ts +32 -0
  46. package/dist/docs/generators/code-samples.d.ts.map +1 -0
  47. package/dist/docs/generators/code-samples.js +322 -0
  48. package/dist/docs/generators/code-samples.js.map +1 -0
  49. package/dist/docs/generators/errors-types.d.ts +2 -2
  50. package/dist/docs/generators/errors-types.js +2 -2
  51. package/dist/docs/generators/http-generator.d.ts +10 -0
  52. package/dist/docs/generators/http-generator.d.ts.map +1 -1
  53. package/dist/docs/generators/http-generator.js +100 -3
  54. package/dist/docs/generators/http-generator.js.map +1 -1
  55. package/dist/docs/generators/usd-generator.d.ts +31 -1
  56. package/dist/docs/generators/usd-generator.d.ts.map +1 -1
  57. package/dist/docs/generators/usd-generator.js +19 -1
  58. package/dist/docs/generators/usd-generator.js.map +1 -1
  59. package/dist/docs/generators/websocket-generator.d.ts.map +1 -1
  60. package/dist/docs/generators/websocket-generator.js +6 -4
  61. package/dist/docs/generators/websocket-generator.js.map +1 -1
  62. package/dist/docs/ui/html-builder.d.ts.map +1 -1
  63. package/dist/docs/ui/html-builder.js +260 -54
  64. package/dist/docs/ui/html-builder.js.map +1 -1
  65. package/dist/docs/ui/styles.d.ts.map +1 -1
  66. package/dist/docs/ui/styles.js +240 -30
  67. package/dist/docs/ui/styles.js.map +1 -1
  68. package/dist/docs/ui/types.d.ts +15 -1
  69. package/dist/docs/ui/types.d.ts.map +1 -1
  70. package/dist/docs/usd-middleware.d.ts +32 -7
  71. package/dist/docs/usd-middleware.d.ts.map +1 -1
  72. package/dist/docs/usd-middleware.js +5 -1
  73. package/dist/docs/usd-middleware.js.map +1 -1
  74. package/dist/dx/index.d.ts +2 -0
  75. package/dist/dx/index.d.ts.map +1 -1
  76. package/dist/dx/index.js +1 -0
  77. package/dist/dx/index.js.map +1 -1
  78. package/dist/dx/logging/index.d.ts.map +1 -1
  79. package/dist/dx/logging/index.js +5 -3
  80. package/dist/dx/logging/index.js.map +1 -1
  81. package/dist/dx/scenarios.d.ts +26 -0
  82. package/dist/dx/scenarios.d.ts.map +1 -0
  83. package/dist/dx/scenarios.js +109 -0
  84. package/dist/dx/scenarios.js.map +1 -0
  85. package/dist/errors/codes.d.ts +1 -1
  86. package/dist/errors/codes.js +1 -1
  87. package/dist/graphql/adapter.js +1 -1
  88. package/dist/http/index.d.ts +2 -0
  89. package/dist/http/index.d.ts.map +1 -1
  90. package/dist/http/index.js +4 -0
  91. package/dist/http/index.js.map +1 -1
  92. package/dist/http/openapi-ui.d.ts +174 -0
  93. package/dist/http/openapi-ui.d.ts.map +1 -0
  94. package/dist/http/openapi-ui.js +221 -0
  95. package/dist/http/openapi-ui.js.map +1 -0
  96. package/dist/http/serve.d.ts +14 -0
  97. package/dist/http/serve.d.ts.map +1 -1
  98. package/dist/http/serve.js +8 -1
  99. package/dist/http/serve.js.map +1 -1
  100. package/dist/index.d.ts +17 -10
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +12 -6
  103. package/dist/index.js.map +1 -1
  104. package/dist/mcp/cli.d.ts +2 -1
  105. package/dist/mcp/cli.d.ts.map +1 -1
  106. package/dist/mcp/cli.js +30 -7
  107. package/dist/mcp/cli.js.map +1 -1
  108. package/dist/mcp/docs/adapters.d.ts.map +1 -1
  109. package/dist/mcp/docs/adapters.js +1 -117
  110. package/dist/mcp/docs/adapters.js.map +1 -1
  111. package/dist/mcp/docs/index.d.ts +0 -1
  112. package/dist/mcp/docs/index.d.ts.map +1 -1
  113. package/dist/mcp/docs/index.js +0 -1
  114. package/dist/mcp/docs/index.js.map +1 -1
  115. package/dist/mcp/docs/interceptors.d.ts.map +1 -1
  116. package/dist/mcp/docs/interceptors.js +272 -1
  117. package/dist/mcp/docs/interceptors.js.map +1 -1
  118. package/dist/mcp/docs/patterns.js +1 -1
  119. package/dist/mcp/prompts/index.d.ts.map +1 -1
  120. package/dist/mcp/prompts/index.js +147 -22
  121. package/dist/mcp/prompts/index.js.map +1 -1
  122. package/dist/mcp/resources/index.d.ts.map +1 -1
  123. package/dist/mcp/resources/index.js +508 -10
  124. package/dist/mcp/resources/index.js.map +1 -1
  125. package/dist/mcp/server.js +1 -1
  126. package/dist/mcp/server.js.map +1 -1
  127. package/dist/mcp/tools/definitions.d.ts +2 -0
  128. package/dist/mcp/tools/definitions.d.ts.map +1 -1
  129. package/dist/mcp/tools/definitions.js +149 -1
  130. package/dist/mcp/tools/definitions.js.map +1 -1
  131. package/dist/mcp/tools/handlers.d.ts.map +1 -1
  132. package/dist/mcp/tools/handlers.js +828 -44
  133. package/dist/mcp/tools/handlers.js.map +1 -1
  134. package/dist/mcp/types.d.ts +1 -1
  135. package/dist/mcp/types.d.ts.map +1 -1
  136. package/dist/metrics/interceptor.d.ts.map +1 -1
  137. package/dist/metrics/interceptor.js +10 -2
  138. package/dist/metrics/interceptor.js.map +1 -1
  139. package/dist/middleware/interceptors/cache.d.ts +1 -1
  140. package/dist/middleware/interceptors/cache.d.ts.map +1 -1
  141. package/dist/middleware/interceptors/cache.js +4 -2
  142. package/dist/middleware/interceptors/cache.js.map +1 -1
  143. package/dist/middleware/interceptors/envelope.d.ts.map +1 -1
  144. package/dist/middleware/interceptors/envelope.js +12 -14
  145. package/dist/middleware/interceptors/envelope.js.map +1 -1
  146. package/dist/middleware/interceptors/logging.d.ts.map +1 -1
  147. package/dist/middleware/interceptors/logging.js +11 -6
  148. package/dist/middleware/interceptors/logging.js.map +1 -1
  149. package/dist/middleware/session/drivers/memory.d.ts +36 -0
  150. package/dist/middleware/session/drivers/memory.d.ts.map +1 -0
  151. package/dist/middleware/session/drivers/memory.js +82 -0
  152. package/dist/middleware/session/drivers/memory.js.map +1 -0
  153. package/dist/middleware/session/drivers/redis.d.ts +58 -0
  154. package/dist/middleware/session/drivers/redis.d.ts.map +1 -0
  155. package/dist/middleware/session/drivers/redis.js +70 -0
  156. package/dist/middleware/session/drivers/redis.js.map +1 -0
  157. package/dist/middleware/session/drivers/s3db.d.ts +65 -0
  158. package/dist/middleware/session/drivers/s3db.d.ts.map +1 -0
  159. package/dist/middleware/session/drivers/s3db.js +98 -0
  160. package/dist/middleware/session/drivers/s3db.js.map +1 -0
  161. package/dist/middleware/session/index.d.ts +47 -0
  162. package/dist/middleware/session/index.d.ts.map +1 -0
  163. package/dist/middleware/session/index.js +46 -0
  164. package/dist/middleware/session/index.js.map +1 -0
  165. package/dist/middleware/session/interceptor.d.ts +42 -0
  166. package/dist/middleware/session/interceptor.d.ts.map +1 -0
  167. package/dist/middleware/session/interceptor.js +264 -0
  168. package/dist/middleware/session/interceptor.js.map +1 -0
  169. package/dist/middleware/session/types.d.ts +116 -0
  170. package/dist/middleware/session/types.d.ts.map +1 -0
  171. package/dist/middleware/session/types.js +9 -0
  172. package/dist/middleware/session/types.js.map +1 -0
  173. package/dist/proxy/connect-tunnel.d.ts +50 -0
  174. package/dist/proxy/connect-tunnel.d.ts.map +1 -0
  175. package/dist/proxy/connect-tunnel.js +163 -0
  176. package/dist/proxy/connect-tunnel.js.map +1 -0
  177. package/dist/proxy/http-forward.d.ts +48 -0
  178. package/dist/proxy/http-forward.d.ts.map +1 -0
  179. package/dist/proxy/http-forward.js +160 -0
  180. package/dist/proxy/http-forward.js.map +1 -0
  181. package/dist/proxy/index.d.ts +19 -0
  182. package/dist/proxy/index.d.ts.map +1 -0
  183. package/dist/proxy/index.js +14 -0
  184. package/dist/proxy/index.js.map +1 -0
  185. package/dist/proxy/socks5.d.ts +22 -0
  186. package/dist/proxy/socks5.d.ts.map +1 -0
  187. package/dist/proxy/socks5.js +307 -0
  188. package/dist/proxy/socks5.js.map +1 -0
  189. package/dist/proxy/transparent.d.ts +40 -0
  190. package/dist/proxy/transparent.d.ts.map +1 -0
  191. package/dist/proxy/transparent.js +144 -0
  192. package/dist/proxy/transparent.js.map +1 -0
  193. package/dist/proxy/types.d.ts +32 -0
  194. package/dist/proxy/types.d.ts.map +1 -0
  195. package/dist/proxy/types.js +5 -0
  196. package/dist/proxy/types.js.map +1 -0
  197. package/dist/proxy/utils/auth.d.ts +31 -0
  198. package/dist/proxy/utils/auth.d.ts.map +1 -0
  199. package/dist/proxy/utils/auth.js +69 -0
  200. package/dist/proxy/utils/auth.js.map +1 -0
  201. package/dist/proxy/utils/hop-headers.d.ts +13 -0
  202. package/dist/proxy/utils/hop-headers.d.ts.map +1 -0
  203. package/dist/proxy/utils/hop-headers.js +38 -0
  204. package/dist/proxy/utils/hop-headers.js.map +1 -0
  205. package/dist/proxy/utils/pipe.d.ts +22 -0
  206. package/dist/proxy/utils/pipe.d.ts.map +1 -0
  207. package/dist/proxy/utils/pipe.js +60 -0
  208. package/dist/proxy/utils/pipe.js.map +1 -0
  209. package/dist/rate-limit/factory.d.ts.map +1 -1
  210. package/dist/rate-limit/factory.js +30 -6
  211. package/dist/rate-limit/factory.js.map +1 -1
  212. package/dist/server/builder/config-preview.d.ts +34 -0
  213. package/dist/server/builder/config-preview.d.ts.map +1 -0
  214. package/dist/server/builder/config-preview.js +95 -0
  215. package/dist/server/builder/config-preview.js.map +1 -0
  216. package/dist/server/builder/lifecycle-utils.d.ts +11 -0
  217. package/dist/server/builder/lifecycle-utils.d.ts.map +1 -0
  218. package/dist/server/builder/lifecycle-utils.js +32 -0
  219. package/dist/server/builder/lifecycle-utils.js.map +1 -0
  220. package/dist/server/builder/lifecycle.d.ts +86 -0
  221. package/dist/server/builder/lifecycle.d.ts.map +1 -0
  222. package/dist/server/builder/lifecycle.js +738 -0
  223. package/dist/server/builder/lifecycle.js.map +1 -0
  224. package/dist/server/builder/single-port-utils.d.ts +27 -0
  225. package/dist/server/builder/single-port-utils.d.ts.map +1 -0
  226. package/dist/server/builder/single-port-utils.js +170 -0
  227. package/dist/server/builder/single-port-utils.js.map +1 -0
  228. package/dist/server/builder.d.ts.map +1 -1
  229. package/dist/server/builder.js +446 -601
  230. package/dist/server/builder.js.map +1 -1
  231. package/dist/server/discovery-bootstrap.d.ts +21 -0
  232. package/dist/server/discovery-bootstrap.d.ts.map +1 -0
  233. package/dist/server/discovery-bootstrap.js +39 -0
  234. package/dist/server/discovery-bootstrap.js.map +1 -0
  235. package/dist/server/errors.d.ts.map +1 -1
  236. package/dist/server/errors.js +1 -33
  237. package/dist/server/errors.js.map +1 -1
  238. package/dist/server/front-door.d.ts +34 -0
  239. package/dist/server/front-door.d.ts.map +1 -0
  240. package/dist/server/front-door.js +238 -0
  241. package/dist/server/front-door.js.map +1 -0
  242. package/dist/server/fs-routes/types.d.ts +6 -0
  243. package/dist/server/fs-routes/types.d.ts.map +1 -1
  244. package/dist/server/handler-builders.d.ts +22 -4
  245. package/dist/server/handler-builders.d.ts.map +1 -1
  246. package/dist/server/handler-builders.js +37 -14
  247. package/dist/server/handler-builders.js.map +1 -1
  248. package/dist/server/index.d.ts +4 -1
  249. package/dist/server/index.d.ts.map +1 -1
  250. package/dist/server/index.js +2 -0
  251. package/dist/server/index.js.map +1 -1
  252. package/dist/server/interceptor-utils.d.ts +8 -0
  253. package/dist/server/interceptor-utils.d.ts.map +1 -0
  254. package/dist/server/interceptor-utils.js +23 -0
  255. package/dist/server/interceptor-utils.js.map +1 -0
  256. package/dist/server/port-binding.d.ts +44 -0
  257. package/dist/server/port-binding.d.ts.map +1 -0
  258. package/dist/server/port-binding.js +94 -0
  259. package/dist/server/port-binding.js.map +1 -0
  260. package/dist/server/protocol-aliases.d.ts +56 -0
  261. package/dist/server/protocol-aliases.d.ts.map +1 -0
  262. package/dist/server/protocol-aliases.js +47 -0
  263. package/dist/server/protocol-aliases.js.map +1 -0
  264. package/dist/server/protocol-config.d.ts +17 -1
  265. package/dist/server/protocol-config.d.ts.map +1 -1
  266. package/dist/server/protocol-config.js +116 -9
  267. package/dist/server/protocol-config.js.map +1 -1
  268. package/dist/server/resource-builder.js +3 -3
  269. package/dist/server/resource-builder.js.map +1 -1
  270. package/dist/server/rest-middleware.d.ts.map +1 -1
  271. package/dist/server/rest-middleware.js +1 -15
  272. package/dist/server/rest-middleware.js.map +1 -1
  273. package/dist/server/router-module.d.ts.map +1 -1
  274. package/dist/server/router-module.js +22 -99
  275. package/dist/server/router-module.js.map +1 -1
  276. package/dist/server/shared-context.d.ts.map +1 -1
  277. package/dist/server/shared-context.js +3 -1
  278. package/dist/server/shared-context.js.map +1 -1
  279. package/dist/server/single-port/dispatcher.d.ts +10 -0
  280. package/dist/server/single-port/dispatcher.d.ts.map +1 -0
  281. package/dist/server/single-port/dispatcher.js +188 -0
  282. package/dist/server/single-port/dispatcher.js.map +1 -0
  283. package/dist/server/single-port/index.d.ts +4 -0
  284. package/dist/server/single-port/index.d.ts.map +1 -0
  285. package/dist/server/single-port/index.js +3 -0
  286. package/dist/server/single-port/index.js.map +1 -0
  287. package/dist/server/single-port/registry.d.ts +19 -0
  288. package/dist/server/single-port/registry.d.ts.map +1 -0
  289. package/dist/server/single-port/registry.js +24 -0
  290. package/dist/server/single-port/registry.js.map +1 -0
  291. package/dist/server/single-port/types.d.ts +46 -0
  292. package/dist/server/single-port/types.d.ts.map +1 -0
  293. package/dist/server/single-port/types.js +2 -0
  294. package/dist/server/single-port/types.js.map +1 -0
  295. package/dist/server/telemetry-bootstrap.d.ts +38 -0
  296. package/dist/server/telemetry-bootstrap.d.ts.map +1 -0
  297. package/dist/server/telemetry-bootstrap.js +115 -0
  298. package/dist/server/telemetry-bootstrap.js.map +1 -0
  299. package/dist/server/types.d.ts +422 -21
  300. package/dist/server/types.d.ts.map +1 -1
  301. package/dist/testing/echo-protection.d.ts +30 -0
  302. package/dist/testing/echo-protection.d.ts.map +1 -0
  303. package/dist/testing/echo-protection.js +158 -0
  304. package/dist/testing/echo-protection.js.map +1 -0
  305. package/dist/testing/index.d.ts +344 -0
  306. package/dist/testing/index.d.ts.map +1 -0
  307. package/dist/testing/index.js +1072 -0
  308. package/dist/testing/index.js.map +1 -0
  309. package/dist/testing/mock-dns-server.d.ts +31 -0
  310. package/dist/testing/mock-dns-server.d.ts.map +1 -0
  311. package/dist/testing/mock-dns-server.js +247 -0
  312. package/dist/testing/mock-dns-server.js.map +1 -0
  313. package/dist/testing/mock-hls-server.d.ts +85 -0
  314. package/dist/testing/mock-hls-server.d.ts.map +1 -0
  315. package/dist/testing/mock-hls-server.js +252 -0
  316. package/dist/testing/mock-hls-server.js.map +1 -0
  317. package/dist/testing/mock-proxy-server.d.ts +78 -0
  318. package/dist/testing/mock-proxy-server.d.ts.map +1 -0
  319. package/dist/testing/mock-proxy-server.js +277 -0
  320. package/dist/testing/mock-proxy-server.js.map +1 -0
  321. package/dist/testing/mock-sse-server.d.ts +56 -0
  322. package/dist/testing/mock-sse-server.d.ts.map +1 -0
  323. package/dist/testing/mock-sse-server.js +206 -0
  324. package/dist/testing/mock-sse-server.js.map +1 -0
  325. package/dist/testing/proxy-certs.d.ts +9 -0
  326. package/dist/testing/proxy-certs.d.ts.map +1 -0
  327. package/dist/testing/proxy-certs.js +2 -0
  328. package/dist/testing/proxy-certs.js.map +1 -0
  329. package/dist/testing/service-suite.d.ts +47 -0
  330. package/dist/testing/service-suite.d.ts.map +1 -0
  331. package/dist/testing/service-suite.js +82 -0
  332. package/dist/testing/service-suite.js.map +1 -0
  333. package/dist/testing/service-types.d.ts +32 -0
  334. package/dist/testing/service-types.d.ts.map +1 -0
  335. package/dist/testing/service-types.js +2 -0
  336. package/dist/testing/service-types.js.map +1 -0
  337. package/dist/ui/core/event-delivery.d.ts.map +1 -1
  338. package/dist/ui/core/index.d.ts +1 -1
  339. package/dist/ui/core/index.d.ts.map +1 -1
  340. package/dist/ui/core/registry.d.ts +3 -3
  341. package/dist/ui/core/registry.d.ts.map +1 -1
  342. package/dist/ui/core/router.d.ts.map +1 -1
  343. package/dist/ui/docs/generators/code-samples.d.ts +32 -0
  344. package/dist/ui/docs/generators/code-samples.d.ts.map +1 -0
  345. package/dist/ui/docs/generators/errors-types.d.ts +2 -2
  346. package/dist/ui/docs/generators/http-generator.d.ts +10 -0
  347. package/dist/ui/docs/generators/http-generator.d.ts.map +1 -1
  348. package/dist/ui/docs/generators/usd-generator.d.ts +31 -1
  349. package/dist/ui/docs/generators/usd-generator.d.ts.map +1 -1
  350. package/dist/ui/docs/generators/websocket-generator.d.ts.map +1 -1
  351. package/dist/ui/docs/ui/html-builder.d.ts.map +1 -1
  352. package/dist/ui/docs/ui/styles.d.ts.map +1 -1
  353. package/dist/ui/docs/ui/types.d.ts +15 -1
  354. package/dist/ui/docs/ui/types.d.ts.map +1 -1
  355. package/dist/ui/docs/usd-middleware.d.ts +32 -7
  356. package/dist/ui/docs/usd-middleware.d.ts.map +1 -1
  357. package/dist/ui/errors/codes.d.ts +1 -1
  358. package/dist/ui/server/fs-routes/types.d.ts +6 -0
  359. package/dist/ui/server/fs-routes/types.d.ts.map +1 -1
  360. package/dist/ui/usd/index.d.ts +1 -1
  361. package/dist/ui/usd/index.d.ts.map +1 -1
  362. package/dist/ui/usd/spec/types.d.ts +91 -0
  363. package/dist/ui/usd/spec/types.d.ts.map +1 -1
  364. package/dist/usd/index.d.ts +1 -1
  365. package/dist/usd/index.d.ts.map +1 -1
  366. package/dist/usd/index.js.map +1 -1
  367. package/dist/usd/spec/types.d.ts +91 -0
  368. package/dist/usd/spec/types.d.ts.map +1 -1
  369. package/dist/usd/spec/types.js.map +1 -1
  370. package/dist/utils/certs.d.ts +30 -0
  371. package/dist/utils/certs.d.ts.map +1 -0
  372. package/dist/utils/certs.js +230 -0
  373. package/dist/utils/certs.js.map +1 -0
  374. package/dist/utils/context-utils.d.ts +11 -0
  375. package/dist/utils/context-utils.d.ts.map +1 -0
  376. package/dist/utils/context-utils.js +24 -0
  377. package/dist/utils/context-utils.js.map +1 -0
  378. package/package.json +11 -2
  379. package/dist/adapters/grpc.int.test.d.ts +0 -5
  380. package/dist/adapters/grpc.int.test.d.ts.map +0 -1
  381. package/dist/adapters/grpc.int.test.js +0 -168
  382. package/dist/adapters/grpc.int.test.js.map +0 -1
  383. package/dist/adapters/http.int.test.d.ts +0 -5
  384. package/dist/adapters/http.int.test.d.ts.map +0 -1
  385. package/dist/adapters/http.int.test.js +0 -396
  386. package/dist/adapters/http.int.test.js.map +0 -1
  387. package/dist/adapters/jsonrpc.int.test.d.ts +0 -5
  388. package/dist/adapters/jsonrpc.int.test.d.ts.map +0 -1
  389. package/dist/adapters/jsonrpc.int.test.js +0 -640
  390. package/dist/adapters/jsonrpc.int.test.js.map +0 -1
  391. package/dist/adapters/s3db/adapter.d.ts +0 -105
  392. package/dist/adapters/s3db/adapter.d.ts.map +0 -1
  393. package/dist/adapters/s3db/adapter.js +0 -536
  394. package/dist/adapters/s3db/adapter.js.map +0 -1
  395. package/dist/adapters/s3db/index.d.ts +0 -20
  396. package/dist/adapters/s3db/index.d.ts.map +0 -1
  397. package/dist/adapters/s3db/index.js +0 -25
  398. package/dist/adapters/s3db/index.js.map +0 -1
  399. package/dist/adapters/s3db/s3db.int.test.d.ts +0 -5
  400. package/dist/adapters/s3db/s3db.int.test.d.ts.map +0 -1
  401. package/dist/adapters/s3db/s3db.int.test.js +0 -472
  402. package/dist/adapters/s3db/s3db.int.test.js.map +0 -1
  403. package/dist/adapters/s3db/types.d.ts +0 -277
  404. package/dist/adapters/s3db/types.d.ts.map +0 -1
  405. package/dist/adapters/s3db/types.js +0 -7
  406. package/dist/adapters/s3db/types.js.map +0 -1
  407. package/dist/adapters/s3db/utils/etag.d.ts +0 -65
  408. package/dist/adapters/s3db/utils/etag.d.ts.map +0 -1
  409. package/dist/adapters/s3db/utils/etag.js +0 -99
  410. package/dist/adapters/s3db/utils/etag.js.map +0 -1
  411. package/dist/adapters/s3db/utils/guards.d.ts +0 -121
  412. package/dist/adapters/s3db/utils/guards.d.ts.map +0 -1
  413. package/dist/adapters/s3db/utils/guards.js +0 -169
  414. package/dist/adapters/s3db/utils/guards.js.map +0 -1
  415. package/dist/adapters/s3db/utils/index.d.ts +0 -9
  416. package/dist/adapters/s3db/utils/index.d.ts.map +0 -1
  417. package/dist/adapters/s3db/utils/index.js +0 -10
  418. package/dist/adapters/s3db/utils/index.js.map +0 -1
  419. package/dist/adapters/s3db/utils/populate.d.ts +0 -89
  420. package/dist/adapters/s3db/utils/populate.d.ts.map +0 -1
  421. package/dist/adapters/s3db/utils/populate.js +0 -165
  422. package/dist/adapters/s3db/utils/populate.js.map +0 -1
  423. package/dist/adapters/tcp.int.test.d.ts +0 -5
  424. package/dist/adapters/tcp.int.test.d.ts.map +0 -1
  425. package/dist/adapters/tcp.int.test.js +0 -379
  426. package/dist/adapters/tcp.int.test.js.map +0 -1
  427. package/dist/adapters/udp.int.test.d.ts +0 -5
  428. package/dist/adapters/udp.int.test.d.ts.map +0 -1
  429. package/dist/adapters/udp.int.test.js +0 -397
  430. package/dist/adapters/udp.int.test.js.map +0 -1
  431. package/dist/adapters/websocket.int.test.d.ts +0 -5
  432. package/dist/adapters/websocket.int.test.d.ts.map +0 -1
  433. package/dist/adapters/websocket.int.test.js +0 -383
  434. package/dist/adapters/websocket.int.test.js.map +0 -1
  435. package/dist/cache/drivers/memory.int.test.d.ts +0 -5
  436. package/dist/cache/drivers/memory.int.test.d.ts.map +0 -1
  437. package/dist/cache/drivers/memory.int.test.js +0 -241
  438. package/dist/cache/drivers/memory.int.test.js.map +0 -1
  439. package/dist/cache/drivers/s3db.d.ts +0 -78
  440. package/dist/cache/drivers/s3db.d.ts.map +0 -1
  441. package/dist/cache/drivers/s3db.js +0 -216
  442. package/dist/cache/drivers/s3db.js.map +0 -1
  443. package/dist/channels/channel-manager.int.test.d.ts +0 -5
  444. package/dist/channels/channel-manager.int.test.d.ts.map +0 -1
  445. package/dist/channels/channel-manager.int.test.js +0 -378
  446. package/dist/channels/channel-manager.int.test.js.map +0 -1
  447. package/dist/core/ctx-call.int.test.d.ts +0 -7
  448. package/dist/core/ctx-call.int.test.d.ts.map +0 -1
  449. package/dist/core/ctx-call.int.test.js +0 -263
  450. package/dist/core/ctx-call.int.test.js.map +0 -1
  451. package/dist/core/registry.unit.test.d.ts +0 -2
  452. package/dist/core/registry.unit.test.d.ts.map +0 -1
  453. package/dist/core/registry.unit.test.js +0 -133
  454. package/dist/core/registry.unit.test.js.map +0 -1
  455. package/dist/core/router.int.test.d.ts +0 -2
  456. package/dist/core/router.int.test.d.ts.map +0 -1
  457. package/dist/core/router.int.test.js +0 -368
  458. package/dist/core/router.int.test.js.map +0 -1
  459. package/dist/docs/generators/generators.int.test.d.ts +0 -2
  460. package/dist/docs/generators/generators.int.test.d.ts.map +0 -1
  461. package/dist/docs/generators/generators.int.test.js +0 -105
  462. package/dist/docs/generators/generators.int.test.js.map +0 -1
  463. package/dist/docs/openapi/generator.int.test.d.ts +0 -5
  464. package/dist/docs/openapi/generator.int.test.d.ts.map +0 -1
  465. package/dist/docs/openapi/generator.int.test.js +0 -260
  466. package/dist/docs/openapi/generator.int.test.js.map +0 -1
  467. package/dist/dx/health/health.int.test.d.ts +0 -5
  468. package/dist/dx/health/health.int.test.d.ts.map +0 -1
  469. package/dist/dx/health/health.int.test.js +0 -249
  470. package/dist/dx/health/health.int.test.js.map +0 -1
  471. package/dist/dx/logging/http-logging.int.test.d.ts +0 -5
  472. package/dist/dx/logging/http-logging.int.test.d.ts.map +0 -1
  473. package/dist/dx/logging/http-logging.int.test.js +0 -319
  474. package/dist/dx/logging/http-logging.int.test.js.map +0 -1
  475. package/dist/errors/factories.unit.test.d.ts +0 -7
  476. package/dist/errors/factories.unit.test.d.ts.map +0 -1
  477. package/dist/errors/factories.unit.test.js +0 -358
  478. package/dist/errors/factories.unit.test.js.map +0 -1
  479. package/dist/graphql/graphql.int.test.d.ts +0 -10
  480. package/dist/graphql/graphql.int.test.d.ts.map +0 -1
  481. package/dist/graphql/graphql.int.test.js +0 -698
  482. package/dist/graphql/graphql.int.test.js.map +0 -1
  483. package/dist/graphql/schema-generator.int.test.d.ts +0 -5
  484. package/dist/graphql/schema-generator.int.test.d.ts.map +0 -1
  485. package/dist/graphql/schema-generator.int.test.js +0 -51
  486. package/dist/graphql/schema-generator.int.test.js.map +0 -1
  487. package/dist/http/http.int.test.d.ts +0 -7
  488. package/dist/http/http.int.test.d.ts.map +0 -1
  489. package/dist/http/http.int.test.js +0 -605
  490. package/dist/http/http.int.test.js.map +0 -1
  491. package/dist/http/session-redis.int.test.d.ts +0 -8
  492. package/dist/http/session-redis.int.test.d.ts.map +0 -1
  493. package/dist/http/session-redis.int.test.js +0 -492
  494. package/dist/http/session-redis.int.test.js.map +0 -1
  495. package/dist/metrics/metrics.int.test.d.ts +0 -5
  496. package/dist/metrics/metrics.int.test.d.ts.map +0 -1
  497. package/dist/metrics/metrics.int.test.js +0 -288
  498. package/dist/metrics/metrics.int.test.js.map +0 -1
  499. package/dist/middleware/auth/oauth2.int.test.d.ts +0 -2
  500. package/dist/middleware/auth/oauth2.int.test.d.ts.map +0 -1
  501. package/dist/middleware/auth/oauth2.int.test.js +0 -714
  502. package/dist/middleware/auth/oauth2.int.test.js.map +0 -1
  503. package/dist/middleware/auth.int.test.d.ts +0 -5
  504. package/dist/middleware/auth.int.test.d.ts.map +0 -1
  505. package/dist/middleware/auth.int.test.js +0 -366
  506. package/dist/middleware/auth.int.test.js.map +0 -1
  507. package/dist/middleware/compose.int.test.d.ts +0 -7
  508. package/dist/middleware/compose.int.test.d.ts.map +0 -1
  509. package/dist/middleware/compose.int.test.js +0 -238
  510. package/dist/middleware/compose.int.test.js.map +0 -1
  511. package/dist/middleware/interceptors/bulkhead.int.test.d.ts +0 -5
  512. package/dist/middleware/interceptors/bulkhead.int.test.d.ts.map +0 -1
  513. package/dist/middleware/interceptors/bulkhead.int.test.js +0 -263
  514. package/dist/middleware/interceptors/bulkhead.int.test.js.map +0 -1
  515. package/dist/middleware/interceptors/cache.int.test.d.ts +0 -5
  516. package/dist/middleware/interceptors/cache.int.test.d.ts.map +0 -1
  517. package/dist/middleware/interceptors/cache.int.test.js +0 -470
  518. package/dist/middleware/interceptors/cache.int.test.js.map +0 -1
  519. package/dist/middleware/interceptors/circuit-breaker.int.test.d.ts +0 -5
  520. package/dist/middleware/interceptors/circuit-breaker.int.test.d.ts.map +0 -1
  521. package/dist/middleware/interceptors/circuit-breaker.int.test.js +0 -253
  522. package/dist/middleware/interceptors/circuit-breaker.int.test.js.map +0 -1
  523. package/dist/middleware/interceptors/envelope.int.test.d.ts +0 -5
  524. package/dist/middleware/interceptors/envelope.int.test.d.ts.map +0 -1
  525. package/dist/middleware/interceptors/envelope.int.test.js +0 -409
  526. package/dist/middleware/interceptors/envelope.int.test.js.map +0 -1
  527. package/dist/middleware/interceptors/fallback.int.test.d.ts +0 -5
  528. package/dist/middleware/interceptors/fallback.int.test.d.ts.map +0 -1
  529. package/dist/middleware/interceptors/fallback.int.test.js +0 -211
  530. package/dist/middleware/interceptors/fallback.int.test.js.map +0 -1
  531. package/dist/middleware/interceptors/logging.int.test.d.ts +0 -5
  532. package/dist/middleware/interceptors/logging.int.test.d.ts.map +0 -1
  533. package/dist/middleware/interceptors/logging.int.test.js +0 -144
  534. package/dist/middleware/interceptors/logging.int.test.js.map +0 -1
  535. package/dist/middleware/interceptors/rate-limit.int.test.d.ts +0 -5
  536. package/dist/middleware/interceptors/rate-limit.int.test.d.ts.map +0 -1
  537. package/dist/middleware/interceptors/rate-limit.int.test.js +0 -221
  538. package/dist/middleware/interceptors/rate-limit.int.test.js.map +0 -1
  539. package/dist/middleware/interceptors/request-id.int.test.d.ts +0 -5
  540. package/dist/middleware/interceptors/request-id.int.test.d.ts.map +0 -1
  541. package/dist/middleware/interceptors/request-id.int.test.js +0 -136
  542. package/dist/middleware/interceptors/request-id.int.test.js.map +0 -1
  543. package/dist/middleware/interceptors/retry.int.test.d.ts +0 -5
  544. package/dist/middleware/interceptors/retry.int.test.d.ts.map +0 -1
  545. package/dist/middleware/interceptors/retry.int.test.js +0 -534
  546. package/dist/middleware/interceptors/retry.int.test.js.map +0 -1
  547. package/dist/middleware/interceptors/timeout.int.test.d.ts +0 -5
  548. package/dist/middleware/interceptors/timeout.int.test.d.ts.map +0 -1
  549. package/dist/middleware/interceptors/timeout.int.test.js +0 -228
  550. package/dist/middleware/interceptors/timeout.int.test.js.map +0 -1
  551. package/dist/rate-limit/drivers/drivers.int.test.d.ts +0 -7
  552. package/dist/rate-limit/drivers/drivers.int.test.d.ts.map +0 -1
  553. package/dist/rate-limit/drivers/drivers.int.test.js +0 -466
  554. package/dist/rate-limit/drivers/drivers.int.test.js.map +0 -1
  555. package/dist/server/builder.int.test.d.ts +0 -7
  556. package/dist/server/builder.int.test.d.ts.map +0 -1
  557. package/dist/server/builder.int.test.js +0 -455
  558. package/dist/server/builder.int.test.js.map +0 -1
  559. package/dist/server/fs-routes/loader.int.test.d.ts +0 -5
  560. package/dist/server/fs-routes/loader.int.test.d.ts.map +0 -1
  561. package/dist/server/fs-routes/loader.int.test.js +0 -48
  562. package/dist/server/fs-routes/loader.int.test.js.map +0 -1
  563. package/dist/server/hooks.int.test.d.ts +0 -7
  564. package/dist/server/hooks.int.test.d.ts.map +0 -1
  565. package/dist/server/hooks.int.test.js +0 -564
  566. package/dist/server/hooks.int.test.js.map +0 -1
  567. package/dist/server/route-discovery.int.test.d.ts +0 -5
  568. package/dist/server/route-discovery.int.test.d.ts.map +0 -1
  569. package/dist/server/route-discovery.int.test.js +0 -49
  570. package/dist/server/route-discovery.int.test.js.map +0 -1
  571. package/dist/stream/raffel-stream.int.test.d.ts +0 -2
  572. package/dist/stream/raffel-stream.int.test.d.ts.map +0 -1
  573. package/dist/stream/raffel-stream.int.test.js +0 -265
  574. package/dist/stream/raffel-stream.int.test.js.map +0 -1
  575. package/dist/tracing/tracing.int.test.d.ts +0 -5
  576. package/dist/tracing/tracing.int.test.d.ts.map +0 -1
  577. package/dist/tracing/tracing.int.test.js +0 -412
  578. package/dist/tracing/tracing.int.test.js.map +0 -1
  579. package/dist/usd/usd.int.test.d.ts +0 -10
  580. package/dist/usd/usd.int.test.d.ts.map +0 -1
  581. package/dist/usd/usd.int.test.js +0 -719
  582. package/dist/usd/usd.int.test.js.map +0 -1
  583. package/dist/validation/multi-validator.int.test.d.ts +0 -7
  584. package/dist/validation/multi-validator.int.test.d.ts.map +0 -1
  585. package/dist/validation/multi-validator.int.test.js +0 -808
  586. package/dist/validation/multi-validator.int.test.js.map +0 -1
  587. package/dist/validation/schema.int.test.d.ts +0 -5
  588. package/dist/validation/schema.int.test.d.ts.map +0 -1
  589. package/dist/validation/schema.int.test.js +0 -340
  590. package/dist/validation/schema.int.test.js.map +0 -1
@@ -20,9 +20,11 @@ import type { GraphQLOptions, GraphQLAdapter } from '../graphql/index.js';
20
20
  import type { MetricsConfig, MetricRegistry } from '../metrics/index.js';
21
21
  import type { TracingConfig, Tracer } from '../tracing/index.js';
22
22
  import type { Codec } from '../utils/content-codecs.js';
23
- import type { USDDocument, USDProtocol, USDTag, USDExternalDocs, USDServer, USDSecurityScheme } from '../usd/index.js';
23
+ import type { USDDocument, USDProtocol, USDTag, USDTagGroup, USDExternalDocs, USDServer, USDSecurityScheme } from '../usd/index.js';
24
24
  import type { OpenAPIDocument } from '../usd/export/openapi.js';
25
25
  import type { SchemaRegistry } from '../validation/index.js';
26
+ import type { EnvelopeConfig } from '../middleware/types.js';
27
+ import type { SessionConfig } from '../middleware/session/types.js';
26
28
  /**
27
29
  * Provider factory function.
28
30
  * Called once at server startup to create the singleton instance.
@@ -74,6 +76,149 @@ export interface NormalizedError {
74
76
  * @param ctx - Request context (if available)
75
77
  */
76
78
  export type GlobalErrorHandler = (error: Error, protocol: ErrorProtocol, ctx?: Context) => void | Promise<void>;
79
+ export type FrontDoorTransport = 'http' | 'websocket' | 'jsonrpc' | 'tcp' | 'udp' | 'grpc' | 'graphql' | 'rpc' | 'jrpc' | (string & {});
80
+ export type SinglePortProtocolKind = 'http' | 'websocket' | 'jsonrpc' | 'tcp' | 'udp' | 'grpc' | 'graphql' | 'tls' | 'http2' | 'unknown' | (string & {});
81
+ export type SinglePortDecisionReason = 'matched' | 'unsupported' | 'timeout' | 'limit_exceeded' | 'concurrency_limit' | 'unknown';
82
+ export interface ProtocolDecisionPayload {
83
+ protocol: SinglePortProtocolKind;
84
+ detector: string;
85
+ reason: SinglePortDecisionReason;
86
+ elapsedMs: number;
87
+ bytesRead: number;
88
+ timedOut: boolean;
89
+ }
90
+ export interface ProtocolSnifferContext {
91
+ remoteAddress?: string;
92
+ remotePort?: number;
93
+ connectionId?: string;
94
+ protocol?: string;
95
+ bytesRead: number;
96
+ }
97
+ export interface ProtocolSniffer {
98
+ name: string;
99
+ detect(input: {
100
+ chunk: Buffer;
101
+ bytesRead: number;
102
+ context?: ProtocolSnifferContext;
103
+ }): SinglePortProtocolKind | null;
104
+ }
105
+ export type ProtocolAliasMode = 'standard' | 'extended';
106
+ export interface SinglePortConfig {
107
+ /** Enable single-port transport fusion mode */
108
+ enabled?: boolean;
109
+ /** Alias for enabled */
110
+ protocolFusion?: boolean;
111
+ /** TLS key for HTTPS on single-port */
112
+ cert?: string | Buffer;
113
+ /** TLS certificate chain for single-port */
114
+ key?: string | Buffer;
115
+ /** Optional ALPN values to pass to TLS handshakes */
116
+ alpn?: string[];
117
+ /** Max bytes read before protocol fallback/timeout */
118
+ sniffMaxBytes?: number;
119
+ /** Max ms allowed per detection cycle */
120
+ sniffTimeoutMs?: number;
121
+ /** Max concurrent detections in progress */
122
+ maxConcurrentDetections?: number;
123
+ /** Custom protocol sniffers for shared TCP listener */
124
+ sniffers?: ProtocolSniffer[];
125
+ /** Optional protocol allowlist for single-port detection.
126
+ * If omitted, all default detectors are executed.
127
+ */
128
+ protocols?: SinglePortProtocolKind[];
129
+ /**
130
+ * Alias expansion mode for single-port protocol names.
131
+ * `standard` keeps built-in aliases minimal and strict.
132
+ * `extended` enables the full alias set (`icmp`, `whois`, `telnet`, etc.).
133
+ * If omitted, inherits from `protocolAliasMode` in `ServerOptions`.
134
+ */
135
+ protocolAliasMode?: ProtocolAliasMode;
136
+ }
137
+ export interface ProtocolPreviewConfig {
138
+ enabled: boolean;
139
+ shared?: boolean;
140
+ frontDoor?: boolean;
141
+ strategy?: FrontDoorStrategy;
142
+ path?: string;
143
+ host?: string;
144
+ port?: number;
145
+ source?: 'singlePort' | 'offload' | 'native' | 'custom' | 'unknown';
146
+ }
147
+ export interface ServerPresetOptions {
148
+ websocketPath?: string;
149
+ jsonrpcPath?: string;
150
+ graphqlPath?: string;
151
+ }
152
+ export type ServerPreset = 'api' | 'realtime' | 'rpc' | 'dev' | 'full';
153
+ export interface ServerConfigPreview {
154
+ entrypoint: {
155
+ host: string;
156
+ port: number;
157
+ source: 'frontDoor' | 'native';
158
+ };
159
+ frontDoor: {
160
+ enabled: boolean;
161
+ host: string;
162
+ port: number;
163
+ protocols: FrontDoorTransport[] | null;
164
+ protocolAliasMode: ProtocolAliasMode;
165
+ };
166
+ singlePort: {
167
+ enabled: boolean;
168
+ protocolFusion: boolean;
169
+ protocolAliasMode: ProtocolAliasMode;
170
+ sniffMaxBytes: number;
171
+ sniffTimeoutMs: number;
172
+ maxConcurrentDetections: number;
173
+ protocols?: SinglePortProtocolKind[];
174
+ };
175
+ protocols: {
176
+ http: {
177
+ enabled: true;
178
+ shared: true;
179
+ source: 'singlePort' | 'offload' | 'native' | 'custom' | 'unknown';
180
+ };
181
+ websocket?: ProtocolPreviewConfig;
182
+ jsonrpc?: ProtocolPreviewConfig;
183
+ graphql?: ProtocolPreviewConfig;
184
+ tcp?: ProtocolPreviewConfig;
185
+ grpc?: ProtocolPreviewConfig;
186
+ streams?: {
187
+ enabled: boolean;
188
+ };
189
+ };
190
+ warnings: string[];
191
+ }
192
+ /**
193
+ * Strategy for how a protocol is handled by the server entrypoint.
194
+ */
195
+ export type FrontDoorStrategy = 'shared' | 'native' | 'offload';
196
+ /**
197
+ * Front-door configuration for single entrypoint composition.
198
+ */
199
+ export interface FrontDoorConfig {
200
+ /** Enable unified front-door orchestration */
201
+ enabled: boolean;
202
+ /** Port for the front-door listener */
203
+ port?: number;
204
+ /** Host for the front-door listener */
205
+ host?: string;
206
+ /**
207
+ * Protocols allowed on the front-door.
208
+ * If omitted, HTTP + WebSocket + JSON-RPC + GraphQL are included by default.
209
+ * TCP/gRPC/UDP require explicit inclusion when front-door is enabled.
210
+ */
211
+ protocols?: FrontDoorTransport[];
212
+ /**
213
+ * Alias expansion mode for front-door protocol names.
214
+ * `standard` keeps built-in aliases minimal and strict.
215
+ * `extended` enables the full alias set (`icmp`, `whois`, `telnet`, etc.).
216
+ * If omitted, inherits from `protocolAliasMode` in `ServerOptions`.
217
+ */
218
+ protocolAliasMode?: ProtocolAliasMode;
219
+ /** Optional per-protocol strategy */
220
+ strategy?: Partial<Record<FrontDoorTransport, FrontDoorStrategy>>;
221
+ }
77
222
  export interface ServerOptions {
78
223
  /** Port to listen on (HTTP) */
79
224
  port: number;
@@ -85,6 +230,18 @@ export interface ServerOptions {
85
230
  cors?: CorsOptions | boolean;
86
231
  /** HTTP adapter options */
87
232
  http?: HttpOptions;
233
+ /** Front-door entrypoint options */
234
+ frontDoor?: FrontDoorConfig;
235
+ /** Unified single-port transport options */
236
+ singlePort?: SinglePortConfig;
237
+ /**
238
+ * Global protocol alias expansion mode.
239
+ * `standard` keeps aliasing strict and predictable.
240
+ * `extended` enables more permissive alias resolution (`icmp`, `whois`, `telnet`, etc.).
241
+ *
242
+ * Defaults to `standard`.
243
+ */
244
+ protocolAliasMode?: ProtocolAliasMode;
88
245
  /**
89
246
  * WebSocket configuration.
90
247
  * - `true` enables with defaults (path: '/')
@@ -138,10 +295,33 @@ export interface ServerOptions {
138
295
  * ```
139
296
  */
140
297
  graphql?: GraphQLOptions | boolean;
298
+ /**
299
+ * gRPC configuration (requires a separate port).
300
+ */
301
+ grpc?: GrpcOptions;
141
302
  /**
142
303
  * Custom protocol adapters registered at startup.
143
304
  */
144
305
  protocolExtensions?: ProtocolExtensionConfig[];
306
+ /**
307
+ * Enable response envelope wrapper for all protocol responses.
308
+ * - `true` enables default Standard envelope config.
309
+ * - Object provides custom envelope settings.
310
+ *
311
+ * @example
312
+ * ```typescript
313
+ * createServer({
314
+ * port: 3000,
315
+ * envelope: true,
316
+ * })
317
+ *
318
+ * createServer({
319
+ * port: 3000,
320
+ * envelope: { includeDuration: true },
321
+ * })
322
+ * ```
323
+ */
324
+ envelope?: boolean | EnvelopeConfig;
145
325
  /**
146
326
  * Global middleware applied to all handlers.
147
327
  *
@@ -200,14 +380,14 @@ export interface ServerOptions {
200
380
  * @example
201
381
  * ```typescript
202
382
  * import { PrismaClient } from '@prisma/client'
203
- * import { S3DB } from 's3db.js'
383
+ * import { Redis } from 'ioredis'
204
384
  *
205
385
  * const server = createServer({
206
386
  * port: 3000,
207
387
  * providers: {
208
388
  * db: () => new PrismaClient(),
209
- * s3db: () => new S3DB({ bucket: 'my-bucket' }),
210
- * config: () => ({
389
+ * cacheStore: () => new Redis(),
390
+ * config: () => ({
211
391
  * apiKey: process.env.API_KEY,
212
392
  * environment: process.env.NODE_ENV,
213
393
  * }),
@@ -221,6 +401,34 @@ export interface ServerOptions {
221
401
  * ```
222
402
  */
223
403
  providers?: ProvidersConfig;
404
+ /**
405
+ * Session store configuration.
406
+ * Injects `ctx.session` into every handler via the session interceptor.
407
+ *
408
+ * - `driver: 'memory'` — in-memory store (dev/single-instance)
409
+ * - `driver: 'custom'` — custom `SessionStore` instance (e.g. redis/session table adapter)
410
+ *
411
+ * Set to `false` to explicitly disable session support (default: disabled).
412
+ *
413
+ * @example
414
+ * ```typescript
415
+ * const server = createServer({
416
+ * port: 3000,
417
+ * session: {
418
+ * driver: 'memory',
419
+ * ttl: 3600,
420
+ * cookie: { name: 'sid', secure: true },
421
+ * },
422
+ * })
423
+ *
424
+ * server.procedure('auth.login').handler(async (input, ctx) => {
425
+ * ctx.session.data.userId = input.userId
426
+ * ctx.session.touch()
427
+ * return { ok: true }
428
+ * })
429
+ * ```
430
+ */
431
+ session?: SessionConfig | false;
224
432
  /** Event delivery configuration (for at-least-once/at-most-once) */
225
433
  eventDelivery?: EventDeliveryOptions;
226
434
  /**
@@ -369,24 +577,29 @@ export interface AddressInfo {
369
577
  export type ProtocolAddress = AddressInfo & {
370
578
  path?: string;
371
579
  shared?: boolean;
580
+ source?: 'singlePort' | 'offload' | 'native' | 'custom' | 'unknown';
581
+ };
582
+ export type FrontDoorProtocolAddress = ProtocolAddress & {
583
+ frontDoor?: boolean;
584
+ strategy?: FrontDoorStrategy;
372
585
  };
373
586
  export interface ServerAddresses {
374
- http: AddressInfo;
375
- websocket?: AddressInfo & {
587
+ http: FrontDoorProtocolAddress;
588
+ websocket?: FrontDoorProtocolAddress & {
376
589
  path: string;
377
590
  shared: boolean;
378
591
  };
379
- jsonrpc?: AddressInfo & {
592
+ jsonrpc?: FrontDoorProtocolAddress & {
380
593
  path: string;
381
594
  shared: boolean;
382
595
  };
383
- graphql?: AddressInfo & {
596
+ graphql?: FrontDoorProtocolAddress & {
384
597
  path: string;
385
598
  shared: boolean;
386
599
  };
387
- grpc?: AddressInfo;
388
- tcp?: AddressInfo;
389
- udp?: AddressInfo;
600
+ grpc?: FrontDoorProtocolAddress;
601
+ tcp?: FrontDoorProtocolAddress;
602
+ udp?: FrontDoorProtocolAddress;
390
603
  protocols?: Record<string, ProtocolAddress>;
391
604
  }
392
605
  /**
@@ -438,14 +651,6 @@ export interface HttpRouteOptions<TInput = unknown, TOutput = unknown> {
438
651
  /** Middleware interceptors */
439
652
  use?: Interceptor[];
440
653
  }
441
- /**
442
- * Helper type to infer input type from HttpRouteOptions
443
- */
444
- export type InferHttpInput<T> = T extends HttpRouteOptions<infer I, unknown> ? I : unknown;
445
- /**
446
- * Helper type to infer output type from HttpRouteOptions
447
- */
448
- export type InferHttpOutput<T> = T extends HttpRouteOptions<unknown, infer O> ? O : unknown;
449
654
  /**
450
655
  * HTTP protocol namespace for Hono-style routes.
451
656
  * Provides organized access to HTTP route registration methods with full type inference.
@@ -1073,6 +1278,49 @@ export interface UnifiedProtocolConfig {
1073
1278
  /** gRPC: requires proto path */
1074
1279
  grpc?: GrpcOptions;
1075
1280
  }
1281
+ /**
1282
+ * Extended protocol configuration with per-protocol `enabled` toggle and UDP support.
1283
+ * Used by `withProtocols()` for richer DX.
1284
+ */
1285
+ export interface ExtendedProtocolConfig {
1286
+ /** HTTP is enabled by default */
1287
+ http?: boolean | {
1288
+ enabled: boolean;
1289
+ };
1290
+ /** WebSocket: toggle + optional path/options */
1291
+ websocket?: boolean | string | WebSocketOptions | ({
1292
+ enabled: boolean;
1293
+ } & Partial<WebSocketOptions>);
1294
+ /** JSON-RPC: toggle + optional path/options */
1295
+ jsonrpc?: boolean | string | JsonRpcOptions | ({
1296
+ enabled: boolean;
1297
+ } & Partial<JsonRpcOptions>);
1298
+ /** SSE Streams: toggle + optional path */
1299
+ streams?: boolean | string;
1300
+ /** GraphQL: toggle + optional path/options */
1301
+ graphql?: boolean | string | GraphQLOptions | ({
1302
+ enabled: boolean;
1303
+ } & Partial<GraphQLOptions>);
1304
+ /** TCP: toggle + optional port/options (port required when enabled) */
1305
+ tcp?: TcpOptions | ({
1306
+ enabled: boolean;
1307
+ } & Partial<TcpOptions>);
1308
+ /** UDP: test-scope marker only, no production adapter */
1309
+ udp?: boolean | {
1310
+ enabled: boolean;
1311
+ };
1312
+ /** gRPC: toggle + optional options (protoPath required when enabled) */
1313
+ grpc?: GrpcOptions | ({
1314
+ enabled: boolean;
1315
+ } & Partial<GrpcOptions>);
1316
+ }
1317
+ /**
1318
+ * Environment profile for `withProfile()`.
1319
+ * - `local`: development/mock mode with extended protocol aliases
1320
+ * - `staging`: neutral defaults
1321
+ * - `production`: production hardening with warnings for dev-only options
1322
+ */
1323
+ export type ServerProfile = 'local' | 'staging' | 'production';
1076
1324
  export interface ProtocolAdapterContext {
1077
1325
  router: Router;
1078
1326
  registry: Registry;
@@ -1096,8 +1344,10 @@ export interface ProtocolExtensionConfig<TOptions = unknown> {
1096
1344
  }
1097
1345
  export interface RaffelServer {
1098
1346
  /**
1347
+ * @deprecated Prefer {@link withProtocols} for extended protocol options and
1348
+ * explicit disable support.
1099
1349
  * Enable multiple protocols with a single configuration object.
1100
- * This is the recommended way to configure protocols for multi-protocol servers.
1350
+ * Legacy compatibility alias that maps to {@link withProtocols()}.
1101
1351
  *
1102
1352
  * @example
1103
1353
  * ```typescript
@@ -1110,6 +1360,55 @@ export interface RaffelServer {
1110
1360
  * ```
1111
1361
  */
1112
1362
  protocols(config: UnifiedProtocolConfig): this;
1363
+ /**
1364
+ * Enable multiple protocols with per-protocol `enabled` toggle, UDP marker, and eager
1365
+ * conflict warnings logged via `logger.warn()`.
1366
+ *
1367
+ * @example
1368
+ * ```typescript
1369
+ * createServer({ port: 3000 })
1370
+ * .withProtocols({
1371
+ * websocket: { enabled: true, path: '/ws' },
1372
+ * tcp: { enabled: false },
1373
+ * })
1374
+ * ```
1375
+ */
1376
+ withProtocols(config: ExtendedProtocolConfig): this;
1377
+ /**
1378
+ * Apply environment-specific server profile.
1379
+ * - `local`: extended protocol aliases for mocks
1380
+ * - `staging`: neutral defaults
1381
+ * - `production`: production hardening + dev-option warnings
1382
+ *
1383
+ * @param profile - Target environment
1384
+ * @param overrides - Optional protocol overrides applied after profile defaults
1385
+ *
1386
+ * @example
1387
+ * ```typescript
1388
+ * createServer({ port: 3000 })
1389
+ * .withProfile('production')
1390
+ * .withProtocols({ websocket: true })
1391
+ *
1392
+ * // With overrides
1393
+ * createServer({ port: 3000 })
1394
+ * .withProfile('local', { protocols: { tcp: { port: 9000 } } })
1395
+ * ```
1396
+ */
1397
+ withProfile(profile: ServerProfile, overrides?: {
1398
+ protocols?: ExtendedProtocolConfig;
1399
+ }): this;
1400
+ /**
1401
+ * Apply a common protocol preset to speed up setup.
1402
+ * Presets:
1403
+ * - api / dev / full: enable shared websocket + jsonrpc + graphql
1404
+ * - realtime: enable websocket only
1405
+ * - rpc: enable jsonrpc only
1406
+ */
1407
+ withPreset(preset: ServerPreset, options?: ServerPresetOptions): this;
1408
+ /**
1409
+ * Enable or disable single-port transport fusion after server creation.
1410
+ */
1411
+ enableSinglePort(config?: SinglePortConfig | boolean): this;
1113
1412
  /**
1114
1413
  * Register a custom protocol adapter to start with the server.
1115
1414
  */
@@ -1245,7 +1544,9 @@ export interface RaffelServer {
1245
1544
  * ```typescript
1246
1545
  * const server = createServer({ port: 3000 })
1247
1546
  * .provide('db', () => new PrismaClient())
1248
- * .provide('s3db', () => new S3DB({ bucket: 'my-bucket' }))
1547
+ * .provide('cacheStore', () => ({
1548
+ * host: process.env.CACHE_HOST,
1549
+ * }))
1249
1550
  * .provide('config', () => ({ apiKey: process.env.API_KEY }))
1250
1551
  *
1251
1552
  * // In handlers:
@@ -1736,6 +2037,10 @@ export interface RaffelServer {
1736
2037
  * ```
1737
2038
  */
1738
2039
  readonly providers: ResolvedProviders;
2040
+ /**
2041
+ * Preview final protocol bootstrap decision graph without starting the server.
2042
+ */
2043
+ previewConfig(): ServerConfigPreview;
1739
2044
  /**
1740
2045
  * GraphQL adapter info.
1741
2046
  * Only available when `graphql` option is enabled.
@@ -1839,6 +2144,8 @@ export interface USDDocsConfig {
1839
2144
  primaryColor?: string;
1840
2145
  /** Logo URL */
1841
2146
  logo?: string;
2147
+ /** Favicon URL */
2148
+ favicon?: string;
1842
2149
  /** Enable "Try It Out" feature */
1843
2150
  tryItOut?: boolean;
1844
2151
  /** Code generation options */
@@ -1846,11 +2153,95 @@ export interface USDDocsConfig {
1846
2153
  enabled?: boolean;
1847
2154
  languages?: ('typescript' | 'python' | 'go' | 'curl')[];
1848
2155
  };
2156
+ /** Hero section configuration (Docsify-style cover page) */
2157
+ hero?: {
2158
+ /** Override title from info.title */
2159
+ title?: string;
2160
+ /** Version badge */
2161
+ version?: string;
2162
+ /** Tagline/description */
2163
+ tagline?: string;
2164
+ /** Feature list */
2165
+ features?: string[];
2166
+ /** Background style */
2167
+ background?: 'gradient' | 'solid' | 'pattern' | 'image';
2168
+ /** Background image URL */
2169
+ backgroundImage?: string;
2170
+ /** Background color (for solid) */
2171
+ backgroundColor?: string;
2172
+ /** CTA buttons */
2173
+ buttons?: Array<{
2174
+ text: string;
2175
+ href?: string;
2176
+ primary?: boolean;
2177
+ }>;
2178
+ /** Quick links */
2179
+ quickLinks?: Array<{
2180
+ title: string;
2181
+ description?: string;
2182
+ href: string;
2183
+ icon?: string;
2184
+ }>;
2185
+ /** GitHub URL (corner octocat) */
2186
+ github?: string;
2187
+ };
2188
+ /** Sidebar configuration */
2189
+ sidebar?: {
2190
+ search?: boolean;
2191
+ expandAll?: boolean;
2192
+ showCounts?: boolean;
2193
+ };
2194
+ };
2195
+ /** Documentation customization for USD spec (portable, included in x-usd) */
2196
+ documentation?: {
2197
+ /** Hero section configuration */
2198
+ hero?: {
2199
+ title?: string;
2200
+ version?: string;
2201
+ tagline?: string;
2202
+ features?: string[];
2203
+ background?: 'gradient' | 'solid' | 'pattern' | 'image';
2204
+ backgroundImage?: string;
2205
+ backgroundColor?: string;
2206
+ buttons?: Array<{
2207
+ text: string;
2208
+ href?: string;
2209
+ primary?: boolean;
2210
+ }>;
2211
+ quickLinks?: Array<{
2212
+ title: string;
2213
+ description?: string;
2214
+ href: string;
2215
+ icon?: string;
2216
+ }>;
2217
+ github?: string;
2218
+ };
2219
+ /** Introduction markdown (displayed after hero) */
2220
+ introduction?: string;
2221
+ /** Logo URL */
2222
+ logo?: string;
2223
+ /** Favicon URL */
2224
+ favicon?: string;
2225
+ /** External links */
2226
+ externalLinks?: Array<{
2227
+ title: string;
2228
+ url: string;
2229
+ description?: string;
2230
+ }>;
1849
2231
  };
1850
2232
  /** Include standard error schemas */
1851
2233
  includeErrorSchemas?: boolean;
1852
2234
  /** Include stream event schemas */
1853
2235
  includeStreamEventSchemas?: boolean;
2236
+ /** Global content types for documentation and content negotiation */
2237
+ contentTypes?: {
2238
+ /** Default content type */
2239
+ default?: string;
2240
+ /** Supported content types */
2241
+ supported?: string[];
2242
+ };
2243
+ /** Tag groups for the documentation sidebar */
2244
+ tagGroups?: USDTagGroup[];
1854
2245
  /** JSON-RPC generation options */
1855
2246
  jsonrpc?: {
1856
2247
  endpoint?: string;
@@ -1895,24 +2286,34 @@ export interface ProtocolConfig {
1895
2286
  enabled: boolean;
1896
2287
  options: WebSocketOptions;
1897
2288
  shared: boolean;
2289
+ frontDoor?: boolean;
2290
+ strategy?: FrontDoorStrategy;
1898
2291
  };
1899
2292
  jsonrpc?: {
1900
2293
  enabled: boolean;
1901
2294
  options: JsonRpcOptions;
1902
2295
  shared: boolean;
2296
+ frontDoor?: boolean;
2297
+ strategy?: FrontDoorStrategy;
1903
2298
  };
1904
2299
  graphql?: {
1905
2300
  enabled: boolean;
1906
2301
  options: GraphQLOptions;
1907
2302
  shared: boolean;
2303
+ frontDoor?: boolean;
2304
+ strategy?: FrontDoorStrategy;
1908
2305
  };
1909
2306
  tcp?: {
1910
2307
  enabled: boolean;
1911
2308
  options: TcpOptions;
2309
+ frontDoor?: boolean;
2310
+ strategy?: FrontDoorStrategy;
1912
2311
  };
1913
2312
  grpc?: {
1914
2313
  enabled: boolean;
1915
2314
  options: GrpcOptions;
2315
+ frontDoor?: boolean;
2316
+ strategy?: FrontDoorStrategy;
1916
2317
  };
1917
2318
  }
1918
2319
  export interface ActiveAdapters {