@confluentinc/mcp-confluent 1.2.2 → 1.3.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 (428) hide show
  1. package/README.md +171 -193
  2. package/assets/oauth-templates/callback-failure.html +22 -0
  3. package/assets/oauth-templates/callback-success.html +19 -0
  4. package/assets/oauth-templates/logo.html +91 -0
  5. package/assets/oauth-templates/styles.html +49 -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 +473 -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 +396 -0
  25. package/dist/config/models.d.ts.map +1 -0
  26. package/dist/config/models.js +401 -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 +100 -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 +146 -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 +32 -39
  53. package/dist/confluent/node-deps.d.ts.map +1 -1
  54. package/dist/confluent/node-deps.js +42 -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 +5 -0
  65. package/dist/confluent/oauth/callback-pages.d.ts.map +1 -0
  66. package/dist/confluent/oauth/callback-pages.js +38 -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 +26 -0
  81. package/dist/confluent/oauth/pkce-login.d.ts.map +1 -0
  82. package/dist/confluent/oauth/pkce-login.js +161 -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/telemetry.d.ts +32 -1
  105. package/dist/confluent/telemetry.d.ts.map +1 -1
  106. package/dist/confluent/telemetry.js +31 -8
  107. package/dist/confluent/telemetry.js.map +1 -1
  108. package/dist/confluent/tools/base-tools.d.ts +98 -23
  109. package/dist/confluent/tools/base-tools.d.ts.map +1 -1
  110. package/dist/confluent/tools/base-tools.js +62 -4
  111. package/dist/confluent/tools/base-tools.js.map +1 -1
  112. package/dist/confluent/tools/cluster-arg-resolvers.d.ts +75 -0
  113. package/dist/confluent/tools/cluster-arg-resolvers.d.ts.map +1 -0
  114. package/dist/confluent/tools/cluster-arg-resolvers.js +127 -0
  115. package/dist/confluent/tools/cluster-arg-resolvers.js.map +1 -0
  116. package/dist/confluent/tools/connection-predicates.d.ts +168 -0
  117. package/dist/confluent/tools/connection-predicates.d.ts.map +1 -0
  118. package/dist/confluent/tools/connection-predicates.js +273 -0
  119. package/dist/confluent/tools/connection-predicates.js.map +1 -0
  120. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts +3 -5
  121. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts.map +1 -1
  122. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js +4 -8
  123. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js.map +1 -1
  124. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +4 -5
  125. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts.map +1 -1
  126. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js +4 -8
  127. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js.map +1 -1
  128. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts +4 -5
  129. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
  130. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +4 -8
  131. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
  132. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +4 -5
  133. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
  134. package/dist/confluent/tools/handlers/catalog/delete-tag.js +4 -8
  135. package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
  136. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +4 -5
  137. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
  138. package/dist/confluent/tools/handlers/catalog/list-tags.js +4 -8
  139. package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
  140. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +4 -5
  141. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts.map +1 -1
  142. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js +4 -8
  143. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js.map +1 -1
  144. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts +3 -5
  145. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
  146. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +9 -12
  147. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
  148. package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts +21 -0
  149. package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts.map +1 -0
  150. package/dist/confluent/tools/handlers/connect/connect-tool-handler.js +22 -0
  151. package/dist/confluent/tools/handlers/connect/connect-tool-handler.js.map +1 -0
  152. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts +11 -7
  153. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
  154. package/dist/confluent/tools/handlers/connect/create-connector-handler.js +21 -21
  155. package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
  156. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts +6 -7
  157. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
  158. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +10 -15
  159. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
  160. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts +6 -7
  161. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
  162. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +15 -17
  163. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
  164. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts +6 -7
  165. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts.map +1 -1
  166. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js +10 -15
  167. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +1 -1
  168. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts +57 -0
  169. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts.map +1 -0
  170. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js +122 -0
  171. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js.map +1 -0
  172. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts +17 -0
  173. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts.map +1 -0
  174. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js +234 -0
  175. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js.map +1 -0
  176. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts +13 -0
  177. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts.map +1 -0
  178. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js +285 -0
  179. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js.map +1 -0
  180. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +3 -5
  181. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
  182. package/dist/confluent/tools/handlers/environments/list-environments-handler.js +4 -8
  183. package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
  184. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +3 -5
  185. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
  186. package/dist/confluent/tools/handlers/environments/read-environment-handler.js +4 -8
  187. package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
  188. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts +16 -9
  189. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts.map +1 -1
  190. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js +18 -12
  191. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js.map +1 -1
  192. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts +5 -7
  193. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts.map +1 -1
  194. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js +15 -21
  195. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js.map +1 -1
  196. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts +14 -0
  197. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts.map +1 -0
  198. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.js +15 -0
  199. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.js.map +1 -0
  200. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts +5 -7
  201. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts.map +1 -1
  202. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js +15 -21
  203. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js.map +1 -1
  204. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts +5 -7
  205. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts.map +1 -1
  206. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js +12 -20
  207. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js.map +1 -1
  208. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts +5 -7
  209. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts.map +1 -1
  210. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js +12 -20
  211. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js.map +1 -1
  212. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts +5 -7
  213. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts.map +1 -1
  214. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js +13 -29
  215. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js.map +1 -1
  216. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts +5 -7
  217. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts.map +1 -1
  218. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js +18 -23
  219. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js.map +1 -1
  220. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts +5 -7
  221. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -1
  222. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +7 -13
  223. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
  224. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts +5 -7
  225. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts.map +1 -1
  226. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js +7 -13
  227. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js.map +1 -1
  228. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts +5 -7
  229. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts.map +1 -1
  230. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js +8 -15
  231. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js.map +1 -1
  232. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts +2 -2
  233. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts.map +1 -1
  234. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.js.map +1 -1
  235. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts +7 -7
  236. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts.map +1 -1
  237. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js +11 -17
  238. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js.map +1 -1
  239. package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts +2 -2
  240. package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts.map +1 -1
  241. package/dist/confluent/tools/handlers/flink/flink-sql-helper.js.map +1 -1
  242. package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts +21 -0
  243. package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts.map +1 -0
  244. package/dist/confluent/tools/handlers/flink/flink-tool-handler.js +31 -0
  245. package/dist/confluent/tools/handlers/flink/flink-tool-handler.js.map +1 -0
  246. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts +5 -7
  247. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts.map +1 -1
  248. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js +7 -13
  249. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js.map +1 -1
  250. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts +5 -7
  251. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts.map +1 -1
  252. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js +9 -16
  253. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
  254. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts +5 -7
  255. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +1 -1
  256. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js +7 -13
  257. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +1 -1
  258. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +3 -5
  259. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
  260. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +20 -19
  261. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js.map +1 -1
  262. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts +5 -4
  263. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -1
  264. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +23 -16
  265. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -1
  266. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +3 -4
  267. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
  268. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +50 -14
  269. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
  270. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +3 -4
  271. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
  272. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +24 -7
  273. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
  274. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +3 -5
  275. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -1
  276. package/dist/confluent/tools/handlers/kafka/get-topic-config.js +20 -19
  277. package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -1
  278. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +3 -4
  279. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
  280. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +23 -9
  281. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
  282. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +3 -4
  283. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts.map +1 -1
  284. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js +51 -32
  285. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
  286. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts +4 -5
  287. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts.map +1 -1
  288. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js +4 -8
  289. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js.map +1 -1
  290. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts +22 -5
  291. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts.map +1 -1
  292. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js +86 -52
  293. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js.map +1 -1
  294. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts +49 -0
  295. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts.map +1 -0
  296. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js +115 -0
  297. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js.map +1 -0
  298. package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts +3 -4
  299. package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts.map +1 -1
  300. package/dist/confluent/tools/handlers/schema/delete-schema-handler.js +11 -7
  301. package/dist/confluent/tools/handlers/schema/delete-schema-handler.js.map +1 -1
  302. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +3 -4
  303. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
  304. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +11 -6
  305. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js.map +1 -1
  306. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts +4 -5
  307. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts.map +1 -1
  308. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js +4 -8
  309. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js.map +1 -1
  310. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts +4 -5
  311. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts.map +1 -1
  312. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js +4 -8
  313. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
  314. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts +5 -7
  315. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts.map +1 -1
  316. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js +17 -13
  317. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js.map +1 -1
  318. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts +5 -7
  319. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts.map +1 -1
  320. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js +6 -12
  321. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js.map +1 -1
  322. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts +5 -7
  323. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts.map +1 -1
  324. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js +7 -13
  325. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js.map +1 -1
  326. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts +5 -7
  327. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts.map +1 -1
  328. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js +6 -12
  329. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js.map +1 -1
  330. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts +5 -7
  331. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts.map +1 -1
  332. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js +5 -9
  333. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js.map +1 -1
  334. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts +5 -7
  335. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts.map +1 -1
  336. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js +19 -21
  337. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js.map +1 -1
  338. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts +25 -0
  339. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts.map +1 -0
  340. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js +27 -0
  341. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js.map +1 -0
  342. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts +5 -7
  343. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts.map +1 -1
  344. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js +17 -13
  345. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js.map +1 -1
  346. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts +5 -7
  347. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts.map +1 -1
  348. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js +6 -12
  349. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js.map +1 -1
  350. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts +5 -7
  351. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts.map +1 -1
  352. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js +7 -13
  353. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js.map +1 -1
  354. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts +5 -7
  355. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts.map +1 -1
  356. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js +6 -12
  357. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js.map +1 -1
  358. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts +5 -7
  359. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts.map +1 -1
  360. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js +5 -9
  361. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -1
  362. package/dist/confluent/tools/tool-availability.d.ts +74 -0
  363. package/dist/confluent/tools/tool-availability.d.ts.map +1 -0
  364. package/dist/confluent/tools/tool-availability.js +121 -0
  365. package/dist/confluent/tools/tool-availability.js.map +1 -0
  366. package/dist/confluent/tools/tool-name.d.ts +5 -1
  367. package/dist/confluent/tools/tool-name.d.ts.map +1 -1
  368. package/dist/confluent/tools/tool-name.js +4 -0
  369. package/dist/confluent/tools/tool-name.js.map +1 -1
  370. package/dist/confluent/tools/tool-registry.d.ts +18 -0
  371. package/dist/confluent/tools/tool-registry.d.ts.map +1 -0
  372. package/dist/confluent/tools/{tool-factory.js → tool-registry.js} +32 -19
  373. package/dist/confluent/tools/tool-registry.js.map +1 -0
  374. package/dist/env-schema.d.ts +5 -7
  375. package/dist/env-schema.d.ts.map +1 -1
  376. package/dist/env-schema.js +20 -39
  377. package/dist/env-schema.js.map +1 -1
  378. package/dist/env.d.ts +16 -7
  379. package/dist/env.d.ts.map +1 -1
  380. package/dist/env.js +16 -6
  381. package/dist/env.js.map +1 -1
  382. package/dist/index.d.ts +74 -1
  383. package/dist/index.d.ts.map +1 -1
  384. package/dist/index.js +279 -166
  385. package/dist/index.js.map +1 -1
  386. package/dist/logger.d.ts.map +1 -1
  387. package/dist/logger.js +21 -20
  388. package/dist/logger.js.map +1 -1
  389. package/dist/mcp/server.d.ts +29 -0
  390. package/dist/mcp/server.d.ts.map +1 -0
  391. package/dist/mcp/server.js +52 -0
  392. package/dist/mcp/server.js.map +1 -0
  393. package/dist/mcp/transports/auth.d.ts +20 -4
  394. package/dist/mcp/transports/auth.d.ts.map +1 -1
  395. package/dist/mcp/transports/auth.js +27 -7
  396. package/dist/mcp/transports/auth.js.map +1 -1
  397. package/dist/mcp/transports/http.d.ts +8 -2
  398. package/dist/mcp/transports/http.d.ts.map +1 -1
  399. package/dist/mcp/transports/http.js +57 -42
  400. package/dist/mcp/transports/http.js.map +1 -1
  401. package/dist/mcp/transports/manager.d.ts +23 -9
  402. package/dist/mcp/transports/manager.d.ts.map +1 -1
  403. package/dist/mcp/transports/manager.js +27 -24
  404. package/dist/mcp/transports/manager.js.map +1 -1
  405. package/dist/mcp/transports/server.d.ts +1 -1
  406. package/dist/mcp/transports/server.d.ts.map +1 -1
  407. package/dist/mcp/transports/server.js +17 -5
  408. package/dist/mcp/transports/server.js.map +1 -1
  409. package/dist/mcp/transports/session-registry.d.ts +33 -0
  410. package/dist/mcp/transports/session-registry.d.ts.map +1 -0
  411. package/dist/mcp/transports/session-registry.js +65 -0
  412. package/dist/mcp/transports/session-registry.js.map +1 -0
  413. package/dist/mcp/transports/sse.d.ts +13 -2
  414. package/dist/mcp/transports/sse.d.ts.map +1 -1
  415. package/dist/mcp/transports/sse.js +58 -46
  416. package/dist/mcp/transports/sse.js.map +1 -1
  417. package/dist/server-runtime.d.ts +28 -0
  418. package/dist/server-runtime.d.ts.map +1 -0
  419. package/dist/server-runtime.js +73 -0
  420. package/dist/server-runtime.js.map +1 -0
  421. package/package.json +25 -9
  422. package/dist/confluent/helpers.d.ts +0 -11
  423. package/dist/confluent/helpers.d.ts.map +0 -1
  424. package/dist/confluent/helpers.js +0 -17
  425. package/dist/confluent/helpers.js.map +0 -1
  426. package/dist/confluent/tools/tool-factory.d.ts +0 -9
  427. package/dist/confluent/tools/tool-factory.d.ts.map +0 -1
  428. package/dist/confluent/tools/tool-factory.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/confluent/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/confluent/telemetry.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import type { ToolAnnotations } from "@modelcontextprotocol/sdk/types.js";
