raffel 1.0.6 → 1.0.7

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 (513) hide show
  1. package/README.md +80 -33
  2. package/dist/adapters/grpc.d.ts +2 -2
  3. package/dist/adapters/grpc.d.ts.map +1 -1
  4. package/dist/adapters/grpc.js +37 -7
  5. package/dist/adapters/grpc.js.map +1 -1
  6. package/dist/adapters/http.d.ts +2 -2
  7. package/dist/adapters/http.d.ts.map +1 -1
  8. package/dist/adapters/http.js +56 -2
  9. package/dist/adapters/http.js.map +1 -1
  10. package/dist/adapters/inbound/grpc.d.ts +9 -0
  11. package/dist/adapters/inbound/grpc.d.ts.map +1 -0
  12. package/dist/adapters/inbound/grpc.js +8 -0
  13. package/dist/adapters/inbound/grpc.js.map +1 -0
  14. package/dist/adapters/inbound/http.d.ts +9 -0
  15. package/dist/adapters/inbound/http.d.ts.map +1 -0
  16. package/dist/adapters/inbound/http.js +8 -0
  17. package/dist/adapters/inbound/http.js.map +1 -0
  18. package/dist/adapters/inbound/index.d.ts +22 -0
  19. package/dist/adapters/inbound/index.d.ts.map +1 -0
  20. package/dist/adapters/inbound/index.js +22 -0
  21. package/dist/adapters/inbound/index.js.map +1 -0
  22. package/dist/adapters/inbound/jsonrpc.d.ts +9 -0
  23. package/dist/adapters/inbound/jsonrpc.d.ts.map +1 -0
  24. package/dist/adapters/inbound/jsonrpc.js +8 -0
  25. package/dist/adapters/inbound/jsonrpc.js.map +1 -0
  26. package/dist/adapters/inbound/tcp.d.ts +9 -0
  27. package/dist/adapters/inbound/tcp.d.ts.map +1 -0
  28. package/dist/adapters/inbound/tcp.js +8 -0
  29. package/dist/adapters/inbound/tcp.js.map +1 -0
  30. package/dist/adapters/inbound/udp.d.ts +9 -0
  31. package/dist/adapters/inbound/udp.d.ts.map +1 -0
  32. package/dist/adapters/inbound/udp.js +8 -0
  33. package/dist/adapters/inbound/udp.js.map +1 -0
  34. package/dist/adapters/inbound/utils/connection-filter.d.ts +9 -0
  35. package/dist/adapters/inbound/utils/connection-filter.d.ts.map +1 -0
  36. package/dist/adapters/inbound/utils/connection-filter.js +8 -0
  37. package/dist/adapters/inbound/utils/connection-filter.js.map +1 -0
  38. package/dist/adapters/inbound/websocket.d.ts +9 -0
  39. package/dist/adapters/inbound/websocket.d.ts.map +1 -0
  40. package/dist/adapters/inbound/websocket.js +8 -0
  41. package/dist/adapters/inbound/websocket.js.map +1 -0
  42. package/dist/adapters/index.d.ts +12 -0
  43. package/dist/adapters/index.d.ts.map +1 -1
  44. package/dist/adapters/index.js +13 -0
  45. package/dist/adapters/index.js.map +1 -1
  46. package/dist/adapters/jsonrpc.d.ts.map +1 -1
  47. package/dist/adapters/jsonrpc.js +39 -5
  48. package/dist/adapters/jsonrpc.js.map +1 -1
  49. package/dist/adapters/outbound/cache/file.d.ts +6 -0
  50. package/dist/adapters/outbound/cache/file.d.ts.map +1 -0
  51. package/dist/adapters/outbound/cache/file.js +6 -0
  52. package/dist/adapters/outbound/cache/file.js.map +1 -0
  53. package/dist/adapters/outbound/cache/index.d.ts +9 -0
  54. package/dist/adapters/outbound/cache/index.d.ts.map +1 -0
  55. package/dist/adapters/outbound/cache/index.js +9 -0
  56. package/dist/adapters/outbound/cache/index.js.map +1 -0
  57. package/dist/adapters/outbound/cache/memory.d.ts +6 -0
  58. package/dist/adapters/outbound/cache/memory.d.ts.map +1 -0
  59. package/dist/adapters/outbound/cache/memory.js +6 -0
  60. package/dist/adapters/outbound/cache/memory.js.map +1 -0
  61. package/dist/adapters/outbound/cache/redis.d.ts +6 -0
  62. package/dist/adapters/outbound/cache/redis.d.ts.map +1 -0
  63. package/dist/adapters/outbound/cache/redis.js +6 -0
  64. package/dist/adapters/outbound/cache/redis.js.map +1 -0
  65. package/dist/adapters/outbound/index.d.ts +15 -0
  66. package/dist/adapters/outbound/index.d.ts.map +1 -0
  67. package/dist/adapters/outbound/index.js +17 -0
  68. package/dist/adapters/outbound/index.js.map +1 -0
  69. package/dist/adapters/outbound/logger/index.d.ts +7 -0
  70. package/dist/adapters/outbound/logger/index.d.ts.map +1 -0
  71. package/dist/adapters/outbound/logger/index.js +7 -0
  72. package/dist/adapters/outbound/logger/index.js.map +1 -0
  73. package/dist/adapters/outbound/logger/pino.d.ts +12 -0
  74. package/dist/adapters/outbound/logger/pino.d.ts.map +1 -0
  75. package/dist/adapters/outbound/logger/pino.js +58 -0
  76. package/dist/adapters/outbound/logger/pino.js.map +1 -0
  77. package/dist/adapters/outbound/rate-limit/filesystem.d.ts +6 -0
  78. package/dist/adapters/outbound/rate-limit/filesystem.d.ts.map +1 -0
  79. package/dist/adapters/outbound/rate-limit/filesystem.js +6 -0
  80. package/dist/adapters/outbound/rate-limit/filesystem.js.map +1 -0
  81. package/dist/adapters/outbound/rate-limit/index.d.ts +10 -0
  82. package/dist/adapters/outbound/rate-limit/index.d.ts.map +1 -0
  83. package/dist/adapters/outbound/rate-limit/index.js +10 -0
  84. package/dist/adapters/outbound/rate-limit/index.js.map +1 -0
  85. package/dist/adapters/outbound/rate-limit/memory.d.ts +8 -0
  86. package/dist/adapters/outbound/rate-limit/memory.d.ts.map +1 -0
  87. package/dist/adapters/outbound/rate-limit/memory.js +8 -0
  88. package/dist/adapters/outbound/rate-limit/memory.js.map +1 -0
  89. package/dist/adapters/outbound/rate-limit/redis.d.ts +6 -0
  90. package/dist/adapters/outbound/rate-limit/redis.d.ts.map +1 -0
  91. package/dist/adapters/outbound/rate-limit/redis.js +6 -0
  92. package/dist/adapters/outbound/rate-limit/redis.js.map +1 -0
  93. package/dist/adapters/outbound/rate-limit/s3db.d.ts +6 -0
  94. package/dist/adapters/outbound/rate-limit/s3db.d.ts.map +1 -0
  95. package/dist/adapters/outbound/rate-limit/s3db.js +6 -0
  96. package/dist/adapters/outbound/rate-limit/s3db.js.map +1 -0
  97. package/dist/adapters/outbound/session/index.d.ts +12 -0
  98. package/dist/adapters/outbound/session/index.d.ts.map +1 -0
  99. package/dist/adapters/outbound/session/index.js +9 -0
  100. package/dist/adapters/outbound/session/index.js.map +1 -0
  101. package/dist/adapters/outbound/session/memory.d.ts +9 -0
  102. package/dist/adapters/outbound/session/memory.d.ts.map +1 -0
  103. package/dist/adapters/outbound/session/memory.js +8 -0
  104. package/dist/adapters/outbound/session/memory.js.map +1 -0
  105. package/dist/adapters/outbound/session/redis.d.ts +9 -0
  106. package/dist/adapters/outbound/session/redis.d.ts.map +1 -0
  107. package/dist/adapters/outbound/session/redis.js +8 -0
  108. package/dist/adapters/outbound/session/redis.js.map +1 -0
  109. package/dist/adapters/outbound/session/s3db.d.ts +9 -0
  110. package/dist/adapters/outbound/session/s3db.d.ts.map +1 -0
  111. package/dist/adapters/outbound/session/s3db.js +8 -0
  112. package/dist/adapters/outbound/session/s3db.js.map +1 -0
  113. package/dist/adapters/tcp.d.ts +2 -2
  114. package/dist/adapters/tcp.d.ts.map +1 -1
  115. package/dist/adapters/tcp.js +16 -3
  116. package/dist/adapters/tcp.js.map +1 -1
  117. package/dist/adapters/udp.d.ts +2 -2
  118. package/dist/adapters/udp.d.ts.map +1 -1
  119. package/dist/adapters/udp.js +16 -4
  120. package/dist/adapters/udp.js.map +1 -1
  121. package/dist/adapters/websocket.d.ts +2 -2
  122. package/dist/adapters/websocket.d.ts.map +1 -1
  123. package/dist/adapters/websocket.js +33 -9
  124. package/dist/adapters/websocket.js.map +1 -1
  125. package/dist/application/config-preview.d.ts +147 -0
  126. package/dist/application/config-preview.d.ts.map +1 -0
  127. package/dist/application/config-preview.js +122 -0
  128. package/dist/application/config-preview.js.map +1 -0
  129. package/dist/application/index.d.ts +13 -0
  130. package/dist/application/index.d.ts.map +1 -0
  131. package/dist/application/index.js +13 -0
  132. package/dist/application/index.js.map +1 -0
  133. package/dist/application/registration.d.ts +71 -0
  134. package/dist/application/registration.d.ts.map +1 -0
  135. package/dist/application/registration.js +99 -0
  136. package/dist/application/registration.js.map +1 -0
  137. package/dist/application/runtime-preview.d.ts +67 -0
  138. package/dist/application/runtime-preview.d.ts.map +1 -0
  139. package/dist/application/runtime-preview.js +43 -0
  140. package/dist/application/runtime-preview.js.map +1 -0
  141. package/dist/bootstrap/config-normalization.d.ts +10 -0
  142. package/dist/bootstrap/config-normalization.d.ts.map +1 -0
  143. package/dist/bootstrap/config-normalization.js +14 -0
  144. package/dist/bootstrap/config-normalization.js.map +1 -0
  145. package/dist/bootstrap/create-server.d.ts +15 -0
  146. package/dist/bootstrap/create-server.d.ts.map +1 -0
  147. package/dist/bootstrap/create-server.js +17 -0
  148. package/dist/bootstrap/create-server.js.map +1 -0
  149. package/dist/bootstrap/index.d.ts +11 -0
  150. package/dist/bootstrap/index.d.ts.map +1 -0
  151. package/dist/bootstrap/index.js +13 -0
  152. package/dist/bootstrap/index.js.map +1 -0
  153. package/dist/bootstrap/protocol-wiring.d.ts +13 -0
  154. package/dist/bootstrap/protocol-wiring.d.ts.map +1 -0
  155. package/dist/bootstrap/protocol-wiring.js +11 -0
  156. package/dist/bootstrap/protocol-wiring.js.map +1 -0
  157. package/dist/channels/channel-manager.d.ts +2 -1
  158. package/dist/channels/channel-manager.d.ts.map +1 -1
  159. package/dist/channels/channel-manager.js +52 -19
  160. package/dist/channels/channel-manager.js.map +1 -1
  161. package/dist/core/registry.d.ts +4 -0
  162. package/dist/core/registry.d.ts.map +1 -1
  163. package/dist/core/registry.js +23 -3
  164. package/dist/core/registry.js.map +1 -1
  165. package/dist/core/router.d.ts.map +1 -1
  166. package/dist/core/router.js +61 -10
  167. package/dist/core/router.js.map +1 -1
  168. package/dist/docs/generators/code-samples.d.ts.map +1 -1
  169. package/dist/docs/generators/code-samples.js +7 -75
  170. package/dist/docs/generators/code-samples.js.map +1 -1
  171. package/dist/docs/generators/grpc-generator.js +2 -2
  172. package/dist/docs/generators/grpc-generator.js.map +1 -1
  173. package/dist/docs/generators/http-generator.js +3 -2
  174. package/dist/docs/generators/http-generator.js.map +1 -1
  175. package/dist/docs/generators/index.d.ts +1 -1
  176. package/dist/docs/generators/index.d.ts.map +1 -1
  177. package/dist/docs/generators/index.js +1 -1
  178. package/dist/docs/generators/index.js.map +1 -1
  179. package/dist/docs/generators/jsonrpc-generator.js +2 -2
  180. package/dist/docs/generators/jsonrpc-generator.js.map +1 -1
  181. package/dist/docs/generators/schema-converter.d.ts +3 -3
  182. package/dist/docs/generators/schema-converter.d.ts.map +1 -1
  183. package/dist/docs/generators/schema-converter.js +8 -60
  184. package/dist/docs/generators/schema-converter.js.map +1 -1
  185. package/dist/docs/generators/streams-generator.js +2 -2
  186. package/dist/docs/generators/streams-generator.js.map +1 -1
  187. package/dist/docs/generators/tcp-generator.js +2 -2
  188. package/dist/docs/generators/tcp-generator.js.map +1 -1
  189. package/dist/docs/generators/udp-generator.js +2 -2
  190. package/dist/docs/generators/udp-generator.js.map +1 -1
  191. package/dist/docs/generators/websocket-generator.js +3 -3
  192. package/dist/docs/generators/websocket-generator.js.map +1 -1
  193. package/dist/docs/index.d.ts +1 -1
  194. package/dist/docs/index.d.ts.map +1 -1
  195. package/dist/docs/index.js +1 -1
  196. package/dist/docs/index.js.map +1 -1
  197. package/dist/docs/openapi/generator.d.ts +2 -0
  198. package/dist/docs/openapi/generator.d.ts.map +1 -1
  199. package/dist/docs/openapi/generator.js +16 -51
  200. package/dist/docs/openapi/generator.js.map +1 -1
  201. package/dist/dx/index.d.ts +2 -0
  202. package/dist/dx/index.d.ts.map +1 -1
  203. package/dist/dx/index.js +1 -0
  204. package/dist/dx/index.js.map +1 -1
  205. package/dist/dx/scaffold/index.d.ts +32 -0
  206. package/dist/dx/scaffold/index.d.ts.map +1 -0
  207. package/dist/dx/scaffold/index.js +471 -0
  208. package/dist/dx/scaffold/index.js.map +1 -0
  209. package/dist/graphql/adapter.d.ts.map +1 -1
  210. package/dist/graphql/adapter.js +58 -6
  211. package/dist/graphql/adapter.js.map +1 -1
  212. package/dist/graphql/schema-generator.d.ts +2 -2
  213. package/dist/graphql/schema-generator.d.ts.map +1 -1
  214. package/dist/graphql/schema-generator.js +228 -215
  215. package/dist/graphql/schema-generator.js.map +1 -1
  216. package/dist/http/app.d.ts +9 -4
  217. package/dist/http/app.d.ts.map +1 -1
  218. package/dist/http/app.js +125 -50
  219. package/dist/http/app.js.map +1 -1
  220. package/dist/http/context.d.ts +8 -1
  221. package/dist/http/context.d.ts.map +1 -1
  222. package/dist/http/context.js +2 -1
  223. package/dist/http/context.js.map +1 -1
  224. package/dist/http/cookie.d.ts +2 -2
  225. package/dist/http/cookie.js +1 -1
  226. package/dist/http/cors.d.ts +1 -1
  227. package/dist/http/cors.js +1 -1
  228. package/dist/http/guards.d.ts.map +1 -1
  229. package/dist/http/guards.js +38 -28
  230. package/dist/http/guards.js.map +1 -1
  231. package/dist/http/index.d.ts +1 -1
  232. package/dist/http/index.js +2 -2
  233. package/dist/http/index.js.map +1 -1
  234. package/dist/http/stream-auth.d.ts +1 -1
  235. package/dist/http/stream-auth.d.ts.map +1 -1
  236. package/dist/http/stream-auth.js +6 -5
  237. package/dist/http/stream-auth.js.map +1 -1
  238. package/dist/index.d.ts +23 -7
  239. package/dist/index.d.ts.map +1 -1
  240. package/dist/index.js +22 -3
  241. package/dist/index.js.map +1 -1
  242. package/dist/inspect/contracts.d.ts +47 -0
  243. package/dist/inspect/contracts.d.ts.map +1 -0
  244. package/dist/inspect/contracts.js +237 -0
  245. package/dist/inspect/contracts.js.map +1 -0
  246. package/dist/inspect/format-utils.d.ts +18 -0
  247. package/dist/inspect/format-utils.d.ts.map +1 -0
  248. package/dist/inspect/format-utils.js +55 -0
  249. package/dist/inspect/format-utils.js.map +1 -0
  250. package/dist/inspect/index.d.ts +13 -0
  251. package/dist/inspect/index.d.ts.map +1 -0
  252. package/dist/inspect/index.js +8 -0
  253. package/dist/inspect/index.js.map +1 -0
  254. package/dist/inspect/loader.d.ts +13 -0
  255. package/dist/inspect/loader.d.ts.map +1 -0
  256. package/dist/inspect/loader.js +115 -0
  257. package/dist/inspect/loader.js.map +1 -0
  258. package/dist/inspect/playground-html.d.ts +8 -0
  259. package/dist/inspect/playground-html.d.ts.map +1 -0
  260. package/dist/inspect/playground-html.js +381 -0
  261. package/dist/inspect/playground-html.js.map +1 -0
  262. package/dist/inspect/playground-invokers.d.ts +37 -0
  263. package/dist/inspect/playground-invokers.d.ts.map +1 -0
  264. package/dist/inspect/playground-invokers.js +950 -0
  265. package/dist/inspect/playground-invokers.js.map +1 -0
  266. package/dist/inspect/playground.d.ts +97 -0
  267. package/dist/inspect/playground.d.ts.map +1 -0
  268. package/dist/inspect/playground.js +412 -0
  269. package/dist/inspect/playground.js.map +1 -0
  270. package/dist/inspect/reports.d.ts +52 -0
  271. package/dist/inspect/reports.d.ts.map +1 -0
  272. package/dist/inspect/reports.js +400 -0
  273. package/dist/inspect/reports.js.map +1 -0
  274. package/dist/inspect/runtime-graph.d.ts +52 -0
  275. package/dist/inspect/runtime-graph.d.ts.map +1 -0
  276. package/dist/inspect/runtime-graph.js +739 -0
  277. package/dist/inspect/runtime-graph.js.map +1 -0
  278. package/dist/inspect/schema-samples.d.ts +18 -0
  279. package/dist/inspect/schema-samples.d.ts.map +1 -0
  280. package/dist/inspect/schema-samples.js +137 -0
  281. package/dist/inspect/schema-samples.js.map +1 -0
  282. package/dist/inspect/types.d.ts +146 -0
  283. package/dist/inspect/types.d.ts.map +1 -0
  284. package/dist/inspect/types.js +2 -0
  285. package/dist/inspect/types.js.map +1 -0
  286. package/dist/mcp/cli.d.ts +11 -12
  287. package/dist/mcp/cli.d.ts.map +1 -1
  288. package/dist/mcp/cli.js +303 -65
  289. package/dist/mcp/cli.js.map +1 -1
  290. package/dist/mcp/docs/patterns.d.ts.map +1 -1
  291. package/dist/mcp/docs/patterns.js +82 -29
  292. package/dist/mcp/docs/patterns.js.map +1 -1
  293. package/dist/mcp/docs/quickstart.d.ts +1 -1
  294. package/dist/mcp/docs/quickstart.d.ts.map +1 -1
  295. package/dist/mcp/docs/quickstart.js +65 -25
  296. package/dist/mcp/docs/quickstart.js.map +1 -1
  297. package/dist/mcp/resources/index.d.ts.map +1 -1
  298. package/dist/mcp/resources/index.js +82 -5
  299. package/dist/mcp/resources/index.js.map +1 -1
  300. package/dist/mcp/tools/definitions.d.ts.map +1 -1
  301. package/dist/mcp/tools/definitions.js +36 -0
  302. package/dist/mcp/tools/definitions.js.map +1 -1
  303. package/dist/mcp/tools/handlers.d.ts.map +1 -1
  304. package/dist/mcp/tools/handlers.js +148 -12
  305. package/dist/mcp/tools/handlers.js.map +1 -1
  306. package/dist/middleware/auth.d.ts.map +1 -1
  307. package/dist/middleware/auth.js +3 -2
  308. package/dist/middleware/auth.js.map +1 -1
  309. package/dist/mock-server/cli.d.ts +14 -0
  310. package/dist/mock-server/cli.d.ts.map +1 -0
  311. package/dist/mock-server/cli.js +314 -0
  312. package/dist/mock-server/cli.js.map +1 -0
  313. package/dist/mock-server/fake-data.d.ts +14 -0
  314. package/dist/mock-server/fake-data.d.ts.map +1 -0
  315. package/dist/mock-server/fake-data.js +21 -0
  316. package/dist/mock-server/fake-data.js.map +1 -0
  317. package/dist/mock-server/index.d.ts +69 -0
  318. package/dist/mock-server/index.d.ts.map +1 -0
  319. package/dist/mock-server/index.js +400 -0
  320. package/dist/mock-server/index.js.map +1 -0
  321. package/dist/mock-server/route-extractor.d.ts +40 -0
  322. package/dist/mock-server/route-extractor.d.ts.map +1 -0
  323. package/dist/mock-server/route-extractor.js +211 -0
  324. package/dist/mock-server/route-extractor.js.map +1 -0
  325. package/dist/mock-server/types.d.ts +64 -0
  326. package/dist/mock-server/types.d.ts.map +1 -0
  327. package/dist/mock-server/types.js +5 -0
  328. package/dist/mock-server/types.js.map +1 -0
  329. package/dist/policy/runtime.d.ts +7 -0
  330. package/dist/policy/runtime.d.ts.map +1 -0
  331. package/dist/policy/runtime.js +82 -0
  332. package/dist/policy/runtime.js.map +1 -0
  333. package/dist/ports/index.d.ts +18 -0
  334. package/dist/ports/index.d.ts.map +1 -0
  335. package/dist/ports/index.js +11 -0
  336. package/dist/ports/index.js.map +1 -0
  337. package/dist/ports/outbound/cache-driver.d.ts +9 -0
  338. package/dist/ports/outbound/cache-driver.d.ts.map +1 -0
  339. package/dist/ports/outbound/cache-driver.js +9 -0
  340. package/dist/ports/outbound/cache-driver.js.map +1 -0
  341. package/dist/ports/outbound/cache-store.d.ts +8 -0
  342. package/dist/ports/outbound/cache-store.d.ts.map +1 -0
  343. package/dist/ports/outbound/cache-store.js +8 -0
  344. package/dist/ports/outbound/cache-store.js.map +1 -0
  345. package/dist/ports/outbound/channel-presence.d.ts +30 -0
  346. package/dist/ports/outbound/channel-presence.d.ts.map +1 -0
  347. package/dist/ports/outbound/channel-presence.js +9 -0
  348. package/dist/ports/outbound/channel-presence.js.map +1 -0
  349. package/dist/ports/outbound/event-store.d.ts +9 -0
  350. package/dist/ports/outbound/event-store.d.ts.map +1 -0
  351. package/dist/ports/outbound/event-store.js +9 -0
  352. package/dist/ports/outbound/event-store.js.map +1 -0
  353. package/dist/ports/outbound/logger.d.ts +31 -0
  354. package/dist/ports/outbound/logger.d.ts.map +1 -0
  355. package/dist/ports/outbound/logger.js +8 -0
  356. package/dist/ports/outbound/logger.js.map +1 -0
  357. package/dist/ports/outbound/rate-limit-driver.d.ts +9 -0
  358. package/dist/ports/outbound/rate-limit-driver.d.ts.map +1 -0
  359. package/dist/ports/outbound/rate-limit-driver.js +9 -0
  360. package/dist/ports/outbound/rate-limit-driver.js.map +1 -0
  361. package/dist/ports/outbound/session-store.d.ts +9 -0
  362. package/dist/ports/outbound/session-store.d.ts.map +1 -0
  363. package/dist/ports/outbound/session-store.js +9 -0
  364. package/dist/ports/outbound/session-store.js.map +1 -0
  365. package/dist/ports/outbound/validator.d.ts +9 -0
  366. package/dist/ports/outbound/validator.d.ts.map +1 -0
  367. package/dist/ports/outbound/validator.js +9 -0
  368. package/dist/ports/outbound/validator.js.map +1 -0
  369. package/dist/server/builder/config-preview.d.ts +2 -33
  370. package/dist/server/builder/config-preview.d.ts.map +1 -1
  371. package/dist/server/builder/config-preview.js +1 -94
  372. package/dist/server/builder/config-preview.js.map +1 -1
  373. package/dist/server/builder/lifecycle.d.ts +11 -1
  374. package/dist/server/builder/lifecycle.d.ts.map +1 -1
  375. package/dist/server/builder/lifecycle.js +117 -3
  376. package/dist/server/builder/lifecycle.js.map +1 -1
  377. package/dist/server/builder/single-port-utils.d.ts +11 -2
  378. package/dist/server/builder/single-port-utils.d.ts.map +1 -1
  379. package/dist/server/builder/single-port-utils.js +88 -16
  380. package/dist/server/builder/single-port-utils.js.map +1 -1
  381. package/dist/server/builder.d.ts.map +1 -1
  382. package/dist/server/builder.js +203 -78
  383. package/dist/server/builder.js.map +1 -1
  384. package/dist/server/discovery-utils.d.ts +5 -1
  385. package/dist/server/discovery-utils.d.ts.map +1 -1
  386. package/dist/server/discovery-utils.js +4 -1
  387. package/dist/server/discovery-utils.js.map +1 -1
  388. package/dist/server/front-door.d.ts +3 -1
  389. package/dist/server/front-door.d.ts.map +1 -1
  390. package/dist/server/front-door.js +80 -18
  391. package/dist/server/front-door.js.map +1 -1
  392. package/dist/server/fs-routes/middleware-processor.d.ts.map +1 -1
  393. package/dist/server/fs-routes/middleware-processor.js +9 -8
  394. package/dist/server/fs-routes/middleware-processor.js.map +1 -1
  395. package/dist/server/handler-builders.d.ts +2 -1
  396. package/dist/server/handler-builders.d.ts.map +1 -1
  397. package/dist/server/handler-builders.js +21 -0
  398. package/dist/server/handler-builders.js.map +1 -1
  399. package/dist/server/index.d.ts +4 -2
  400. package/dist/server/index.d.ts.map +1 -1
  401. package/dist/server/index.js +2 -1
  402. package/dist/server/index.js.map +1 -1
  403. package/dist/server/port-binding.d.ts +8 -2
  404. package/dist/server/port-binding.d.ts.map +1 -1
  405. package/dist/server/port-binding.js +11 -1
  406. package/dist/server/port-binding.js.map +1 -1
  407. package/dist/server/protocol-config.d.ts.map +1 -1
  408. package/dist/server/protocol-config.js +1 -0
  409. package/dist/server/protocol-config.js.map +1 -1
  410. package/dist/server/protocol-fusion-diagnostics.d.ts +20 -0
  411. package/dist/server/protocol-fusion-diagnostics.d.ts.map +1 -0
  412. package/dist/server/protocol-fusion-diagnostics.js +51 -0
  413. package/dist/server/protocol-fusion-diagnostics.js.map +1 -0
  414. package/dist/server/rest-middleware.d.ts +3 -3
  415. package/dist/server/rest-middleware.d.ts.map +1 -1
  416. package/dist/server/rest-middleware.js +37 -5
  417. package/dist/server/rest-middleware.js.map +1 -1
  418. package/dist/server/router-module.d.ts +3 -1
  419. package/dist/server/router-module.d.ts.map +1 -1
  420. package/dist/server/router-module.js +14 -0
  421. package/dist/server/router-module.js.map +1 -1
  422. package/dist/server/shared-context.d.ts +3 -3
  423. package/dist/server/shared-context.d.ts.map +1 -1
  424. package/dist/server/shared-context.js +7 -9
  425. package/dist/server/shared-context.js.map +1 -1
  426. package/dist/server/single-port/dispatcher.d.ts.map +1 -1
  427. package/dist/server/single-port/dispatcher.js +20 -13
  428. package/dist/server/single-port/dispatcher.js.map +1 -1
  429. package/dist/server/types.d.ts +104 -7
  430. package/dist/server/types.d.ts.map +1 -1
  431. package/dist/types/context.d.ts +167 -4
  432. package/dist/types/context.d.ts.map +1 -1
  433. package/dist/types/context.js +168 -2
  434. package/dist/types/context.js.map +1 -1
  435. package/dist/types/handlers.d.ts +3 -0
  436. package/dist/types/handlers.d.ts.map +1 -1
  437. package/dist/types/index.d.ts +4 -2
  438. package/dist/types/index.d.ts.map +1 -1
  439. package/dist/types/index.js +2 -1
  440. package/dist/types/index.js.map +1 -1
  441. package/dist/types/policies.d.ts +54 -0
  442. package/dist/types/policies.d.ts.map +1 -0
  443. package/dist/types/policies.js +109 -0
  444. package/dist/types/policies.js.map +1 -0
  445. package/dist/ui/core/registry.d.ts +4 -0
  446. package/dist/ui/core/registry.d.ts.map +1 -1
  447. package/dist/ui/core/router.d.ts.map +1 -1
  448. package/dist/ui/docs/generators/code-samples.d.ts.map +1 -1
  449. package/dist/ui/docs/generators/index.d.ts +1 -1
  450. package/dist/ui/docs/generators/index.d.ts.map +1 -1
  451. package/dist/ui/docs/generators/schema-converter.d.ts +3 -3
  452. package/dist/ui/docs/generators/schema-converter.d.ts.map +1 -1
  453. package/dist/ui/docs/index.d.ts +1 -1
  454. package/dist/ui/docs/index.d.ts.map +1 -1
  455. package/dist/ui/docs/openapi/generator.d.ts +2 -0
  456. package/dist/ui/docs/openapi/generator.d.ts.map +1 -1
  457. package/dist/ui/middleware/interceptors/rate-limit.d.ts +147 -0
  458. package/dist/ui/middleware/interceptors/rate-limit.d.ts.map +1 -0
  459. package/dist/ui/middleware/interceptors/timeout.d.ts +121 -0
  460. package/dist/ui/middleware/interceptors/timeout.d.ts.map +1 -0
  461. package/dist/ui/middleware/types.d.ts +396 -0
  462. package/dist/ui/middleware/types.d.ts.map +1 -0
  463. package/dist/ui/policy/runtime.d.ts +7 -0
  464. package/dist/ui/policy/runtime.d.ts.map +1 -0
  465. package/dist/ui/rate-limit/drivers/filesystem.d.ts +19 -0
  466. package/dist/ui/rate-limit/drivers/filesystem.d.ts.map +1 -0
  467. package/dist/ui/rate-limit/drivers/memory.d.ts +17 -0
  468. package/dist/ui/rate-limit/drivers/memory.d.ts.map +1 -0
  469. package/dist/ui/rate-limit/drivers/redis.d.ts +14 -0
  470. package/dist/ui/rate-limit/drivers/redis.d.ts.map +1 -0
  471. package/dist/ui/rate-limit/drivers/s3db.d.ts +31 -0
  472. package/dist/ui/rate-limit/drivers/s3db.d.ts.map +1 -0
  473. package/dist/ui/rate-limit/factory.d.ts +12 -0
  474. package/dist/ui/rate-limit/factory.d.ts.map +1 -0
  475. package/dist/ui/rate-limit/types.d.ts +81 -0
  476. package/dist/ui/rate-limit/types.d.ts.map +1 -0
  477. package/dist/ui/server/fs-routes/middleware-processor.d.ts.map +1 -1
  478. package/dist/ui/types/context.d.ts +167 -4
  479. package/dist/ui/types/context.d.ts.map +1 -1
  480. package/dist/ui/types/handlers.d.ts +3 -0
  481. package/dist/ui/types/handlers.d.ts.map +1 -1
  482. package/dist/ui/types/index.d.ts +4 -2
  483. package/dist/ui/types/index.d.ts.map +1 -1
  484. package/dist/ui/types/policies.d.ts +54 -0
  485. package/dist/ui/types/policies.d.ts.map +1 -0
  486. package/dist/ui/usd/spec/types.d.ts +3 -0
  487. package/dist/ui/usd/spec/types.d.ts.map +1 -1
  488. package/dist/ui/utils/schema-examples.d.ts +39 -0
  489. package/dist/ui/utils/schema-examples.d.ts.map +1 -0
  490. package/dist/ui/validation/descriptor.d.ts +26 -0
  491. package/dist/ui/validation/descriptor.d.ts.map +1 -0
  492. package/dist/ui/validation/index.d.ts +1 -0
  493. package/dist/ui/validation/index.d.ts.map +1 -1
  494. package/dist/usd/spec/types.d.ts +3 -0
  495. package/dist/usd/spec/types.d.ts.map +1 -1
  496. package/dist/usd/spec/types.js.map +1 -1
  497. package/dist/utils/context-utils.d.ts +3 -2
  498. package/dist/utils/context-utils.d.ts.map +1 -1
  499. package/dist/utils/context-utils.js +4 -0
  500. package/dist/utils/context-utils.js.map +1 -1
  501. package/dist/utils/schema-examples.d.ts +39 -0
  502. package/dist/utils/schema-examples.d.ts.map +1 -0
  503. package/dist/utils/schema-examples.js +240 -0
  504. package/dist/utils/schema-examples.js.map +1 -0
  505. package/dist/validation/descriptor.d.ts +26 -0
  506. package/dist/validation/descriptor.d.ts.map +1 -0
  507. package/dist/validation/descriptor.js +155 -0
  508. package/dist/validation/descriptor.js.map +1 -0
  509. package/dist/validation/index.d.ts +1 -0
  510. package/dist/validation/index.d.ts.map +1 -1
  511. package/dist/validation/index.js +1 -0
  512. package/dist/validation/index.js.map +1 -1
  513. package/package.json +11 -3
