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
@@ -0,0 +1,738 @@
1
+ import { createHttpAdapter } from '../../adapters/http.js';
2
+ import { createPortBinding } from '../port-binding.js';
3
+ import { createWebSocketAdapter } from '../../adapters/websocket.js';
4
+ import { createTcpAdapter, createTcpConnectionHandler } from '../../adapters/tcp.js';
5
+ import { createJsonRpcAdapter, createJsonRpcMiddleware } from '../../adapters/jsonrpc.js';
6
+ import { createGrpcAdapter } from '../../adapters/grpc.js';
7
+ import { createGraphQLAdapter, createGraphQLMiddleware, } from '../../graphql/index.js';
8
+ import { createUSDHandlers } from '../../docs/index.js';
9
+ import { isDevelopment } from '../fs-routes/index.js';
10
+ import { collectTelemetryShutdownTasks, initializeTelemetry, } from '../telemetry-bootstrap.js';
11
+ import { buildChannelOptions, joinBasePath } from '../channel-utils.js';
12
+ import { createDocsRouteMiddleware, createHttpOverrideMiddleware, logRestMiddlewareRegistered, createRestMiddleware, } from '../rest-middleware.js';
13
+ import { cleanupResolvedProviders as cleanupResolvedProvidersInternal, runStopTasks as runStopTasksInternal } from './lifecycle-utils.js';
14
+ export function createServerLifecycle(context) {
15
+ const { logger, state, discoveryBootstrap, telemetryState, protocolExtensionConfigs, protocolAdapters, providerDefinitions, resolvedProviders, frontDoorEnabled, frontDoorProtocols, protocols, registry, schemaRegistry, router, globalInterceptors, channelRegistry, restResourceRegistry, tcpHandlers, udpHandlers, tcpServers, udpServers, singlePortConfig, isSinglePortTcpRouteEnabled, isSinglePortUdpRouteEnabled, getSinglePortSource, getSinglePortAliasMode, createFrontDoorDecisionMiddleware, applyDiscoveryResult, logSinglePortConfig, host, effectiveHost, effectivePort, basePath, cors, httpOptions, wsMessageHandler, usdDocsConfig, } = context;
16
+ async function start() {
17
+ if (state.running.value) {
18
+ throw new Error('Server is already running');
19
+ }
20
+ const startupStopTasks = [];
21
+ try {
22
+ logSinglePortConfig();
23
+ if (providerDefinitions.size > 0) {
24
+ logger.debug({ count: providerDefinitions.size }, 'Initializing providers');
25
+ for (const [name, definition] of providerDefinitions) {
26
+ try {
27
+ const instance = await definition.factory();
28
+ resolvedProviders[name] = instance;
29
+ logger.debug({ name }, 'Provider initialized');
30
+ }
31
+ catch (err) {
32
+ logger.error({ err, name }, 'Failed to initialize provider');
33
+ throw err;
34
+ }
35
+ }
36
+ if (!state.providerMiddlewareInstalled.value) {
37
+ globalInterceptors.unshift(async (_env, ctx, next) => {
38
+ const ctxAny = ctx;
39
+ for (const [name, instance] of Object.entries(resolvedProviders)) {
40
+ ctxAny[name] = instance;
41
+ }
42
+ return next();
43
+ });
44
+ state.providerMiddlewareInstalled.value = true;
45
+ }
46
+ }
47
+ await initializeTelemetry(telemetryState, {
48
+ registry,
49
+ startupStopTasks,
50
+ globalInterceptors,
51
+ logger: {
52
+ debug: logger.debug.bind(logger),
53
+ info: logger.info.bind(logger),
54
+ },
55
+ });
56
+ const discoveryResult = await discoveryBootstrap.start();
57
+ if (discoveryResult) {
58
+ applyDiscoveryResult(discoveryResult);
59
+ startupStopTasks.push({
60
+ name: 'discovery-watcher',
61
+ stop: async () => {
62
+ discoveryBootstrap.stop();
63
+ },
64
+ });
65
+ }
66
+ state.addresses.value = {
67
+ http: {
68
+ host: effectiveHost,
69
+ port: effectivePort,
70
+ frontDoor: frontDoorEnabled,
71
+ strategy: frontDoorEnabled ? 'shared' : 'native',
72
+ source: getSinglePortSource(),
73
+ },
74
+ };
75
+ const httpMiddleware = [];
76
+ const frontDoorDecisionMiddleware = createFrontDoorDecisionMiddleware();
77
+ if (frontDoorDecisionMiddleware) {
78
+ httpMiddleware.push(frontDoorDecisionMiddleware);
79
+ }
80
+ if (httpOptions?.middleware?.length) {
81
+ httpMiddleware.push(...httpOptions.middleware);
82
+ }
83
+ if (usdDocsConfig) {
84
+ state.usdDocsHandlers.value = createUSDHandlers({
85
+ registry,
86
+ schemaRegistry,
87
+ channels: channelRegistry,
88
+ restResources: restResourceRegistry,
89
+ tcpHandlers,
90
+ udpHandlers,
91
+ protocolConfig: protocols,
92
+ }, {
93
+ basePath: usdDocsConfig.basePath ?? '/docs',
94
+ info: usdDocsConfig.info,
95
+ servers: usdDocsConfig.servers,
96
+ protocols: usdDocsConfig.protocols,
97
+ contentTypes: usdDocsConfig.contentTypes,
98
+ securitySchemes: usdDocsConfig.securitySchemes,
99
+ defaultSecurity: usdDocsConfig.defaultSecurity,
100
+ tags: usdDocsConfig.tags,
101
+ tagGroups: usdDocsConfig.tagGroups,
102
+ externalDocs: usdDocsConfig.externalDocs,
103
+ ui: usdDocsConfig.ui,
104
+ documentation: usdDocsConfig.documentation,
105
+ includeErrorSchemas: usdDocsConfig.includeErrorSchemas,
106
+ includeStreamEventSchemas: usdDocsConfig.includeStreamEventSchemas,
107
+ jsonrpc: usdDocsConfig.jsonrpc,
108
+ grpc: usdDocsConfig.grpc,
109
+ });
110
+ const usdBasePath = usdDocsConfig.basePath ?? '/docs';
111
+ httpMiddleware.push(createDocsRouteMiddleware([
112
+ { method: 'GET', path: usdBasePath, handler: state.usdDocsHandlers.value.serveUI },
113
+ { method: 'GET', path: `${usdBasePath}/usd.json`, handler: state.usdDocsHandlers.value.serveUSD },
114
+ { method: 'GET', path: `${usdBasePath}/usd.yaml`, handler: state.usdDocsHandlers.value.serveUSDYaml },
115
+ { method: 'GET', path: `${usdBasePath}/openapi.json`, handler: state.usdDocsHandlers.value.serveOpenAPI },
116
+ ]));
117
+ logger.info({ basePath: usdBasePath }, 'USD Documentation middleware registered');
118
+ }
119
+ httpMiddleware.push(createHttpOverrideMiddleware({
120
+ router,
121
+ registry,
122
+ basePath,
123
+ maxBodySize: httpOptions?.maxBodySize ?? 1024 * 1024,
124
+ contextFactory: httpOptions?.contextFactory,
125
+ codecs: httpOptions?.codecs,
126
+ }));
127
+ if (restResourceRegistry.length > 0) {
128
+ httpMiddleware.push(createRestMiddleware({
129
+ restResources: restResourceRegistry,
130
+ router,
131
+ basePath,
132
+ maxBodySize: httpOptions?.maxBodySize ?? 1024 * 1024,
133
+ contextFactory: httpOptions?.contextFactory,
134
+ codecs: httpOptions?.codecs,
135
+ }));
136
+ logRestMiddlewareRegistered(restResourceRegistry.length);
137
+ }
138
+ if (protocols.jsonrpc?.enabled && protocols.jsonrpc.shared) {
139
+ const rpcOpts = protocols.jsonrpc.options;
140
+ const rpcPath = rpcOpts.path || '/rpc';
141
+ const sharedRpcPath = joinBasePath(basePath, rpcPath);
142
+ state.addresses.value = {
143
+ ...state.addresses.value,
144
+ jsonrpc: {
145
+ host: effectiveHost,
146
+ port: effectivePort,
147
+ path: sharedRpcPath,
148
+ shared: true,
149
+ frontDoor: !!protocols.jsonrpc?.frontDoor,
150
+ strategy: protocols.jsonrpc?.strategy,
151
+ source: singlePortConfig.enabled ? 'singlePort' : 'native',
152
+ },
153
+ };
154
+ httpMiddleware.push(createJsonRpcMiddleware(router, {
155
+ path: sharedRpcPath,
156
+ timeout: rpcOpts.timeout,
157
+ maxBodySize: rpcOpts.maxBodySize,
158
+ cors: false,
159
+ codecs: rpcOpts.codecs,
160
+ }));
161
+ }
162
+ if (protocols.graphql?.enabled && protocols.graphql.shared) {
163
+ const gqlOpts = protocols.graphql.options;
164
+ const gqlPath = gqlOpts.path || '/graphql';
165
+ const sharedGqlPath = joinBasePath(basePath, gqlPath);
166
+ const isDev = isDevelopment();
167
+ state.graphqlMiddleware.value = createGraphQLMiddleware({
168
+ router,
169
+ registry,
170
+ schemaRegistry,
171
+ config: {
172
+ ...gqlOpts,
173
+ path: sharedGqlPath,
174
+ playground: gqlOpts.playground ?? isDev,
175
+ introspection: gqlOpts.introspection ?? isDev,
176
+ timeout: gqlOpts.timeout ?? 30000,
177
+ maxBodySize: gqlOpts.maxBodySize ?? 1024 * 1024,
178
+ },
179
+ });
180
+ httpMiddleware.push(state.graphqlMiddleware.value.middleware);
181
+ state.graphqlAdapter.value = {
182
+ async start() {
183
+ if (!state.httpServer.value?.server)
184
+ return;
185
+ state.graphqlSubscriptionServer.value = state.graphqlMiddleware.value?.createSubscriptionServer(state.httpServer.value.server) ?? null;
186
+ },
187
+ async stop() {
188
+ if (state.graphqlSubscriptionServer.value) {
189
+ state.graphqlSubscriptionServer.value.close();
190
+ state.graphqlSubscriptionServer.value = null;
191
+ }
192
+ },
193
+ get schema() {
194
+ return state.graphqlMiddleware.value.schema;
195
+ },
196
+ get schemaInfo() {
197
+ return state.graphqlMiddleware.value.schemaInfo;
198
+ },
199
+ get address() {
200
+ return { host: effectiveHost, port: effectivePort, path: sharedGqlPath };
201
+ },
202
+ };
203
+ state.addresses.value = {
204
+ ...state.addresses.value,
205
+ graphql: {
206
+ host: effectiveHost,
207
+ port: effectivePort,
208
+ path: sharedGqlPath,
209
+ shared: true,
210
+ frontDoor: !!protocols.graphql?.frontDoor,
211
+ strategy: protocols.graphql?.strategy,
212
+ source: singlePortConfig.enabled ? 'singlePort' : 'native',
213
+ },
214
+ };
215
+ }
216
+ if (isSinglePortTcpRouteEnabled() && protocols.tcp?.enabled && !state.singlePortTcpConnectionHandler.value) {
217
+ const tcpOpts = protocols.tcp.options;
218
+ state.singlePortTcpConnectionHandler.value = createTcpConnectionHandler(router, {
219
+ maxMessageSize: tcpOpts.maxMessageSize,
220
+ keepAliveInterval: tcpOpts.keepAliveInterval,
221
+ });
222
+ }
223
+ if (state.singlePortTcpConnectionHandler.value) {
224
+ state.addresses.value = {
225
+ ...state.addresses.value,
226
+ tcp: {
227
+ host: effectiveHost,
228
+ port: effectivePort,
229
+ frontDoor: false,
230
+ strategy: 'native',
231
+ source: 'singlePort',
232
+ },
233
+ };
234
+ }
235
+ // Create the PortBinding — always used regardless of singlePort mode.
236
+ // It owns the OS port via a net.Server and dispatches connections.
237
+ const portBinding = createPortBinding({
238
+ port: effectivePort,
239
+ host: effectiveHost,
240
+ logger: {
241
+ debug: (context, message) => logger.debug(context, message),
242
+ warn: (context, message) => logger.warn(context, message),
243
+ },
244
+ });
245
+ // Attach TCP handler when it shares the HTTP port.
246
+ if (state.singlePortTcpConnectionHandler.value) {
247
+ portBinding.attachTcpHandler(state.singlePortTcpConnectionHandler.value);
248
+ }
249
+ // Activate protocol sniffing whenever singlePort mode is enabled.
250
+ // Without a TCP handler, unknown protocols still get rejected (HTTP 400).
251
+ if (singlePortConfig.enabled) {
252
+ portBinding.setSinglePortConfig(singlePortConfig, getSinglePortAliasMode);
253
+ }
254
+ state.httpServer.value = createHttpAdapter(router, {
255
+ port: effectivePort,
256
+ host: effectiveHost,
257
+ basePath,
258
+ maxBodySize: httpOptions?.maxBodySize,
259
+ contextFactory: httpOptions?.contextFactory,
260
+ codecs: httpOptions?.codecs,
261
+ cors: cors === true
262
+ ? {
263
+ origin: '*',
264
+ methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'],
265
+ headers: ['Content-Type', 'Authorization', 'Accept', 'X-Request-Id', 'Traceparent', 'Tracestate'],
266
+ }
267
+ : cors,
268
+ middleware: httpMiddleware.length > 0 ? httpMiddleware : undefined,
269
+ listenOnStart: false,
270
+ });
271
+ await state.httpServer.value.start();
272
+ startupStopTasks.push({
273
+ name: 'http',
274
+ stop: async () => {
275
+ if (!state.httpServer.value)
276
+ return;
277
+ await state.httpServer.value.stop();
278
+ state.httpServer.value = null;
279
+ },
280
+ });
281
+ // Forward HTTP connections from the PortBinding's net.Server.
282
+ portBinding.attachHttpServer(state.httpServer.value.server);
283
+ // Bind the port. The PortBinding's net.Server now owns the OS port.
284
+ const boundPort = await portBinding.start();
285
+ logger.info({ port: boundPort, host: effectiveHost }, 'Port binding listening');
286
+ state.portBinding.value = portBinding;
287
+ startupStopTasks.push({
288
+ name: 'port-binding',
289
+ stop: async () => {
290
+ await portBinding.stop();
291
+ state.portBinding.value = null;
292
+ },
293
+ });
294
+ if (protocols.websocket?.enabled) {
295
+ const wsOpts = protocols.websocket.options;
296
+ const channels = buildChannelOptions(channelRegistry, wsOpts.channels, wsMessageHandler ?? undefined);
297
+ if (protocols.websocket.shared) {
298
+ state.wsAdapter.value = createWebSocketAdapter(router, {
299
+ host: effectiveHost,
300
+ port: effectivePort,
301
+ server: state.httpServer.value.server ?? undefined,
302
+ path: wsOpts.path || '/',
303
+ maxPayloadSize: wsOpts.maxPayloadSize,
304
+ heartbeatInterval: wsOpts.heartbeatInterval,
305
+ channels,
306
+ contextFactory: wsOpts.contextFactory,
307
+ });
308
+ state.addresses.value = {
309
+ ...state.addresses.value,
310
+ websocket: {
311
+ host: effectiveHost,
312
+ port: effectivePort,
313
+ path: wsOpts.path || '/',
314
+ shared: true,
315
+ frontDoor: !!protocols.websocket?.frontDoor,
316
+ strategy: protocols.websocket?.strategy,
317
+ source: singlePortConfig.enabled ? 'singlePort' : (protocols.websocket?.frontDoor ? 'offload' : 'native'),
318
+ },
319
+ };
320
+ }
321
+ else {
322
+ state.wsAdapter.value = createWebSocketAdapter(router, {
323
+ port: wsOpts.port,
324
+ host,
325
+ path: wsOpts.path || '/',
326
+ maxPayloadSize: wsOpts.maxPayloadSize,
327
+ heartbeatInterval: wsOpts.heartbeatInterval,
328
+ channels,
329
+ contextFactory: wsOpts.contextFactory,
330
+ });
331
+ state.addresses.value = {
332
+ ...state.addresses.value,
333
+ websocket: {
334
+ host,
335
+ port: wsOpts.port,
336
+ path: wsOpts.path || '/',
337
+ shared: false,
338
+ frontDoor: !!protocols.websocket?.frontDoor,
339
+ strategy: protocols.websocket?.strategy,
340
+ source: protocols.websocket?.frontDoor ? 'offload' : 'native',
341
+ },
342
+ };
343
+ }
344
+ await state.wsAdapter.value.start();
345
+ startupStopTasks.push({
346
+ name: 'websocket',
347
+ stop: async () => {
348
+ if (!state.wsAdapter.value)
349
+ return;
350
+ await state.wsAdapter.value.stop();
351
+ state.wsAdapter.value = null;
352
+ },
353
+ });
354
+ }
355
+ if (protocols.jsonrpc?.enabled && !protocols.jsonrpc.shared) {
356
+ const rpcOpts = protocols.jsonrpc.options;
357
+ state.jsonRpcAdapter.value = createJsonRpcAdapter(router, {
358
+ port: rpcOpts.port,
359
+ host,
360
+ path: rpcOpts.path || '/rpc',
361
+ timeout: rpcOpts.timeout,
362
+ maxBodySize: rpcOpts.maxBodySize,
363
+ });
364
+ await state.jsonRpcAdapter.value.start();
365
+ startupStopTasks.push({
366
+ name: 'jsonrpc',
367
+ stop: async () => {
368
+ if (!state.jsonRpcAdapter.value)
369
+ return;
370
+ await state.jsonRpcAdapter.value.stop();
371
+ state.jsonRpcAdapter.value = null;
372
+ },
373
+ });
374
+ state.addresses.value = {
375
+ ...state.addresses.value,
376
+ jsonrpc: {
377
+ host,
378
+ port: rpcOpts.port,
379
+ path: rpcOpts.path || '/rpc',
380
+ shared: false,
381
+ frontDoor: !!protocols.jsonrpc?.frontDoor,
382
+ strategy: protocols.jsonrpc?.strategy,
383
+ source: protocols.jsonrpc?.frontDoor ? 'offload' : 'native',
384
+ },
385
+ };
386
+ }
387
+ if (protocols.tcp?.enabled) {
388
+ const tcpOpts = protocols.tcp.options;
389
+ if (!state.singlePortTcpConnectionHandler.value) {
390
+ state.tcpAdapter.value = createTcpAdapter(router, {
391
+ port: tcpOpts.port,
392
+ host: tcpOpts.host || host,
393
+ maxMessageSize: tcpOpts.maxMessageSize,
394
+ keepAliveInterval: tcpOpts.keepAliveInterval,
395
+ });
396
+ await state.tcpAdapter.value.start();
397
+ startupStopTasks.push({
398
+ name: 'tcp',
399
+ stop: async () => {
400
+ if (!state.tcpAdapter.value)
401
+ return;
402
+ await state.tcpAdapter.value.stop();
403
+ state.tcpAdapter.value = null;
404
+ },
405
+ });
406
+ state.addresses.value = {
407
+ ...state.addresses.value,
408
+ tcp: {
409
+ host: tcpOpts.host || host,
410
+ port: tcpOpts.port,
411
+ frontDoor: !!protocols.tcp?.frontDoor,
412
+ strategy: protocols.tcp?.strategy,
413
+ source: protocols.tcp?.frontDoor ? 'offload' : 'native',
414
+ },
415
+ };
416
+ }
417
+ }
418
+ if (protocols.grpc?.enabled) {
419
+ const grpcOpts = protocols.grpc.options;
420
+ state.grpcAdapter.value = createGrpcAdapter(router, {
421
+ host: grpcOpts.host || host,
422
+ port: grpcOpts.port,
423
+ protoPath: grpcOpts.protoPath,
424
+ packageName: grpcOpts.packageName,
425
+ serviceNames: grpcOpts.serviceNames,
426
+ loaderOptions: grpcOpts.loaderOptions,
427
+ tls: grpcOpts.tls,
428
+ maxReceiveMessageLength: grpcOpts.maxReceiveMessageLength,
429
+ maxSendMessageLength: grpcOpts.maxSendMessageLength,
430
+ });
431
+ await state.grpcAdapter.value.start();
432
+ startupStopTasks.push({
433
+ name: 'grpc',
434
+ stop: async () => {
435
+ if (!state.grpcAdapter.value)
436
+ return;
437
+ await state.grpcAdapter.value.stop();
438
+ state.grpcAdapter.value = null;
439
+ },
440
+ });
441
+ if (state.grpcAdapter.value.address) {
442
+ const grpcAddr = state.grpcAdapter.value.address;
443
+ state.addresses.value = {
444
+ ...state.addresses.value,
445
+ grpc: {
446
+ host: grpcAddr.host || host,
447
+ port: grpcAddr.port,
448
+ frontDoor: !!protocols.grpc?.frontDoor,
449
+ strategy: protocols.grpc?.strategy,
450
+ source: protocols.grpc?.frontDoor ? 'offload' : 'native',
451
+ },
452
+ };
453
+ }
454
+ else {
455
+ state.addresses.value = {
456
+ ...state.addresses.value,
457
+ grpc: {
458
+ host: grpcOpts.host || host,
459
+ port: grpcOpts.port,
460
+ frontDoor: !!protocols.grpc?.frontDoor,
461
+ strategy: protocols.grpc?.strategy,
462
+ source: protocols.grpc?.frontDoor ? 'offload' : 'native',
463
+ },
464
+ };
465
+ }
466
+ }
467
+ if (protocols.graphql?.enabled && !protocols.graphql.shared) {
468
+ const gqlOpts = protocols.graphql.options;
469
+ const gqlPath = gqlOpts.path || '/graphql';
470
+ const isDev = isDevelopment();
471
+ state.graphqlAdapter.value = createGraphQLAdapter({
472
+ router,
473
+ registry,
474
+ schemaRegistry,
475
+ host,
476
+ port: gqlOpts.port,
477
+ config: {
478
+ ...gqlOpts,
479
+ path: gqlPath,
480
+ playground: gqlOpts.playground ?? isDev,
481
+ introspection: gqlOpts.introspection ?? isDev,
482
+ timeout: gqlOpts.timeout ?? 30000,
483
+ maxBodySize: gqlOpts.maxBodySize ?? 1024 * 1024,
484
+ },
485
+ });
486
+ await state.graphqlAdapter.value.start();
487
+ startupStopTasks.push({
488
+ name: 'graphql',
489
+ stop: async () => {
490
+ if (!state.graphqlAdapter.value)
491
+ return;
492
+ await state.graphqlAdapter.value.stop();
493
+ state.graphqlAdapter.value = null;
494
+ },
495
+ });
496
+ state.addresses.value = {
497
+ ...state.addresses.value,
498
+ graphql: {
499
+ host,
500
+ port: gqlOpts.port,
501
+ path: gqlPath,
502
+ shared: false,
503
+ frontDoor: !!protocols.graphql?.frontDoor,
504
+ strategy: protocols.graphql?.strategy,
505
+ source: protocols.graphql?.frontDoor ? 'offload' : 'native',
506
+ },
507
+ };
508
+ }
509
+ if (protocolExtensionConfigs.length > 0) {
510
+ const protocolContext = {
511
+ router,
512
+ registry,
513
+ schemaRegistry,
514
+ httpServer: state.httpServer.value,
515
+ basePath,
516
+ host: effectiveHost,
517
+ port: effectivePort,
518
+ providers: resolvedProviders,
519
+ };
520
+ for (const extension of protocolExtensionConfigs) {
521
+ const extensionName = extension.name;
522
+ const adapter = await extension.factory(protocolContext, extension.options);
523
+ protocolAdapters.set(extensionName, adapter);
524
+ await adapter.start();
525
+ startupStopTasks.push({
526
+ name: `protocol-extension:${extensionName}`,
527
+ stop: async () => {
528
+ const toStop = protocolAdapters.get(extensionName);
529
+ if (!toStop)
530
+ return;
531
+ await toStop.stop();
532
+ protocolAdapters.delete(extensionName);
533
+ },
534
+ });
535
+ if (adapter.address) {
536
+ if (state.addresses.value && !state.addresses.value.protocols) {
537
+ state.addresses.value = {
538
+ ...state.addresses.value,
539
+ protocols: {},
540
+ };
541
+ }
542
+ if (state.addresses.value?.protocols) {
543
+ state.addresses.value.protocols[extensionName] = adapter.address;
544
+ }
545
+ }
546
+ logger.info({ name: extensionName }, 'Protocol adapter started');
547
+ }
548
+ }
549
+ for (const handler of tcpHandlers) {
550
+ const { createTcpServer } = await import('../fs-routes/tcp/index.js');
551
+ const tcpServer = createTcpServer(handler);
552
+ await tcpServer.start();
553
+ tcpServers.push(tcpServer);
554
+ startupStopTasks.push({
555
+ name: `tcp-handler:${handler.name}`,
556
+ stop: async () => {
557
+ await tcpServer.stop();
558
+ },
559
+ });
560
+ logger.info({ name: handler.name, port: handler.config.port }, 'TCP handler started');
561
+ }
562
+ for (const handler of udpHandlers) {
563
+ const { createUdpServer } = await import('../fs-routes/udp/index.js');
564
+ const udpServer = createUdpServer(handler);
565
+ await udpServer.start();
566
+ udpServers.push(udpServer);
567
+ const isUdpOffload = frontDoorEnabled && !!frontDoorProtocols?.includes('udp');
568
+ const isUdpSinglePort = isSinglePortUdpRouteEnabled(handler);
569
+ if (!state.addresses.value?.udp) {
570
+ state.addresses.value = {
571
+ ...state.addresses.value,
572
+ udp: {
573
+ host: udpServer.host,
574
+ port: udpServer.port,
575
+ frontDoor: isUdpOffload,
576
+ strategy: isUdpOffload ? 'offload' : 'native',
577
+ source: isUdpSinglePort ? 'singlePort' : isUdpOffload ? 'offload' : 'native',
578
+ },
579
+ };
580
+ }
581
+ startupStopTasks.push({
582
+ name: `udp-handler:${handler.name}`,
583
+ stop: async () => {
584
+ await udpServer.stop();
585
+ },
586
+ });
587
+ logger.info({ name: handler.name, port: handler.config.port }, 'UDP handler started');
588
+ }
589
+ state.running.value = true;
590
+ }
591
+ catch (err) {
592
+ await cleanupResolvedProvidersInternal(resolvedProviders, providerDefinitions, 'startup', logger);
593
+ await runStopTasksInternal(startupStopTasks, 'startup', logger);
594
+ state.addresses.value = null;
595
+ state.running.value = false;
596
+ throw err;
597
+ }
598
+ }
599
+ async function stop() {
600
+ if (!state.running.value)
601
+ return;
602
+ const stopTasks = [];
603
+ if (protocolAdapters.size > 0) {
604
+ for (const [name, adapter] of protocolAdapters) {
605
+ logger.info({ name }, 'Protocol adapter stopping');
606
+ stopTasks.push({
607
+ name: `protocol-extension:${name}`,
608
+ stop: async () => {
609
+ await adapter.stop();
610
+ },
611
+ });
612
+ }
613
+ protocolAdapters.clear();
614
+ }
615
+ if (state.tcpAdapter.value) {
616
+ stopTasks.push({
617
+ name: 'tcp',
618
+ stop: async () => {
619
+ if (!state.tcpAdapter.value)
620
+ return;
621
+ await state.tcpAdapter.value.stop();
622
+ state.tcpAdapter.value = null;
623
+ },
624
+ });
625
+ }
626
+ if (state.singlePortTcpConnectionHandler.value) {
627
+ stopTasks.push({
628
+ name: 'single-port-tcp-handler',
629
+ stop: async () => {
630
+ state.singlePortTcpConnectionHandler.value?.closeAllConnections();
631
+ state.singlePortTcpConnectionHandler.value = null;
632
+ },
633
+ });
634
+ }
635
+ if (state.jsonRpcAdapter.value) {
636
+ stopTasks.push({
637
+ name: 'jsonrpc',
638
+ stop: async () => {
639
+ if (!state.jsonRpcAdapter.value)
640
+ return;
641
+ await state.jsonRpcAdapter.value.stop();
642
+ state.jsonRpcAdapter.value = null;
643
+ },
644
+ });
645
+ }
646
+ if (state.wsAdapter.value) {
647
+ stopTasks.push({
648
+ name: 'websocket',
649
+ stop: async () => {
650
+ if (!state.wsAdapter.value)
651
+ return;
652
+ await state.wsAdapter.value.stop();
653
+ state.wsAdapter.value = null;
654
+ },
655
+ });
656
+ }
657
+ if (state.httpServer.value) {
658
+ stopTasks.push({
659
+ name: 'http',
660
+ stop: async () => {
661
+ if (!state.httpServer.value)
662
+ return;
663
+ await state.httpServer.value.stop();
664
+ state.httpServer.value = null;
665
+ },
666
+ });
667
+ }
668
+ if (state.portBinding.value) {
669
+ const pb = state.portBinding.value;
670
+ stopTasks.push({
671
+ name: 'port-binding',
672
+ stop: async () => {
673
+ await pb.stop();
674
+ state.portBinding.value = null;
675
+ },
676
+ });
677
+ }
678
+ if (state.grpcAdapter.value) {
679
+ stopTasks.push({
680
+ name: 'grpc',
681
+ stop: async () => {
682
+ if (!state.grpcAdapter.value)
683
+ return;
684
+ await state.grpcAdapter.value.stop();
685
+ state.grpcAdapter.value = null;
686
+ },
687
+ });
688
+ }
689
+ if (state.graphqlAdapter.value) {
690
+ stopTasks.push({
691
+ name: 'graphql',
692
+ stop: async () => {
693
+ if (!state.graphqlAdapter.value)
694
+ return;
695
+ await state.graphqlAdapter.value.stop();
696
+ state.graphqlMiddleware.value = null;
697
+ state.graphqlAdapter.value = null;
698
+ },
699
+ });
700
+ }
701
+ for (const tcpServer of tcpServers) {
702
+ stopTasks.push({
703
+ name: `tcp-handler:${tcpServer.name}`,
704
+ stop: async () => {
705
+ await tcpServer.stop();
706
+ },
707
+ });
708
+ }
709
+ tcpServers.length = 0;
710
+ for (const udpServer of udpServers) {
711
+ stopTasks.push({
712
+ name: `udp-handler:${udpServer.name}`,
713
+ stop: async () => {
714
+ await udpServer.stop();
715
+ },
716
+ });
717
+ }
718
+ udpServers.length = 0;
719
+ if (discoveryBootstrap.watcher) {
720
+ stopTasks.push({
721
+ name: 'discovery-watcher',
722
+ stop: async () => {
723
+ discoveryBootstrap.stop();
724
+ },
725
+ });
726
+ }
727
+ collectTelemetryShutdownTasks(telemetryState, stopTasks);
728
+ await runStopTasksInternal(stopTasks, 'shutdown', logger);
729
+ await cleanupResolvedProvidersInternal(resolvedProviders, providerDefinitions, 'shutdown', logger);
730
+ state.usdDocsHandlers.value = null;
731
+ state.graphqlMiddleware.value = null;
732
+ state.running.value = false;
733
+ state.addresses.value = null;
734
+ router.stop();
735
+ }
736
+ return { start, stop };
737
+ }
738
+ //# sourceMappingURL=lifecycle.js.map