2
- import { ClientManager } from "../../confluent/client-manager.js";
2
+ import type { ConnectionConfig } from "../../config/models.js";
3
+ import type { BaseClientManager } from "../../confluent/base-client-manager.js";
3
4
  import { CallToolResult } from "../../confluent/schema.js";
5
+ import { ConnectionPredicate, PredicateResult } from "../../confluent/tools/connection-predicates.js";
4
6
  import { ToolName } from "../../confluent/tools/tool-name.js";
5
- import { EnvVar } from "../../env-schema.js";
7
+ import { ServerRuntime } from "../../server-runtime.js";
6
8
  import { ZodRawShape } from "zod";
7
9
  /**
8
10
  * Standard MCP tool annotations.
@@ -12,23 +14,34 @@ export declare const READ_ONLY: ToolAnnotations;
12
14
  export declare const CREATE_UPDATE: ToolAnnotations;
13
15
  export declare const DESTRUCTIVE: ToolAnnotations;
14
16
  export interface ToolHandler {
15
- handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined, sessionId?: string): Promise<CallToolResult> | CallToolResult;
17
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown> | undefined, sessionId?: string): Promise<CallToolResult> | CallToolResult;
16
18
  getToolConfig(): ToolConfig;
17
19
  /**
18
- * Returns an array of environment variables required for this tool to function.
19
- *
20
- * This method is used to conditionally enable/disable tools based on the availability
21
- * of required environment variables. Tools will be disabled if any of their required
22
- * environment variables are not set at process startup time.
20
+ * The connection predicate that gates this tool's enablement. Lifted onto
21
+ * the interface so the MCP tool-call wrapper can compare it against
22
+ * `alwaysEnabled` to skip the OAuth login gate for tools that don't touch
23
+ * the client manager (currently the doc-lookup tools). See
24
+ * {@linkcode BaseToolHandler.predicate} for the rules around setting it.
25
+ */
26
+ readonly predicate: ConnectionPredicate;
27
+ /**
28
+ * IDs of connections that satisfy this tool's service requirements. A
29
+ * non-empty result enables the tool; an empty result disables it. Always a
30
+ * subset of `runtime.config.connections` keys.
23
31
  *
24
- * @returns Array of environment variable names required by this tool
32
+ * Implementations that extend {@linkcode BaseToolHandler} (the standard
33
+ * path for every tool in this codebase) must not override this — declare
34
+ * a {@linkcode BaseToolHandler.predicate} property and let the base class
35
+ * derive the result.
25
36
  */
