@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
@@ -0,0 +1,168 @@
1
+ import type { ConnectionConfig } from "../../config/models.js";
2
+ /**
3
+ * A connection predicate's verdict on whether a tool should be enabled for a
4
+ * given connection. Carries a {@linkcode ToolDisabledReason} when disabled so
5
+ * that downstream consumers (startup logging, diagnostic tooling) can group
6
+ * identical failures and render actionable messages to the user.
7
+ */
8
+ export type PredicateResult = {
9
+ readonly enabled: true;
10
+ } | {
11
+ readonly enabled: false;
12
+ readonly reason: ToolDisabledReason;
13
+ };
14
+ export type ConnectionPredicate = (conn: ConnectionConfig) => PredicateResult;
15
+ export declare const ENABLED: PredicateResult;
16
+ /**
17
+ * Block-level — required by any tool that needs Kafka access regardless of
18
+ * transport (native client or REST proxy).
19
+ */
20
+ export declare function hasKafka(conn: ConnectionConfig): PredicateResult;
21
+ /**
22
+ * Field-level — required by tools that drive the native Kafka
23
+ * admin/producer/consumer client (the broker address lives on
24
+ * `bootstrap_servers`).
25
+ */
26
+ export declare function hasKafkaBootstrap(conn: ConnectionConfig): PredicateResult;
27
+ /**
28
+ * Field-level — required by tools that perform authenticated Kafka calls.
29
+ */
30
+ export declare function hasKafkaAuth(conn: ConnectionConfig): PredicateResult;
31
+ /**
32
+ * Field-level — required by tools that talk to the Kafka REST proxy
33
+ * (`/kafka/v3` endpoints); needs both `rest_endpoint` and `auth` on the
34
+ * `kafka` block.
35
+ */
36
+ export declare function hasKafkaRestWithAuth(conn: ConnectionConfig): PredicateResult;
37
+ /**
38
+ * Block-level — required by tools that read or write through the Schema
39
+ * Registry.
40
+ */
41
+ export declare function hasSchemaRegistry(conn: ConnectionConfig): PredicateResult;
42
+ /**
43
+ * Block-level — verdict on whether the connection can reach the Confluent
44
+ * Cloud control-plane REST surface, accepting either flavor. Direct
45
+ * connections satisfy this when they carry a `confluent_cloud` block; OAuth
46
+ * connections satisfy it unconditionally (the cloud REST URL is derived from
47
+ * the Auth0 environment).
48
+ *
49
+ * Pair: {@linkcode hasConfluentCloud} for the direct-only verdict.
50
+ */
51
+ export declare const hasConfluentCloudOrOAuth: ConnectionPredicate;
52
+ /**
53
+ * Block-level — verdict that holds only for direct connections carrying a
54
+ * `confluent_cloud` block. Use this on handlers that are not yet OAuth-capable
55
+ * and call `getSoleDirectConnection()` inside `handle()`. Once a handler
56
+ * widens to OAuth, switch its predicate to
57
+ * {@linkcode hasConfluentCloudOrOAuth}.
58
+ */
59
+ export declare function hasConfluentCloud(conn: ConnectionConfig): PredicateResult;
60
+ /**
61
+ * Block-level — required by tools that drive Flink SQL or its catalog.
62
+ */
63
+ export declare function hasFlink(conn: ConnectionConfig): PredicateResult;
64
+ /**
65
+ * Block-level — required by tools that read metrics from the Telemetry API.
66
+ */
67
+ export declare function hasTelemetry(conn: ConnectionConfig): PredicateResult;
68
+ /**
69
+ * Block-level — required by tools that manage Tableflow topics or catalog
70
+ * entries.
71
+ */
72
+ export declare function hasTableflow(conn: ConnectionConfig): PredicateResult;
73
+ /**
74
+ * Field-level — verdict that holds when the `schema_registry` block is
75
+ * present and its `auth` field is `api_key`-typed. That combination is the
76
+ * reliable signal that the SR is CCloud-hosted and therefore exposes the
77
+ * `/catalog/v1/` endpoints. A vanilla CP SR has no auth, so it disables
78
+ * even when the `schema_registry` block itself is present.
79
+ */
80
+ export declare function hasCCloudCatalogSupport(conn: ConnectionConfig): PredicateResult;
81
+ /**
82
+ * Predicate that returns {@linkcode ENABLED} for every connection. Use as
83
+ * the {@linkcode BaseToolHandler.predicate} for tools with no service-block
84
+ * requirement (e.g., generic docs search).
85
+ */
86
+ export declare const alwaysEnabled: ConnectionPredicate;
87
+ /**
88
+ * Combine predicates with logical AND, short-circuiting on the first
89
+ * failure. Returns {@linkcode ENABLED} only when every predicate passes for
90
+ * the given connection; otherwise returns the first failing verdict so the
91
+ * specific reason propagates downstream to startup logging and the
92
+ * diagnostic-tool surface.
93
+ *
94
+ * Use this — never raw `predA(conn) && predB(conn)`. JavaScript boolean
95
+ * composition silently drops the first operand because every
96
+ * `PredicateResult` is a truthy object.
97
+ */
98
+ export declare function allOf(...predicates: ConnectionPredicate[]): ConnectionPredicate;
99
+ /**
100
+ * Wrap a predicate so OAuth connections always answer enabled. Use this on
101
+ * tool handlers that have been adapted to operate against an OAuth-typed
102
+ * connection at call time — the wrapped predicate's block-based verdict
103
+ * still governs direct connections, while OAuth's "no service blocks"
104
+ * early-exit is overridden.
105
+ */
106
+ export declare function widenForOAuth(predicate: ConnectionPredicate): ConnectionPredicate;
107
+ /**
108
+ * The native-Kafka client gate, widened to admit OAuth. Direct connections
109
+ * still need `kafka.bootstrap_servers`; OAuth connections satisfy it
110
+ * unconditionally (the broker URL is synthesized from the Auth0 environment).
111
+ * Use on handlers that have been brought into the OAuth fold.
112
+ */
113
+ export declare const kafkaBootstrapOrOAuth: ConnectionPredicate;
114
+ /**
115
+ * The Kafka REST client gate, widened to admit OAuth. Direct connections still
116
+ * need both `kafka.rest_endpoint` and `kafka.auth`; OAuth connections satisfy
117
+ * it unconditionally (the per-cluster REST URL is resolved at call time via
118
+ * the cmk REST API and the bearer middleware handles auth). Use on REST-tool
119
+ * handlers (`get-topic-config`, `alter-topic-config`).
120
+ */
121
+ export declare const kafkaRestWithAuthOrOAuth: ConnectionPredicate;
122
+ /**
123
+ * The Schema Registry gate, widened to admit OAuth. Direct connections still
124
+ * need a `schema_registry` block; OAuth connections satisfy it unconditionally
125
+ * (the SR cluster + endpoint are auto-resolved at call time from
126
+ * `environment_id`).
127
+ */
128
+ export declare const hasSchemaRegistryOrOAuth: ConnectionPredicate;
129
+ /**
130
+ * Gate for tools that create connectors against the direct Confluent Cloud
131
+ * REST surface: requires both a `confluent_cloud` block (the `/connect/v1`
132
+ * endpoint) and `kafka.auth` (the connector spec carries kafka API
133
+ * credentials). Strict-direct — OAuth connections answer `OAuthNotDirectCapable`
134
+ * because the handler calls `getSoleDirectConnection()`.
135
+ */
136
+ export declare const canCreateDirectConnector: ConnectionPredicate;
137
+ /**
138
+ * Gate for tools that read telemetry metrics about Flink statements:
139
+ * requires both the `flink` block (to address a statement) and the
140
+ * `telemetry` block (to query the metrics API).
141
+ */
142
+ export declare const flinkWithTelemetry: ConnectionPredicate;
143
+ /**
144
+ * Every reason a {@linkcode ConnectionPredicate} can return `enabled: false`.
145
+ * The symbol is the wire-stable identifier (referenced from predicate bodies
146
+ * and tests); the value is the human-readable phrasing surfaced to end users
147
+ * through startup logs and diagnostic tooling.
148
+ *
149
+ * Adding a reason: name the symbol after what's missing from the connection
150
+ * config (not which predicate emitted it — multiple predicates may share a
151
+ * reason), and write the value as a declarative phrase a misconfigured user
152
+ * could act on.
153
+ */
154
+ export declare enum ToolDisabledReason {
155
+ MissingKafkaBlock = "no 'kafka' block in connection config",
156
+ MissingKafkaBootstrap = "'kafka' block does not have 'bootstrap_servers' field",
157
+ MissingKafkaAuth = "'kafka' block does not have 'auth' field",
158
+ MissingKafkaRestEndpoint = "'kafka' block does not have 'rest_endpoint' field",
159
+ MissingSchemaRegistryBlock = "no 'schema_registry' block in connection config",
160
+ MissingSchemaRegistryApiKeyAuth = "'schema_registry' block does not have 'auth' field of type 'api_key'",
161
+ MissingConfluentCloudBlock = "no 'confluent_cloud' block in connection config",
162
+ MissingFlinkBlock = "no 'flink' block in connection config",
163
+ MissingTelemetryBlock = "no 'telemetry' block in connection config",
164
+ MissingTableflowBlock = "no 'tableflow' block in connection config",
165
+ OAuthNoServiceBlocks = "OAuth connections carry no service blocks",
166
+ OAuthNotDirectCapable = "OAuth connection cannot satisfy a direct-only requirement"
167
+ }
168
+ //# sourceMappingURL=connection-predicates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-predicates.d.ts","sourceRoot":"","sources":["../../../src/confluent/tools/connection-predicates.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAErE,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,gBAAgB,KAAK,eAAe,CAAC;AAE9E,eAAO,MAAM,OAAO,EAAE,eAAmC,CAAC;AAM1D;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAMhE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CASzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAQpE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAW5E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAOzE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,EAAE,mBACL,CAAC;AAEnC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAOzE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAMhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAMpE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAMpE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,gBAAgB,GACrB,eAAe,CAUjB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,mBAAmC,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CACnB,GAAG,UAAU,EAAE,mBAAmB,EAAE,GACnC,mBAAmB,CAQrB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,mBAAmB,GAC7B,mBAAmB,CAErB;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,mBACF,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,mBACF,CAAC;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,mBACL,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,mBAGtC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBAGhC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,oBAAY,kBAAkB;IAC5B,iBAAiB,0CAA0C;IAC3D,qBAAqB,0DAA0D;IAC/E,gBAAgB,6CAA6C;IAC7D,wBAAwB,sDAAsD;IAC9E,0BAA0B,oDAAoD;IAC9E,+BAA+B,yEAAyE;IACxG,0BAA0B,oDAAoD;IAC9E,iBAAiB,0CAA0C;IAC3D,qBAAqB,8CAA8C;IACnE,qBAAqB,8CAA8C;IACnE,oBAAoB,8CAA8C;IAClE,qBAAqB,8DAA8D;CACpF"}
@@ -0,0 +1,273 @@
1
+ // Connection predicates: pure per-connection verdicts on whether a tool
2
+ // should be enabled for a given `ConnectionConfig`. Each predicate returns
3
+ // a `PredicateResult`; on failure the verdict carries a `ToolDisabledReason`
4
+ // so callers can explain why a tool is absent rather than silently dropping
5
+ // it from the catalogue.
6
+ //
7
+ // Tool handlers consume predicates indirectly: each handler declares a
8
+ // `predicate` property referencing one of this file's named exports, and
9
+ // `BaseToolHandler` derives both `enabledConnectionIds()` and
10
+ // `connectionVerdicts()` from it. Handlers must not call `allOf(...)` or
11
+ // `widenForOAuth(...)` at the use site — those combinators are construction
12
+ // tools used here to define new named exports. When adding a new named
13
+ // predicate here: also pin its consumer(s) in the `EXPECTED_PREDICATES`
14
+ // record inside `tool-registry.test.ts`'s `predicate property` block
15
+ // (typed `Readonly<Record<ToolName, ConnectionPredicate>>`, so missing
16
+ // rows fail `tsc` and combinators can't slip in as values) and add
17
+ // per-predicate coverage in `connection-predicates.test.ts`. The handler
18
+ // then sails through the per-tool identity assertion.
19
+ //
20
+ // OAuth note: most predicates short-circuit on `conn.type === "oauth"`
21
+ // and answer disabled — OAuth connections carry no service blocks for these
22
+ // predicates to inspect. Two mechanisms admit OAuth where it's supported:
23
+ // `hasConfluentCloudOrOAuth` answers enabled for OAuth directly (the CCloud
24
+ // REST URL is reachable via the Auth0 environment without a block), and the
25
+ // `widenForOAuth(predicate)` combinator wraps any block-checking predicate
26
+ // so OAuth connections bypass the block check and answer enabled. Use
27
+ // `widenForOAuth` here, when defining a new named composite export, for
28
+ // gates that should admit OAuth.
29
+ export const ENABLED = { enabled: true };
30
+ function disabled(reason) {
31
+ return { enabled: false, reason };
32
+ }
33
+ /**
34
+ * Block-level — required by any tool that needs Kafka access regardless of
35
+ * transport (native client or REST proxy).
36
+ */
37
+ export function hasKafka(conn) {
38
+ if (conn.type === "oauth")
39
+ return disabled(ToolDisabledReason.OAuthNoServiceBlocks);
40
+ if (conn.kafka === undefined)
41
+ return disabled(ToolDisabledReason.MissingKafkaBlock);
42
+ return ENABLED;
43
+ }
44
+ /**
45
+ * Field-level — required by tools that drive the native Kafka
46
+ * admin/producer/consumer client (the broker address lives on
47
+ * `bootstrap_servers`).
48
+ */
49
+ export function hasKafkaBootstrap(conn) {
50
+ if (conn.type === "oauth")
51
+ return disabled(ToolDisabledReason.OAuthNoServiceBlocks);
52
+ if (conn.kafka === undefined)
53
+ return disabled(ToolDisabledReason.MissingKafkaBlock);
54
+ if (conn.kafka.bootstrap_servers === undefined) {
55
+ return disabled(ToolDisabledReason.MissingKafkaBootstrap);
56
+ }
57
+ return ENABLED;
58
+ }
59
+ /**
60
+ * Field-level — required by tools that perform authenticated Kafka calls.
61
+ */
62
+ export function hasKafkaAuth(conn) {
63
+ if (conn.type === "oauth")
64
+ return disabled(ToolDisabledReason.OAuthNoServiceBlocks);
65
+ if (conn.kafka === undefined)
66
+ return disabled(ToolDisabledReason.MissingKafkaBlock);
67
+ if (conn.kafka.auth === undefined)
68
+ return disabled(ToolDisabledReason.MissingKafkaAuth);
69
+ return ENABLED;
70
+ }
71
+ /**
72
+ * Field-level — required by tools that talk to the Kafka REST proxy
73
+ * (`/kafka/v3` endpoints); needs both `rest_endpoint` and `auth` on the
74
+ * `kafka` block.
75
+ */
76
+ export function hasKafkaRestWithAuth(conn) {
77
+ if (conn.type === "oauth")
78
+ return disabled(ToolDisabledReason.OAuthNoServiceBlocks);
79
+ if (conn.kafka === undefined)
80
+ return disabled(ToolDisabledReason.MissingKafkaBlock);
81
+ if (conn.kafka.rest_endpoint === undefined) {
82
+ return disabled(ToolDisabledReason.MissingKafkaRestEndpoint);
83
+ }
84
+ if (conn.kafka.auth === undefined)
85
+ return disabled(ToolDisabledReason.MissingKafkaAuth);
86
+ return ENABLED;
87
+ }
88
+ /**
89
+ * Block-level — required by tools that read or write through the Schema
90
+ * Registry.
91
+ */
92
+ export function hasSchemaRegistry(conn) {
93
+ if (conn.type === "oauth")
94
+ return disabled(ToolDisabledReason.OAuthNoServiceBlocks);
95
+ if (conn.schema_registry === undefined) {
96
+ return disabled(ToolDisabledReason.MissingSchemaRegistryBlock);
97
+ }
98
+ return ENABLED;
99
+ }
100
+ /**
101
+ * Block-level — verdict on whether the connection can reach the Confluent
102
+ * Cloud control-plane REST surface, accepting either flavor. Direct
103
+ * connections satisfy this when they carry a `confluent_cloud` block; OAuth
104
+ * connections satisfy it unconditionally (the cloud REST URL is derived from
105
+ * the Auth0 environment).
106
+ *
107
+ * Pair: {@linkcode hasConfluentCloud} for the direct-only verdict.
108
+ */
109
+ export const hasConfluentCloudOrOAuth = widenForOAuth(hasConfluentCloud);
110
+ /**
111
+ * Block-level — verdict that holds only for direct connections carrying a
112
+ * `confluent_cloud` block. Use this on handlers that are not yet OAuth-capable
113
+ * and call `getSoleDirectConnection()` inside `handle()`. Once a handler
114
+ * widens to OAuth, switch its predicate to
115
+ * {@linkcode hasConfluentCloudOrOAuth}.
116
+ */
117
+ export function hasConfluentCloud(conn) {
118
+ if (conn.type === "oauth")
119
+ return disabled(ToolDisabledReason.OAuthNotDirectCapable);
120
+ if (conn.confluent_cloud === undefined) {
121
+ return disabled(ToolDisabledReason.MissingConfluentCloudBlock);
122
+ }
123
+ return ENABLED;
124
+ }
125
+ /**
126
+ * Block-level — required by tools that drive Flink SQL or its catalog.
127
+ */
128
+ export function hasFlink(conn) {
129
+ if (conn.type === "oauth")
130
+ return disabled(ToolDisabledReason.OAuthNoServiceBlocks);
131
+ if (conn.flink === undefined)
132
+ return disabled(ToolDisabledReason.MissingFlinkBlock);
133
+ return ENABLED;
134
+ }
135
+ /**
136
+ * Block-level — required by tools that read metrics from the Telemetry API.
137
+ */
138
+ export function hasTelemetry(conn) {
139
+ if (conn.type === "oauth")
140
+ return disabled(ToolDisabledReason.OAuthNoServiceBlocks);
141
+ if (conn.telemetry === undefined)
142
+ return disabled(ToolDisabledReason.MissingTelemetryBlock);
143
+ return ENABLED;
144
+ }
145
+ /**
146
+ * Block-level — required by tools that manage Tableflow topics or catalog
147
+ * entries.
148
+ */
149
+ export function hasTableflow(conn) {
150
+ if (conn.type === "oauth")
151
+ return disabled(ToolDisabledReason.OAuthNoServiceBlocks);
152
+ if (conn.tableflow === undefined)
153
+ return disabled(ToolDisabledReason.MissingTableflowBlock);
154
+ return ENABLED;
155
+ }
156
+ /**
157
+ * Field-level — verdict that holds when the `schema_registry` block is
158
+ * present and its `auth` field is `api_key`-typed. That combination is the
159
+ * reliable signal that the SR is CCloud-hosted and therefore exposes the
160
+ * `/catalog/v1/` endpoints. A vanilla CP SR has no auth, so it disables
161
+ * even when the `schema_registry` block itself is present.
162
+ */
163
+ export function hasCCloudCatalogSupport(conn) {
164
+ if (conn.type === "oauth")
165
+ return disabled(ToolDisabledReason.OAuthNoServiceBlocks);
166
+ if (conn.schema_registry === undefined) {
167
+ return disabled(ToolDisabledReason.MissingSchemaRegistryBlock);
168
+ }
169
+ if (conn.schema_registry.auth?.type !== "api_key") {
170
+ return disabled(ToolDisabledReason.MissingSchemaRegistryApiKeyAuth);
171
+ }
172
+ return ENABLED;
173
+ }
174
+ /**
175
+ * Predicate that returns {@linkcode ENABLED} for every connection. Use as
176
+ * the {@linkcode BaseToolHandler.predicate} for tools with no service-block
177
+ * requirement (e.g., generic docs search).
178
+ */
179
+ export const alwaysEnabled = () => ENABLED;
180
+ /**
181
+ * Combine predicates with logical AND, short-circuiting on the first
182
+ * failure. Returns {@linkcode ENABLED} only when every predicate passes for
183
+ * the given connection; otherwise returns the first failing verdict so the
184
+ * specific reason propagates downstream to startup logging and the
185
+ * diagnostic-tool surface.
186
+ *
187
+ * Use this — never raw `predA(conn) && predB(conn)`. JavaScript boolean
188
+ * composition silently drops the first operand because every
189
+ * `PredicateResult` is a truthy object.
190
+ */
191
+ export function allOf(...predicates) {
192
+ return (conn) => {
193
+ for (const predicate of predicates) {
194
+ const verdict = predicate(conn);
195
+ if (!verdict.enabled)
196
+ return verdict;
197
+ }
198
+ return ENABLED;
199
+ };
200
+ }
201
+ /**
202
+ * Wrap a predicate so OAuth connections always answer enabled. Use this on
203
+ * tool handlers that have been adapted to operate against an OAuth-typed
204
+ * connection at call time — the wrapped predicate's block-based verdict
205
+ * still governs direct connections, while OAuth's "no service blocks"
206
+ * early-exit is overridden.
207
+ */
208
+ export function widenForOAuth(predicate) {
209
+ return (conn) => (conn.type === "oauth" ? ENABLED : predicate(conn));
210
+ }
211
+ /**
212
+ * The native-Kafka client gate, widened to admit OAuth. Direct connections
213
+ * still need `kafka.bootstrap_servers`; OAuth connections satisfy it
214
+ * unconditionally (the broker URL is synthesized from the Auth0 environment).
215
+ * Use on handlers that have been brought into the OAuth fold.
216
+ */
217
+ export const kafkaBootstrapOrOAuth = widenForOAuth(hasKafkaBootstrap);
218
+ /**
219
+ * The Kafka REST client gate, widened to admit OAuth. Direct connections still
220
+ * need both `kafka.rest_endpoint` and `kafka.auth`; OAuth connections satisfy
221
+ * it unconditionally (the per-cluster REST URL is resolved at call time via
222
+ * the cmk REST API and the bearer middleware handles auth). Use on REST-tool
223
+ * handlers (`get-topic-config`, `alter-topic-config`).
224
+ */
225
+ export const kafkaRestWithAuthOrOAuth = widenForOAuth(hasKafkaRestWithAuth);
226
+ /**
227
+ * The Schema Registry gate, widened to admit OAuth. Direct connections still
228
+ * need a `schema_registry` block; OAuth connections satisfy it unconditionally
229
+ * (the SR cluster + endpoint are auto-resolved at call time from
230
+ * `environment_id`).
231
+ */
232
+ export const hasSchemaRegistryOrOAuth = widenForOAuth(hasSchemaRegistry);
233
+ /**
234
+ * Gate for tools that create connectors against the direct Confluent Cloud
235
+ * REST surface: requires both a `confluent_cloud` block (the `/connect/v1`
236
+ * endpoint) and `kafka.auth` (the connector spec carries kafka API
237
+ * credentials). Strict-direct — OAuth connections answer `OAuthNotDirectCapable`
238
+ * because the handler calls `getSoleDirectConnection()`.
239
+ */
240
+ export const canCreateDirectConnector = allOf(hasConfluentCloud, hasKafkaAuth);
241
+ /**
242
+ * Gate for tools that read telemetry metrics about Flink statements:
243
+ * requires both the `flink` block (to address a statement) and the
244
+ * `telemetry` block (to query the metrics API).
245
+ */
246
+ export const flinkWithTelemetry = allOf(hasFlink, hasTelemetry);
247
+ /**
248
+ * Every reason a {@linkcode ConnectionPredicate} can return `enabled: false`.
249
+ * The symbol is the wire-stable identifier (referenced from predicate bodies
250
+ * and tests); the value is the human-readable phrasing surfaced to end users
251
+ * through startup logs and diagnostic tooling.
252
+ *
253
+ * Adding a reason: name the symbol after what's missing from the connection
254
+ * config (not which predicate emitted it — multiple predicates may share a
255
+ * reason), and write the value as a declarative phrase a misconfigured user
256
+ * could act on.
257
+ */
258
+ export var ToolDisabledReason;
259
+ (function (ToolDisabledReason) {
260
+ ToolDisabledReason["MissingKafkaBlock"] = "no 'kafka' block in connection config";
261
+ ToolDisabledReason["MissingKafkaBootstrap"] = "'kafka' block does not have 'bootstrap_servers' field";
262
+ ToolDisabledReason["MissingKafkaAuth"] = "'kafka' block does not have 'auth' field";
263
+ ToolDisabledReason["MissingKafkaRestEndpoint"] = "'kafka' block does not have 'rest_endpoint' field";
264
+ ToolDisabledReason["MissingSchemaRegistryBlock"] = "no 'schema_registry' block in connection config";
265
+ ToolDisabledReason["MissingSchemaRegistryApiKeyAuth"] = "'schema_registry' block does not have 'auth' field of type 'api_key'";
266
+ ToolDisabledReason["MissingConfluentCloudBlock"] = "no 'confluent_cloud' block in connection config";
267
+ ToolDisabledReason["MissingFlinkBlock"] = "no 'flink' block in connection config";
268
+ ToolDisabledReason["MissingTelemetryBlock"] = "no 'telemetry' block in connection config";
269
+ ToolDisabledReason["MissingTableflowBlock"] = "no 'tableflow' block in connection config";
270
+ ToolDisabledReason["OAuthNoServiceBlocks"] = "OAuth connections carry no service blocks";
271
+ ToolDisabledReason["OAuthNotDirectCapable"] = "OAuth connection cannot satisfy a direct-only requirement";
272
+ })(ToolDisabledReason || (ToolDisabledReason = {}));
273
+ //# sourceMappingURL=connection-predicates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-predicates.js","sourceRoot":"","sources":["../../../src/confluent/tools/connection-predicates.ts"],"names":[],"mappings":"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"}
@@ -1,11 +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 ListBillingCostsHandler 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[];
9
- isConfluentCloudOnly(): boolean;
7
+ readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
10
8
  }