@@ -0,0 +1,52 @@
1
+ import type { RuntimeInspectionChannel, RuntimeInspectionDiagnostic, RuntimeInspectionGraph, RuntimeInspectionOperation, RuntimeInspectionService, RuntimeInspectionTransportHandler, RuntimeInspectionTransport, RuntimeInspectionTransportBinding } from './types.js';
2
+ export interface RuntimeInspectionDoctorReport {
3
+ summary: {
4
+ total: number;
5
+ errors: number;
6
+ warnings: number;
7
+ infos: number;
8
+ };
9
+ diagnostics: RuntimeInspectionDiagnostic[];
10
+ }
11
+ export type RuntimeInspectionExplanation = {
12
+ kind: 'operation';
13
+ query: string;
14
+ operation: RuntimeInspectionOperation;
15
+ diagnostics: RuntimeInspectionDiagnostic[];
16
+ } | {
17
+ kind: 'channel';
18
+ query: string;
19
+ channel: RuntimeInspectionChannel;
20
+ diagnostics: RuntimeInspectionDiagnostic[];
21
+ } | {
22
+ kind: 'service';
23
+ query: string;
24
+ service: RuntimeInspectionService;
25
+ operations: RuntimeInspectionOperation[];
26
+ diagnostics: RuntimeInspectionDiagnostic[];
27
+ } | {
28
+ kind: 'transport';
29
+ query: string;
30
+ transport: RuntimeInspectionTransport;
31
+ diagnostics: RuntimeInspectionDiagnostic[];
32
+ } | {
33
+ kind: 'transport-handler';
34
+ query: string;
35
+ handler: RuntimeInspectionTransportHandler;
36
+ diagnostics: RuntimeInspectionDiagnostic[];
37
+ } | {
38
+ kind: 'binding';
39
+ query: string;
40
+ bindingId: string;
41
+ bindings: RuntimeInspectionTransportBinding[];
42
+ operations: RuntimeInspectionOperation[];
43
+ channels: RuntimeInspectionChannel[];
44
+ diagnostics: RuntimeInspectionDiagnostic[];
45
+ };
46
+ export declare function explainRuntimeInspectionSubject(graph: RuntimeInspectionGraph, query: string): RuntimeInspectionExplanation | null;
47
+ export declare function buildRuntimeInspectionDoctorReport(graph: RuntimeInspectionGraph): RuntimeInspectionDoctorReport;
48
+ export declare function shouldFailDoctorReport(report: RuntimeInspectionDoctorReport, threshold?: 'none' | 'info' | 'warning' | 'error'): boolean;
49
+ export declare function formatRuntimeInspectionGraph(graph: RuntimeInspectionGraph): string;
50
+ export declare function formatRuntimeInspectionExplanation(explanation: RuntimeInspectionExplanation): string;
51
+ export declare function formatRuntimeInspectionDoctorReport(report: RuntimeInspectionDoctorReport): string;
52
+ //# sourceMappingURL=reports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/inspect/reports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAE1B,wBAAwB,EACxB,iCAAiC,EACjC,0BAA0B,EAC1B,iCAAiC,EAClC,MAAM,YAAY,CAAA;AAGnB,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,WAAW,EAAE,2BAA2B,EAAE,CAAA;CAC3C;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,0BAA0B,CAAA;IACrC,WAAW,EAAE,2BAA2B,EAAE,CAAA;CAC3C,GACD;IACE,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,wBAAwB,CAAA;IACjC,WAAW,EAAE,2BAA2B,EAAE,CAAA;CAC3C,GACD;IACE,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,wBAAwB,CAAA;IACjC,UAAU,EAAE,0BAA0B,EAAE,CAAA;IACxC,WAAW,EAAE,2BAA2B,EAAE,CAAA;CAC3C,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,0BAA0B,CAAA;IACrC,WAAW,EAAE,2BAA2B,EAAE,CAAA;CAC3C,GACD;IACE,IAAI,EAAE,mBAAmB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,iCAAiC,CAAA;IAC1C,WAAW,EAAE,2BAA2B,EAAE,CAAA;CAC3C,GACD;IACE,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,iCAAiC,EAAE,CAAA;IAC7C,UAAU,EAAE,0BAA0B,EAAE,CAAA;IACxC,QAAQ,EAAE,wBAAwB,EAAE,CAAA;IACpC,WAAW,EAAE,2BAA2B,EAAE,CAAA;CAC3C,CAAA;AAkJL,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,MAAM,GACZ,4BAA4B,GAAG,IAAI,CA6IrC;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,sBAAsB,GAC5B,6BAA6B,CAqB/B;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,6BAA6B,EACrC,SAAS,GAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAiB,GACzD,OAAO,CAKT;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAsElF;AAED,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,4BAA4B,GACxC,MAAM,CAqDR;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,6BAA6B,GACpC,MAAM,CAqBR"}
@@ -0,0 +1,400 @@
1
+ import { formatBindingFull } from './format-utils.js';
2
+ function compareSeverity(left, right) {
3
+ const order = { error: 0, warning: 1, info: 2 };
4
+ return order[left] - order[right];
5
+ }
6
+ function getBindingSubjectId(binding) {
7
+ if (binding.protocol === 'http' && binding.method && binding.path) {
8
+ return `${binding.method}:${binding.path}`;
9
+ }
10
+ if (binding.protocol === 'grpc' && binding.service && binding.operation) {
11
+ return `${binding.service}.${binding.operation}`;
12
+ }
13
+ return binding.id;
14
+ }
15
+ function formatAddress(transport) {
16
+ const host = transport.host ?? '0.0.0.0';
17
+ const port = transport.port ?? 'n/a';
18
+ return `${host}:${port}`;
19
+ }
20
+ function formatTransportHandlerTarget(handler) {
21
+ const target = `${handler.target.host}:${handler.target.port}${handler.target.socketType ? ` (${handler.target.socketType})` : ''}`;
22
+ const framing = handler.details?.framing;
23
+ if (!framing) {
24
+ return target;
25
+ }
26
+ if (framing.type === 'delimiter') {
27
+ return `${target} [framing=delimiter${framing.delimiter ? `:${JSON.stringify(framing.delimiter)}` : ''}]`;
28
+ }
29
+ if (framing.type === 'length-prefixed') {
30
+ return `${target} [framing=length-prefixed:${framing.lengthBytes ?? 4}${framing.lengthEncoding ?? 'BE'}]`;
31
+ }
32
+ return `${target} [framing=none]`;
33
+ }
34
+ function summarizeSchema(schema) {
35
+ if (!schema.present || !schema.descriptor) {
36
+ return 'missing';
37
+ }
38
+ const source = schema.descriptor.source;
39
+ const validator = schema.descriptor.validator ? ` via ${schema.descriptor.validator}` : '';
40
+ const diagnostics = schema.descriptor.diagnostics.length > 0
41
+ ? ` (${schema.descriptor.diagnostics.length} diagnostic${schema.descriptor.diagnostics.length === 1 ? '' : 's'})`
42
+ : '';
43
+ return `${source}${validator}${diagnostics}`;
44
+ }
45
+ function summarizePolicies(operation) {
46
+ const policies = operation.policies.effective;
47
+ if (!policies) {
48
+ return 'none';
49
+ }
50
+ const parts = [];
51
+ if (policies.auth) {
52
+ const authBits = [policies.auth.mode ?? 'required'];
53
+ if (policies.auth.scheme)
54
+ authBits.push(`scheme=${policies.auth.scheme}`);
55
+ if (policies.auth.roles?.length)
56
+ authBits.push(`roles=${policies.auth.roles.join('|')}`);
57
+ if (policies.auth.scopes?.length)
58
+ authBits.push(`scopes=${policies.auth.scopes.join('|')}`);
59
+ parts.push(`auth(${authBits.join(', ')})`);
60
+ }
61
+ if (policies.timeout) {
62
+ parts.push(`timeout(${policies.timeout.timeoutMs}ms)`);
63
+ }
64
+ if (policies.rateLimit) {
65
+ parts.push(`rateLimit(${policies.rateLimit.maxRequests}/${policies.rateLimit.windowMs}ms)`);
66
+ }
67
+ if (policies.custom && Object.keys(policies.custom).length > 0) {
68
+ parts.push(`custom(${Object.keys(policies.custom).join(', ')})`);
69
+ }
70
+ return parts.length > 0 ? parts.join(', ') : 'none';
71
+ }
72
+ function formatSource(kind) {
73
+ return kind.location ? `${kind.kind} @ ${kind.location}` : kind.kind;
74
+ }
75
+ function formatDiagnostic(diagnostic) {
76
+ const subject = `${diagnostic.subject.kind}:${diagnostic.subject.id}`;
77
+ const remediation = diagnostic.remediation ? `\n remediation: ${diagnostic.remediation}` : '';
78
+ return `- [${diagnostic.severity}] ${diagnostic.code} ${subject}\n ${diagnostic.message}${remediation}`;
79
+ }
80
+ function getRelatedDiagnostics(graph, subject) {
81
+ return graph.diagnostics
82
+ .filter((diagnostic) => diagnostic.subject.kind === subject.kind && diagnostic.subject.id === subject.id)
83
+ .sort((left, right) => {
84
+ const severity = compareSeverity(left.severity, right.severity);
85
+ if (severity !== 0)
86
+ return severity;
87
+ return left.code.localeCompare(right.code);
88
+ });
89
+ }
90
+ function getBindingDiagnostics(graph, bindings) {
91
+ const ids = new Set(bindings.map((binding) => getBindingSubjectId(binding)));
92
+ return graph.diagnostics
93
+ .filter((diagnostic) => diagnostic.subject.kind === 'binding' && ids.has(diagnostic.subject.id))
94
+ .sort((left, right) => {
95
+ const severity = compareSeverity(left.severity, right.severity);
96
+ if (severity !== 0)
97
+ return severity;
98
+ return left.code.localeCompare(right.code);
99
+ });
100
+ }
101
+ function parseHttpQuery(query) {
102
+ const match = query.trim().match(/^([A-Z]+)\s+(\S+)$/);
103
+ if (!match)
104
+ return null;
105
+ return {
106
+ method: match[1].toUpperCase(),
107
+ path: match[2],
108
+ };
109
+ }
110
+ function parseGrpcQuery(query) {
111
+ const normalized = query.trim().replace(/\//g, '.');
112
+ const segments = normalized.split('.').filter(Boolean);
113
+ if (segments.length < 2)
114
+ return null;
115
+ return {
116
+ service: segments.slice(0, -1).join('.'),
117
+ operation: segments[segments.length - 1],
118
+ };
119
+ }
120
+ export function explainRuntimeInspectionSubject(graph, query) {
121
+ const normalized = query.trim();
122
+ const operation = graph.operations.find((candidate) => candidate.id === normalized || candidate.name === normalized);
123
+ if (operation) {
124
+ return {
125
+ kind: 'operation',
126
+ query,
127
+ operation,
128
+ diagnostics: getRelatedDiagnostics(graph, { kind: 'operation', id: operation.id }),
129
+ };
130
+ }
131
+ const channel = graph.channels.find((candidate) => candidate.id === normalized || candidate.name === normalized);
132
+ if (channel) {
133
+ return {
134
+ kind: 'channel',
135
+ query,
136
+ channel,
137
+ diagnostics: getRelatedDiagnostics(graph, { kind: 'channel', id: channel.id }),
138
+ };
139
+ }
140
+ const service = graph.services.find((candidate) => candidate.id === normalized || candidate.name === normalized);
141
+ if (service) {
142
+ const operationIds = new Set(service.operationIds);
143
+ const operations = graph.operations.filter((candidate) => operationIds.has(candidate.id));
144
+ return {
145
+ kind: 'service',
146
+ query,
147
+ service,
148
+ operations,
149
+ diagnostics: getRelatedDiagnostics(graph, { kind: 'service', id: service.id }),
150
+ };
151
+ }
152
+ const transport = graph.transports.find((candidate) => candidate.id === normalized || candidate.protocol === normalized);
153
+ if (transport) {
154
+ return {
155
+ kind: 'transport',
156
+ query,
157
+ transport,
158
+ diagnostics: getRelatedDiagnostics(graph, { kind: 'transport', id: transport.id }),
159
+ };
160
+ }
161
+ const transportHandler = graph.transportHandlers.find((candidate) => candidate.id === normalized || candidate.name === normalized);
162
+ if (transportHandler) {
163
+ return {
164
+ kind: 'transport-handler',
165
+ query,
166
+ handler: transportHandler,
167
+ diagnostics: getRelatedDiagnostics(graph, { kind: 'transport', id: transportHandler.transportId }),
168
+ };
169
+ }
170
+ const allBindings = graph.operations.flatMap((candidate) => candidate.transports.map((binding) => ({ binding, operation: candidate })));
171
+ const channelBindings = graph.channels.map((candidate) => ({ binding: candidate.transport, channel: candidate }));
172
+ const httpQuery = parseHttpQuery(normalized);
173
+ if (httpQuery) {
174
+ const matchingBindings = allBindings.filter(({ binding }) => binding.protocol === 'http'
175
+ && binding.method === httpQuery.method
176
+ && binding.path === httpQuery.path);
177
+ const matchingChannels = channelBindings.filter(({ binding }) => binding.protocol === 'http'
178
+ && binding.method === httpQuery.method
179
+ && binding.path === httpQuery.path);
180
+ if (matchingBindings.length > 0 || matchingChannels.length > 0) {
181
+ const bindings = [
182
+ ...matchingBindings.map(({ binding }) => binding),
183
+ ...matchingChannels.map(({ binding }) => binding),
184
+ ];
185
+ return {
186
+ kind: 'binding',
187
+ query,
188
+ bindingId: `${httpQuery.method}:${httpQuery.path}`,
189
+ bindings,
190
+ operations: matchingBindings.map(({ operation: candidate }) => candidate),
191
+ channels: matchingChannels.map(({ channel: candidate }) => candidate),
192
+ diagnostics: getBindingDiagnostics(graph, bindings),
193
+ };
194
+ }
195
+ }
196
+ const grpcQuery = parseGrpcQuery(normalized);
197
+ if (grpcQuery) {
198
+ const matchingBindings = allBindings.filter(({ binding }) => binding.protocol === 'grpc'
199
+ && binding.service === grpcQuery.service
200
+ && binding.operation === grpcQuery.operation);
201
+ if (matchingBindings.length > 0) {
202
+ const bindings = matchingBindings.map(({ binding }) => binding);
203
+ return {
204
+ kind: 'binding',
205
+ query,
206
+ bindingId: `${grpcQuery.service}.${grpcQuery.operation}`,
207
+ bindings,
208
+ operations: matchingBindings.map(({ operation: candidate }) => candidate),
209
+ channels: [],
210
+ diagnostics: getBindingDiagnostics(graph, bindings),
211
+ };
212
+ }
213
+ }
214
+ const exactBindingMatches = allBindings.filter(({ binding }) => binding.id === normalized || getBindingSubjectId(binding) === normalized);
215
+ const exactChannelBindingMatches = channelBindings.filter(({ binding }) => binding.id === normalized || getBindingSubjectId(binding) === normalized);
216
+ if (exactBindingMatches.length > 0 || exactChannelBindingMatches.length > 0) {
217
+ const bindings = [
218
+ ...exactBindingMatches.map(({ binding }) => binding),
219
+ ...exactChannelBindingMatches.map(({ binding }) => binding),
220
+ ];
221
+ return {
222
+ kind: 'binding',
223
+ query,
224
+ bindingId: normalized,
225
+ bindings,
226
+ operations: exactBindingMatches.map(({ operation: candidate }) => candidate),
227
+ channels: exactChannelBindingMatches.map(({ channel: candidate }) => candidate),
228
+ diagnostics: getBindingDiagnostics(graph, bindings),
229
+ };
230
+ }
231
+ return null;
232
+ }
233
+ export function buildRuntimeInspectionDoctorReport(graph) {
234
+ const diagnostics = [...graph.diagnostics].sort((left, right) => {
235
+ const severity = compareSeverity(left.severity, right.severity);
236
+ if (severity !== 0)
237
+ return severity;
238
+ if (left.subject.kind !== right.subject.kind) {
239
+ return left.subject.kind.localeCompare(right.subject.kind);
240
+ }
241
+ if (left.subject.id !== right.subject.id) {
242
+ return left.subject.id.localeCompare(right.subject.id);
243
+ }
244
+ return left.code.localeCompare(right.code);
245
+ });
246
+ const summary = {
247
+ total: diagnostics.length,
248
+ errors: diagnostics.filter((diagnostic) => diagnostic.severity === 'error').length,
249
+ warnings: diagnostics.filter((diagnostic) => diagnostic.severity === 'warning').length,
250
+ infos: diagnostics.filter((diagnostic) => diagnostic.severity === 'info').length,
251
+ };
252
+ return { summary, diagnostics };
253
+ }
254
+ export function shouldFailDoctorReport(report, threshold = 'error') {
255
+ if (threshold === 'none')
256
+ return false;
257
+ if (threshold === 'info')
258
+ return report.summary.total > 0;
259
+ if (threshold === 'warning')
260
+ return report.summary.errors > 0 || report.summary.warnings > 0;
261
+ return report.summary.errors > 0;
262
+ }
263
+ export function formatRuntimeInspectionGraph(graph) {
264
+ const lines = [];
265
+ lines.push('Raffel Runtime Preview');
266
+ lines.push(`Generated: ${graph.generatedAt}`);
267
+ lines.push(`Entrypoint: ${graph.config.protocolFusion.entrypoint.toUpperCase()} ${graph.config.entrypoint.host}:${graph.config.entrypoint.port} `
268
+ + `[fusion=${graph.config.protocolFusion.mode}]`);
269
+ lines.push('');
270
+ lines.push('Transports');
271
+ for (const transport of graph.transports) {
272
+ const traits = [
273
+ transport.path ? `path=${transport.path}` : null,
274
+ transport.shared ? 'shared' : 'dedicated',
275
+ transport.frontDoor ? 'front-door' : null,
276
+ transport.source ? `source=${transport.source}` : null,
277
+ ].filter(Boolean);
278
+ lines.push(`- ${transport.protocol.padEnd(9, ' ')} ${formatAddress(transport)}${traits.length > 0 ? ` (${traits.join(', ')})` : ''}`);
279
+ }
280
+ lines.push('');
281
+ lines.push('Services');
282
+ const operationMap = new Map(graph.operations.map((operation) => [operation.id, operation]));
283
+ for (const service of graph.services) {
284
+ lines.push(`- ${service.name} (${service.operationIds.length} operation${service.operationIds.length === 1 ? '' : 's'})`);
285
+ for (const operationId of service.operationIds) {
286
+ const operation = operationMap.get(operationId);
287
+ if (!operation)
288
+ continue;
289
+ lines.push(` ${operation.name} [${operation.kind}]`);
290
+ lines.push(` source: ${formatSource(operation.source)}`);
291
+ lines.push(` bindings: ${operation.transports.map(formatBindingFull).join(' | ') || 'none'}`);
292
+ lines.push(` policies: ${summarizePolicies(operation)}`);
293
+ lines.push(` schemas: input=${summarizeSchema(operation.schema.input)}, output=${summarizeSchema(operation.schema.output)}`);
294
+ }
295
+ }
296
+ if (graph.channels.length > 0) {
297
+ lines.push('');
298
+ lines.push('Channels');
299
+ for (const channel of graph.channels) {
300
+ lines.push(`- ${channel.name} [${channel.type}] auth=${channel.auth}`);
301
+ lines.push(` source: ${formatSource(channel.source)}`);
302
+ lines.push(` transport: ${formatBindingFull(channel.transport)}`);
303
+ lines.push(` events: ${channel.events.map((event) => `${event.name} (${summarizeSchema(event.input)})`).join(', ') || 'none'}`);
304
+ }
305
+ }
306
+ if (graph.transportHandlers.length > 0) {
307
+ lines.push('');
308
+ lines.push('Transport Handlers');
309
+ for (const handler of graph.transportHandlers) {
310
+ lines.push(`- ${handler.name} [${handler.protocol}:${handler.mode}]`);
311
+ lines.push(` source: ${formatSource(handler.source)}`);
312
+ lines.push(` target: ${formatTransportHandlerTarget(handler)}`);
313
+ }
314
+ }
315
+ const report = buildRuntimeInspectionDoctorReport(graph);
316
+ lines.push('');
317
+ lines.push(`Diagnostics (${report.summary.errors} errors, ${report.summary.warnings} warnings, ${report.summary.infos} infos)`);
318
+ if (report.diagnostics.length === 0) {
319
+ lines.push('- clean');
320
+ }
321
+ else {
322
+ for (const diagnostic of report.diagnostics) {
323
+ lines.push(formatDiagnostic(diagnostic));
324
+ }
325
+ }
326
+ return lines.join('\n');
327
+ }
328
+ export function formatRuntimeInspectionExplanation(explanation) {
329
+ const lines = [];
330
+ lines.push(`Raffel Explain: ${explanation.query}`);
331
+ if (explanation.kind === 'operation') {
332
+ const operation = explanation.operation;
333
+ lines.push(`Kind: operation (${operation.kind})`);
334
+ lines.push(`Service: ${operation.service}`);
335
+ lines.push(`Source: ${formatSource(operation.source)}`);
336
+ lines.push(`Bindings: ${operation.transports.map(formatBindingFull).join(' | ') || 'none'}`);
337
+ lines.push(`Policies: ${summarizePolicies(operation)}`);
338
+ lines.push(`Schemas: input=${summarizeSchema(operation.schema.input)}, output=${summarizeSchema(operation.schema.output)}`);
339
+ }
340
+ else if (explanation.kind === 'channel') {
341
+ const channel = explanation.channel;
342
+ lines.push(`Kind: channel (${channel.type})`);
343
+ lines.push(`Source: ${formatSource(channel.source)}`);
344
+ lines.push(`Auth: ${channel.auth}`);
345
+ lines.push(`Transport: ${formatBindingFull(channel.transport)}`);
346
+ lines.push(`Events: ${channel.events.map((event) => `${event.name} (${summarizeSchema(event.input)})`).join(', ') || 'none'}`);
347
+ }
348
+ else if (explanation.kind === 'service') {
349
+ lines.push('Kind: service');
350
+ lines.push(`Operations: ${explanation.operations.map((operation) => operation.name).join(', ') || 'none'}`);
351
+ }
352
+ else if (explanation.kind === 'transport') {
353
+ const transport = explanation.transport;
354
+ lines.push(`Kind: transport (${transport.protocol})`);
355
+ lines.push(`Address: ${formatAddress(transport)}`);
356
+ lines.push(`Path: ${transport.path ?? 'n/a'}`);
357
+ lines.push(`Shared: ${transport.shared ? 'yes' : 'no'}`);
358
+ lines.push(`Source: ${transport.source ?? 'unknown'}`);
359
+ }
360
+ else if (explanation.kind === 'transport-handler') {
361
+ const handler = explanation.handler;
362
+ lines.push(`Kind: transport-handler (${handler.protocol}:${handler.mode})`);
363
+ lines.push(`Source: ${formatSource(handler.source)}`);
364
+ lines.push(`Target: ${formatTransportHandlerTarget(handler)}`);
365
+ }
366
+ else {
367
+ lines.push(`Kind: binding (${explanation.bindingId})`);
368
+ lines.push(`Bindings: ${explanation.bindings.map(formatBindingFull).join(' | ') || 'none'}`);
369
+ lines.push(`Operations: ${explanation.operations.map((operation) => operation.name).join(', ') || 'none'}`);
370
+ lines.push(`Channels: ${explanation.channels.map((channel) => channel.name).join(', ') || 'none'}`);
371
+ }
372
+ lines.push('');
373
+ lines.push('Diagnostics');
374
+ if (explanation.diagnostics.length === 0) {
375
+ lines.push('- none');
376
+ }
377
+ else {
378
+ for (const diagnostic of explanation.diagnostics) {
379
+ lines.push(formatDiagnostic(diagnostic));
380
+ }
381
+ }
382
+ return lines.join('\n');
383
+ }
384
+ export function formatRuntimeInspectionDoctorReport(report) {
385
+ const lines = [];
386
+ lines.push('Raffel Doctor');
387
+ lines.push(`Summary: ${report.summary.errors} errors, ${report.summary.warnings} warnings, ${report.summary.infos} infos `
388
+ + `(${report.summary.total} total)`);
389
+ lines.push('');
390
+ lines.push('Diagnostics');
391
+ if (report.diagnostics.length === 0) {
392
+ lines.push('- clean');
393
+ return lines.join('\n');
394
+ }
395
+ for (const diagnostic of report.diagnostics) {
396
+ lines.push(formatDiagnostic(diagnostic));
397
+ }
398
+ return lines.join('\n');
399
+ }
400
+ //# sourceMappingURL=reports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/inspect/reports.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAsDrD,SAAS,eAAe,CACtB,IAA6C,EAC7C,KAA8C;IAE9C,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAW,CAAA;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA0C;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;IAC5C,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACxE,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAA;IAClD,CAAC;IAED,OAAO,OAAO,CAAC,EAAE,CAAA;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,SAAqC;IAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAA;IACxC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,KAAK,CAAA;IACpC,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;AAC1B,CAAC;AAED,SAAS,4BAA4B,CAAC,OAA0C;IAC9E,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACnI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAA;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,GAAG,MAAM,sBAAsB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;IAC3G,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACvC,OAAO,GAAG,MAAM,6BAA6B,OAAO,CAAC,WAAW,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,GAAG,CAAA;IAC3G,CAAC;IAED,OAAO,GAAG,MAAM,iBAAiB,CAAA;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,MAA+B;IACtD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAA;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1F,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC1D,CAAC,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,cAAc,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;QACjH,CAAC,CAAC,EAAE,CAAA;IACN,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,EAAE,CAAA;AAC9C,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAqC;IAC9D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAA;IAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,CAAA;QAC7D,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QACzE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxF,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC3F,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,SAAS,CAAC,WAAW,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,KAAK,CAAC,CAAA;IAC7F,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClE,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,IAAyC;IAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;AACtE,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAuC;IAC/D,MAAM,OAAO,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAA;IACrE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAChG,OAAO,MAAM,UAAU,CAAC,QAAQ,KAAK,UAAU,CAAC,IAAI,IAAI,OAAO,SAAS,UAAU,CAAC,OAAO,GAAG,WAAW,EAAE,CAAA;AAC5G,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAA6B,EAC7B,OAA+C;IAE/C,OAAO,KAAK,CAAC,WAAW;SACrB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC;SACxG,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/D,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAA;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAA6B,EAC7B,QAA6C;IAE7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5E,OAAO,KAAK,CAAC,WAAW;SACrB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC/F,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/D,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAA;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;QAC9B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;KACf,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IACpC,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACxC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;KACzC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,KAA6B,EAC7B,KAAa;IAEb,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACpD,SAAS,CAAC,EAAE,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAC7D,CAAA;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,KAAK;YACL,SAAS;YACT,WAAW,EAAE,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;SACnF,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;IAChH,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK;YACL,OAAO;YACP,WAAW,EAAE,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;SAC/E,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;IAChH,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAClD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QACzF,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK;YACL,OAAO;YACP,UAAU;YACV,WAAW,EAAE,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;SAC/E,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAA;IACxH,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,KAAK;YACL,SAAS;YACT,WAAW,EAAE,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;SACnF,CAAA;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAClE,SAAS,CAAC,EAAE,KAAK,UAAU,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,CAC7D,CAAA;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,KAAK;YACL,OAAO,EAAE,gBAAgB;YACzB,WAAW,EAAE,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACnG,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CACzD,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAC3E,CAAA;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAEjH,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAC5C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC1D,OAAO,CAAC,QAAQ,KAAK,MAAM;eACxB,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;eACnC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CACnC,CAAA;QACD,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC9D,OAAO,CAAC,QAAQ,KAAK,MAAM;eACxB,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;eACnC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CACnC,CAAA;QAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG;gBACf,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;gBACjD,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;aAClD,CAAA;YACD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK;gBACL,SAAS,EAAE,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE;gBAClD,QAAQ;gBACR,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;gBACzE,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;gBACrE,WAAW,EAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC;aACpD,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IAC5C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC1D,OAAO,CAAC,QAAQ,KAAK,MAAM;eACxB,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO;eACrC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,CAC7C,CAAA;QAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;YAC/D,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK;gBACL,SAAS,EAAE,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE;gBACxD,QAAQ;gBACR,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;gBACzE,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC;aACpD,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7D,OAAO,CAAC,EAAE,KAAK,UAAU,IAAI,mBAAmB,CAAC,OAAO,CAAC,KAAK,UAAU,CACzE,CAAA;IACD,MAAM,0BAA0B,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACxE,OAAO,CAAC,EAAE,KAAK,UAAU,IAAI,mBAAmB,CAAC,OAAO,CAAC,KAAK,UAAU,CACzE,CAAA;IAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,MAAM,QAAQ,GAAG;YACf,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;YACpD,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;SAC5D,CAAA;QACD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK;YACL,SAAS,EAAE,UAAU;YACrB,QAAQ;YACR,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;YAC5E,QAAQ,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;YAC/E,WAAW,EAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC;SACpD,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,KAA6B;IAE7B,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9D,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/D,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAA;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,WAAW,CAAC,MAAM;QACzB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM;QAClF,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM;QACtF,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM;KACjF,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAqC,EACrC,YAAmD,OAAO;IAE1D,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IACtC,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAA;IACzD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IAC5F,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAA6B;IACxE,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACpC,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IAC7C,KAAK,CAAC,IAAI,CACR,eAAe,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG;UACpI,WAAW,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,GAAG,CACjD,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACxB,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG;YACb,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;YAChD,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;YACzC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;YACzC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;SACvD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACjB,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACvI,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtB,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IAC5F,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,YAAY,CAAC,MAAM,aAAa,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;QACzH,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC/C,IAAI,CAAC,SAAS;gBAAE,SAAQ;YACxB,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,GAAG,CAAC,CAAA;YACrD,KAAK,CAAC,IAAI,CAAC,eAAe,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC3D,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;YAChG,KAAK,CAAC,IAAI,CAAC,iBAAiB,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC3D,KAAK,CAAC,IAAI,CAAC,sBAAsB,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACjI,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACtB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;YACtE,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACvD,KAAK,CAAC,IAAI,CAAC,gBAAgB,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAClE,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;QAClI,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAChC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;YACrE,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACvD,KAAK,CAAC,IAAI,CAAC,aAAa,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY,MAAM,CAAC,OAAO,CAAC,QAAQ,cAAc,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAA;IAC/H,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,WAAyC;IAEzC,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,KAAK,EAAE,CAAC,CAAA;IAElD,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAA;QACvC,KAAK,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,IAAI,GAAG,CAAC,CAAA;QACjD,KAAK,CAAC,IAAI,CAAC,YAAY,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3C,KAAK,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACvD,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;QAC5F,KAAK,CAAC,IAAI,CAAC,aAAa,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACvD,KAAK,CAAC,IAAI,CAAC,kBAAkB,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC7H,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;QACnC,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;QAC7C,KAAK,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACrD,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QACnC,KAAK,CAAC,IAAI,CAAC,cAAc,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;IAChI,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;IAC7G,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAA;QACvC,KAAK,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAA;QACrD,KAAK,CAAC,IAAI,CAAC,YAAY,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAClD,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACxD,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAA;IACxD,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;QACnC,KAAK,CAAC,IAAI,CAAC,4BAA4B,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;QAC3E,KAAK,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACrD,KAAK,CAAC,IAAI,CAAC,WAAW,4BAA4B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAChE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAC,SAAS,GAAG,CAAC,CAAA;QACtD,KAAK,CAAC,IAAI,CAAC,aAAa,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;QAC5F,KAAK,CAAC,IAAI,CAAC,eAAe,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;QAC3G,KAAK,CAAC,IAAI,CAAC,aAAa,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;IACrG,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACzB,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,MAAqC;IAErC,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CACR,YAAY,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY,MAAM,CAAC,OAAO,CAAC,QAAQ,cAAc,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS;UAC7G,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,CACpC,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAEzB,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { LoadedChannel } from '../server/fs-routes/index.js';
2
+ import type { ProtocolConfig, ServerConfigPreview } from '../server/types.js';
3
+ import type { Registry } from '../core/registry.js';
4
+ import { type SchemaRegistry } from '../validation/index.js';
5
+ import type { RuntimeInspectionChannel, RuntimeInspectionDiagnostic, RuntimeInspectionGraph, RuntimeInspectionOperation, RuntimeInspectionOperationRegistration, RuntimeInspectionSchema, RuntimeInspectionService, RuntimeInspectionTransportHandler, RuntimeInspectionTransport } from './types.js';
6
+ export interface BuildRuntimeInspectionGraphInput {
7
+ registry: Registry;
8
+ schemaRegistry: SchemaRegistry;
9
+ config: ServerConfigPreview;
10
+ protocols: ProtocolConfig;
11
+ basePath: string;
12
+ channels?: Iterable<LoadedChannel>;
13
+ tcpHandlers?: Iterable<{
14
+ name: string;
15
+ filePath: string;
16
+ config: {
17
+ host: string;
18
+ port: number;
19
+ framing?: {
20
+ type: 'none' | 'length-prefixed' | 'delimiter';
21
+ lengthBytes?: 1 | 2 | 4;
22
+ lengthEncoding?: 'BE' | 'LE';
23
+ delimiter?: Buffer;
24
+ } | null;
25
+ };
26
+ }>;
27
+ udpHandlers?: Iterable<{
28
+ name: string;
29
+ filePath: string;
30
+ config: {
31
+ host: string;
32
+ port: number;
33
+ type?: 'udp4' | 'udp6';
34
+ multicast?: {
35
+ group: string;
36
+ interface?: string;
37
+ } | null;
38
+ };
39
+ }>;
40
+ operationRegistrations?: ReadonlyMap<string, RuntimeInspectionOperationRegistration>;
41
+ }
42
+ export declare function serializeRuntimeInspectionTransport(transport: RuntimeInspectionTransport): RuntimeInspectionTransport;
43
+ export declare function serializeRuntimeInspectionSchema(schema: RuntimeInspectionSchema): RuntimeInspectionSchema;
44
+ export declare function serializeRuntimeInspectionPolicies(policies: RuntimeInspectionOperation['policies']): RuntimeInspectionOperation['policies'];
45
+ export declare function serializeRuntimeInspectionOperation(operation: RuntimeInspectionOperation): RuntimeInspectionOperation;
46
+ export declare function serializeRuntimeInspectionService(service: RuntimeInspectionService): RuntimeInspectionService;
47
+ export declare function serializeRuntimeInspectionChannel(channel: RuntimeInspectionChannel): RuntimeInspectionChannel;
48
+ export declare function serializeRuntimeInspectionTransportHandler(handler: RuntimeInspectionTransportHandler): RuntimeInspectionTransportHandler;
49
+ export declare function serializeRuntimeInspectionDiagnostic(diagnostic: RuntimeInspectionDiagnostic): RuntimeInspectionDiagnostic;
50
+ export declare function serializeRuntimeInspectionGraph(graph: RuntimeInspectionGraph): RuntimeInspectionGraph;
51
+ export declare function buildRuntimeInspectionGraph(input: BuildRuntimeInspectionGraphInput): RuntimeInspectionGraph;
52
+ //# sourceMappingURL=runtime-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-graph.d.ts","sourceRoot":"","sources":["../../src/inspect/runtime-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvF,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC1B,sCAAsC,EACtC,uBAAuB,EACvB,wBAAwB,EACxB,iCAAiC,EACjC,0BAA0B,EAE3B,MAAM,YAAY,CAAA;AAKnB,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,QAAQ,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,EAAE,mBAAmB,CAAA;IAC3B,SAAS,EAAE,cAAc,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IAClC,WAAW,CAAC,EAAE,QAAQ,CAAC;QACrB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,CAAC,EAAE;gBACR,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,WAAW,CAAA;gBAC9C,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACvB,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;gBAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;aACnB,GAAG,IAAI,CAAA;SACT,CAAA;KACF,CAAC,CAAA;IACF,WAAW,CAAC,EAAE,QAAQ,CAAC;QACrB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;YACtB,SAAS,CAAC,EAAE;gBACV,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,CAAC,EAAE,MAAM,CAAA;aACnB,GAAG,IAAI,CAAA;SACT,CAAA;KACF,CAAC,CAAA;IACF,sBAAsB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAA;CACrF;AA0xBD,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,0BAA0B,GAAG,0BAA0B,CAErH;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,uBAAuB,GAAG,uBAAuB,CAEzG;AAED,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,0BAA0B,CAAC,UAAU,CAAC,GAC/C,0BAA0B,CAAC,UAAU,CAAC,CAExC;AAED,wBAAgB,mCAAmC,CACjD,SAAS,EAAE,0BAA0B,GACpC,0BAA0B,CAU5B;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,wBAAwB,GAChC,wBAAwB,CAE1B;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,wBAAwB,GAChC,wBAAwB,CAS1B;AAED,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,iCAAiC,GACzC,iCAAiC,CAEnC;AAED,wBAAgB,oCAAoC,CAClD,UAAU,EAAE,2BAA2B,GACtC,2BAA2B,CAE7B;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,sBAAsB,GAC5B,sBAAsB,CAUxB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,gCAAgC,GACtC,sBAAsB,CAmBxB"}