@confluentinc/mcp-confluent 1.2.2 → 1.4.0

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 (508) hide show
  1. package/README.md +299 -240
  2. package/assets/oauth-templates/callback-failure.html +22 -0
  3. package/assets/oauth-templates/callback-success.html +99 -0
  4. package/assets/oauth-templates/logo.html +91 -0
  5. package/assets/oauth-templates/styles.html +110 -0
  6. package/config.example.yaml +149 -0
  7. package/config.oauth.example.yaml +45 -0
  8. package/dist/cli.d.ts +59 -12
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +131 -61
  11. package/dist/cli.js.map +1 -1
  12. package/dist/config/env-config.d.ts +33 -0
  13. package/dist/config/env-config.d.ts.map +1 -0
  14. package/dist/config/env-config.js +478 -0
  15. package/dist/config/env-config.js.map +1 -0
  16. package/dist/config/index.d.ts +31 -0
  17. package/dist/config/index.d.ts.map +1 -0
  18. package/dist/config/index.js +76 -0
  19. package/dist/config/index.js.map +1 -0
  20. package/dist/config/interpolation.d.ts +9 -0
  21. package/dist/config/interpolation.d.ts.map +1 -0
  22. package/dist/config/interpolation.js +51 -0
  23. package/dist/config/interpolation.js.map +1 -0
  24. package/dist/config/models.d.ts +399 -0
  25. package/dist/config/models.d.ts.map +1 -0
  26. package/dist/config/models.js +406 -0
  27. package/dist/config/models.js.map +1 -0
  28. package/dist/config/validation.d.ts +9 -0
  29. package/dist/config/validation.d.ts.map +1 -0
  30. package/dist/config/validation.js +46 -0
  31. package/dist/config/validation.js.map +1 -0
  32. package/dist/confluent/base-client-manager.d.ts +133 -0
  33. package/dist/confluent/base-client-manager.d.ts.map +1 -0
  34. package/dist/confluent/base-client-manager.js +188 -0
  35. package/dist/confluent/base-client-manager.js.map +1 -0
  36. package/dist/confluent/client-manager.d.ts +42 -77
  37. package/dist/confluent/client-manager.d.ts.map +1 -1
  38. package/dist/confluent/client-manager.js +5 -213
  39. package/dist/confluent/client-manager.js.map +1 -1
  40. package/dist/confluent/config-telemetry.d.ts +41 -0
  41. package/dist/confluent/config-telemetry.d.ts.map +1 -0
  42. package/dist/confluent/config-telemetry.js +17 -0
  43. package/dist/confluent/config-telemetry.js.map +1 -0
  44. package/dist/confluent/direct-client-manager.d.ts +43 -0
  45. package/dist/confluent/direct-client-manager.d.ts.map +1 -0
  46. package/dist/confluent/direct-client-manager.js +154 -0
  47. package/dist/confluent/direct-client-manager.js.map +1 -0
  48. package/dist/confluent/middleware.d.ts +32 -4
  49. package/dist/confluent/middleware.d.ts.map +1 -1
  50. package/dist/confluent/middleware.js +46 -2
  51. package/dist/confluent/middleware.js.map +1 -1
  52. package/dist/confluent/node-deps.d.ts +33 -39
  53. package/dist/confluent/node-deps.d.ts.map +1 -1
  54. package/dist/confluent/node-deps.js +48 -7
  55. package/dist/confluent/node-deps.js.map +1 -1
  56. package/dist/confluent/oauth/auth-context.d.ts +94 -0
  57. package/dist/confluent/oauth/auth-context.d.ts.map +1 -0
  58. package/dist/confluent/oauth/auth-context.js +323 -0
  59. package/dist/confluent/oauth/auth-context.js.map +1 -0
  60. package/dist/confluent/oauth/auth0-config.d.ts +12 -0
  61. package/dist/confluent/oauth/auth0-config.d.ts.map +1 -0
  62. package/dist/confluent/oauth/auth0-config.js +43 -0
  63. package/dist/confluent/oauth/auth0-config.js.map +1 -0
  64. package/dist/confluent/oauth/callback-pages.d.ts +13 -0
  65. package/dist/confluent/oauth/callback-pages.d.ts.map +1 -0
  66. package/dist/confluent/oauth/callback-pages.js +47 -0
  67. package/dist/confluent/oauth/callback-pages.js.map +1 -0
  68. package/dist/confluent/oauth/crypto-utils.d.ts +16 -0
  69. package/dist/confluent/oauth/crypto-utils.d.ts.map +1 -0
  70. package/dist/confluent/oauth/crypto-utils.js +23 -0
  71. package/dist/confluent/oauth/crypto-utils.js.map +1 -0
  72. package/dist/confluent/oauth/errors.d.ts +27 -0
  73. package/dist/confluent/oauth/errors.d.ts.map +1 -0
  74. package/dist/confluent/oauth/errors.js +6 -0
  75. package/dist/confluent/oauth/errors.js.map +1 -0
  76. package/dist/confluent/oauth/oauth-holder.d.ts +34 -0
  77. package/dist/confluent/oauth/oauth-holder.d.ts.map +1 -0
  78. package/dist/confluent/oauth/oauth-holder.js +155 -0
  79. package/dist/confluent/oauth/oauth-holder.js.map +1 -0
  80. package/dist/confluent/oauth/pkce-login.d.ts +45 -0
  81. package/dist/confluent/oauth/pkce-login.d.ts.map +1 -0
  82. package/dist/confluent/oauth/pkce-login.js +270 -0
  83. package/dist/confluent/oauth/pkce-login.js.map +1 -0
  84. package/dist/confluent/oauth/token-chain.d.ts +53 -0
  85. package/dist/confluent/oauth/token-chain.d.ts.map +1 -0
  86. package/dist/confluent/oauth/token-chain.js +141 -0
  87. package/dist/confluent/oauth/token-chain.js.map +1 -0
  88. package/dist/confluent/oauth/token-lifetimes.d.ts +13 -0
  89. package/dist/confluent/oauth/token-lifetimes.d.ts.map +1 -0
  90. package/dist/confluent/oauth/token-lifetimes.js +13 -0
  91. package/dist/confluent/oauth/token-lifetimes.js.map +1 -0
  92. package/dist/confluent/oauth/types.d.ts +68 -0
  93. package/dist/confluent/oauth/types.d.ts.map +1 -0
  94. package/dist/confluent/oauth/types.js +2 -0
  95. package/dist/confluent/oauth/types.js.map +1 -0
  96. package/dist/confluent/oauth-client-manager.d.ts +78 -0
  97. package/dist/confluent/oauth-client-manager.d.ts.map +1 -0
  98. package/dist/confluent/oauth-client-manager.js +265 -0
  99. package/dist/confluent/oauth-client-manager.js.map +1 -0
  100. package/dist/confluent/oauth-resource-resolvers.d.ts +6 -0
  101. package/dist/confluent/oauth-resource-resolvers.d.ts.map +1 -0
  102. package/dist/confluent/oauth-resource-resolvers.js +65 -0
  103. package/dist/confluent/oauth-resource-resolvers.js.map +1 -0
  104. package/dist/confluent/schema-registry-helper.d.ts +5 -9
  105. package/dist/confluent/schema-registry-helper.d.ts.map +1 -1
  106. package/dist/confluent/schema-registry-helper.js +1 -9
  107. package/dist/confluent/schema-registry-helper.js.map +1 -1
  108. package/dist/confluent/telemetry.d.ts +38 -1
  109. package/dist/confluent/telemetry.d.ts.map +1 -1
  110. package/dist/confluent/telemetry.js +37 -8
  111. package/dist/confluent/telemetry.js.map +1 -1
  112. package/dist/confluent/tools/base-tools.d.ts +140 -23
  113. package/dist/confluent/tools/base-tools.d.ts.map +1 -1
  114. package/dist/confluent/tools/base-tools.js +98 -4
  115. package/dist/confluent/tools/base-tools.js.map +1 -1
  116. package/dist/confluent/tools/cluster-arg-resolvers.d.ts +75 -0
  117. package/dist/confluent/tools/cluster-arg-resolvers.d.ts.map +1 -0
  118. package/dist/confluent/tools/cluster-arg-resolvers.js +127 -0
  119. package/dist/confluent/tools/cluster-arg-resolvers.js.map +1 -0
  120. package/dist/confluent/tools/connection-predicates.d.ts +176 -0
  121. package/dist/confluent/tools/connection-predicates.d.ts.map +1 -0
  122. package/dist/confluent/tools/connection-predicates.js +284 -0
  123. package/dist/confluent/tools/connection-predicates.js.map +1 -0
  124. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts +5 -6
  125. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts.map +1 -1
  126. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js +40 -11
  127. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js.map +1 -1
  128. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +6 -6
  129. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts.map +1 -1
  130. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js +6 -9
  131. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js.map +1 -1
  132. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts +6 -6
  133. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
  134. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +6 -9
  135. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
  136. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +6 -6
  137. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
  138. package/dist/confluent/tools/handlers/catalog/delete-tag.js +6 -9
  139. package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
  140. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +6 -6
  141. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
  142. package/dist/confluent/tools/handlers/catalog/list-tags.js +6 -9
  143. package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
  144. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +6 -6
  145. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts.map +1 -1
  146. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js +6 -9
  147. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js.map +1 -1
  148. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts +5 -6
  149. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
  150. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +11 -13
  151. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
  152. package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts +34 -0
  153. package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts.map +1 -0
  154. package/dist/confluent/tools/handlers/connect/connect-tool-handler.js +47 -0
  155. package/dist/confluent/tools/handlers/connect/connect-tool-handler.js.map +1 -0
  156. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts +11 -7
  157. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
  158. package/dist/confluent/tools/handlers/connect/create-connector-handler.js +21 -21
  159. package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
  160. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts +6 -7
  161. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
  162. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +10 -15
  163. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
  164. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts +9 -0
  165. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts.map +1 -0
  166. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js +35 -0
  167. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js.map +1 -0
  168. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts +9 -0
  169. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts.map +1 -0
  170. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js +66 -0
  171. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js.map +1 -0
  172. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts +9 -0
  173. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts.map +1 -0
  174. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js +131 -0
  175. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js.map +1 -0
  176. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts +9 -0
  177. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts.map +1 -0
  178. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js +244 -0
  179. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js.map +1 -0
  180. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts +9 -0
  181. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts.map +1 -0
  182. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js +35 -0
  183. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js.map +1 -0
  184. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts +9 -0
  185. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts.map +1 -0
  186. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js +44 -0
  187. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js.map +1 -0
  188. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts +9 -0
  189. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts.map +1 -0
  190. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js +35 -0
  191. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js.map +1 -0
  192. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts +6 -7
  193. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
  194. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +15 -17
  195. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
  196. package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts +9 -0
  197. package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts.map +1 -0
  198. package/dist/confluent/tools/handlers/connect/pause-connector-handler.js +35 -0
  199. package/dist/confluent/tools/handlers/connect/pause-connector-handler.js.map +1 -0
  200. package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts +9 -0
  201. package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts.map +1 -0
  202. package/dist/confluent/tools/handlers/connect/restart-connector-handler.js +35 -0
  203. package/dist/confluent/tools/handlers/connect/restart-connector-handler.js.map +1 -0
  204. package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts +9 -0
  205. package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts.map +1 -0
  206. package/dist/confluent/tools/handlers/connect/resume-connector-handler.js +35 -0
  207. package/dist/confluent/tools/handlers/connect/resume-connector-handler.js.map +1 -0
  208. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts +9 -0
  209. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts.map +1 -0
  210. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js +44 -0
  211. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js.map +1 -0
  212. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts +58 -0
  213. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts.map +1 -0
  214. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js +135 -0
  215. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js.map +1 -0
  216. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts +18 -0
  217. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts.map +1 -0
  218. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js +235 -0
  219. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js.map +1 -0
  220. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts +14 -0
  221. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts.map +1 -0
  222. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js +286 -0
  223. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js.map +1 -0
  224. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +11 -12
  225. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
  226. package/dist/confluent/tools/handlers/environments/list-environments-handler.js +11 -14
  227. package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
  228. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +5 -6
  229. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
  230. package/dist/confluent/tools/handlers/environments/read-environment-handler.js +6 -9
  231. package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
  232. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts +32 -11
  233. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts.map +1 -1
  234. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js +22 -16
  235. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js.map +1 -1
  236. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts +5 -7
  237. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts.map +1 -1
  238. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js +34 -30
  239. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js.map +1 -1
  240. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts +14 -0
  241. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts.map +1 -0
  242. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.js +15 -0
  243. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.js.map +1 -0
  244. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts +5 -7
  245. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts.map +1 -1
  246. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js +34 -30
  247. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js.map +1 -1
  248. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts +5 -7
  249. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts.map +1 -1
  250. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js +21 -24
  251. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js.map +1 -1
  252. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts +5 -7
  253. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts.map +1 -1
  254. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js +21 -24
  255. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js.map +1 -1
  256. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts +5 -7
  257. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts.map +1 -1
  258. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js +22 -33
  259. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js.map +1 -1
  260. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts +5 -7
  261. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts.map +1 -1
  262. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js +18 -23
  263. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js.map +1 -1
  264. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts +5 -7
  265. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -1
  266. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +7 -13
  267. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
  268. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts +5 -7
  269. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts.map +1 -1
  270. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js +7 -13
  271. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js.map +1 -1
  272. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts +5 -7
  273. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts.map +1 -1
  274. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js +8 -15
  275. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js.map +1 -1
  276. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts +2 -2
  277. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts.map +1 -1
  278. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.js.map +1 -1
  279. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts +7 -7
  280. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts.map +1 -1
  281. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js +11 -17
  282. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js.map +1 -1
  283. package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts +15 -2
  284. package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts.map +1 -1
  285. package/dist/confluent/tools/handlers/flink/flink-sql-helper.js.map +1 -1
  286. package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts +22 -0
  287. package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts.map +1 -0
  288. package/dist/confluent/tools/handlers/flink/flink-tool-handler.js +32 -0
  289. package/dist/confluent/tools/handlers/flink/flink-tool-handler.js.map +1 -0
  290. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts +5 -7
  291. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts.map +1 -1
  292. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js +7 -13
  293. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js.map +1 -1
  294. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts +5 -7
  295. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts.map +1 -1
  296. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js +9 -17
  297. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
  298. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts +5 -7
  299. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +1 -1
  300. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js +7 -13
  301. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +1 -1
  302. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +5 -6
  303. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
  304. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +22 -20
  305. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js.map +1 -1
  306. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts +216 -30
  307. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -1
  308. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +797 -70
  309. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -1
  310. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.d.ts +48 -0
  311. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.d.ts.map +1 -0
  312. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.js +84 -0
  313. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.js.map +1 -0
  314. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.d.ts +54 -0
  315. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.d.ts.map +1 -0
  316. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.js +89 -0
  317. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.js.map +1 -0
  318. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +5 -5
  319. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
  320. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +52 -15
  321. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
  322. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +5 -5
  323. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
  324. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +26 -8
  325. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
  326. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts +64 -0
  327. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts.map +1 -0
  328. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js +140 -0
  329. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js.map +1 -0
  330. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts +73 -0
  331. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts.map +1 -0
  332. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js +337 -0
  333. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js.map +1 -0
  334. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts +43 -0
  335. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts.map +1 -0
  336. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js +123 -0
  337. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js.map +1 -0
  338. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +5 -6
  339. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -1
  340. package/dist/confluent/tools/handlers/kafka/get-topic-config.js +22 -20
  341. package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -1
  342. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts +45 -0
  343. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts.map +1 -0
  344. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js +86 -0
  345. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js.map +1 -0
  346. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +5 -5
  347. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
  348. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +25 -10
  349. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
  350. package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts +54 -0
  351. package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts.map +1 -0
  352. package/dist/confluent/tools/handlers/kafka/partition-watermarks.js +56 -0
  353. package/dist/confluent/tools/handlers/kafka/partition-watermarks.js.map +1 -0
  354. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +8 -8
  355. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts.map +1 -1
  356. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js +57 -46
  357. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
  358. package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts +18 -0
  359. package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts.map +1 -0
  360. package/dist/confluent/tools/handlers/kafka/topic-metadata.js +18 -0
  361. package/dist/confluent/tools/handlers/kafka/topic-metadata.js.map +1 -0
  362. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts +6 -6
  363. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts.map +1 -1
  364. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js +6 -9
  365. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js.map +1 -1
  366. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts +24 -6
  367. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts.map +1 -1
  368. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js +88 -53
  369. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js.map +1 -1
  370. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts +50 -0
  371. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts.map +1 -0
  372. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js +116 -0
  373. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js.map +1 -0
  374. package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts +5 -5
  375. package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts.map +1 -1
  376. package/dist/confluent/tools/handlers/schema/delete-schema-handler.js +13 -8
  377. package/dist/confluent/tools/handlers/schema/delete-schema-handler.js.map +1 -1
  378. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +5 -5
  379. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
  380. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +13 -7
  381. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js.map +1 -1
  382. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts +6 -6
  383. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts.map +1 -1
  384. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js +6 -9
  385. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js.map +1 -1
  386. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts +6 -6
  387. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts.map +1 -1
  388. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js +6 -9
  389. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
  390. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts +5 -7
  391. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts.map +1 -1
  392. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js +17 -13
  393. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js.map +1 -1
  394. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts +5 -7
  395. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts.map +1 -1
  396. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js +6 -12
  397. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js.map +1 -1
  398. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts +5 -7
  399. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts.map +1 -1
  400. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js +7 -13
  401. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js.map +1 -1
  402. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts +5 -7
  403. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts.map +1 -1
  404. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js +6 -12
  405. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js.map +1 -1
  406. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts +5 -7
  407. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts.map +1 -1
  408. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js +5 -9
  409. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js.map +1 -1
  410. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts +5 -7
  411. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts.map +1 -1
  412. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js +18 -21
  413. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js.map +1 -1
  414. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts +26 -0
  415. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts.map +1 -0
  416. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js +28 -0
  417. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js.map +1 -0
  418. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts +5 -7
  419. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts.map +1 -1
  420. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js +17 -13
  421. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js.map +1 -1
  422. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts +5 -7
  423. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts.map +1 -1
  424. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js +6 -12
  425. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js.map +1 -1
  426. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts +5 -7
  427. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts.map +1 -1
  428. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js +7 -13
  429. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js.map +1 -1
  430. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts +5 -7
  431. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts.map +1 -1
  432. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js +6 -12
  433. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js.map +1 -1
  434. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts +5 -7
  435. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts.map +1 -1
  436. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js +5 -9
  437. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -1
  438. package/dist/confluent/tools/tool-availability.d.ts +91 -0
  439. package/dist/confluent/tools/tool-availability.d.ts.map +1 -0
  440. package/dist/confluent/tools/tool-availability.js +130 -0
  441. package/dist/confluent/tools/tool-availability.js.map +1 -0
  442. package/dist/confluent/tools/tool-name.d.ts +20 -2
  443. package/dist/confluent/tools/tool-name.d.ts.map +1 -1
  444. package/dist/confluent/tools/tool-name.js +19 -1
  445. package/dist/confluent/tools/tool-name.js.map +1 -1
  446. package/dist/confluent/tools/tool-registry.d.ts +17 -0
  447. package/dist/confluent/tools/tool-registry.d.ts.map +1 -0
  448. package/dist/confluent/tools/{tool-factory.js → tool-registry.js} +66 -22
  449. package/dist/confluent/tools/tool-registry.js.map +1 -0
  450. package/dist/env-schema.d.ts +6 -7
  451. package/dist/env-schema.d.ts.map +1 -1
  452. package/dist/env-schema.js +30 -44
  453. package/dist/env-schema.js.map +1 -1
  454. package/dist/env.d.ts +17 -7
  455. package/dist/env.d.ts.map +1 -1
  456. package/dist/env.js +16 -6
  457. package/dist/env.js.map +1 -1
  458. package/dist/index.d.ts +74 -1
  459. package/dist/index.d.ts.map +1 -1
  460. package/dist/index.js +302 -166
  461. package/dist/index.js.map +1 -1
  462. package/dist/logger.d.ts.map +1 -1
  463. package/dist/logger.js +21 -20
  464. package/dist/logger.js.map +1 -1
  465. package/dist/mcp/server.d.ts +29 -0
  466. package/dist/mcp/server.d.ts.map +1 -0
  467. package/dist/mcp/server.js +53 -0
  468. package/dist/mcp/server.js.map +1 -0
  469. package/dist/mcp/transports/auth.d.ts +20 -4
  470. package/dist/mcp/transports/auth.d.ts.map +1 -1
  471. package/dist/mcp/transports/auth.js +27 -7
  472. package/dist/mcp/transports/auth.js.map +1 -1
  473. package/dist/mcp/transports/http.d.ts +8 -2
  474. package/dist/mcp/transports/http.d.ts.map +1 -1
  475. package/dist/mcp/transports/http.js +57 -42
  476. package/dist/mcp/transports/http.js.map +1 -1
  477. package/dist/mcp/transports/manager.d.ts +23 -9
  478. package/dist/mcp/transports/manager.d.ts.map +1 -1
  479. package/dist/mcp/transports/manager.js +27 -24
  480. package/dist/mcp/transports/manager.js.map +1 -1
  481. package/dist/mcp/transports/server.d.ts +1 -1
  482. package/dist/mcp/transports/server.d.ts.map +1 -1
  483. package/dist/mcp/transports/server.js +17 -5
  484. package/dist/mcp/transports/server.js.map +1 -1
  485. package/dist/mcp/transports/session-registry.d.ts +33 -0
  486. package/dist/mcp/transports/session-registry.d.ts.map +1 -0
  487. package/dist/mcp/transports/session-registry.js +65 -0
  488. package/dist/mcp/transports/session-registry.js.map +1 -0
  489. package/dist/mcp/transports/sse.d.ts +13 -2
  490. package/dist/mcp/transports/sse.d.ts.map +1 -1
  491. package/dist/mcp/transports/sse.js +58 -46
  492. package/dist/mcp/transports/sse.js.map +1 -1
  493. package/dist/server-runtime.d.ts +28 -0
  494. package/dist/server-runtime.d.ts.map +1 -0
  495. package/dist/server-runtime.js +73 -0
  496. package/dist/server-runtime.js.map +1 -0
  497. package/package.json +26 -9
  498. package/dist/confluent/helpers.d.ts +0 -11
  499. package/dist/confluent/helpers.d.ts.map +0 -1
  500. package/dist/confluent/helpers.js +0 -17
  501. package/dist/confluent/helpers.js.map +0 -1
  502. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts +0 -11
  503. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts.map +0 -1
  504. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js +0 -59
  505. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +0 -1
  506. package/dist/confluent/tools/tool-factory.d.ts +0 -9
  507. package/dist/confluent/tools/tool-factory.d.ts.map +0 -1
  508. package/dist/confluent/tools/tool-factory.js.map +0 -1
