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 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * MockDnsServer — DNS over UDP (RFC 1035), no external dependencies.
3
+ */
4
+ import { EventEmitter } from 'node:events';
5
+ export type DnsRecordType = 'A' | 'AAAA' | 'CNAME' | 'MX' | 'TXT' | 'NS' | 'SOA' | 'PTR' | 'SRV';
6
+ export interface MockDnsServerOptions {
7
+ port?: number;
8
+ host?: string;
9
+ /** Default TTL for records (seconds). Default: 60 */
10
+ ttl?: number;
11
+ /** Artificial delay before responding (ms). Default: 0 */
12
+ delay?: number;
13
+ }
14
+ export declare class MockDnsServer extends EventEmitter {
15
+ private readonly _options;
16
+ private readonly _records;
17
+ private _socket;
18
+ private _port;
19
+ private _running;
20
+ constructor(options?: MockDnsServerOptions);
21
+ get port(): number;
22
+ get isRunning(): boolean;
23
+ addRecord(domain: string, type: DnsRecordType, value: string | object, ttl?: number): this;
24
+ removeRecords(domain: string): this;
25
+ clearRecords(): this;
26
+ start(): Promise<void>;
27
+ stop(): Promise<void>;
28
+ private _buildResponse;
29
+ }
30
+ export declare const createMockDnsServer: (options?: MockDnsServerOptions) => Promise<MockDnsServer>;
31
+ //# sourceMappingURL=mock-dns-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-dns-server.d.ts","sourceRoot":"","sources":["../../src/testing/mock-dns-server.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,MAAM,MAAM,aAAa,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAEhG,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAsJD,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,OAAO,GAAE,oBAAyB;IAU9C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ1F,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKnC,YAAY,IAAI,IAAI;IAKd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmEtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,OAAO,CAAC,cAAc;CA+BvB;AAED,eAAO,MAAM,mBAAmB,GAAU,UAAU,oBAAoB,KAAG,OAAO,CAAC,aAAa,CAI/F,CAAA"}
@@ -0,0 +1,247 @@
1
+ /**
2
+ * MockDnsServer — DNS over UDP (RFC 1035), no external dependencies.
3
+ */
4
+ import { EventEmitter } from 'node:events';
5
+ import { createSocket } from 'node:dgram';
6
+ const DNS_TYPE = {
7
+ A: 1,
8
+ NS: 2,
9
+ CNAME: 5,
10
+ SOA: 6,
11
+ PTR: 12,
12
+ MX: 15,
13
+ TXT: 16,
14
+ AAAA: 28,
15
+ SRV: 33,
16
+ };
17
+ const DNS_TYPE_REVERSE = Object.fromEntries(Object.entries(DNS_TYPE).map(([k, v]) => [v, k]));
18
+ // ---------------------------------------------------------------------------
19
+ // DNS wire-format helpers
20
+ // ---------------------------------------------------------------------------
21
+ function encodeDnsName(name) {
22
+ const labels = name.replace(/\.$/, '').split('.');
23
+ const parts = labels.map((label) => {
24
+ const buf = Buffer.from(label, 'ascii');
25
+ return Buffer.concat([Buffer.from([buf.length]), buf]);
26
+ });
27
+ parts.push(Buffer.from([0x00]));
28
+ return Buffer.concat(parts);
29
+ }
30
+ function parseDnsName(data, offset) {
31
+ const labels = [];
32
+ let pos = offset;
33
+ let endPos = -1;
34
+ while (pos < data.length) {
35
+ const len = data[pos];
36
+ if (len === 0) {
37
+ pos++;
38
+ break;
39
+ }
40
+ if ((len & 0xc0) === 0xc0) {
41
+ // Pointer: 2-byte offset from start of message
42
+ const ptr = ((len & 0x3f) << 8) | data[pos + 1];
43
+ if (endPos === -1)
44
+ endPos = pos + 2;
45
+ const { name: pName } = parseDnsName(data, ptr);
46
+ labels.push(...pName.split('.').filter(Boolean));
47
+ pos = endPos;
48
+ break;
49
+ }
50
+ pos++;
51
+ labels.push(data.subarray(pos, pos + len).toString('ascii'));
52
+ pos += len;
53
+ }
54
+ return { name: labels.join('.'), end: endPos === -1 ? pos : endPos };
55
+ }
56
+ function expandIPv6ToBytes(addr) {
57
+ let expanded = addr;
58
+ if (expanded.includes('::')) {
59
+ const [left, right] = expanded.split('::');
60
+ const leftParts = left ? left.split(':') : [];
61
+ const rightParts = right ? right.split(':') : [];
62
+ const missing = 8 - leftParts.length - rightParts.length;
63
+ expanded = [...leftParts, ...Array(missing).fill('0'), ...rightParts].join(':');
64
+ }
65
+ const bytes = [];
66
+ for (const group of expanded.split(':')) {
67
+ const n = parseInt(group.padStart(4, '0'), 16);
68
+ bytes.push((n >> 8) & 0xff, n & 0xff);
69
+ }
70
+ return Buffer.from(bytes);
71
+ }
72
+ function encodeRdata(type, value) {
73
+ switch (type) {
74
+ case 'A':
75
+ return Buffer.from(value.split('.').map(Number));
76
+ case 'AAAA':
77
+ return expandIPv6ToBytes(value);
78
+ case 'TXT': {
79
+ const text = Buffer.from(value, 'utf8');
80
+ return Buffer.concat([Buffer.from([text.length]), text]);
81
+ }
82
+ case 'CNAME':
83
+ case 'NS':
84
+ case 'PTR':
85
+ return encodeDnsName(value);
86
+ case 'MX': {
87
+ const mx = value;
88
+ const prio = Buffer.alloc(2);
89
+ prio.writeUInt16BE(mx.priority);
90
+ return Buffer.concat([prio, encodeDnsName(mx.exchange)]);
91
+ }
92
+ case 'SRV': {
93
+ const srv = value;
94
+ const header = Buffer.alloc(6);
95
+ header.writeUInt16BE(srv.priority, 0);
96
+ header.writeUInt16BE(srv.weight, 2);
97
+ header.writeUInt16BE(srv.port, 4);
98
+ return Buffer.concat([header, encodeDnsName(srv.target)]);
99
+ }
100
+ default:
101
+ return Buffer.alloc(0);
102
+ }
103
+ }
104
+ function buildDnsAnswer(namePtr, type, ttl, rdata) {
105
+ const meta = Buffer.alloc(10);
106
+ meta.writeUInt16BE(DNS_TYPE[type], 0); // TYPE
107
+ meta.writeUInt16BE(1, 2); // CLASS IN
108
+ meta.writeUInt32BE(ttl, 4); // TTL
109
+ meta.writeUInt16BE(rdata.length, 8); // RDLENGTH
110
+ return Buffer.concat([namePtr, meta, rdata]);
111
+ }
112
+ // ---------------------------------------------------------------------------
113
+ // MockDnsServer
114
+ // ---------------------------------------------------------------------------
115
+ export class MockDnsServer extends EventEmitter {
116
+ _options;
117
+ _records = new Map();
118
+ _socket = null;
119
+ _port = 0;
120
+ _running = false;
121
+ constructor(options = {}) {
122
+ super();
123
+ this._options = {
124
+ port: options.port ?? 0,
125
+ host: options.host ?? '127.0.0.1',
126
+ ttl: options.ttl ?? 60,
127
+ delay: options.delay ?? 0,
128
+ };
129
+ }
130
+ get port() {
131
+ return this._port;
132
+ }
133
+ get isRunning() {
134
+ return this._running;
135
+ }
136
+ addRecord(domain, type, value, ttl) {
137
+ const key = domain.toLowerCase().replace(/\.$/, '');
138
+ const list = this._records.get(key) ?? [];
139
+ list.push({ type, value: value, ttl: ttl ?? this._options.ttl });
140
+ this._records.set(key, list);
141
+ return this;
142
+ }
143
+ removeRecords(domain) {
144
+ this._records.delete(domain.toLowerCase().replace(/\.$/, ''));
145
+ return this;
146
+ }
147
+ clearRecords() {
148
+ this._records.clear();
149
+ return this;
150
+ }
151
+ async start() {
152
+ if (this._running)
153
+ return;
154
+ this._socket = createSocket('udp4');
155
+ await new Promise((resolve, reject) => {
156
+ const onError = (err) => {
157
+ if (!this._running)
158
+ reject(err);
159
+ else
160
+ this.emit('error', err);
161
+ };
162
+ this._socket.on('error', onError);
163
+ this._socket.on('message', (msg, rinfo) => {
164
+ if (msg.length < 12)
165
+ return;
166
+ const id = msg.readUInt16BE(0);
167
+ const flags = msg.readUInt16BE(2);
168
+ const qdcount = msg.readUInt16BE(4);
169
+ // Only handle standard queries (QR=0, OPCODE=0)
170
+ if ((flags & 0x8000) !== 0 || qdcount === 0)
171
+ return;
172
+ const { name, end } = parseDnsName(msg, 12);
173
+ const qtype = msg.readUInt16BE(end);
174
+ // qclass at end+2 — we accept any class
175
+ const normalizedName = name.toLowerCase().replace(/\.$/, '');
176
+ const allRecords = this._records.get(normalizedName) ?? [];
177
+ const qtypeName = DNS_TYPE_REVERSE[qtype];
178
+ const matchingRecords = qtypeName
179
+ ? allRecords.filter((r) => r.type === qtypeName)
180
+ : allRecords;
181
+ // Slice the question section to echo it back in the response
182
+ const questionSection = msg.subarray(12, end + 4);
183
+ const respond = () => {
184
+ const response = this._buildResponse(id, questionSection, matchingRecords, matchingRecords.length === 0);
185
+ this._socket?.send(response, 0, response.length, rinfo.port, rinfo.address);
186
+ this.emit('query', { name: normalizedName, type: qtypeName, records: matchingRecords });
187
+ };
188
+ if (this._options.delay > 0) {
189
+ setTimeout(respond, this._options.delay);
190
+ }
191
+ else {
192
+ respond();
193
+ }
194
+ });
195
+ this._socket.bind(this._options.port, this._options.host, () => {
196
+ const addr = this._socket?.address();
197
+ if (typeof addr === 'string' || addr == null) {
198
+ reject(new Error('Failed to resolve mock DNS address'));
199
+ return;
200
+ }
201
+ this._port = addr.port;
202
+ this._running = true;
203
+ resolve();
204
+ });
205
+ });
206
+ }
207
+ async stop() {
208
+ if (!this._running || !this._socket)
209
+ return;
210
+ await new Promise((resolve) => {
211
+ this._socket?.close(() => {
212
+ this._running = false;
213
+ this._socket = null;
214
+ resolve();
215
+ });
216
+ });
217
+ }
218
+ _buildResponse(id, questionSection, records, nxdomain) {
219
+ const header = Buffer.alloc(12);
220
+ header.writeUInt16BE(id, 0);
221
+ // QR=1 (response), AA=1 (authoritative), RA=1 (recursion available)
222
+ // RCODE: 0=NOERROR, 3=NXDOMAIN
223
+ const rcode = nxdomain ? 3 : 0;
224
+ header.writeUInt16BE(0x8400 | rcode, 2);
225
+ header.writeUInt16BE(1, 4); // QDCOUNT — echo back 1 question
226
+ header.writeUInt16BE(records.length, 6); // ANCOUNT
227
+ header.writeUInt16BE(0, 8); // NSCOUNT
228
+ header.writeUInt16BE(0, 10); // ARCOUNT
229
+ if (nxdomain || records.length === 0) {
230
+ return Buffer.concat([header, questionSection]);
231
+ }
232
+ // Use a pointer (0xC00C) to reference the name in the question section
233
+ // (question section starts at offset 12 in the original packet)
234
+ const namePtr = Buffer.from([0xc0, 0x0c]);
235
+ const answers = records.map((r) => {
236
+ const rdata = encodeRdata(r.type, r.value);
237
+ return buildDnsAnswer(namePtr, r.type, r.ttl, rdata);
238
+ });
239
+ return Buffer.concat([header, questionSection, ...answers]);
240
+ }
241
+ }
242
+ export const createMockDnsServer = async (options) => {
243
+ const server = new MockDnsServer(options);
244
+ await server.start();
245
+ return server;
246
+ };
247
+ //# sourceMappingURL=mock-dns-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-dns-server.js","sourceRoot":"","sources":["../../src/testing/mock-dns-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { EventEmitter } from 'node:events';
2
+ export interface MockHlsVariant {
3
+ /** Target bitrate in bits/s (used for BANDWIDTH attribute). */
4
+ bandwidth: number;
5
+ /** Optional resolution string, e.g. '1280x720'. */
6
+ resolution?: string;
7
+ /** Optional CODECS string, e.g. 'avc1.42c01e,mp4a.40.2'. */
8
+ codecs?: string;
9
+ }
10
+ export interface MockHlsServerOptions {
11
+ port?: number;
12
+ host?: string;
13
+ /**
14
+ * Playlist mode.
15
+ * - `'vod'` — all segments available from the start; playlist ends with #EXT-X-ENDLIST
16
+ * - `'live'` — sliding window; new segments are appended at the configured interval
17
+ * Default: `'vod'`
18
+ */
19
+ mode?: 'vod' | 'live';
20
+ /** Duration of each segment in seconds. Default: 6 */
21
+ segmentDuration?: number;
22
+ /**
23
+ * VOD: total number of segments.
24
+ * Live: size of the sliding window.
25
+ * Default: 6
26
+ */
27
+ segmentCount?: number;
28
+ /** #EXT-X-TARGETDURATION value. Default: ceil(segmentDuration) + 1 */
29
+ targetDuration?: number;
30
+ /**
31
+ * Variant streams. If omitted, a single 1 Mbps stream is used.
32
+ * Multiple variants produce a master playlist with EXT-X-STREAM-INF entries.
33
+ */
34
+ variants?: MockHlsVariant[];
35
+ /** Size in bytes of each fake TS segment. Default: 4096 */
36
+ segmentSize?: number;
37
+ /**
38
+ * Live mode only: interval between new segments appearing (ms).
39
+ * Default: segmentDuration * 1000
40
+ */
41
+ liveInterval?: number;
42
+ }
43
+ export declare class MockHlsServer extends EventEmitter {
44
+ private readonly _opts;
45
+ private _server;
46
+ private _port;
47
+ private _running;
48
+ private _mediaSequence;
49
+ private _liveTimer;
50
+ private _playlistFetches;
51
+ private _segmentFetches;
52
+ private _totalBytesServed;
53
+ constructor(options?: MockHlsServerOptions);
54
+ get port(): number;
55
+ get url(): string;
56
+ /** URL of the master playlist. */
57
+ get masterUrl(): string;
58
+ get isRunning(): boolean;
59
+ get statistics(): {
60
+ playlistFetches: number;
61
+ segmentFetches: number;
62
+ totalBytesServed: number;
63
+ };
64
+ /**
65
+ * Manually advance the live sequence number by one (without waiting for the timer).
66
+ * No-op in VOD mode.
67
+ */
68
+ advance(): void;
69
+ start(): Promise<void>;
70
+ stop(): Promise<void>;
71
+ private _handleRequest;
72
+ private _masterPlaylist;
73
+ private _variantPlaylist;
74
+ /**
75
+ * Produces a deterministic buffer for a given variant + sequence number.
76
+ * Same inputs always produce the same bytes (useful for caching tests).
77
+ */
78
+ private _fakeSegment;
79
+ }
80
+ export declare const createMockHlsServer: (options?: MockHlsServerOptions) => Promise<MockHlsServer>;
81
+ /** Shorthand: create a VOD HLS server. */
82
+ export declare const createMockHlsVod: (port?: number) => Promise<MockHlsServer>;
83
+ /** Shorthand: create a live HLS server. */
84
+ export declare const createMockHlsLive: (port?: number) => Promise<MockHlsServer>;
85
+ //# sourceMappingURL=mock-hls-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-hls-server.d.ts","sourceRoot":"","sources":["../../src/testing/mock-hls-server.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ1C,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACrB,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAC3B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,eAAe,CAAI;IAC3B,OAAO,CAAC,iBAAiB,CAAI;gBAEjB,OAAO,GAAE,oBAAyB;IAgB9C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,kCAAkC;IAClC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAM9F;IAED;;;OAGG;IACH,OAAO,IAAI,IAAI;IAMT,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B,OAAO,CAAC,cAAc;IAkEtB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,gBAAgB;IAgCxB;;;OAGG;IACH,OAAO,CAAC,YAAY;CASrB;AAED,eAAO,MAAM,mBAAmB,GAAU,UAAU,oBAAoB,KAAG,OAAO,CAAC,aAAa,CAI/F,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,gBAAgB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,aAAa,CAChC,CAAA;AAE5C,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,aAAa,CAChC,CAAA"}