@confluentinc/mcp-confluent 1.2.1 → 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 +174 -791
  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 -94
  37. package/dist/confluent/client-manager.d.ts.map +1 -1
  38. package/dist/confluent/client-manager.js +5 -242
  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 +108 -34
  109. package/dist/confluent/tools/base-tools.d.ts.map +1 -1
  110. package/dist/confluent/tools/base-tools.js +73 -10
  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 +7 -19
  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 +7 -19
  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 +7 -19
  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 +7 -19
  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 +7 -23
  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 +7 -19
  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 +11 -22
  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 +23 -33
  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 +12 -26
  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 +17 -28
  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 +12 -26
  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 +7 -19
  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 +7 -19
  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 +17 -31
  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 +17 -31
  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 +14 -28
  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 +14 -30
  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 +14 -38
  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 +20 -32
  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 +9 -24
  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 +9 -23
  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 +11 -25
  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 +13 -29
  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 +9 -23
  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 +11 -25
  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 +9 -23
  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 +22 -29
  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 +25 -17
  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 +52 -15
  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 +26 -8
  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 +21 -28
  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 +25 -10
  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 +54 -34
  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 +6 -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 +88 -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 +13 -18
  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 +13 -7
  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 +7 -19
  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 +7 -19
  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 +16 -22
  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 +8 -24
  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 +9 -25
  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 +8 -24
  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 +7 -21
  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 +20 -32
  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 +16 -22
  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 +8 -24
  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 +9 -25
  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 +8 -24
  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 +7 -21
  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 -2
  375. package/dist/env-schema.d.ts.map +1 -1
  376. package/dist/env-schema.js +20 -5
  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 -162
  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,16 +1,9 @@
1
- import { getEnsuredParam } from "../../../../confluent/helpers.js";
2
- import { BaseToolHandler, } from "../../../../confluent/tools/base-tools.js";
1
+ import { READ_ONLY } from "../../../../confluent/tools/base-tools.js";
2
+ import { FlinkToolHandler } from "../../../../confluent/tools/handlers/flink/flink-tool-handler.js";
3
3
  import { ToolName } from "../../../../confluent/tools/tool-name.js";
4
- import env from "../../../../env.js";
5
4
  import { wrapAsPathBasedClient } from "openapi-fetch";
6
5
  import { z } from "zod";