@@ -0,0 +1,135 @@
1
+ import { BaseToolHandler, READ_ONLY, ToolCategory, } from "../../../../confluent/tools/base-tools.js";
2
+ import { alwaysEnabled } from "../../../../confluent/tools/connection-predicates.js";
3
+ import { buildToolGatingReport, disabledToolGroupKey, } from "../../../../confluent/tools/tool-availability.js";
4
+ import { ToolName } from "../../../../confluent/tools/tool-name.js";
5
+ import { z } from "zod";
6
+ const explainDisabledToolsArguments = z.object({
7
+ group_by: z
8
+ .enum(["reason", "category"])
9
+ .default("reason")
10
+ .describe('Axis to bucket disabled tools by. "reason" (default) answers "what config piece would unlock these?" — each bucket is a ToolDisabledReason (MissingKafkaBlock, MissingFlinkBlock, …). "category" answers "which functional area is offline?" — each bucket is a ToolCategory (kafka, flink, schema-registry, …). Flip to "category" when triaging a misconfigured connection by functional area instead of by missing config piece.'),
11
+ });
12
+ /**
13
+ * Diagnostic tool that surfaces *why* tools are absent from `tools/list`.
14
+ *
15
+ * The MCP protocol already advertises the enabled tool set via `tools/list`;
16
+ * what it does not surface is the predicate-driven decision behind every
17
+ * absence — which config piece is missing, and which tools each gap would
18
+ * unlock. This handler returns that view.
19
+ *
20
+ * v1 scope (today's release): the server enforces a single configured
21
+ * connection (see `enforceSingleConnectionOnly()` in
22
+ * `src/config/models.ts`), so the output is a flat list of disabled tools
23
+ * grouped by the missing config piece (kafka block, flink block, schema
24
+ * registry block, …). Tools enabled on the active connection are
25
+ * intentionally absent — `tools/list` already advertises them.
26
+ *
27
+ * v2 plan (when multi-connection support lands — issue #151's follow-ups):
28
+ * regrow output around connections. The text body becomes one block per
29
+ * connection (header + per-connection gaps) plus a `Cross-connection
30
+ * deltas` section that surfaces tools enabled on some connections but not
31
+ * others — the canonical "what does connection B need to reach parity with
32
+ * connection A?" view. The structured `_meta` shape mirrors that change;
33
+ * see the {@linkcode ToolGatingReport} JSDoc in `tool-availability.ts` for
34
+ * the exact target type.
35
+ *
36
+ * Until v2 lands, the helper accepts a multi-connection runtime without
37
+ * crashing, but the v1 flatten is *lossy*: a tool whose predicate is
38
+ * enabled on at least one configured connection is reported as enabled
39
+ * (and therefore omitted from `disabledGroups` entirely), and a tool
40
+ * disabled on multiple connections with different reasons is bucketed
41
+ * under the first disabled verdict its iteration produces — the
42
+ * cross-connection asymmetry vanishes from the output. Today's
43
+ * single-connection invariant means neither lossy case can fire in
44
+ * production; this paragraph exists so a future reader does not mistake
45
+ * defensive iteration for parity reporting.
46
+ *
47
+ * Always enabled (predicate is `alwaysEnabled`) so an operator can call it
48
+ * to diagnose a config that left every other tool disabled.
49
+ *
50
+ * The handlers iterable is supplied at construction time via a thunk so
51
+ * this module does not need to import `ToolHandlerRegistry`. Importing the
52
+ * registry from a registered handler would create an ESM cycle, leaving
53
+ * the registry's static initializer running before this class's binding
54
+ * is set. The thunk is invoked at request time, after every module is
55
+ * fully loaded, sidestepping the cycle entirely.
56
+ */
57
+ export class ExplainDisabledToolsHandler extends BaseToolHandler {
58
+ listHandlers;
59
+ constructor(listHandlers) {
60
+ super();
61
+ this.listHandlers = listHandlers;
62
+ }
63
+ handle(runtime, toolArguments) {
64
+ const { group_by } = explainDisabledToolsArguments.parse(toolArguments ?? {});
65
+ const report = buildToolGatingReport(this.listHandlers(), runtime, group_by);
66
+ return this.createResponse(renderReport(report), false, { ...report });
67
+ }
68
+ getToolConfig() {
69
+ return {
70
+ name: ToolName.EXPLAIN_DISABLED_TOOLS,
71
+ description: 'Call when the user asks why a tool is missing or unavailable (e.g., "why can\'t I list Kafka topics?", "where are the Flink tools?"). Returns disabled tools grouped by the config gap each one is waiting on, so you can tell the user the exact YAML block or field to add. Pass group_by="category" to regroup by functional area (kafka, flink, schema-registry, …) when the user\'s question is framed by what\'s offline rather than by what\'s missing from config. Prefer this over guessing about credentials, network, or auth.',
72
+ inputSchema: explainDisabledToolsArguments.shape,
73
+ annotations: READ_ONLY,
74
+ };
75
+ }
76
+ category = ToolCategory.McpServerDiagnostics;
77
+ predicate = alwaysEnabled;
78
+ }
79
+ /**
80
+ * Render a {@linkcode ToolGatingReport} as the human-readable text body of
81
+ * the tool's response. Format is stable — handler tests pin specific
82
+ * substrings so the AI/script-facing structure does not drift silently.
83
+ *
84
+ * The heading line varies by `report.groupBy`:
85
+ *
86
+ * - `"reason"`: "{disabled} of {total} tools disabled for the following reasons:"
87
+ * - `"category"`: "{disabled} of {total} tools disabled across the following categories:"
88
+ *
89
+ * Body shape is identical for both axes — one header line per bucket
90
+ * followed by indented `- {tool}` bullets, separated by a blank line:
91
+ *
92
+ * {disabled} of {total} tools disabled for the following reasons:
93
+ *
94
+ * {reason or category} ({n}):
95
+ * - {tool}
96
+ * - {tool}
97
+ * …
98
+ *
99
+ * {next bucket} ({n}):
100
+ * - {tool}
101
+ * …
102
+ *
103
+ * {enabled} tools advertised via tools/list.
104
+ *
105
+ * Two-space indent on the bucket header, four-space indent on the bullets.
106
+ *
107
+ * v2 (multi-connection): grow a connection header per per-connection
108
+ * section and an optional `Cross-connection deltas` section. See the
109
+ * handler's class JSDoc for the migration sketch.
110
+ */
111
+ function renderReport(report) {
112
+ const total = report.enabledCount + report.disabledCount;
113
+ if (report.disabledCount === 0) {
114
+ return `All ${total} registered tools are advertised via tools/list.`;
115
+ }
116
+ const headingTail = report.groupBy === "reason"
117
+ ? "for the following reasons"
118
+ : "across the following categories";
119
+ // Each group's render contains its own header line + indented bullets;
120
+ // joining with a blank line separates groups visually so long bullet
121
+ // lists from one group don't bleed into the next.
122
+ return [
123
+ `${report.disabledCount} of ${total} tools disabled ${headingTail}:`,
124
+ "",
125
+ report.disabledGroups.map(renderGroup).join("\n\n"),
126
+ "",
127
+ `${report.enabledCount} tools advertised via tools/list.`,
128
+ ].join("\n");
129
+ }
130
+ function renderGroup(group) {
131
+ const header = ` ${disabledToolGroupKey(group)} (${group.tools.length}):`;
132
+ const bullets = group.tools.map((tool) => ` - ${tool}`);
133
+ return [header, ...bullets].join("\n");
134
+ }
135
+ //# sourceMappingURL=explain-disabled-tools-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain-disabled-tools-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { CallToolResult } from "../../../../confluent/schema.js";
2
+ import { BaseToolHandler, ToolCategory, ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
+ import { ServerRuntime } from "../../../../server-runtime.js";
4
+ export declare class GetProductDocPageHandler extends BaseToolHandler {
5
+ private readonly turndown;
6
+ handle(_runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
7
+ private fetchFromDocsConfluent;
8
+ private fetchFromDeveloperConfluent;
9
+ private fetchFromSupportZendesk;
10
+ private fetchFromGatsbyPageData;
11
+ private fetchHtml;
12
+ private toMarkdown;
13
+ private formatResponse;
14
+ getToolConfig(): ToolConfig;
15
+ readonly category = ToolCategory.Docs;
16
+ readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
17
+ }
18
+ //# sourceMappingURL=get-product-doc-page-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-product-doc-page-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/docs/get-product-doc-page-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,UAAU,EACX,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA2BvD,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAItB;IAEG,MAAM,CACV,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;YA8BZ,sBAAsB;YA4BtB,2BAA2B;YA2D3B,uBAAuB;YAyCvB,uBAAuB;YAgCvB,SAAS;IAqBvB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,cAAc;IAWtB,aAAa,IAAI,UAAU;IAU3B,QAAQ,CAAC,QAAQ,qBAAqB;IACtC,QAAQ,CAAC,SAAS,8EAAiB;CACpC"}
@@ -0,0 +1,235 @@
1
+ import { nodeFetch } from "../../../../confluent/node-deps.js";
2
+ import { BaseToolHandler, READ_ONLY, ToolCategory, } from "../../../../confluent/tools/base-tools.js";
3
+ import { alwaysEnabled } from "../../../../confluent/tools/connection-predicates.js";
4
+ import { ToolName } from "../../../../confluent/tools/tool-name.js";
5
+ import { logger } from "../../../../logger.js";
6
+ import * as cheerio from "cheerio";
7
+ import TurndownService from "turndown";
8
+ import { z } from "zod";
9
+ const ALLOWED_HOSTS = new Set([
10
+ "docs.confluent.io",
11
+ "developer.confluent.io",
12
+ "support.confluent.io",
13
+ ]);
14
+ const USER_AGENT = "mcp-confluent/get-product-doc-page";
15
+ const REQUEST_TIMEOUT_MS = 10_000;
16
+ const getProductDocPageArguments = z.object({
17
+ url: z
18
+ .url()
19
+ .describe("Absolute URL of a page under https://docs.confluent.io/, https://developer.confluent.io/, or https://support.confluent.io/. Prefer URLs returned by search-product-docs."),
20
+ });
21
+ export class GetProductDocPageHandler extends BaseToolHandler {
22
+ turndown = new TurndownService({
23
+ headingStyle: "atx",
24
+ codeBlockStyle: "fenced",
25
+ bulletListMarker: "-",
26
+ });
27
+ async handle(_runtime, toolArguments) {
28
+ const { url } = getProductDocPageArguments.parse(toolArguments);
29
+ const parsed = new URL(url);
30
+ if (parsed.protocol !== "https:" ||
31
+ !ALLOWED_HOSTS.has(parsed.hostname)) {
32
+ return this.createResponse(`Hostname '${parsed.hostname}' is not allowed. Only docs.confluent.io, developer.confluent.io, and support.confluent.io are supported.`, true);
33
+ }
34
+ try {
35
+ switch (parsed.hostname) {
36
+ case "docs.confluent.io":
37
+ return await this.fetchFromDocsConfluent(parsed);
38
+ case "developer.confluent.io":
39
+ return await this.fetchFromDeveloperConfluent(parsed);
40
+ case "support.confluent.io":
41
+ return await this.fetchFromSupportZendesk(parsed);
42
+ }
43
+ }
44
+ catch (error) {
45
+ const message = error instanceof Error ? error.message : String(error);
46
+ logger.warn({ url, error: message }, "get-product-doc-page fetch failed");
47
+ return this.createResponse(`Failed to fetch ${url}: ${message}`, true);
48
+ }
49
+ }
50
+ // Sphinx publishes a .md twin at the same path; HTML scrape is the fallback.
51
+ async fetchFromDocsConfluent(parsed) {
52
+ const mdResponse = await fetchWithTimeout(toMarkdownTwin(parsed), {
53
+ headers: { "user-agent": USER_AGENT, accept: "text/markdown,text/plain" },
54
+ });
55
+ if (mdResponse.ok &&
56
+ (mdResponse.headers.get("content-type") ?? "")
57
+ .toLowerCase()
58
+ .includes("markdown")) {
59
+ const body = (await mdResponse.text()).trim();
60
+ return this.formatResponse(parsed, undefined, body);
61
+ }
62
+ // 404s on docs.confluent.io soft-redirect to /index.html; reject path
63
+ // changes so we don't return the homepage as if it were the requested page.
64
+ const html = await this.fetchHtml(parsed, { rejectRedirect: true });
65
+ const $ = cheerio.load(html);
66
+ const main = $("div.rst-content").first();
67
+ const target = main.length > 0 ? main : $("body");
68
+ return this.formatResponse(parsed, undefined, this.toMarkdown(target.html()));
69
+ }
70
+ // Gatsby site has hashed CSS classes; key off stable data-swiftype-* attributes.
71
+ async fetchFromDeveloperConfluent(parsed) {
72
+ const html = await this.fetchHtml(parsed);
73
+ const $ = cheerio.load(html);
74
+ // <section data-test-id="section"> wraps both content and footer chrome
75
+ // (Cloud promo, newsletter). Real content is 3KB+ text; chrome is < 1KB.
76
+ $('section[data-test-id="section"]').each((_, el) => {
77
+ if ($(el).text().trim().length < 1500)
78
+ $(el).remove();
79
+ });
80
+ const title = $('[data-swiftype-name="title"]').first().text().trim();
81
+ let bodyHtml = null;
82
+ const swiftypeBody = $('[data-swiftype-name="body"]').first();
83
+ if (swiftypeBody.length > 0) {
84
+ swiftypeBody.find('[data-swiftype-index="false"]').remove();
85
+ bodyHtml = swiftypeBody.html();
86
+ }
87
+ else {
88
+ const fromPageData = await this.fetchFromGatsbyPageData(parsed);
89
+ if (fromPageData)
90
+ return fromPageData;
91
+ // Quickstart pages have no Swiftype body — content lives in <section> blocks.
92
+ const sections = $('section[data-test-id="section"]');
93
+ if (sections.length > 0) {
94
+ sections.find('[data-swiftype-index="false"]').remove();
95
+ bodyHtml = sections
96
+ .map((_, el) => $.html(el))
97
+ .get()
98
+ .join("\n");
99
+ }
100
+ else {
101
+ // Tutorial pages (/confluent-tutorials/...) have neither marker —
102
+ // strip <body> chrome and keep the rest.
103
+ const body = $("body");
104
+ body
105
+ .find('header, footer, nav, script, style, noscript, [data-swiftype-index="false"]')
106
+ .remove();
107
+ const stripped = body.html()?.trim();
108
+ if (stripped)
109
+ bodyHtml = stripped;
110
+ }
111
+ }
112
+ if (!bodyHtml) {
113
+ return this.createResponse(`Could not locate article body for ${parsed.toString()}. The page structure may have changed.`, true);
114
+ }
115
+ return this.formatResponse(parsed, title || undefined, this.toMarkdown(bodyHtml));
116
+ }
117
+ // Zendesk Help Center: prefer the public JSON API for clean body; HTML scrape is the fallback.
118
+ async fetchFromSupportZendesk(parsed) {
119
+ const articleId = parsed.pathname.match(/\/articles\/(\d+)/)?.[1];
120
+ if (articleId) {
121
+ const apiResponse = await fetchWithTimeout(`https://support.confluent.io/api/v2/help_center/articles/${articleId}.json`, {
122
+ headers: { "user-agent": USER_AGENT, accept: "application/json" },
123
+ });
124
+ if (apiResponse.ok) {
125
+ const { article } = (await apiResponse.json());
126
+ if (article?.body) {
127
+ return this.formatResponse(parsed, article.title, this.toMarkdown(article.body));
128
+ }
129
+ }
130
+ }
131
+ const html = await this.fetchHtml(parsed);
132
+ const $ = cheerio.load(html);
133
+ const article = $("article#main-content").first();
134
+ if (article.length === 0) {
135
+ return this.createResponse(`Could not locate article body for ${parsed.toString()}. ` +
136
+ `This URL may be a Help Center index or category page; only article URLs (containing "/articles/<id>") are supported.`, true);
137
+ }
138
+ return this.formatResponse(parsed, undefined, this.toMarkdown(article.html()));
139
+ }
140
+ // CSR pages (e.g. /get-started/<lang>/) expose their real content as JSON
141
+ // at /page-data/<path>/page-data.json instead of in the SSR HTML.
142
+ async fetchFromGatsbyPageData(parsed) {
143
+ const pageDataUrl = `${parsed.origin}/page-data${parsed.pathname.replace(/\/?$/, "/")}page-data.json`;
144
+ const resp = await fetchWithTimeout(pageDataUrl, {
145
+ headers: { "user-agent": USER_AGENT, accept: "application/json" },
146
+ });
147
+ if (!resp.ok)
148
+ return null;
149
+ let data;
150
+ try {
151
+ data = (await resp.json());
152
+ }
153
+ catch {
154
+ return null;
155
+ }
156
+ const ctx = data?.result?.pageContext;
157
+ const cm = ctx?.contentMappings;
158
+ if (!cm || typeof cm !== "object")
159
+ return null;
160
+ // If the URL has a fragment (e.g. #produce-events), return only that section.
161
+ const sections = parsed.hash && cm[parsed.hash] ? [cm[parsed.hash]] : Object.values(cm);
162
+ const html = sections.join("\n");
163
+ if (!html)
164
+ return null;
165
+ const title = ctx?.hero?.title ?? ctx?.seo?.title;
166
+ return this.formatResponse(parsed, title || undefined, this.toMarkdown(html));
167
+ }
168
+ async fetchHtml(parsed, opts) {
169
+ const response = await fetchWithTimeout(parsed.toString(), {
170
+ headers: { "user-agent": USER_AGENT },
171
+ });
172
+ if (!response.ok) {
173
+ throw new Error(`${response.status} ${response.statusText}`);
174
+ }
175
+ if (opts?.rejectRedirect) {
176
+ const finalPath = new URL(response.url || parsed.toString()).pathname;
177
+ if (finalPath !== parsed.pathname) {
178
+ throw new Error(`${parsed.toString()} redirected to ${finalPath}; page may have been moved or removed.`);
179
+ }
180
+ }
181
+ return response.text();
182
+ }
183
+ toMarkdown(html) {
184
+ return this.turndown.turndown(html ?? "").trim();
185
+ }
186
+ formatResponse(parsed, title, body) {
187
+ const heading = title ? `# ${title}\n\n` : "";
188
+ return this.createResponse(`# Source: ${parsed.toString()}\n\n${heading}${body}`);
189
+ }
190
+ getToolConfig() {
191
+ return {
192
+ name: ToolName.GET_PRODUCT_DOC_PAGE,
193
+ description: "Fetch the full markdown content of a Confluent product documentation page. Accepts URLs under https://docs.confluent.io/, https://developer.confluent.io/, or https://support.confluent.io/. Use this after search-product-docs to read a result's full content.",
194
+ inputSchema: getProductDocPageArguments.shape,
195
+ annotations: READ_ONLY,
196
+ };
197
+ }
198
+ category = ToolCategory.Docs;
199
+ predicate = alwaysEnabled;
200
+ }
201
+ function toMarkdownTwin(parsed) {
202
+ const twin = new URL(parsed.toString());
203
+ if (twin.pathname.endsWith(".html")) {
204
+ twin.pathname = twin.pathname.slice(0, -".html".length) + ".md";
205
+ }
206
+ else if (twin.pathname.endsWith("/")) {
207
+ twin.pathname += "index.md";
208
+ }
209
+ else {
210
+ twin.pathname += ".md";
211
+ }
212
+ return twin.toString();
213
+ }
214
+ // Adds a 10s deadline and re-checks the post-redirect host so a 3xx
215
+ // can't escape ALLOWED_HOSTS. Relabels TimeoutError with URL and budget.
216
+ async function fetchWithTimeout(url, init) {
217
+ try {
218
+ const response = await nodeFetch.fetch(url, {
219
+ ...init,
220
+ signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS),
221
+ });
222
+ const finalHost = new URL(response.url || url).hostname;
223
+ if (!ALLOWED_HOSTS.has(finalHost)) {
224
+ throw new Error(`Request to ${url} redirected to disallowed host ${finalHost}`);
225
+ }
226
+ return response;
227
+ }
228
+ catch (err) {
229
+ if (err instanceof Error && err.name === "TimeoutError") {
230
+ throw new Error(`Request to ${url} timed out after ${REQUEST_TIMEOUT_MS}ms`);
231
+ }
232
+ throw err;
233
+ }
234
+ }
235
+ //# sourceMappingURL=get-product-doc-page-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-product-doc-page-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/docs/get-product-doc-page-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { CallToolResult } from "../../../../confluent/schema.js";
2
+ import { BaseToolHandler, ToolCategory, ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
+ import { ServerRuntime } from "../../../../server-runtime.js";
4
+ export declare class SearchProductDocsHandler extends BaseToolHandler {
5
+ handle(_runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
6
+ private searchSwiftype;
7
+ private searchDeveloperProxy;
8
+ /** Zendesk Help Center public search API — no auth, support hits only. */
9
+ private searchSupportZendesk;
10
+ getToolConfig(): ToolConfig;
11
+ readonly category = ToolCategory.Docs;
12
+ readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
13
+ }
14
+ //# sourceMappingURL=search-product-docs-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-product-docs-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/docs/search-product-docs-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,UAAU,EACX,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAwDvD,qBAAa,wBAAyB,SAAQ,eAAe;IACrD,MAAM,CACV,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;YAkDZ,cAAc;YAgCd,oBAAoB;IA4ClC,0EAA0E;YAC5D,oBAAoB;IA6BlC,aAAa,IAAI,UAAU;IAU3B,QAAQ,CAAC,QAAQ,qBAAqB;IAEtC,QAAQ,CAAC,SAAS,8EAAiB;CACpC"}