26
- getRequiredEnvVars(): readonly EnvVar[];
37
+ enabledConnectionIds(runtime: ServerRuntime): string[];
27
38
  /**
28
- * Returns true if this tool can only be used with Confluent Cloud REST APIs.
29
- * Override in subclasses for cloud-only tools.
39
+ * Per-connection verdict map for this tool: `{ enabled: true }` for
40
+ * connections that satisfy its requirements, `{ enabled: false; reason }`
41
+ * for those that don't. Powers startup-log grouping and the
42
+ * `describe-tool-availability` diagnostic tool.
30
43
  */
31
- isConfluentCloudOnly(): boolean;
44
+ connectionVerdicts(runtime: ServerRuntime): Map<string, PredicateResult>;
32
45
  }
33
46
  export interface ToolConfig {
34
47
  name: ToolName;
@@ -37,23 +50,85 @@ export interface ToolConfig {
37
50
  annotations: ToolAnnotations;
38
51
  }
39
52
  export declare abstract class BaseToolHandler implements ToolHandler {
40
- abstract handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined, sessionId?: string): Promise<CallToolResult> | CallToolResult;
53
+ abstract handle(runtime: ServerRuntime, toolArguments: Record<string, unknown> | undefined, sessionId?: string): Promise<CallToolResult> | CallToolResult;
41
54
  abstract getToolConfig(): ToolConfig;
42
55
  /**
43
- * Return an array of environment variable names required for the operation of this tool.
56
+ * The connection predicate that gates this tool. The single customization
57
+ * seam for tool enablement — declared as a one-line readonly property:
58
+ *
59
+ * readonly predicate = hasKafka; // base predicate
60
+ * readonly predicate = kafkaBootstrapOrOAuth; // named composite
61
+ * readonly predicate = alwaysEnabled; // no requirement
62
+ *
63
+ * **Must reference a named export from `connection-predicates.ts`.** Do
64
+ * not compose with `allOf(...)` or `widenForOAuth(...)` at the use site.
65
+ * If no existing named export expresses the gate you need, add one —
66
+ * with a per-predicate test in `connection-predicates.test.ts` matching
67
+ * the depth of the existing `hasKafka` / `flinkWithTelemetry` blocks —
68
+ * and reference that. Enforced mechanically: the `predicate property`
69
+ * block in `tool-registry.test.ts` maintains an explicit
70
+ * `Readonly<Record<ToolName, ConnectionPredicate>>` (`EXPECTED_PREDICATES`)
71
+ * pinning every tool to its expected predicate. The `Record` over
72
+ * `ToolName` makes exhaustiveness a compile-time check (a missing tool
73
+ * is a `tsc` error, not a runtime one), and the value type rejects
74
+ * combinators at compile time. The `it.each` over the record fails with
75
+ * the offending tool name in the row label whenever a handler's
76
+ * `predicate` drifts from the table. New tools or rewires are a one-line
77
+ * table edit.
78
+ *
79
+ * Both {@linkcode enabledConnectionIds} and {@linkcode connectionVerdicts}
80
+ * are derived from this property and are marked `@final`; never override
81
+ * either method. The retired iteration helpers `connectionIdsWhere` and
82
+ * `connectionReasonsWhere` are no longer exported — the base class walks
83
+ * `runtime.config.connections` for you.
84
+ */
85
+ abstract readonly predicate: ConnectionPredicate;
86
+ /**
87
+ * IDs of connections that satisfy this tool's {@linkcode predicate}. A
88
+ * non-empty result enables the tool; an empty result disables it.
44
89
  *
45
- * Preferable to return a constant array of EnvVars defined in src/env-schema.ts for easier determination
46
- * of which tools require which subset of env vars.
90
+ * Customize tool gating by declaring {@linkcode predicate}, never by
91
+ * replacing this derivation.
92
+ *
93
+ * @final — concrete on `BaseToolHandler`; subclasses must not override.
94
+ */
95
+ enabledConnectionIds(runtime: ServerRuntime): string[];
96
+ /**
97
+ * Per-connection verdict map for this tool, derived from
98
+ * {@linkcode predicate}. Powers grouped startup logging and
99
+ * the diagnostic-tool surface.
100
+ *
101
+ * Customize tool gating by declaring {@linkcode predicate}, never by
102
+ * replacing this derivation.
103
+ *
104
+ * @final — concrete on `BaseToolHandler`; subclasses must not override.
105
+ */
106
+ connectionVerdicts(runtime: ServerRuntime): Map<string, PredicateResult>;
107
+ /**
108
+ * Resolves the single connection enabled for this tool, returning the
109
+ * connection id, its config, and the matching client manager. Designed
110
+ * for handlers that look up `runtime.clientManagers[connId]` (multi-
111
+ * connection-ready shape).
47
112
  *
48
- * If any of the required environment variables are not set at process
49
- * startup time, the tool will be disabled and not returned by the tool loader.
113
+ * Selects `enabledConnectionIds(runtime)[0]` — current runtime is single-
114
+ * connection, so this is unambiguous; if multi-connection support lands
115
+ * later, handlers can switch to iterating ids.
50
116
  */
51
- abstract getRequiredEnvVars(): readonly EnvVar[];
117
+ protected resolveSoleConnection(runtime: ServerRuntime): {
118
+ connId: string;
119
+ conn: ConnectionConfig;
120
+ clientManager: BaseClientManager;
121
+ };
52
122
  /**
53
- * Default implementation returns false, indicating the tool is not Confluent Cloud only.
54
- * Override in subclasses for cloud-only tools.
123
+ * Resolves a required string from an explicit tool argument, falling back to
124
+ * a connection-config value. Throws if neither is present.
125
+ * `label` is the human-readable field name (e.g. `"Organization ID"`);
126
+ * the thrown message is `"${label} is required"`.
127
+ * The returned value is always trimmed.
55
128
  */
56
- isConfluentCloudOnly(): boolean;
129
+ protected resolveParam(argValue: string | undefined, configValue: string | undefined, label: string): string;
130
+ /** Like resolveParam but returns undefined instead of throwing when both are absent or blank. The returned value is always trimmed. */
131
+ protected resolveOptionalParam(argValue: string | undefined, configValue: string | undefined): string | undefined;
57
132
  createResponse(message: string, isError?: boolean, _meta?: Record<string, unknown>): CallToolResult;
58
133
  }