7
6
  const readFlinkStatementArguments = z.object({
8
- baseUrl: z
9
- .string()
10
- .describe("The base URL of the Flink REST API.")
11
- .url()
12
- .default(() => env.FLINK_REST_ENDPOINT ?? "")
13
- .optional(),
14
7
  organizationId: z
15
8
  .string()
16
9
  .trim()
@@ -33,14 +26,12 @@ const readFlinkStatementArguments = z.object({
33
26
  .default(60000)
34
27
  .describe("The function implements pagination. It will continue to fetch results using the next page token until either there are no more results or the timeout is reached. Tables backed by kafka topics can be thought of as never-ending streams as data could be continuously produced in near real-time. Therefore, if you wish to sample values from a stream, you may want to set a timeout. If you are reading a statement after creating it, you may need to retry a couple times to ensure that the statement is ready and receiving data."),
35
28
  });
36
- export class ReadFlinkStatementHandler extends BaseToolHandler {
37
- async handle(clientManager, toolArguments) {
38
- const { timeoutInMilliseconds, statementName, environmentId, organizationId, baseUrl, } = readFlinkStatementArguments.parse(toolArguments);
39
- const organization_id = getEnsuredParam("FLINK_ORG_ID", "Organization ID is required", organizationId);
40
- const environment_id = getEnsuredParam("FLINK_ENV_ID", "Environment ID is required", environmentId);
41
- if (baseUrl !== undefined && baseUrl !== "") {
42
- clientManager.setConfluentCloudFlinkEndpoint(baseUrl);
43
- }
29
+ export class ReadFlinkStatementHandler extends FlinkToolHandler {
30
+ async handle(runtime, toolArguments) {
31
+ const clientManager = runtime.clientManager;
32
+ const { timeoutInMilliseconds, statementName, environmentId, organizationId, } = readFlinkStatementArguments.parse(toolArguments);
33
+ const flink = this.getFlinkDirectConfig(runtime.config);
34
+ const { organization_id, environment_id } = this.resolveOrgAndEnvIds(flink, organizationId, environmentId);
44
35
  const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudFlinkRestClient());
45
36
  let allResults = [];
46
37
  let nextToken = undefined;
@@ -77,13 +68,8 @@ export class ReadFlinkStatementHandler extends BaseToolHandler {
77
68
  name: ToolName.READ_FLINK_STATEMENT,
78
69
  description: "Make a request to read a statement and its results",
79
70
  inputSchema: readFlinkStatementArguments.shape,
71
+ annotations: READ_ONLY,
80
72
  };
81
73
  }
82
- getRequiredEnvVars() {
83
- return ["FLINK_API_KEY", "FLINK_API_SECRET"];
84
- }
85
- isConfluentCloudOnly() {
86
- return true;
87
- }
88
74
  }
89
75
  //# sourceMappingURL=read-flink-statement-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-flink-statement-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/flink/read-flink-statement-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-flink-statement-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/flink/read-flink-statement-handler.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { ClientManager } from "../../../../confluent/client-manager.js";
2
1
  import { CallToolResult } from "../../../../confluent/schema.js";
3
2
  import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
4
- import { EnvVar } from "../../../../env-schema.js";
3
+ import { ServerRuntime } from "../../../../server-runtime.js";
5
4
  /**
6
5
  * Handler for altering Kafka topic configurations through Confluent Cloud REST API.
7
6
  * This implementation serves as a workaround since the native Kafka
@@ -9,9 +8,8 @@ import { EnvVar } from "../../../../env-schema.js";
9
8
  * Instead, we utilize Confluent's REST API endpoints to achieve this functionality.
10
9
  */
11
10
  export declare class AlterTopicConfigHandler extends BaseToolHandler {
12
- handle(clientManager: ClientManager, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
11
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
13
12
  getToolConfig(): ToolConfig;
14
- getRequiredEnvVars(): EnvVar[];
15
- isConfluentCloudOnly(): boolean;
13
+ readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
16
14
  }
17
15
  //# sourceMappingURL=alter-topic-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alter-topic-config.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/alter-topic-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA6B5C;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IACpD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAsC1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
1
+ {"version":3,"file":"alter-topic-config.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/alter-topic-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA8BvD;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IACpD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAgC1B,aAAa,IAAI,UAAU;IAQ3B,QAAQ,CAAC,SAAS,8EAA4B;CAC/C"}
@@ -1,20 +1,10 @@
1
- import { getEnsuredParam } from "../../../../confluent/helpers.js";
2
- import { BaseToolHandler, } from "../../../../confluent/tools/base-tools.js";
1
+ import { BaseToolHandler, CREATE_UPDATE, } from "../../../../confluent/tools/base-tools.js";
2
+ import { resolveKafkaRestArgs } from "../../../../confluent/tools/cluster-arg-resolvers.js";
3
+ import { kafkaRestWithAuthOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
3
4
  import { ToolName } from "../../../../confluent/tools/tool-name.js";
4
- import env from "../../../../env.js";
5
5
  import { wrapAsPathBasedClient } from "openapi-fetch";
6
6
  import { z } from "zod";
7
7
  const alterTopicConfigArguments = z.object({
8
- baseUrl: z
9
- .string()
10
- .describe("The base URL of the Confluent Cloud Kafka REST API.")
11
- .url()
12
- .default(() => env.KAFKA_REST_ENDPOINT ?? "")
13
- .optional(),
14
- clusterId: z
15
- .string()
16
- .optional()
17
- .describe("The unique identifier for the Kafka cluster."),
18
8
  topicName: z.string().describe("Name of the topic to alter").nonempty(),
19
9
  topicConfigs: z
20
10
  .array(z.object({
@@ -24,6 +14,14 @@ const alterTopicConfigArguments = z.object({
24
14
  }))
25
15
  .nonempty(),
26
16
  validateOnly: z.boolean().default(false),
17
+ clusterId: z
18
+ .string()
19
+ .optional()
20
+ .describe("Confluent Cloud logical Kafka cluster ID (lkc-...). Discover via list-clusters."),
21
+ environmentId: z
22
+ .string()
23
+ .optional()
24
+ .describe("Confluent Cloud environment ID (env-...) that owns the cluster. Discover via list-environments."),
27
25
  });
28
26
  /**
29
27
  * Handler for altering Kafka topic configurations through Confluent Cloud REST API.
@@ -32,17 +30,16 @@ const alterTopicConfigArguments = z.object({
32
30
  * Instead, we utilize Confluent's REST API endpoints to achieve this functionality.
33
31
  */
34
32
  export class AlterTopicConfigHandler extends BaseToolHandler {
35
- async handle(clientManager, toolArguments) {
36
- const { clusterId, topicName, topicConfigs, validateOnly, baseUrl } = alterTopicConfigArguments.parse(toolArguments);
37
- const kafka_cluster_id = getEnsuredParam("KAFKA_CLUSTER_ID", "Kafka Cluster ID is required", clusterId);
38
- if (baseUrl !== undefined && baseUrl !== "") {
39
- clientManager.setConfluentCloudKafkaRestEndpoint(baseUrl);
40
- }
41
- const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudKafkaRestClient());
42
- const { data: response, error } = await pathBasedClient[`/kafka/v3/clusters/${kafka_cluster_id}/topics/${topicName}/configs:alter`].POST({
33
+ async handle(runtime, toolArguments) {
34
+ const parsed = alterTopicConfigArguments.parse(toolArguments);
35
+ const { connId, clientManager } = this.resolveSoleConnection(runtime);
36
+ const { clusterId, envId } = resolveKafkaRestArgs(parsed, runtime, connId);
37
+ const restClient = await clientManager.getConfluentCloudKafkaRestClient(clusterId, envId);
38
+ const pathBasedClient = wrapAsPathBasedClient(restClient);
39
+ const { data: response, error } = await pathBasedClient[`/kafka/v3/clusters/${clusterId}/topics/${parsed.topicName}/configs:alter`].POST({
43
40
  body: {
44
- data: topicConfigs,
45
- validate_only: validateOnly,
41
+ data: parsed.topicConfigs,
42
+ validate_only: parsed.validateOnly,
46
43
  },
47
44
  });
48
45
  if (error) {
@@ -55,13 +52,9 @@ export class AlterTopicConfigHandler extends BaseToolHandler {
55
52
  name: ToolName.ALTER_TOPIC_CONFIG,
56
53
  description: "Alter topic configuration in Confluent Cloud.",
57
54
  inputSchema: alterTopicConfigArguments.shape,
55
+ annotations: CREATE_UPDATE,
58
56
  };
59
57
  }
60
- getRequiredEnvVars() {
61
- return ["KAFKA_API_KEY", "KAFKA_API_SECRET", "BOOTSTRAP_SERVERS"];
62
- }
63
- isConfluentCloudOnly() {
64
- return true;
65
- }
58
+ predicate = kafkaRestWithAuthOrOAuth;
66
59
  }
67
60
  //# sourceMappingURL=alter-topic-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alter-topic-config.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/alter-topic-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alter-topic-config.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/alter-topic-config.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { KafkaMessage } from "@confluentinc/kafka-javascript/types/kafkajs.js";
2
2
  import { SchemaRegistryClient } from "@confluentinc/schemaregistry";
3
- import { ClientManager } from "../../../../confluent/client-manager.js";
4
3
  import { CallToolResult } from "../../../../confluent/schema.js";
5
4
  import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
6
- import { EnvVar } from "../../../../env-schema.js";
5
+ import { ServerRuntime } from "../../../../server-runtime.js";
7
6
  import { z } from "zod";
8
7
  declare const valueOptions: z.ZodObject<{
9
8
  useSchemaRegistry: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
@@ -27,6 +26,8 @@ export declare const consumeKafkaMessagesArgs: z.ZodObject<{
27
26
  useSchemaRegistry: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
28
27
  subject: z.ZodOptional<z.ZodString>;
29
28
  }, z.core.$strip>>;
29
+ cluster_id: z.ZodOptional<z.ZodString>;
30
+ environment_id: z.ZodOptional<z.ZodString>;
30
31
  }, z.core.$strip>;
31
32
  interface ProcessedMessage {
32
33
  key: unknown;
@@ -61,9 +62,9 @@ export declare class ConsumeKafkaMessagesHandler extends BaseToolHandler {
61
62
  * @param sessionId - Optional session ID for Kafka consumer
62
63
  * @returns A CallToolResult containing the consumed messages or error information
63
64
  */
64
- handle(clientManager: ClientManager, toolArguments: z.infer<typeof consumeKafkaMessagesArgs>, sessionId?: string): Promise<CallToolResult>;
65
+ handle(runtime: ServerRuntime, toolArguments: z.infer<typeof consumeKafkaMessagesArgs>, sessionId?: string): Promise<CallToolResult>;
65
66
  getToolConfig(): ToolConfig;
66
- getRequiredEnvVars(): EnvVar[];
67
+ readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
67
68
  }
68
69
  export {};
69
70
  //# sourceMappingURL=consume-kafka-messages-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consume-kafka-messages-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/consume-kafka-messages-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAa,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAKjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,QAAA,MAAM,YAAY;;;iBAA4C,CAAC;AAC/D,QAAA,MAAM,UAAU;;;iBAA4C,CAAC;AAE7D,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACjD,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE7C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;iBAuBnC,CAAC;AAEH,UAAU,gBAAgB;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,eAAe;IAC9D;;;;;;;;;OASG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,oBAAoB,GAAG,SAAS,EAC1C,YAAY,EAAE,YAAY,EAC1B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,gBAAgB,CAAC;IAmE5B;;;;;;OAMG;IACG,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EACvD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC;IA8E1B,aAAa,IAAI,UAAU;IAS3B,kBAAkB,IAAI,MAAM,EAAE;CAG/B"}
1
+ {"version":3,"file":"consume-kafka-messages-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/consume-kafka-messages-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAa,MAAM,8BAA8B,CAAC;AAK/E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,QAAA,MAAM,YAAY;;;iBAA4C,CAAC;AAC/D,QAAA,MAAM,UAAU;;;iBAA4C,CAAC;AAE7D,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACjD,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE7C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;iBAmCnC,CAAC;AAEH,UAAU,gBAAgB;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,eAAe;IAC9D;;;;;;;;;OASG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,oBAAoB,GAAG,SAAS,EAC1C,YAAY,EAAE,YAAY,EAC1B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,gBAAgB,CAAC;IAmE5B;;;;;;OAMG;IACG,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EACvD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC;IAmF1B,aAAa,IAAI,UAAU;IAU3B,QAAQ,CAAC,SAAS,8EAAyB;CAC5C"}
@@ -1,7 +1,8 @@
1
- import { KafkaJS } from "@confluentinc/kafka-javascript";
2
1
  import { SerdeType } from "@confluentinc/schemaregistry";
3
2
  import { deserializeMessage, getLatestSchemaIfExists, } from "../../../../confluent/schema-registry-helper.js";
4
- import { BaseToolHandler, } from "../../../../confluent/tools/base-tools.js";
3
+ import { BaseToolHandler, READ_ONLY, } from "../../../../confluent/tools/base-tools.js";
4
+ import { formatKafkaError, resolveKafkaClusterArgs, } from "../../../../confluent/tools/cluster-arg-resolvers.js";
5
+ import { kafkaBootstrapOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
5
6
  import { ToolName } from "../../../../confluent/tools/tool-name.js";
6
7
  import { logger } from "../../../../logger.js";
7
8
  import { z } from "zod";
@@ -39,6 +40,14 @@ export const consumeKafkaMessagesArgs = z.object({
39
40
  .describe("Maximum time in milliseconds to wait for messages before stopping."),
40
41
  value: valueOptions,
41
42
  key: keyOptions.optional(),
43
+ cluster_id: z
44
+ .string()
45
+ .optional()
46
+ .describe("Confluent Cloud logical Kafka cluster ID (lkc-...). Discover via list-clusters."),
47
+ environment_id: z
48
+ .string()
49
+ .optional()
50
+ .describe("Confluent Cloud environment ID (env-...) that owns the cluster. Discover via list-environments."),
42
51
  });
43
52
  /**
44
53
  * Handler for consuming messages from Kafka topics with support for Schema Registry deserialization.
@@ -103,16 +112,21 @@ export class ConsumeKafkaMessagesHandler extends BaseToolHandler {
103
112
  * @param sessionId - Optional session ID for Kafka consumer
104
113
  * @returns A CallToolResult containing the consumed messages or error information
105
114
  */
106
- async handle(clientManager, toolArguments, sessionId) {
107
- const { topicNames, maxMessages, timeoutMs, value, key } = consumeKafkaMessagesArgs.parse(toolArguments);
115
+ async handle(runtime, toolArguments, sessionId) {
116
+ const parsed = consumeKafkaMessagesArgs.parse(toolArguments);
117
+ const { topicNames, maxMessages, timeoutMs, value, key } = parsed;
118
+ const { connId, clientManager } = this.resolveSoleConnection(runtime);
119
+ const resolved = resolveKafkaClusterArgs(parsed, runtime, connId);
120
+ const needsRegistry = (value && value.useSchemaRegistry) || (key && key.useSchemaRegistry);
121
+ let registry;
122
+ if (needsRegistry) {
123
+ registry = await clientManager.getSchemaRegistrySdkClient(resolved.envId);
124
+ }
108
125
  const consumedMessages = [];
109
126
  let timeoutReached = false;
110
127
  let consumer;
111
- const registry = value.useSchemaRegistry || (key && key.useSchemaRegistry)
112
- ? clientManager.getSchemaRegistryClient()
113
- : undefined;
114
128
  try {
115
- consumer = await clientManager.getConsumer(sessionId);
129
+ consumer = await clientManager.buildKafkaConsumer(resolved.clusterId, resolved.envId, sessionId);
116
130
  await consumer.connect();
117
131
  await consumer.subscribe({ topics: topicNames });
118
132
  const consumePromise = new Promise((resolve, reject) => {
@@ -145,12 +159,7 @@ export class ConsumeKafkaMessagesHandler extends BaseToolHandler {
145
159
  return this.createResponse(`Consumed ${consumedMessages.length} messages from topics ${topicNames.join(", ")}.\nConsumed messages: ${JSON.stringify(consumedMessages, null, 2)}`, false);
146
160
  }
147
161
  catch (error) {
148
- const errorMessage = error instanceof Error
149
- ? error.message
150
- : error instanceof KafkaJS.KafkaJSError
151
- ? `Kafka error (${error.code}): ${error.message}`
152
- : String(error);
153
- return this.createResponse(`Failed to consume messages: ${errorMessage}`, true);
162
+ return this.createResponse(`Failed to consume messages: ${formatKafkaError(error)}`, true);
154
163
  }
155
164
  finally {
156
165
  if (consumer) {
@@ -168,10 +177,9 @@ export class ConsumeKafkaMessagesHandler extends BaseToolHandler {
168
177
  name: ToolName.CONSUME_MESSAGES,
169
178
  description: "Consumes messages from one or more Kafka topics. Supports automatic deserialization of Schema Registry encoded messages (AVRO, JSON, PROTOBUF).",
170
179
  inputSchema: consumeKafkaMessagesArgs.shape,
180
+ annotations: READ_ONLY,
171
181
  };
172
182
  }
173
- getRequiredEnvVars() {
174
- return ["BOOTSTRAP_SERVERS"];
175
- }
183
+ predicate = kafkaBootstrapOrOAuth;
176
184
  }
177
185
  //# sourceMappingURL=consume-kafka-messages-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consume-kafka-messages-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/consume-kafka-messages-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAwB,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EACL,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,eAAe,GAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,iBAAiB,EAAE,CAAC;SACjB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,iGAAiG,CAClG;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,4EAA4E,CAC7E;CACJ,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/D,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAK7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,4CAA4C,CAAC;IACzD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,wDAAwD,CAAC;IACrE,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,oEAAoE,CACrE;IACH,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAYH;;;;GAIG;AACH,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAClB,KAAa,EACb,SAAiB,EACjB,OAAqB,EACrB,QAA0C,EAC1C,YAA0B,EAC1B,UAAuB;QAEvB,IAAI,YAAY,GAAY,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;QACpD,IAAI,cAAc,GAAY,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;QAExD,MAAM,sBAAsB,GAAG,KAAK,EAClC,MAA0B,EAC1B,OAAkC,EAClC,SAAoB,EACF,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5C,OAAO,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC5B,CAAC;YACD,MAAM,OAAO,GACX,OAAO,CAAC,OAAO;gBACf,GAAG,KAAK,IAAI,SAAS,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAClC,OAAO,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,MAAM,kBAAkB,CAC7B,KAAK,EACL,MAAgB,EAChB,MAAM,CAAC,UAAU,EACjB,QAAQ,EACR,SAAS,CACV,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,EAC/D,+BAA+B,SAAS,cAAc,KAAK,EAAE,CAC9D,CAAC;gBACF,OAAO,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QAEF,cAAc,GAAG,MAAM,sBAAsB,CAC3C,OAAO,CAAC,KAAe,EACvB,YAAY,EACZ,SAAS,CAAC,KAAK,CAChB,CAAC;QACF,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,YAAY,GAAG,MAAM,sBAAsB,CACzC,OAAO,CAAC,GAAa,EACrB,UAAU,EACV,SAAS,CAAC,GAAG,CACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,cAAc;YACrB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACtB,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;oBACpD,GAAG;oBACH,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;iBACxB,CAAC,CACH;gBACH,CAAC,CAAC,SAAS;YACb,KAAK;YACL,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,aAA4B,EAC5B,aAAuD,EACvD,SAAkB;QAElB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GACtD,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEhD,MAAM,gBAAgB,GAAuB,EAAE,CAAC;QAChD,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,QAAsC,CAAC;QAC3C,MAAM,QAAQ,GACZ,KAAK,CAAC,iBAAiB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC;YACvD,CAAC,CAAC,aAAa,CAAC,uBAAuB,EAAE;YACzC,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAEjD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;oBACzD,OAAO;gBACT,CAAC;gBACD,QAAQ;qBACL,GAAG,CAAC;oBACH,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;wBACnD,IAAI,cAAc;4BAAE,OAAO;wBAC3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,KAAK,EACL,SAAS,EACT,OAAO,EACP,QAAQ,EACR,KAAK,EACL,GAAG,CACJ,CAAC;wBACF,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACjC,IAAI,gBAAgB,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;4BAC3C,cAAc,GAAG,IAAI,CAAC;4BACtB,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC;iBACF,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACL,UAAU,CAAC,GAAG,EAAE;oBACd,cAAc,GAAG,IAAI,CAAC;oBACtB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,SAAS,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,MAAM,cAAc,CAAC;YAErB,OAAO,IAAI,CAAC,cAAc,CACxB,YAAY,gBAAgB,CAAC,MAAM,yBAAyB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EACrJ,KAAK,CACN,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,KAAK,YAAY,OAAO,CAAC,YAAY;oBACrC,CAAC,CAAC,gBAAgB,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE;oBACjD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC,cAAc,CACxB,+BAA+B,YAAY,EAAE,EAC7C,IAAI,CACL,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,4BAA4B,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,gBAAgB;YAC/B,WAAW,EACT,iJAAiJ;YACnJ,WAAW,EAAE,wBAAwB,CAAC,KAAK;SAC5C,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"consume-kafka-messages-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/consume-kafka-messages-handler.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { ClientManager } from "../../../../confluent/client-manager.js";
2
1
  import { CallToolResult } from "../../../../confluent/schema.js";
3
2
  import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
4
- import { EnvVar } from "../../../../env-schema.js";
3
+ import { ServerRuntime } from "../../../../server-runtime.js";
5
4
  export declare class CreateTopicsHandler extends BaseToolHandler {
6
- handle(clientManager: ClientManager, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
5
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
7
6
  getToolConfig(): ToolConfig;
8
- getRequiredEnvVars(): EnvVar[];
7
+ readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
9
8
  }
10
9
  //# sourceMappingURL=create-topics-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-topics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/create-topics-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAQ5C,qBAAa,mBAAoB,SAAQ,eAAe;IAChD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAgB1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;CAG/B"}
1
+ {"version":3,"file":"create-topics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/create-topics-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAiCvD,qBAAa,mBAAoB,SAAQ,eAAe;IAChD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAsC1B,aAAa,IAAI,UAAU;IAU3B,QAAQ,CAAC,SAAS,8EAAyB;CAC5C"}
@@ -1,31 +1,68 @@
1
- import { BaseToolHandler, } from "../../../../confluent/tools/base-tools.js";
1
+ import { BaseToolHandler, CREATE_UPDATE, } from "../../../../confluent/tools/base-tools.js";
2
+ import { disposeIfOAuth, formatKafkaError, resolveKafkaClusterArgs, } from "../../../../confluent/tools/cluster-arg-resolvers.js";
3
+ import { kafkaBootstrapOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
2
4
  import { ToolName } from "../../../../confluent/tools/tool-name.js";
3
5
  import { z } from "zod";
4
6
  const createTopicArgs = z.object({
5
- topicNames: z
6
- .array(z.string().describe("Names of kafka topics to create"))
7
+ topics: z
8
+ .array(z.object({
9
+ topic: z.string().describe("Name of the Kafka topic to create"),
10
+ numPartitions: z
11
+ .number()
12
+ .int()
13
+ .positive()
14
+ .optional()
15
+ .describe("Number of partitions for the topic. If not specified, the broker default is used."),
16
+ }))
7
17
  .nonempty(),
18
+ cluster_id: z
19
+ .string()
20
+ .optional()
21
+ .describe("Confluent Cloud logical Kafka cluster ID (lkc-...). Discover via list-clusters."),
22
+ environment_id: z
23
+ .string()
24
+ .optional()
25
+ .describe("Confluent Cloud environment ID (env-...) that owns the cluster. Discover via list-environments."),
8
26
  });
9
27
  export class CreateTopicsHandler extends BaseToolHandler {
10
- async handle(clientManager, toolArguments) {
11
- const { topicNames } = createTopicArgs.parse(toolArguments);
12
- const success = await (await clientManager.getAdminClient()).createTopics({
13
- topics: topicNames.map((name) => ({ topic: name })),
14
- });
15
- if (!success) {
16
- return this.createResponse(`Failed to create Kafka topics: ${topicNames.join(",")}`, true);
28
+ async handle(runtime, toolArguments) {
29
+ const parsed = createTopicArgs.parse(toolArguments);
30
+ const { connId, clientManager } = this.resolveSoleConnection(runtime);
31
+ const resolved = resolveKafkaClusterArgs(parsed, runtime, connId);
32
+ const admin = await clientManager.getKafkaAdminClient(resolved.clusterId, resolved.envId);
33
+ const topicNames = parsed.topics.map((t) => t.topic).join(",");
34
+ try {
35
+ let success;
36
+ try {
37
+ // 30s timeout — the broker confirms topic creation within this window.
38
+ success = await admin.createTopics({
39
+ timeout: 30_000,
40
+ topics: parsed.topics.map(({ topic, numPartitions }) => ({
41
+ topic,
42
+ numPartitions,
43
+ })),
44
+ });
45
+ }
46
+ catch (err) {
47
+ return this.createResponse(`Failed to create Kafka topics (${topicNames}): ${formatKafkaError(err)}`, true);
48
+ }
49
+ if (!success) {
50
+ return this.createResponse(`Failed to create Kafka topics: ${topicNames}`, true);
51
+ }
52
+ return this.createResponse(`Created Kafka topics: ${topicNames}`);
53
+ }
54
+ finally {
55
+ await disposeIfOAuth(runtime, connId, admin);
17
56
  }
18
- return this.createResponse(`Created Kafka topics: ${topicNames.join(",")}`);
19
57
  }
20
58
  getToolConfig() {
21
59
  return {
22
60
  name: ToolName.CREATE_TOPICS,
23
- description: "Create one or more Kafka topics.",
61
+ description: "Create one or more Kafka topics with an optional partition count.",
24
62
  inputSchema: createTopicArgs.shape,
63
+ annotations: CREATE_UPDATE,
25
64
  };
26
65
  }
27
- getRequiredEnvVars() {
28
- return ["BOOTSTRAP_SERVERS"];
29
- }
66
+ predicate = kafkaBootstrapOrOAuth;
30
67
  }
31
68
  //# sourceMappingURL=create-topics-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-topics-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/create-topics-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,GAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;SAC7D,QAAQ,EAAE;CACd,CAAC,CAAC;AACH,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,KAAK,CAAC,MAAM,CACV,aAA4B,EAC5B,aAAsC;QAEtC,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,CACpB,MAAM,aAAa,CAAC,cAAc,EAAE,CACrC,CAAC,YAAY,CAAC;YACb,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,cAAc,CACxB,kCAAkC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EACxD,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,yBAAyB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,aAAa;YAC5B,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE,eAAe,CAAC,KAAK;SACnC,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"create-topics-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/create-topics-handler.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { ClientManager } from "../../../../confluent/client-manager.js";
2
1
  import { CallToolResult } from "../../../../confluent/schema.js";
3
2
  import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
4
- import { EnvVar } from "../../../../env-schema.js";
3
+ import { ServerRuntime } from "../../../../server-runtime.js";
5
4
  export declare class DeleteTopicsHandler extends BaseToolHandler {
6
- handle(clientManager: ClientManager, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
5
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
7
6
  getToolConfig(): ToolConfig;
8
- getRequiredEnvVars(): EnvVar[];
7
+ readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
9
8
  }
10
9
  //# sourceMappingURL=delete-topics-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete-topics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/delete-topics-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAQ5C,qBAAa,mBAAoB,SAAQ,eAAe;IAChD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAQ1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;CAG/B"}
1
+ {"version":3,"file":"delete-topics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/delete-topics-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAO5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAqBvD,qBAAa,mBAAoB,SAAQ,eAAe;IAChD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAmB1B,aAAa,IAAI,UAAU;IAS3B,QAAQ,CAAC,SAAS,8EAAyB;CAC5C"}
@@ -1,26 +1,44 @@
1
- import { BaseToolHandler, } from "../../../../confluent/tools/base-tools.js";
1
+ import { BaseToolHandler, DESTRUCTIVE, } from "../../../../confluent/tools/base-tools.js";
2
+ import { disposeIfOAuth, resolveKafkaClusterArgs, } from "../../../../confluent/tools/cluster-arg-resolvers.js";
3
+ import { kafkaBootstrapOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
2
4
  import { ToolName } from "../../../../confluent/tools/tool-name.js";
3
5
  import { z } from "zod";
4
6
  const deleteKafkaTopicsArguments = z.object({
5
7
  topicNames: z
6
8
  .array(z.string().describe("Names of kafka topics to delete"))
7
9
  .nonempty(),
10
+ cluster_id: z
11
+ .string()
12
+ .optional()
13
+ .describe("Confluent Cloud logical Kafka cluster ID (lkc-...). Discover via list-clusters."),
14
+ environment_id: z
15
+ .string()
16
+ .optional()
17
+ .describe("Confluent Cloud environment ID (env-...) that owns the cluster. Discover via list-environments."),
8
18
  });
9
19
  export class DeleteTopicsHandler extends BaseToolHandler {
10
- async handle(clientManager, toolArguments) {
11
- const { topicNames } = deleteKafkaTopicsArguments.parse(toolArguments);
12
- await (await clientManager.getAdminClient()).deleteTopics({ topics: topicNames });
13
- return this.createResponse(`Deleted Kafka topics: ${topicNames.join(",")}`);
20
+ async handle(runtime, toolArguments) {
21
+ const parsed = deleteKafkaTopicsArguments.parse(toolArguments);
22
+ const { connId, clientManager } = this.resolveSoleConnection(runtime);
23
+ const resolved = resolveKafkaClusterArgs(parsed, runtime, connId);
24
+ const admin = await clientManager.getKafkaAdminClient(resolved.clusterId, resolved.envId);
25
+ try {
26
+ // 30s broker-side timeout. See create-topics-handler for rationale.
27
+ await admin.deleteTopics({ timeout: 30_000, topics: parsed.topicNames });
28
+ return this.createResponse(`Deleted Kafka topics: ${parsed.topicNames.join(",")}`);
29
+ }
30
+ finally {
31
+ await disposeIfOAuth(runtime, connId, admin);
32
+ }
14
33
  }
15
34
  getToolConfig() {
16
35
  return {
17
36
  name: ToolName.DELETE_TOPICS,
18
37
  description: "Delete the topic with the given names.",
19
38
  inputSchema: deleteKafkaTopicsArguments.shape,
39
+ annotations: DESTRUCTIVE,
20
40
  };
21
41
  }
22
- getRequiredEnvVars() {
23
- return ["BOOTSTRAP_SERVERS"];
24
- }
42
+ predicate = kafkaBootstrapOrOAuth;
25
43
  }
26
44
  //# sourceMappingURL=delete-topics-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete-topics-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/delete-topics-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,GAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;SAC7D,QAAQ,EAAE;CACd,CAAC,CAAC;AACH,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,KAAK,CAAC,MAAM,CACV,aAA4B,EAC5B,aAAsC;QAEtC,MAAM,EAAE,UAAU,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvE,MAAM,CACJ,MAAM,aAAa,CAAC,cAAc,EAAE,CACrC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,cAAc,CAAC,yBAAyB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,aAAa;YAC5B,WAAW,EAAE,wCAAwC;YACrD,WAAW,EAAE,0BAA0B,CAAC,KAAK;SAC9C,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"delete-topics-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/delete-topics-handler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,WAAW,GAEZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,uBAAuB,GACxB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;SAC7D,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iFAAiF,CAClF;IACH,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iGAAiG,CAClG;CACJ,CAAC,CAAC;AAEH,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,KAAK,CAAC,MAAM,CACV,OAAsB,EACtB,aAAsC;QAEtC,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,mBAAmB,CACnD,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,KAAK,CACf,CAAC;QACF,IAAI,CAAC;YACH,oEAAoE;YACpE,MAAM,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,cAAc,CACxB,yBAAyB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACvD,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,aAAa;YAC5B,WAAW,EAAE,wCAAwC;YACrD,WAAW,EAAE,0BAA0B,CAAC,KAAK;YAC7C,WAAW,EAAE,WAAW;SACzB,CAAC;IACJ,CAAC;IAEQ,SAAS,GAAG,qBAAqB,CAAC;CAC5C"}
@@ -1,16 +1,14 @@
1
- import { ClientManager } from "../../../../confluent/client-manager.js";
2
1
  import { CallToolResult } from "../../../../confluent/schema.js";
3
2
  import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
4
- import { EnvVar } from "../../../../env-schema.js";
3
+ import { ServerRuntime } from "../../../../server-runtime.js";
5
4
  /**
6
5
  * Handler for retrieving Kafka topic configurations through Confluent Cloud REST API.
7
6
  * This implementation uses Confluent's REST API endpoints to fetch topic configuration
8
7
  * details that aren't directly accessible through the native Kafka admin client API.
9
8
  */
10
9
  export declare class GetTopicConfigHandler extends BaseToolHandler {
11
- handle(clientManager: ClientManager, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
10
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
12
11
  getToolConfig(): ToolConfig;
13
- getRequiredEnvVars(): EnvVar[];
14
- isConfluentCloudOnly(): boolean;
12
+ readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
15
13
  }
16
14
  //# sourceMappingURL=get-topic-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-topic-config.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/get-topic-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAsB5C;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IAClD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAsD1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
1
+ {"version":3,"file":"get-topic-config.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/get-topic-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAuBvD;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IAClD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAgD1B,aAAa,IAAI,UAAU;IAQ3B,QAAQ,CAAC,SAAS,8EAA4B;CAC/C"}