raffel 1.1.89 → 1.1.90-next.3da3a67

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 (445) hide show
  1. package/dist/adapters/grpc.js +1 -1
  2. package/dist/adapters/grpc.js.map +1 -1
  3. package/dist/adapters/http.d.ts +4 -1
  4. package/dist/adapters/http.d.ts.map +1 -1
  5. package/dist/adapters/http.js +28 -41
  6. package/dist/adapters/http.js.map +1 -1
  7. package/dist/adapters/jsonrpc.d.ts +2 -2
  8. package/dist/adapters/jsonrpc.d.ts.map +1 -1
  9. package/dist/adapters/jsonrpc.js +2 -2
  10. package/dist/adapters/jsonrpc.js.map +1 -1
  11. package/dist/adapters/smtp-types.d.ts +1 -1
  12. package/dist/adapters/smtp-types.d.ts.map +1 -1
  13. package/dist/adapters/smtp.js +2 -2
  14. package/dist/adapters/smtp.js.map +1 -1
  15. package/dist/adapters/sse-runtime.d.ts +17 -0
  16. package/dist/adapters/sse-runtime.d.ts.map +1 -0
  17. package/dist/adapters/sse-runtime.js +90 -0
  18. package/dist/adapters/sse-runtime.js.map +1 -0
  19. package/dist/adapters/ssh-types.d.ts +1 -1
  20. package/dist/adapters/ssh-types.d.ts.map +1 -1
  21. package/dist/adapters/ssh.js +3 -3
  22. package/dist/adapters/ssh.js.map +1 -1
  23. package/dist/adapters/tcp.d.ts +1 -1
  24. package/dist/adapters/tcp.d.ts.map +1 -1
  25. package/dist/adapters/tcp.js +1 -1
  26. package/dist/adapters/tcp.js.map +1 -1
  27. package/dist/adapters/udp.d.ts +1 -1
  28. package/dist/adapters/udp.d.ts.map +1 -1
  29. package/dist/adapters/udp.js +1 -1
  30. package/dist/adapters/udp.js.map +1 -1
  31. package/dist/adapters/websocket-types.d.ts +1 -1
  32. package/dist/adapters/websocket-types.d.ts.map +1 -1
  33. package/dist/adapters/websocket.js +1 -1
  34. package/dist/adapters/websocket.js.map +1 -1
  35. package/dist/channels/rest-api.d.ts +2 -0
  36. package/dist/channels/rest-api.d.ts.map +1 -1
  37. package/dist/channels/rest-api.js +23 -4
  38. package/dist/channels/rest-api.js.map +1 -1
  39. package/dist/core/registry.d.ts +10 -1
  40. package/dist/core/registry.d.ts.map +1 -1
  41. package/dist/core/registry.js +51 -0
  42. package/dist/core/registry.js.map +1 -1
  43. package/dist/core/router.d.ts.map +1 -1
  44. package/dist/core/router.js +27 -5
  45. package/dist/core/router.js.map +1 -1
  46. package/dist/docs/generators/graphql-generator.d.ts.map +1 -1
  47. package/dist/docs/generators/graphql-generator.js +36 -5
  48. package/dist/docs/generators/graphql-generator.js.map +1 -1
  49. package/dist/docs/generators/http-generator.js +2 -1
  50. package/dist/docs/generators/http-generator.js.map +1 -1
  51. package/dist/docs/generators/streams-generator.d.ts.map +1 -1
  52. package/dist/docs/generators/streams-generator.js +14 -1
  53. package/dist/docs/generators/streams-generator.js.map +1 -1
  54. package/dist/docs/generators/udp-generator.js +1 -1
  55. package/dist/docs/generators/udp-generator.js.map +1 -1
  56. package/dist/docs/generators/usd-generator.js +1 -1
  57. package/dist/docs/generators/usd-generator.js.map +1 -1
  58. package/dist/docs/generators/websocket-generator.d.ts.map +1 -1
  59. package/dist/docs/generators/websocket-generator.js +12 -3
  60. package/dist/docs/generators/websocket-generator.js.map +1 -1
  61. package/dist/docs/markdown-loader.js +15 -2
  62. package/dist/docs/markdown-loader.js.map +1 -1
  63. package/dist/docs/openapi/generator.d.ts +3 -0
  64. package/dist/docs/openapi/generator.d.ts.map +1 -1
  65. package/dist/docs/openapi/generator.js +24 -4
  66. package/dist/docs/openapi/generator.js.map +1 -1
  67. package/dist/docs/search-index.js +27 -5
  68. package/dist/docs/search-index.js.map +1 -1
  69. package/dist/docs/try-it-proxy.d.ts.map +1 -1
  70. package/dist/docs/try-it-proxy.js +3 -1
  71. package/dist/docs/try-it-proxy.js.map +1 -1
  72. package/dist/docs/ui/assets/protocol-console.js +1 -1
  73. package/dist/docs/ui/assets/raffel-docs.css +42 -0
  74. package/dist/docs/ui/assets/raffel-docs.js +120 -54
  75. package/dist/docs/ui/client-script/endpoint-details.d.ts +1 -1
  76. package/dist/docs/ui/client-script/endpoint-details.d.ts.map +1 -1
  77. package/dist/docs/ui/client-script/endpoint-details.js +1 -1
  78. package/dist/docs/ui/client-script/endpoint-details.js.map +1 -1
  79. package/dist/docs/ui/edit-link.js +10 -4
  80. package/dist/docs/ui/edit-link.js.map +1 -1
  81. package/dist/docs/ui/html-builder.d.ts.map +1 -1
  82. package/dist/docs/ui/html-builder.js +10 -2
  83. package/dist/docs/ui/html-builder.js.map +1 -1
  84. package/dist/docs/ui/runtime/index.js +120 -54
  85. package/dist/docs/ui/runtime/index.js.map +1 -1
  86. package/dist/docs/ui/runtime/protocol-console.js +1 -1
  87. package/dist/docs/ui/runtime/protocol-console.js.map +1 -1
  88. package/dist/docs/ui/style-sections/projection-diagnostics.d.ts +2 -0
  89. package/dist/docs/ui/style-sections/projection-diagnostics.d.ts.map +1 -0
  90. package/dist/docs/ui/style-sections/projection-diagnostics.js +44 -0
  91. package/dist/docs/ui/style-sections/projection-diagnostics.js.map +1 -0
  92. package/dist/docs/ui/styles.d.ts.map +1 -1
  93. package/dist/docs/ui/styles.js +2 -0
  94. package/dist/docs/ui/styles.js.map +1 -1
  95. package/dist/docs/usd-middleware.d.ts.map +1 -1
  96. package/dist/docs/usd-middleware.js +16 -5
  97. package/dist/docs/usd-middleware.js.map +1 -1
  98. package/dist/dx/logging/formats.d.ts.map +1 -1
  99. package/dist/dx/logging/formats.js +31 -8
  100. package/dist/dx/logging/formats.js.map +1 -1
  101. package/dist/dx/scaffold/index.d.ts.map +1 -1
  102. package/dist/dx/scaffold/index.js +9 -3
  103. package/dist/dx/scaffold/index.js.map +1 -1
  104. package/dist/dx/scenarios.js +2 -2
  105. package/dist/dx/scenarios.js.map +1 -1
  106. package/dist/graphql/adapter.d.ts +2 -0
  107. package/dist/graphql/adapter.d.ts.map +1 -1
  108. package/dist/graphql/adapter.js +459 -98
  109. package/dist/graphql/adapter.js.map +1 -1
  110. package/dist/graphql/artifacts.d.ts +16 -0
  111. package/dist/graphql/artifacts.d.ts.map +1 -0
  112. package/dist/graphql/artifacts.js +33 -0
  113. package/dist/graphql/artifacts.js.map +1 -0
  114. package/dist/graphql/index.d.ts +8 -3
  115. package/dist/graphql/index.d.ts.map +1 -1
  116. package/dist/graphql/index.js +3 -1
  117. package/dist/graphql/index.js.map +1 -1
  118. package/dist/graphql/persisted-operations.d.ts +16 -0
  119. package/dist/graphql/persisted-operations.d.ts.map +1 -0
  120. package/dist/graphql/persisted-operations.js +39 -0
  121. package/dist/graphql/persisted-operations.js.map +1 -0
  122. package/dist/graphql/resource.d.ts +53 -1
  123. package/dist/graphql/resource.d.ts.map +1 -1
  124. package/dist/graphql/resource.js +2 -0
  125. package/dist/graphql/resource.js.map +1 -1
  126. package/dist/graphql/schema-generator.d.ts +5 -1
  127. package/dist/graphql/schema-generator.d.ts.map +1 -1
  128. package/dist/graphql/schema-generator.js +259 -23
  129. package/dist/graphql/schema-generator.js.map +1 -1
  130. package/dist/graphql/security.d.ts +36 -0
  131. package/dist/graphql/security.d.ts.map +1 -0
  132. package/dist/graphql/security.js +170 -0
  133. package/dist/graphql/security.js.map +1 -0
  134. package/dist/graphql/types.d.ts +76 -2
  135. package/dist/graphql/types.d.ts.map +1 -1
  136. package/dist/http/_oauth-transaction.d.ts +24 -0
  137. package/dist/http/_oauth-transaction.d.ts.map +1 -0
  138. package/dist/http/_oauth-transaction.js +82 -0
  139. package/dist/http/_oauth-transaction.js.map +1 -0
  140. package/dist/http/auth.d.ts +35 -5
  141. package/dist/http/auth.d.ts.map +1 -1
  142. package/dist/http/auth.js +45 -12
  143. package/dist/http/auth.js.map +1 -1
  144. package/dist/http/context.d.ts +6 -2
  145. package/dist/http/context.d.ts.map +1 -1
  146. package/dist/http/context.js +27 -27
  147. package/dist/http/context.js.map +1 -1
  148. package/dist/http/cors.d.ts.map +1 -1
  149. package/dist/http/cors.js +5 -2
  150. package/dist/http/cors.js.map +1 -1
  151. package/dist/http/index.d.ts +4 -2
  152. package/dist/http/index.d.ts.map +1 -1
  153. package/dist/http/index.js +2 -1
  154. package/dist/http/index.js.map +1 -1
  155. package/dist/http/long-poll.d.ts +45 -0
  156. package/dist/http/long-poll.d.ts.map +1 -0
  157. package/dist/http/long-poll.js +75 -0
  158. package/dist/http/long-poll.js.map +1 -0
  159. package/dist/http/oauth2.d.ts +5 -0
  160. package/dist/http/oauth2.d.ts.map +1 -1
  161. package/dist/http/oauth2.js +39 -34
  162. package/dist/http/oauth2.js.map +1 -1
  163. package/dist/http/oidc.d.ts +9 -0
  164. package/dist/http/oidc.d.ts.map +1 -1
  165. package/dist/http/oidc.js +110 -64
  166. package/dist/http/oidc.js.map +1 -1
  167. package/dist/http/serve.js +1 -1
  168. package/dist/http/serve.js.map +1 -1
  169. package/dist/http/session.js +1 -1
  170. package/dist/http/session.js.map +1 -1
  171. package/dist/http/static.d.ts.map +1 -1
  172. package/dist/http/static.js +11 -0
  173. package/dist/http/static.js.map +1 -1
  174. package/dist/http/stream-auth.js +1 -1
  175. package/dist/http/stream-auth.js.map +1 -1
  176. package/dist/index.d.ts +5 -5
  177. package/dist/index.d.ts.map +1 -1
  178. package/dist/index.js +2 -2
  179. package/dist/index.js.map +1 -1
  180. package/dist/inspect/path-params.d.ts.map +1 -1
  181. package/dist/inspect/path-params.js +6 -1
  182. package/dist/inspect/path-params.js.map +1 -1
  183. package/dist/inspect/playground.d.ts.map +1 -1
  184. package/dist/inspect/playground.js +9 -6
  185. package/dist/inspect/playground.js.map +1 -1
  186. package/dist/inspect/reports.js +1 -1
  187. package/dist/inspect/reports.js.map +1 -1
  188. package/dist/json-server/index.d.ts +1 -1
  189. package/dist/json-server/index.d.ts.map +1 -1
  190. package/dist/mcp/cli.js +1 -1
  191. package/dist/mcp/docs/adapters.js +2 -2
  192. package/dist/mcp/docs/adapters.js.map +1 -1
  193. package/dist/mcp/server.js +2 -2
  194. package/dist/mcp/server.js.map +1 -1
  195. package/dist/mcp/tools/handlers.js +2 -2
  196. package/dist/mcp/tools/handlers.js.map +1 -1
  197. package/dist/mcp/tools/misc-tool-handlers.js +1 -1
  198. package/dist/mcp/tools/misc-tool-handlers.js.map +1 -1
  199. package/dist/middleware/auth/oauth2-client-credentials.js +5 -3
  200. package/dist/middleware/auth/oauth2-client-credentials.js.map +1 -1
  201. package/dist/middleware/auth/oauth2.d.ts +1 -1
  202. package/dist/middleware/auth/oauth2.d.ts.map +1 -1
  203. package/dist/middleware/auth/oauth2.js +29 -46
  204. package/dist/middleware/auth/oauth2.js.map +1 -1
  205. package/dist/middleware/auth.d.ts +6 -0
  206. package/dist/middleware/auth.d.ts.map +1 -1
  207. package/dist/middleware/auth.js +73 -44
  208. package/dist/middleware/auth.js.map +1 -1
  209. package/dist/middleware/session/interceptor.d.ts.map +1 -1
  210. package/dist/middleware/session/interceptor.js +2 -1
  211. package/dist/middleware/session/interceptor.js.map +1 -1
  212. package/dist/mock-server/cli.js +2 -2
  213. package/dist/mock-server/cli.js.map +1 -1
  214. package/dist/mock-server/route-extractor.d.ts.map +1 -1
  215. package/dist/mock-server/route-extractor.js +18 -1
  216. package/dist/mock-server/route-extractor.js.map +1 -1
  217. package/dist/mock-server/types.d.ts +1 -1
  218. package/dist/mock-server/types.d.ts.map +1 -1
  219. package/dist/protocols/mcp/docs-server/index.d.ts.map +1 -1
  220. package/dist/protocols/mcp/docs-server/index.js +5 -3
  221. package/dist/protocols/mcp/docs-server/index.js.map +1 -1
  222. package/dist/protocols/mcp/integrated.d.ts.map +1 -1
  223. package/dist/protocols/mcp/integrated.js +8 -0
  224. package/dist/protocols/mcp/integrated.js.map +1 -1
  225. package/dist/protocols/mcp/standalone.d.ts +10 -0
  226. package/dist/protocols/mcp/standalone.d.ts.map +1 -1
  227. package/dist/protocols/mcp/standalone.js +24 -4
  228. package/dist/protocols/mcp/standalone.js.map +1 -1
  229. package/dist/protocols/mcp/transport/cors.d.ts +4 -0
  230. package/dist/protocols/mcp/transport/cors.d.ts.map +1 -0
  231. package/dist/protocols/mcp/transport/cors.js +24 -0
  232. package/dist/protocols/mcp/transport/cors.js.map +1 -0
  233. package/dist/protocols/mcp/transport/sse.d.ts +4 -0
  234. package/dist/protocols/mcp/transport/sse.d.ts.map +1 -1
  235. package/dist/protocols/mcp/transport/sse.js +22 -11
  236. package/dist/protocols/mcp/transport/sse.js.map +1 -1
  237. package/dist/protocols/mcp/transport/streamable-http.d.ts +9 -0
  238. package/dist/protocols/mcp/transport/streamable-http.d.ts.map +1 -1
  239. package/dist/protocols/mcp/transport/streamable-http.js +43 -13
  240. package/dist/protocols/mcp/transport/streamable-http.js.map +1 -1
  241. package/dist/protocols/mcp/types.d.ts +10 -0
  242. package/dist/protocols/mcp/types.d.ts.map +1 -1
  243. package/dist/proxy/explicit.d.ts +4 -0
  244. package/dist/proxy/explicit.d.ts.map +1 -1
  245. package/dist/proxy/explicit.js +30 -9
  246. package/dist/proxy/explicit.js.map +1 -1
  247. package/dist/proxy/http-forward.d.ts +2 -0
  248. package/dist/proxy/http-forward.d.ts.map +1 -1
  249. package/dist/proxy/http-forward.js +35 -7
  250. package/dist/proxy/http-forward.js.map +1 -1
  251. package/dist/proxy/socks5.d.ts +4 -0
  252. package/dist/proxy/socks5.d.ts.map +1 -1
  253. package/dist/proxy/socks5.js +12 -3
  254. package/dist/proxy/socks5.js.map +1 -1
  255. package/dist/proxy/transparent.js +1 -1
  256. package/dist/proxy/transparent.js.map +1 -1
  257. package/dist/proxy/utils/auth.d.ts.map +1 -1
  258. package/dist/proxy/utils/auth.js +29 -5
  259. package/dist/proxy/utils/auth.js.map +1 -1
  260. package/dist/server/builder/execution-entrypoint.d.ts.map +1 -1
  261. package/dist/server/builder/execution-entrypoint.js +2 -1
  262. package/dist/server/builder/execution-entrypoint.js.map +1 -1
  263. package/dist/server/builder/execution-http-graphql.d.ts.map +1 -1
  264. package/dist/server/builder/execution-http-graphql.js +4 -1
  265. package/dist/server/builder/execution-http-graphql.js.map +1 -1
  266. package/dist/server/builder/execution-http-mcp.d.ts.map +1 -1
  267. package/dist/server/builder/execution-http-mcp.js +12 -1
  268. package/dist/server/builder/execution-http-mcp.js.map +1 -1
  269. package/dist/server/builder/execution-protocol-utils.d.ts.map +1 -1
  270. package/dist/server/builder/execution-protocol-utils.js +3 -0
  271. package/dist/server/builder/execution-protocol-utils.js.map +1 -1
  272. package/dist/server/builder/execution-web-protocols.d.ts.map +1 -1
  273. package/dist/server/builder/execution-web-protocols.js +4 -1
  274. package/dist/server/builder/execution-web-protocols.js.map +1 -1
  275. package/dist/server/builder/operation-registrar.d.ts +1 -0
  276. package/dist/server/builder/operation-registrar.d.ts.map +1 -1
  277. package/dist/server/builder/operation-registrar.js +2 -1
  278. package/dist/server/builder/operation-registrar.js.map +1 -1
  279. package/dist/server/builder/policy-bridges.d.ts.map +1 -1
  280. package/dist/server/builder/policy-bridges.js +34 -36
  281. package/dist/server/builder/policy-bridges.js.map +1 -1
  282. package/dist/server/builder/programmatic-registration.d.ts.map +1 -1
  283. package/dist/server/builder/programmatic-registration.js +21 -1
  284. package/dist/server/builder/programmatic-registration.js.map +1 -1
  285. package/dist/server/builder/protocol-namespaces.d.ts.map +1 -1
  286. package/dist/server/builder/protocol-namespaces.js +3 -2
  287. package/dist/server/builder/protocol-namespaces.js.map +1 -1
  288. package/dist/server/builder/single-port-utils.js +2 -2
  289. package/dist/server/builder/single-port-utils.js.map +1 -1
  290. package/dist/server/builder.js +4 -1
  291. package/dist/server/builder.js.map +1 -1
  292. package/dist/server/discovery-utils.d.ts.map +1 -1
  293. package/dist/server/discovery-utils.js +9 -1
  294. package/dist/server/discovery-utils.js.map +1 -1
  295. package/dist/server/fs-routes/discovery-sources.d.ts.map +1 -1
  296. package/dist/server/fs-routes/discovery-sources.js +7 -1
  297. package/dist/server/fs-routes/discovery-sources.js.map +1 -1
  298. package/dist/server/fs-routes/loader.d.ts.map +1 -1
  299. package/dist/server/fs-routes/loader.js +11 -2
  300. package/dist/server/fs-routes/loader.js.map +1 -1
  301. package/dist/server/fs-routes/tcp/loader.js +1 -1
  302. package/dist/server/fs-routes/tcp/loader.js.map +1 -1
  303. package/dist/server/fs-routes/tcp/types.d.ts +1 -1
  304. package/dist/server/fs-routes/tcp/types.d.ts.map +1 -1
  305. package/dist/server/fs-routes/types.d.ts +15 -3
  306. package/dist/server/fs-routes/types.d.ts.map +1 -1
  307. package/dist/server/fs-routes/udp/loader.js +1 -1
  308. package/dist/server/fs-routes/udp/loader.js.map +1 -1
  309. package/dist/server/fs-routes/udp/types.d.ts +1 -1
  310. package/dist/server/fs-routes/udp/types.d.ts.map +1 -1
  311. package/dist/server/handler-builders.d.ts +3 -4
  312. package/dist/server/handler-builders.d.ts.map +1 -1
  313. package/dist/server/handler-builders.js +48 -2
  314. package/dist/server/handler-builders.js.map +1 -1
  315. package/dist/server/port-binding.js +1 -1
  316. package/dist/server/port-binding.js.map +1 -1
  317. package/dist/server/route-discovery.d.ts +3 -4
  318. package/dist/server/route-discovery.d.ts.map +1 -1
  319. package/dist/server/route-discovery.js +3 -1
  320. package/dist/server/route-discovery.js.map +1 -1
  321. package/dist/server/router-module.d.ts +5 -4
  322. package/dist/server/router-module.d.ts.map +1 -1
  323. package/dist/server/router-module.js +42 -0
  324. package/dist/server/router-module.js.map +1 -1
  325. package/dist/server/types/config-types.d.ts +4 -4
  326. package/dist/server/types/config-types.d.ts.map +1 -1
  327. package/dist/server/types/handler-types.d.ts +30 -8
  328. package/dist/server/types/handler-types.d.ts.map +1 -1
  329. package/dist/server/types/protocol-namespace-types.d.ts +5 -1
  330. package/dist/server/types/protocol-namespace-types.d.ts.map +1 -1
  331. package/dist/stream/index.d.ts +2 -0
  332. package/dist/stream/index.d.ts.map +1 -1
  333. package/dist/stream/index.js +2 -0
  334. package/dist/stream/index.js.map +1 -1
  335. package/dist/stream/projections.d.ts +4 -0
  336. package/dist/stream/projections.d.ts.map +1 -0
  337. package/dist/stream/projections.js +38 -0
  338. package/dist/stream/projections.js.map +1 -0
  339. package/dist/stream/resumable.d.ts +8 -0
  340. package/dist/stream/resumable.d.ts.map +1 -0
  341. package/dist/stream/resumable.js +72 -0
  342. package/dist/stream/resumable.js.map +1 -0
  343. package/dist/testing/mock-proxy-server.d.ts +2 -0
  344. package/dist/testing/mock-proxy-server.d.ts.map +1 -1
  345. package/dist/testing/mock-proxy-server.js +2 -1
  346. package/dist/testing/mock-proxy-server.js.map +1 -1
  347. package/dist/types/handlers.d.ts +124 -1
  348. package/dist/types/handlers.d.ts.map +1 -1
  349. package/dist/types/index.d.ts +1 -1
  350. package/dist/types/index.d.ts.map +1 -1
  351. package/dist/ui/core/registry.d.ts +10 -1
  352. package/dist/ui/core/registry.d.ts.map +1 -1
  353. package/dist/ui/core/router.d.ts.map +1 -1
  354. package/dist/ui/docs/generators/graphql-generator.d.ts.map +1 -1
  355. package/dist/ui/docs/generators/streams-generator.d.ts.map +1 -1
  356. package/dist/ui/docs/generators/websocket-generator.d.ts.map +1 -1
  357. package/dist/ui/docs/openapi/generator.d.ts +3 -0
  358. package/dist/ui/docs/openapi/generator.d.ts.map +1 -1
  359. package/dist/ui/docs/try-it-proxy.d.ts.map +1 -1
  360. package/dist/ui/docs/ui/client-script/endpoint-details.d.ts +1 -1
  361. package/dist/ui/docs/ui/client-script/endpoint-details.d.ts.map +1 -1
  362. package/dist/ui/docs/ui/html-builder.d.ts.map +1 -1
  363. package/dist/ui/docs/ui/style-sections/projection-diagnostics.d.ts +2 -0
  364. package/dist/ui/docs/ui/style-sections/projection-diagnostics.d.ts.map +1 -0
  365. package/dist/ui/docs/ui/styles.d.ts.map +1 -1
  366. package/dist/ui/docs/usd-middleware.d.ts.map +1 -1
  367. package/dist/ui/graphql/adapter.d.ts +2 -0
  368. package/dist/ui/graphql/adapter.d.ts.map +1 -1
  369. package/dist/ui/graphql/artifacts.d.ts +16 -0
  370. package/dist/ui/graphql/artifacts.d.ts.map +1 -0
  371. package/dist/ui/graphql/index.d.ts +8 -3
  372. package/dist/ui/graphql/index.d.ts.map +1 -1
  373. package/dist/ui/graphql/persisted-operations.d.ts +16 -0
  374. package/dist/ui/graphql/persisted-operations.d.ts.map +1 -0
  375. package/dist/ui/graphql/resource.d.ts +53 -1
  376. package/dist/ui/graphql/resource.d.ts.map +1 -1
  377. package/dist/ui/graphql/schema-generator.d.ts +5 -1
  378. package/dist/ui/graphql/schema-generator.d.ts.map +1 -1
  379. package/dist/ui/graphql/security.d.ts +36 -0
  380. package/dist/ui/graphql/security.d.ts.map +1 -0
  381. package/dist/ui/graphql/types.d.ts +76 -2
  382. package/dist/ui/graphql/types.d.ts.map +1 -1
  383. package/dist/ui/http/context.d.ts +6 -2
  384. package/dist/ui/http/context.d.ts.map +1 -1
  385. package/dist/ui/middleware/auth/oauth2.d.ts +1 -1
  386. package/dist/ui/middleware/auth/oauth2.d.ts.map +1 -1
  387. package/dist/ui/middleware/auth.d.ts +6 -0
  388. package/dist/ui/middleware/auth.d.ts.map +1 -1
  389. package/dist/ui/protocols/mcp/types.d.ts +10 -0
  390. package/dist/ui/protocols/mcp/types.d.ts.map +1 -1
  391. package/dist/ui/server/fs-routes/discovery-sources.d.ts.map +1 -1
  392. package/dist/ui/server/fs-routes/loader.d.ts.map +1 -1
  393. package/dist/ui/server/fs-routes/tcp/types.d.ts +1 -1
  394. package/dist/ui/server/fs-routes/tcp/types.d.ts.map +1 -1
  395. package/dist/ui/server/fs-routes/types.d.ts +15 -3
  396. package/dist/ui/server/fs-routes/types.d.ts.map +1 -1
  397. package/dist/ui/server/fs-routes/udp/types.d.ts +1 -1
  398. package/dist/ui/server/fs-routes/udp/types.d.ts.map +1 -1
  399. package/dist/ui/stream/projections.d.ts +4 -0
  400. package/dist/ui/stream/projections.d.ts.map +1 -0
  401. package/dist/ui/stream/resumable.d.ts +8 -0
  402. package/dist/ui/stream/resumable.d.ts.map +1 -0
  403. package/dist/ui/types/handlers.d.ts +124 -1
  404. package/dist/ui/types/handlers.d.ts.map +1 -1
  405. package/dist/ui/types/index.d.ts +1 -1
  406. package/dist/ui/types/index.d.ts.map +1 -1
  407. package/dist/ui/usd/builder/http.d.ts +1 -0
  408. package/dist/ui/usd/builder/http.d.ts.map +1 -1
  409. package/dist/ui/usd/builder/streams.d.ts +3 -0
  410. package/dist/ui/usd/builder/streams.d.ts.map +1 -1
  411. package/dist/ui/usd/spec/protocol-types.d.ts +11 -0
  412. package/dist/ui/usd/spec/protocol-types.d.ts.map +1 -1
  413. package/dist/ui/usd/spec/types.d.ts +2 -0
  414. package/dist/ui/usd/spec/types.d.ts.map +1 -1
  415. package/dist/ui/usd/validator/schema.d.ts +168 -0
  416. package/dist/ui/usd/validator/schema.d.ts.map +1 -1
  417. package/dist/ui/utils/header-metadata.d.ts.map +1 -1
  418. package/dist/ui/validation/types.d.ts +2 -0
  419. package/dist/ui/validation/types.d.ts.map +1 -1
  420. package/dist/usd/builder/http.d.ts +1 -0
  421. package/dist/usd/builder/http.d.ts.map +1 -1
  422. package/dist/usd/builder/http.js +4 -0
  423. package/dist/usd/builder/http.js.map +1 -1
  424. package/dist/usd/builder/streams.d.ts +3 -0
  425. package/dist/usd/builder/streams.d.ts.map +1 -1
  426. package/dist/usd/builder/streams.js +10 -0
  427. package/dist/usd/builder/streams.js.map +1 -1
  428. package/dist/usd/spec/protocol-types.d.ts +11 -0
  429. package/dist/usd/spec/protocol-types.d.ts.map +1 -1
  430. package/dist/usd/spec/types.d.ts +2 -0
  431. package/dist/usd/spec/types.d.ts.map +1 -1
  432. package/dist/usd/spec/types.js.map +1 -1
  433. package/dist/usd/validator/schema.d.ts +168 -0
  434. package/dist/usd/validator/schema.d.ts.map +1 -1
  435. package/dist/usd/validator/schema.js +71 -0
  436. package/dist/usd/validator/schema.js.map +1 -1
  437. package/dist/utils/certs.js +2 -2
  438. package/dist/utils/certs.js.map +1 -1
  439. package/dist/utils/header-metadata.d.ts.map +1 -1
  440. package/dist/utils/header-metadata.js +1 -0
  441. package/dist/utils/header-metadata.js.map +1 -1
  442. package/dist/validation/types.d.ts +2 -0
  443. package/dist/validation/types.d.ts.map +1 -1
  444. package/dist/validation/types.js.map +1 -1
  445. package/package.json +8 -2