59
134
  //# sourceMappingURL=base-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-tools.d.ts","sourceRoot":"","sources":["../../../src/confluent/tools/base-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,eAEd,CAAC;AAEX,eAAO,MAAM,aAAa,EAAE,eAGlB,CAAC;AAEX,eAAO,MAAM,WAAW,EAAE,eAGhB,CAAC;AAEX,MAAM,WAAW,WAAW;IAC1B,MAAM,CACJ,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAClD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;IAE5C,aAAa,IAAI,UAAU,CAAC;IAE5B;;;;;;;;OAQG;IACH,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAAC;IAExC;;;OAGG;IACH,oBAAoB,IAAI,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,8BAAsB,eAAgB,YAAW,WAAW;IAC1D,QAAQ,CAAC,MAAM,CACb,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAClD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAE3C,QAAQ,CAAC,aAAa,IAAI,UAAU;IAEpC;;;;;;;;OAQG;IACH,QAAQ,CAAC,kBAAkB,IAAI,SAAS,MAAM,EAAE;IAEhD;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAI/B,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,EACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,cAAc;CAalB"}
1
+ {"version":3,"file":"base-tools.d.ts","sourceRoot":"","sources":["../../../src/confluent/tools/base-tools.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,69 @@ export const DESTRUCTIVE = {
15
15
  };
16
16
  export class BaseToolHandler {
17
17
  /**
18
- * Default implementation returns false, indicating the tool is not Confluent Cloud only.
19
- * Override in subclasses for cloud-only tools.
18
+ * IDs of connections that satisfy this tool's {@linkcode predicate}. A
19
+ * non-empty result enables the tool; an empty result disables it.
20
+ *
21
+ * Customize tool gating by declaring {@linkcode predicate}, never by
22
+ * replacing this derivation.
23
+ *
24
+ * @final — concrete on `BaseToolHandler`; subclasses must not override.
20
25
  */
21
- isConfluentCloudOnly() {
22
- return false;
26
+ enabledConnectionIds(runtime) {
27
+ return Object.entries(runtime.config.connections)
28
+ .filter(([, conn]) => this.predicate(conn).enabled)
29
+ .map(([id]) => id);
30
+ }
31
+ /**
32
+ * Per-connection verdict map for this tool, derived from
33
+ * {@linkcode predicate}. Powers grouped startup logging and
34
+ * the diagnostic-tool surface.
35
+ *
36
+ * Customize tool gating by declaring {@linkcode predicate}, never by
37
+ * replacing this derivation.
38
+ *
39
+ * @final — concrete on `BaseToolHandler`; subclasses must not override.
40
+ */
41
+ connectionVerdicts(runtime) {
42
+ return new Map(Object.entries(runtime.config.connections).map(([id, conn]) => [
43
+ id,
44
+ this.predicate(conn),
45
+ ]));
46
+ }
47
+ /**
48
+ * Resolves the single connection enabled for this tool, returning the
49
+ * connection id, its config, and the matching client manager. Designed
50
+ * for handlers that look up `runtime.clientManagers[connId]` (multi-
51
+ * connection-ready shape).
52
+ *
53
+ * Selects `enabledConnectionIds(runtime)[0]` — current runtime is single-
54
+ * connection, so this is unambiguous; if multi-connection support lands
55
+ * later, handlers can switch to iterating ids.
56
+ */
57
+ resolveSoleConnection(runtime) {
58
+ const connId = this.enabledConnectionIds(runtime)[0];
59
+ return {
60
+ connId,
61
+ conn: runtime.config.connections[connId],
62
+ clientManager: runtime.clientManagers[connId],
63
+ };
64
+ }
65
+ /**
66
+ * Resolves a required string from an explicit tool argument, falling back to
67
+ * a connection-config value. Throws if neither is present.
68
+ * `label` is the human-readable field name (e.g. `"Organization ID"`);
69
+ * the thrown message is `"${label} is required"`.
70
+ * The returned value is always trimmed.
71
+ */
72
+ resolveParam(argValue, configValue, label) {
73
+ const resolved = argValue?.trim() || configValue?.trim();
74
+ if (!resolved)
75
+ throw new Error(`${label} is required`);
76
+ return resolved;
77
+ }
78
+ /** Like resolveParam but returns undefined instead of throwing when both are absent or blank. The returned value is always trimmed. */
79
+ resolveOptionalParam(argValue, configValue) {
80
+ return argValue?.trim() || configValue?.trim() || undefined;
23
81
  }
24
82
  createResponse(message, isError = false, _meta) {
25
83
  const response = {
@@ -1 +1 @@
1
- {"version":3,"file":"base-tools.js","sourceRoot":"","sources":["../../../src/confluent/tools/base-tools.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,YAAY,EAAE,IAAI;CACV,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,eAAe,EAAE,KAAK;IACtB,YAAY,EAAE,KAAK;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAoB;IAC1C,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,KAAK;CACX,CAAC;AAoCX,MAAM,OAAgB,eAAe;IAoBnC;;;OAGG;IACH,oBAAoB;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CACZ,OAAe,EACf,UAAmB,KAAK,EACxB,KAA+B;QAE/B,MAAM,QAAQ,GAAmB;YAC/B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;iBACd;aACF;YACD,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,KAAK;SACb,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"base-tools.js","sourceRoot":"","sources":["../../../src/confluent/tools/base-tools.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,YAAY,EAAE,IAAI;CACV,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,eAAe,EAAE,KAAK;IACtB,YAAY,EAAE,KAAK;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAoB;IAC1C,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,KAAK;CACX,CAAC;AAgDX,MAAM,OAAgB,eAAe;IAyCnC;;;;;;;;OAQG;IACH,oBAAoB,CAAC,OAAsB;QACzC,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;aAC9C,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;aAClD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAAC,OAAsB;QACvC,OAAO,IAAI,GAAG,CACZ,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7D,EAAE;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SACrB,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACO,qBAAqB,CAAC,OAAsB;QAKpD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;QACtD,OAAO;YACL,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAE;YACzC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAE;SAC/C,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACO,YAAY,CACpB,QAA4B,EAC5B,WAA+B,EAC/B,KAAa;QAEb,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;QACvD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,uIAAuI;IAC7H,oBAAoB,CAC5B,QAA4B,EAC5B,WAA+B;QAE/B,OAAO,QAAQ,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAC9D,CAAC;IAED,cAAc,CACZ,OAAe,EACf,UAAmB,KAAK,EACxB,KAA+B;QAE/B,MAAM,QAAQ,GAAmB;YAC/B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;iBACd;aACF;YACD,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,KAAK;SACb,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Cluster-arg resolver for native Kafka handlers. Asymmetric by connection
3
+ * type:
4
+ *
5
+ * - Direct: returns `{ clusterId: undefined, envId: undefined }`. The
6
+ * `DirectClientManager` ignores cluster args and uses its eagerly-built
7
+ * single-instance client(s); the handler passes the undefineds through.
8
+ * - OAuth: requires the args; throws with a discovery hint if missing.
9
+ * Handlers catch the throw at entry and convert to a `CallToolResult`
10
+ * with `isError: true` so the agent receives a normal tool-call error
11
+ * rather than an RPC failure.
12
+ */
13
+ import { ServerRuntime } from "../../server-runtime.js";
14
+ export declare function resolveKafkaClusterArgs(args: {
15
+ cluster_id?: string;
16
+ environment_id?: string;
17
+ }, runtime: ServerRuntime, connId: string): {
18
+ clusterId: string | undefined;
19
+ envId: string | undefined;
20
+ };
21
+ /**
22
+ * REST-tool variant of {@link resolveKafkaClusterArgs}. The Kafka REST API
23
+ * places `cluster_id` directly in the URL path
24
+ * (e.g. `/kafka/v3/clusters/{id}/topics`), so the handler always needs a
25
+ * concrete cluster id — even on direct connections that omit the arg and
26
+ * rely on the configured fallback.
27
+ *
28
+ * Direct: `args.clusterId ?? conn.kafka?.cluster_id`; throws if neither.
29
+ * `envId` is unused (direct's `kafka.rest_endpoint` already targets the
30
+ * per-cluster hostname).
31
+ * OAuth: both `clusterId` and `environmentId` required. Argument names are
32
+ * camelCase to match the existing input-schema convention of these tools
33
+ * and `list-clusters`; the native-Kafka tools' snake_case `cluster_id` is
34
+ * a separate convention.
35
+ */
36
+ export declare function resolveKafkaRestArgs(args: {
37
+ clusterId?: string;
38
+ environmentId?: string;
39
+ }, runtime: ServerRuntime, connId: string): {
40
+ clusterId: string;
41
+ envId: string | undefined;
42
+ };
43
+ /**
44
+ * Env-only resolver for tools that scope a request to a single CCloud
45
+ * environment without a cluster identifier (e.g., `list-clusters`).
46
+ *
47
+ * Direct: arg wins; falls back to `conn.kafka?.env_id`; throws if neither
48
+ * source supplies a value.
49
+ * OAuth: arg required (no service block to fall back to); throws with a
50
+ * discovery hint pointing at `list-environments`.
51
+ *
52
+ * Argument name is camelCase (`environmentId`) to match the existing
53
+ * input-schema convention of cluster-management tools.
54
+ */
55
+ export declare function resolveEnvArg(args: {
56
+ environmentId?: string;
57
+ }, runtime: ServerRuntime, connId: string): string;
58
+ /**
59
+ * Disposes a Kafka client (admin or producer) iff the connection is OAuth-typed.
60
+ * On direct connections this is a no-op — direct's `AsyncLazy` admin/producer
61
+ * are manager-owned singletons and must not be disconnected by handlers. On
62
+ * OAuth, calls `client.disconnect()` and swallows + logs any error so disposal
63
+ * failure never masks the handler's own error.
64
+ */
65
+ export declare function disposeIfOAuth(runtime: ServerRuntime, connId: string, client: {
66
+ disconnect: () => Promise<void>;
67
+ }): Promise<void>;
68
+ /**
69
+ * Renders any error thrown from a Kafka admin/producer/consumer call into a
70
+ * single agent-readable string. Preserves per-topic-cause unwrapping for
71
+ * `KafkaJSAggregateError`, surfaces `KafkaJSError.code` when present, and
72
+ * falls back gracefully for unknown shapes.
73
+ */
74
+ export declare function formatKafkaError(err: unknown): string;
75
+ //# sourceMappingURL=cluster-arg-resolvers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster-arg-resolvers.d.ts","sourceRoot":"","sources":["../../../src/confluent/tools/cluster-arg-resolvers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,EACtD,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAe9D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACpD,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAqBlD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EAChC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,GACb,MAAM,CAaR;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAoBrD"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Cluster-arg resolver for native Kafka handlers. Asymmetric by connection
3
+ * type:
4
+ *
5
+ * - Direct: returns `{ clusterId: undefined, envId: undefined }`. The
6
+ * `DirectClientManager` ignores cluster args and uses its eagerly-built
7
+ * single-instance client(s); the handler passes the undefineds through.
8
+ * - OAuth: requires the args; throws with a discovery hint if missing.
9
+ * Handlers catch the throw at entry and convert to a `CallToolResult`
10
+ * with `isError: true` so the agent receives a normal tool-call error
11
+ * rather than an RPC failure.
12
+ */
13
+ import { KafkaJS } from "@confluentinc/kafka-javascript";
14
+ import { logger } from "../../logger.js";
15
+ export function resolveKafkaClusterArgs(args, runtime, connId) {
16
+ const conn = runtime.config.connections[connId];
17
+ if (conn.type === "direct") {
18
+ return { clusterId: undefined, envId: undefined };
19
+ }
20
+ if (args.cluster_id === undefined || args.environment_id === undefined) {
21
+ throw new Error("cluster_id and environment_id are required under OAuth connection type. " +
22
+ "Discover the environment via list-environments, then call list-clusters " +
23
+ "with environment_id and pass the cluster's `id` and `spec.environment.id`.");
24
+ }
25
+ return { clusterId: args.cluster_id, envId: args.environment_id };
26
+ }
27
+ /**
28
+ * REST-tool variant of {@link resolveKafkaClusterArgs}. The Kafka REST API
29
+ * places `cluster_id` directly in the URL path
30
+ * (e.g. `/kafka/v3/clusters/{id}/topics`), so the handler always needs a
31
+ * concrete cluster id — even on direct connections that omit the arg and
32
+ * rely on the configured fallback.
33
+ *
34
+ * Direct: `args.clusterId ?? conn.kafka?.cluster_id`; throws if neither.
35
+ * `envId` is unused (direct's `kafka.rest_endpoint` already targets the
36
+ * per-cluster hostname).
37
+ * OAuth: both `clusterId` and `environmentId` required. Argument names are
38
+ * camelCase to match the existing input-schema convention of these tools
39
+ * and `list-clusters`; the native-Kafka tools' snake_case `cluster_id` is
40
+ * a separate convention.
41
+ */
42
+ export function resolveKafkaRestArgs(args, runtime, connId) {
43
+ const conn = runtime.config.connections[connId];
44
+ if (conn.type === "direct") {
45
+ const clusterId = args.clusterId ?? conn.kafka?.cluster_id;
46
+ if (!clusterId) {
47
+ throw new Error("clusterId is required: pass it as a tool argument or set kafka.cluster_id in the connection config.");
48
+ }
49
+ return { clusterId, envId: undefined };
50
+ }
51
+ if (!args.clusterId || !args.environmentId) {
52
+ throw new Error("clusterId and environmentId are required under OAuth connection type. " +
53
+ "Discover the environment via list-environments, then call list-clusters " +
54
+ "with environmentId and pass the cluster's `id` and `spec.environment.id`.");
55
+ }
56
+ return { clusterId: args.clusterId, envId: args.environmentId };
57
+ }
58
+ /**
59
+ * Env-only resolver for tools that scope a request to a single CCloud
60
+ * environment without a cluster identifier (e.g., `list-clusters`).
61
+ *
62
+ * Direct: arg wins; falls back to `conn.kafka?.env_id`; throws if neither
63
+ * source supplies a value.
64
+ * OAuth: arg required (no service block to fall back to); throws with a
65
+ * discovery hint pointing at `list-environments`.
66
+ *
67
+ * Argument name is camelCase (`environmentId`) to match the existing
68
+ * input-schema convention of cluster-management tools.
69
+ */
70
+ export function resolveEnvArg(args, runtime, connId) {
71
+ const conn = runtime.config.connections[connId];
72
+ const fallback = conn.type === "direct" ? conn.kafka?.env_id : undefined;
73
+ const resolved = args.environmentId ?? fallback;
74
+ if (!resolved) {
75
+ throw new Error("environmentId is required: pass it as a tool argument or " +
76
+ (conn.type === "direct"
77
+ ? "set kafka.env_id in the connection config."
78
+ : "call list-environments to discover available environments."));
79
+ }
80
+ return resolved;
81
+ }
82
+ /**
83
+ * Disposes a Kafka client (admin or producer) iff the connection is OAuth-typed.
84
+ * On direct connections this is a no-op — direct's `AsyncLazy` admin/producer
85
+ * are manager-owned singletons and must not be disconnected by handlers. On
86
+ * OAuth, calls `client.disconnect()` and swallows + logs any error so disposal
87
+ * failure never masks the handler's own error.
88
+ */
89
+ export async function disposeIfOAuth(runtime, connId, client) {
90
+ if (runtime.config.connections[connId].type !== "oauth")
91
+ return;
92
+ try {
93
+ await client.disconnect();
94
+ }
95
+ catch (err) {
96
+ logger.warn({ err, connId }, "OAuth Kafka client disconnect failed");
97
+ }
98
+ }
99
+ /**
100
+ * Renders any error thrown from a Kafka admin/producer/consumer call into a
101
+ * single agent-readable string. Preserves per-topic-cause unwrapping for
102
+ * `KafkaJSAggregateError`, surfaces `KafkaJSError.code` when present, and
103
+ * falls back gracefully for unknown shapes.
104
+ */
105
+ export function formatKafkaError(err) {
106
+ if (err instanceof KafkaJS.KafkaJSAggregateError) {
107
+ const details = err.errors
108
+ .map((inner) => {
109
+ if (inner instanceof KafkaJS.KafkaJSCreateTopicError) {
110
+ return `- ${inner.topic}: ${inner.message}`;
111
+ }
112
+ if (inner instanceof KafkaJS.KafkaJSError) {
113
+ return `- ${inner.code ?? "unknown"}: ${inner.message}`;
114
+ }
115
+ return `- ${typeof inner === "string" ? inner : String(inner)}`;
116
+ })
117
+ .join("\n");
118
+ return `${err.message}\n${details}`;
119
+ }
120
+ if (err instanceof KafkaJS.KafkaJSError) {
121
+ return `Kafka error (${err.code ?? "unknown"}): ${err.message}`;
122
+ }
123
+ if (err instanceof Error)
124
+ return err.message;
125
+ return String(err);
126
+ }
127
+ //# sourceMappingURL=cluster-arg-resolvers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster-arg-resolvers.js","sourceRoot":"","sources":["../../../src/confluent/tools/cluster-arg-resolvers.ts"],"names":[],"mappings":"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"}