11
9
  //# sourceMappingURL=list-billing-costs-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-billing-costs-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/billing/list-billing-costs-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;AAuE5C,qBAAa,uBAAwB,SAAQ,eAAe;IACpD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAkI1B,aAAa,IAAI,UAAU;IAS3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
1
+ {"version":3,"file":"list-billing-costs-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/billing/list-billing-costs-handler.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;AA+DvD,qBAAa,uBAAwB,SAAQ,eAAe;IACpD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IA+H1B,aAAa,IAAI,UAAU;IAS3B,QAAQ,CAAC,SAAS,8EAA4B;CAC/C"}
@@ -1,16 +1,10 @@
1
- import { BaseToolHandler, } from "../../../../confluent/tools/base-tools.js";
1
+ import { BaseToolHandler, READ_ONLY, } from "../../../../confluent/tools/base-tools.js";
2
+ import { hasConfluentCloudOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
2
3
  import { ToolName } from "../../../../confluent/tools/tool-name.js";
3
- import env from "../../../../env.js";
4
4
  import { logger } from "../../../../logger.js";
5
5
  import { wrapAsPathBasedClient } from "openapi-fetch";
6
6
  import { z } from "zod";
7
7
  const listBillingCostsArguments = z.object({
8
- baseUrl: z
9
- .string()
10
- .describe("The base URL of the Confluent Cloud REST API.")
11
- .url()
12
- .default(() => env.CONFLUENT_CLOUD_REST_ENDPOINT ?? "")
13
- .optional(),
14
8
  startDate: z
15
9
  .string()
16
10
  .regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format")
@@ -65,12 +59,10 @@ const billingCostsSchema = z.object({
65
59
  data: z.array(costLineItemSchema),
66
60
  });
67
61
  export class ListBillingCostsHandler extends BaseToolHandler {
68
- async handle(clientManager, toolArguments) {
69
- const { baseUrl, startDate, endDate, pageSize, pageToken } = listBillingCostsArguments.parse(toolArguments);
62
+ async handle(runtime, toolArguments) {
63
+ const clientManager = runtime.clientManager;
64
+ const { startDate, endDate, pageSize, pageToken } = listBillingCostsArguments.parse(toolArguments);
70
65
  try {
71
- if (baseUrl !== undefined && baseUrl !== "") {
72
- clientManager.setConfluentCloudRestEndpoint(baseUrl);
73
- }
74
66
  const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudRestClient());
75
67
  const { data: response, error } = await pathBasedClient["/billing/v1/costs"].GET({
76
68
  params: {
@@ -162,13 +154,9 @@ Pagination:${metadata.total_size ? `\n Total Items: ${metadata.total_size}` : "
162
154
  name: ToolName.LIST_BILLING_COSTS,
163
155
  description: "Retrieve billing cost data for a Confluent Cloud organization within a specified date range with pagination support",
164
156
  inputSchema: listBillingCostsArguments.shape,
157
+ annotations: READ_ONLY,
165
158
  };
166
159
  }
167
- getRequiredEnvVars() {
168
- return ["CONFLUENT_CLOUD_API_KEY", "CONFLUENT_CLOUD_API_SECRET"];
169
- }
170
- isConfluentCloudOnly() {
171
- return true;
172
- }
160
+ predicate = hasConfluentCloudOrOAuth;
173
161
  }
174
162
  //# sourceMappingURL=list-billing-costs-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-billing-costs-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/billing/list-billing-costs-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-billing-costs-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/billing/list-billing-costs-handler.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
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 { hasCCloudCatalogSupport } from "../../../../confluent/tools/connection-predicates.js";
4
+ import { ServerRuntime } from "../../../../server-runtime.js";
5
5
  export declare class AddTagToTopicHandler extends BaseToolHandler {
6
- handle(clientManager: ClientManager, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
6
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
7
7
  getToolConfig(): ToolConfig;
8
- getRequiredEnvVars(): EnvVar[];
9
- isConfluentCloudOnly(): boolean;
8
+ readonly predicate: typeof hasCCloudCatalogSupport;
10
9
  }
11
10
  //# sourceMappingURL=add-tags-to-topic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-tags-to-topic.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/catalog/add-tags-to-topic.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;AA4B5C,qBAAa,oBAAqB,SAAQ,eAAe;IACjD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IA6B1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
1
+ {"version":3,"file":"add-tags-to-topic.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/catalog/add-tags-to-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAqBvD,qBAAa,oBAAqB,SAAQ,eAAe;IACjD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAyB1B,aAAa,IAAI,UAAU;IAQ3B,QAAQ,CAAC,SAAS,iCAA2B;CAC9C"}
@@ -1,15 +1,9 @@
1
- import { BaseToolHandler, } from "../../../../confluent/tools/base-tools.js";
1
+ import { BaseToolHandler, CREATE_UPDATE, } from "../../../../confluent/tools/base-tools.js";
2
+ import { hasCCloudCatalogSupport } from "../../../../confluent/tools/connection-predicates.js";
2
3
  import { ToolName } from "../../../../confluent/tools/tool-name.js";
3
- import env from "../../../../env.js";
4
4
  import { wrapAsPathBasedClient } from "openapi-fetch";
5
5
  import { z } from "zod";
6
6
  const addTagToTopicArguments = z.object({
7
- baseUrl: z
8
- .string()
9
- .describe("The base URL of the Schema Registry REST API.")
10
- .url()
11
- .default(() => env.SCHEMA_REGISTRY_ENDPOINT ?? "")
12
- .optional(),
13
7
  tagAssignments: z
14
8
  .array(z.object({
15
9
  entityType: z.string().default("kafka_topic"),
@@ -22,11 +16,9 @@ const addTagToTopicArguments = z.object({
22
16
  .describe("Array of tag assignments to create"),
23
17
  });
24
18
  export class AddTagToTopicHandler extends BaseToolHandler {
25
- async handle(clientManager, toolArguments) {
26
- const { tagAssignments, baseUrl } = addTagToTopicArguments.parse(toolArguments);
27
- if (baseUrl !== undefined && baseUrl !== "") {
28
- clientManager.setConfluentCloudSchemaRegistryEndpoint(baseUrl);
29
- }
19
+ async handle(runtime, toolArguments) {
20
+ const clientManager = runtime.clientManager;
21
+ const { tagAssignments } = addTagToTopicArguments.parse(toolArguments);
30
22
  const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudSchemaRegistryRestClient());
31
23
  const { data: response, error } = await pathBasedClient["/catalog/v1/entity/tags"].POST({
32
24
  body: tagAssignments,
@@ -41,13 +33,9 @@ export class AddTagToTopicHandler extends BaseToolHandler {
41
33
  name: ToolName.ADD_TAGS_TO_TOPIC,
42
34
  description: "Assign existing tags to Kafka topics in Confluent Cloud.",
43
35
  inputSchema: addTagToTopicArguments.shape,
36
+ annotations: CREATE_UPDATE,
44
37
  };
45
38
  }
46
- getRequiredEnvVars() {
47
- return ["SCHEMA_REGISTRY_API_KEY", "SCHEMA_REGISTRY_API_SECRET"];
48
- }
49
- isConfluentCloudOnly() {
50
- return true;
51
- }
39
+ predicate = hasCCloudCatalogSupport;
52
40
  }
53
41
  //# sourceMappingURL=add-tags-to-topic.js.map