@@ -62,6 +62,11 @@ let searchQuery = '';
62
62
  let routeState = parseRouteHash();
63
63
  let activePagePath = resolveDocsAlias(routeState.pagePath);
64
64
  let activeHeadingId = routeState.headingId;
65
+ // Authentication material is deliberately memory-only. Persisting API keys,
66
+ // tokens, or OAuth client secrets in Web Storage makes them available to any
67
+ // script running on the documentation origin.
68
+ const credentialMemory = new Map();
69
+ const pendingOAuthMemory = new Map();
65
70
  const docsPlugins = [];
66
71
  const themeStorageKey = 'raffel-docs-theme';
67
72
  const sidebarWidthStorageKey = 'raffel-docs-sidebar-width';
@@ -140,12 +145,22 @@ function unmountDocsComponents(root = doc) {
140
145
  function esc(value) {
141
146
  if (value === undefined || value === null)
142
147
  return '';
143
- return String(value)
144
- .replace(/&/g, '&')
145
- .replace(/</g, '&lt;')
146
- .replace(/>/g, '&gt;')
147
- .replace(/"/g, '&quot;')
148
- .replace(/'/g, '&#x27;');
148
+ let escaped = '';
149
+ for (const character of String(value)) {
150
+ if (character === '&')
151
+ escaped += '&amp;';
152
+ else if (character === '<')
153
+ escaped += '&lt;';
154
+ else if (character === '>')
155
+ escaped += '&gt;';
156
+ else if (character === '"')
157
+ escaped += '&quot;';
158
+ else if (character === "'")
159
+ escaped += '&#x27;';
160
+ else
161
+ escaped += character;
162
+ }
163
+ return escaped;
149
164
  }
150
165
  function slugifyHeading(value) {
151
166
  return String(value ?? '')
@@ -2288,6 +2303,19 @@ function renderEndpointDetails(endpoint) {
2288
2303
  left.className = 'endpoint-left';
2289
2304
  const right = doc.createElement('div');
2290
2305
  right.className = 'endpoint-right';
2306
+ const longPoll = data['x-usd-long-poll'] ?? data['x-raffel-long-poll'];
2307
+ if (longPoll) {
2308
+ const section = doc.createElement('div');
2309
+ section.className = 'endpoint-subsection long-poll-interaction';
2310
+ section.innerHTML = '<div class="subsection-label">Long Poll Interaction</div>';
2311
+ appendInfoGrid(section, [
2312
+ ['Cursor', `${longPoll.cursor?.input ?? 'cursor'} → ${longPoll.cursor?.output ?? 'cursor'} (${longPoll.cursor?.semantics ?? 'exclusive'})`],
2313
+ ['Maximum wait', longPoll.waitMs ? `${longPoll.waitMs} ms` : undefined],
2314
+ ['Retry hint', longPoll.retryMs ? `${longPoll.retryMs} ms` : undefined],
2315
+ ['Timeout outcome', longPoll.timeoutOutcome],
2316
+ ]);
2317
+ left.appendChild(section);
2318
+ }
2291
2319
  const params = (data.parameters ?? []);
2292
2320
  if (params.length > 0) {
2293
2321
  const section = doc.createElement('div');
@@ -2395,7 +2423,15 @@ function renderEndpointDetails(endpoint) {
2395
2423
  appendMany([['Arguments', data.args], ['Input', data.input], ['Output', data.output], ['Schema', data.schema], ['Relations', data.relations], ['Authorize', data.authorize], ['Authorization', data.authz], ['Policies', data.policies]]);
2396
2424
  }
2397
2425
  if (activeProtocol === 'streams') {
2398
- appendInfoGrid(container, [['Direction', data.direction], ['Path', endpoint.path]]);
2426
+ const resumable = data['x-usd-resumable'];
2427
+ appendInfoGrid(container, [
2428
+ ['Direction', data.direction],
2429
+ ['Path', endpoint.path],
2430
+ ['Delivery', resumable?.delivery],
2431
+ ['Resume Cursor', resumable?.cursor?.header],
2432
+ ['Snapshot event', resumable?.snapshot?.event],
2433
+ ]);
2434
+ appendStreamProjectionDiagnostics(container, resumable?.projections);
2399
2435
  appendMany([['Parameters', parameterMapToSchema(data.parameters)], ['Message Schema', resolveMessagePayload(data.message)]]);
2400
2436
  }
2401
2437
  if (activeProtocol === 'jsonrpc') {
@@ -2412,11 +2448,46 @@ function renderEndpointDetails(endpoint) {
2412
2448
  appendMany([['Framing', data.framing], ['Inbound Message', resolveMessagePayload(data.messages?.inbound)], ['Outbound Message', resolveMessagePayload(data.messages?.outbound)]]);
2413
2449
  }
2414
2450
  if (activeProtocol === 'udp') {
2415
- appendInfoGrid(container, [['Host', data.host ?? '0.0.0.0'], ['Port', data.port], ['Max Packet', data.maxPacketSize ? `${data.maxPacketSize} bytes` : undefined]]);
2451
+ appendInfoGrid(container, [['Host', data.host ?? '127.0.0.1'], ['Port', data.port], ['Max Packet', data.maxPacketSize ? `${data.maxPacketSize} bytes` : undefined]]);
2416
2452
  appendMany([['Inbound Message', resolveMessagePayload(data.messages?.inbound)], ['Outbound Message', resolveMessagePayload(data.messages?.outbound)], ['Message Schema', resolveMessagePayload(data.message)]]);
2417
2453
  }
2418
2454
  return container;
2419
2455
  }
2456
+ function appendStreamProjectionDiagnostics(container, projections) {
2457
+ if (!projections || typeof projections !== 'object')
2458
+ return;
2459
+ const labels = {
2460
+ httpSse: 'HTTP / SSE',
2461
+ websocket: 'WebSocket',
2462
+ grpc: 'gRPC',
2463
+ };
2464
+ const entries = Object.entries(projections);
2465
+ if (entries.length === 0)
2466
+ return;
2467
+ const section = doc.createElement('div');
2468
+ section.className = 'endpoint-subsection stream-projection-diagnostics';
2469
+ section.innerHTML = '<div class="subsection-label">Projection diagnostics</div>';
2470
+ const grid = doc.createElement('div');
2471
+ grid.className = 'projection-diagnostic-grid';
2472
+ for (const [name, diagnostic] of entries) {
2473
+ const declaredStatus = String(diagnostic?.status ?? '');
2474
+ const status = ['preserved', 'adapted', 'unsupported'].includes(declaredStatus)
2475
+ ? declaredStatus
2476
+ : 'unsupported';
2477
+ const card = doc.createElement('div');
2478
+ card.className = `projection-diagnostic projection-${status}`;
2479
+ const details = [
2480
+ diagnostic?.transport,
2481
+ diagnostic?.resumeCursor ? `resume: ${diagnostic.resumeCursor}` : undefined,
2482
+ diagnostic?.recordCursor ? `records: ${diagnostic.recordCursor}` : undefined,
2483
+ diagnostic?.snapshot ? `snapshot: ${diagnostic.snapshot}` : undefined,
2484
+ ].filter(Boolean);
2485
+ card.innerHTML = `<div class="projection-diagnostic-heading"><strong>${esc(labels[name] ?? name)}</strong><span>${esc(status)}</span></div>${details.length ? `<div class="projection-diagnostic-details">${details.map(esc).join(' · ')}</div>` : ''}${diagnostic?.reason ? `<div class="projection-diagnostic-reason">${esc(diagnostic.reason)}</div>` : ''}`;
2486
+ grid.appendChild(card);
2487
+ }
2488
+ section.appendChild(grid);
2489
+ container.appendChild(section);
2490
+ }
2420
2491
  function parameterMapToSchema(parameters) {
2421
2492
  if (!parameters || typeof parameters !== 'object' || Object.keys(parameters).length === 0)
2422
2493
  return null;
@@ -2485,19 +2556,10 @@ function credentialStorageKey(schemeName) {
2485
2556
  return `raffel-docs:auth:${encodeURIComponent(selectedEnvironmentUrl)}:${encodeURIComponent(schemeName)}`;
2486
2557
  }
2487
2558
  function readStoredCredential(schemeName) {
2488
- try {
2489
- const value = win.sessionStorage?.getItem?.(credentialStorageKey(schemeName));
2490
- return value ? JSON.parse(value) : {};
2491
- }
2492
- catch {
2493
- return {};
2494
- }
2559
+ return { ...(credentialMemory.get(credentialStorageKey(schemeName)) ?? {}) };
2495
2560
  }
2496
2561
  function storeCredential(schemeName, value) {
2497
- try {
2498
- win.sessionStorage?.setItem?.(credentialStorageKey(schemeName), JSON.stringify(value));
2499
- }
2500
- catch { /* unavailable storage */ }
2562
+ credentialMemory.set(credentialStorageKey(schemeName), { ...value });
2501
2563
  }
2502
2564
  function authSchemeKind(scheme) {
2503
2565
  if (scheme?.type === 'http' && String(scheme.scheme).toLowerCase() === 'bearer')
@@ -2718,6 +2780,9 @@ async function startOAuthAuthorization(schemeName, flowName, flow, fieldset) {
2718
2780
  const state = randomOAuthState();
2719
2781
  const authorization = new URL(flow.authorizationUrl);
2720
2782
  const popup = win.open?.('', 'raffel-oauth', 'popup,width=540,height=720');
2783
+ if (!popup) {
2784
+ throw new Error('OAuth authorization requires popups so credentials can remain memory-only.');
2785
+ }
2721
2786
  authorization.searchParams.set('response_type', flowName === 'implicit' ? 'token' : 'code');
2722
2787
  authorization.searchParams.set('client_id', value('clientId'));
2723
2788
  authorization.searchParams.set('redirect_uri', redirectUri);
@@ -2731,23 +2796,15 @@ async function startOAuthAuthorization(schemeName, flowName, flow, fieldset) {
2731
2796
  authorization.searchParams.set('code_challenge', pkce.challenge);
2732
2797
  authorization.searchParams.set('code_challenge_method', pkce.method);
2733
2798
  }
2734
- try {
2735
- win.sessionStorage?.setItem?.(`${credentialStorageKey(schemeName)}:pending`, JSON.stringify({
2736
- schemeName, flowName, state, redirectUri, tokenUrl: flow.tokenUrl,
2737
- clientId: value('clientId'), clientSecret: value('clientSecret'), scopes: value('scopes'),
2738
- codeVerifier,
2739
- }));
2740
- }
2741
- catch { /* unavailable storage */ }
2742
- if (popup) {
2743
- if (typeof popup.location?.replace === 'function')
2744
- popup.location.replace(authorization.toString());
2745
- else
2746
- popup.location = authorization.toString();
2747
- }
2748
- else {
2749
- win.location?.assign?.(authorization.toString());
2750
- }
2799
+ pendingOAuthMemory.set(state, {
2800
+ schemeName, flowName, state, redirectUri, tokenUrl: flow.tokenUrl,
2801
+ clientId: value('clientId'), clientSecret: value('clientSecret'), scopes: value('scopes'),
2802
+ codeVerifier,
2803
+ });
2804
+ if (typeof popup.location?.replace === 'function')
2805
+ popup.location.replace(authorization.toString());
2806
+ else
2807
+ popup.location = authorization.toString();
2751
2808
  }
2752
2809
  function appendOAuthFlowFields(form, schemeName, scheme, stored) {
2753
2810
  Object.entries(scheme.flows ?? {}).forEach(([flowName, flow]) => {
@@ -2843,19 +2900,8 @@ function oauthCallbackParams() {
2843
2900
  function findPendingOAuth(state) {
2844
2901
  if (!state)
2845
2902
  return null;
2846
- for (const schemeName of Object.keys(spec?.components?.securitySchemes ?? {})) {
2847
- try {
2848
- const key = `${credentialStorageKey(schemeName)}:pending`;
2849
- const raw = win.sessionStorage?.getItem?.(key);
2850
- if (!raw)
2851
- continue;
2852
- const pending = JSON.parse(raw);
2853
- if (pending.state === state)
2854
- return { ...pending, key };
2855
- }
2856
- catch { /* ignore malformed pending state */ }
2857
- }
2858
- return null;
2903
+ const pending = pendingOAuthMemory.get(state);
2904
+ return pending ? { ...pending } : null;
2859
2905
  }
2860
2906
  async function finishOAuthAuthorization(params) {
2861
2907
  const pending = findPendingOAuth(params.get('state'));
@@ -2898,10 +2944,7 @@ async function finishOAuthAuthorization(params) {
2898
2944
  scopes: pending.scopes,
2899
2945
  tokenUrl: pending.tokenUrl,
2900
2946
  });
2901
- try {
2902
- win.sessionStorage?.removeItem?.(pending.key);
2903
- }
2904
- catch { /* unavailable storage */ }
2947
+ pendingOAuthMemory.delete(pending.state);
2905
2948
  render();
2906
2949
  }
2907
2950
  function clearOAuthCallbackLocation() {
@@ -3652,7 +3695,10 @@ async function renderMermaidDiagrams(root = doc) {
3652
3695
  const id = `raffel-mermaid-${Date.now()}-${index}`;
3653
3696
  Promise.resolve(mermaid.render(id, source))
3654
3697
  .then((result) => {
3655
- diagram.innerHTML = typeof result === 'string' ? result : result.svg;
3698
+ const safeSvg = parseMermaidSvg(typeof result === 'string' ? result : result.svg);
3699
+ if (!safeSvg)
3700
+ throw new Error('Mermaid returned invalid SVG output.');
3701
+ diagram.replaceChildren(safeSvg);
3656
3702
  result?.bindFunctions?.(diagram);
3657
3703
  diagram.dataset.mermaidRendered = 'true';
3658
3704
  diagram.classList.remove('mermaid-fallback', 'mermaid-error');
@@ -3666,6 +3712,26 @@ async function renderMermaidDiagrams(root = doc) {
3666
3712
  });
3667
3713
  });
3668
3714
  }
3715
+ function parseMermaidSvg(markup) {
3716
+ const Parser = win.DOMParser;
3717
+ if (typeof Parser !== 'function')
3718
+ return null;
3719
+ const parsed = new Parser().parseFromString(String(markup ?? ''), 'image/svg+xml');
3720
+ const svg = parsed?.documentElement;
3721
+ if (!svg || String(svg.localName).toLowerCase() !== 'svg')
3722
+ return null;
3723
+ svg.querySelectorAll?.('script, foreignObject, iframe, object, embed, link')?.forEach((node) => node.remove());
3724
+ [svg, ...Array.from(svg.querySelectorAll?.('*') ?? [])].forEach((element) => {
3725
+ for (const attribute of Array.from(element.attributes ?? [])) {
3726
+ const name = String(attribute.name).toLowerCase();
3727
+ const value = String(attribute.value).trim().toLowerCase();
3728
+ if (name.startsWith('on') || ((name === 'href' || name === 'xlink:href') && !value.startsWith('#'))) {
3729
+ element.removeAttribute(attribute.name);
3730
+ }
3731
+ }
3732
+ });
3733
+ return doc.importNode?.(svg, true) ?? svg.cloneNode(true);
3734
+ }
3669
3735
  /**
3670
3736
  * Wrap a freshly rendered Mermaid SVG in a viewer overlay:
3671
3737
  * • toolbar (zoom in/out/reset/fullscreen) — fades in on hover