@confluentinc/mcp-confluent 1.4.0 → 1.6.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 (489) hide show
  1. package/README.md +57 -34
  2. package/config.example.yaml +36 -7
  3. package/config.oauth.example.yaml +14 -1
  4. package/dist/build-config.d.ts +1 -0
  5. package/dist/build-config.d.ts.map +1 -1
  6. package/dist/build-config.js +1 -0
  7. package/dist/build-config.js.map +1 -1
  8. package/dist/cli.d.ts +1 -1
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +128 -94
  11. package/dist/cli.js.map +1 -1
  12. package/dist/config/env-config.d.ts +9 -3
  13. package/dist/config/env-config.d.ts.map +1 -1
  14. package/dist/config/env-config.js +15 -34
  15. package/dist/config/env-config.js.map +1 -1
  16. package/dist/config/models.d.ts +105 -13
  17. package/dist/config/models.d.ts.map +1 -1
  18. package/dist/config/models.js +49 -37
  19. package/dist/config/models.js.map +1 -1
  20. package/dist/confluent/base-client-manager.d.ts +3 -1
  21. package/dist/confluent/base-client-manager.d.ts.map +1 -1
  22. package/dist/confluent/base-client-manager.js +5 -1
  23. package/dist/confluent/base-client-manager.js.map +1 -1
  24. package/dist/confluent/client-manager.d.ts +15 -1
  25. package/dist/confluent/client-manager.d.ts.map +1 -1
  26. package/dist/confluent/direct-client-manager.d.ts +1 -1
  27. package/dist/confluent/direct-client-manager.d.ts.map +1 -1
  28. package/dist/confluent/middleware.d.ts +1 -1
  29. package/dist/confluent/middleware.d.ts.map +1 -1
  30. package/dist/confluent/node-deps.d.ts +8 -0
  31. package/dist/confluent/node-deps.d.ts.map +1 -1
  32. package/dist/confluent/node-deps.js +9 -2
  33. package/dist/confluent/node-deps.js.map +1 -1
  34. package/dist/confluent/oauth/auth0-config.d.ts +26 -4
  35. package/dist/confluent/oauth/auth0-config.d.ts.map +1 -1
  36. package/dist/confluent/oauth/auth0-config.js +59 -19
  37. package/dist/confluent/oauth/auth0-config.js.map +1 -1
  38. package/dist/confluent/oauth/pkce-login.d.ts.map +1 -1
  39. package/dist/confluent/oauth/pkce-login.js +180 -150
  40. package/dist/confluent/oauth/pkce-login.js.map +1 -1
  41. package/dist/confluent/oauth/types.d.ts +1 -2
  42. package/dist/confluent/oauth/types.d.ts.map +1 -1
  43. package/dist/confluent/oauth-client-manager.d.ts +6 -3
  44. package/dist/confluent/oauth-client-manager.d.ts.map +1 -1
  45. package/dist/confluent/oauth-client-manager.js +28 -6
  46. package/dist/confluent/oauth-client-manager.js.map +1 -1
  47. package/dist/confluent/oauth-resource-resolvers.d.ts +11 -0
  48. package/dist/confluent/oauth-resource-resolvers.d.ts.map +1 -1
  49. package/dist/confluent/oauth-resource-resolvers.js +24 -0
  50. package/dist/confluent/oauth-resource-resolvers.js.map +1 -1
  51. package/dist/confluent/schema-registry-helper.d.ts +131 -7
  52. package/dist/confluent/schema-registry-helper.d.ts.map +1 -1
  53. package/dist/confluent/schema-registry-helper.js +336 -40
  54. package/dist/confluent/schema-registry-helper.js.map +1 -1
  55. package/dist/confluent/schema.d.ts +2 -2
  56. package/dist/confluent/schema.d.ts.map +1 -1
  57. package/dist/confluent/sentry-redact.d.ts +5 -0
  58. package/dist/confluent/sentry-redact.d.ts.map +1 -0
  59. package/dist/confluent/sentry-redact.js +64 -0
  60. package/dist/confluent/sentry-redact.js.map +1 -0
  61. package/dist/confluent/sentry.d.ts +23 -0
  62. package/dist/confluent/sentry.d.ts.map +1 -0
  63. package/dist/confluent/sentry.js +68 -0
  64. package/dist/confluent/sentry.js.map +1 -0
  65. package/dist/confluent/tools/base-tools.d.ts +169 -24
  66. package/dist/confluent/tools/base-tools.d.ts.map +1 -1
  67. package/dist/confluent/tools/base-tools.js +225 -21
  68. package/dist/confluent/tools/base-tools.js.map +1 -1
  69. package/dist/confluent/tools/cluster-arg-resolvers.d.ts +22 -1
  70. package/dist/confluent/tools/cluster-arg-resolvers.d.ts.map +1 -1
  71. package/dist/confluent/tools/cluster-arg-resolvers.js +50 -4
  72. package/dist/confluent/tools/cluster-arg-resolvers.js.map +1 -1
  73. package/dist/confluent/tools/connection-predicates.d.ts +70 -7
  74. package/dist/confluent/tools/connection-predicates.d.ts.map +1 -1
  75. package/dist/confluent/tools/connection-predicates.js +69 -6
  76. package/dist/confluent/tools/connection-predicates.js.map +1 -1
  77. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts +9 -3
  78. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts.map +1 -1
  79. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js +77 -62
  80. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js.map +1 -1
  81. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +5 -5
  82. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts.map +1 -1
  83. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js +9 -5
  84. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js.map +1 -1
  85. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts +5 -5
  86. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
  87. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +9 -5
  88. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
  89. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +5 -5
  90. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
  91. package/dist/confluent/tools/handlers/catalog/delete-tag.js +9 -5
  92. package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
  93. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +6 -6
  94. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
  95. package/dist/confluent/tools/handlers/catalog/list-tags.js +14 -6
  96. package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
  97. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +5 -5
  98. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts.map +1 -1
  99. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js +9 -5
  100. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js.map +1 -1
  101. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts +4 -3
  102. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
  103. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +1 -1
  104. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
  105. package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts +8 -8
  106. package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts.map +1 -1
  107. package/dist/confluent/tools/handlers/connect/connect-tool-handler.js +9 -10
  108. package/dist/confluent/tools/handlers/connect/connect-tool-handler.js.map +1 -1
  109. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts +3 -3
  110. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
  111. package/dist/confluent/tools/handlers/connect/create-connector-handler.js +1 -2
  112. package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
  113. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts +3 -3
  114. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
  115. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +1 -2
  116. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
  117. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts +3 -3
  118. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts.map +1 -1
  119. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js +1 -2
  120. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js.map +1 -1
  121. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts +3 -3
  122. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts.map +1 -1
  123. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js +1 -2
  124. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js.map +1 -1
  125. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts +3 -3
  126. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts.map +1 -1
  127. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js +2 -3
  128. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js.map +1 -1
  129. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts +3 -3
  130. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts.map +1 -1
  131. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js +171 -100
  132. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js.map +1 -1
  133. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts +3 -3
  134. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts.map +1 -1
  135. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js +1 -2
  136. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js.map +1 -1
  137. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts +3 -3
  138. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts.map +1 -1
  139. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js +1 -2
  140. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js.map +1 -1
  141. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts +3 -3
  142. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts.map +1 -1
  143. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js +1 -2
  144. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js.map +1 -1
  145. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts +3 -3
  146. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
  147. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +1 -2
  148. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
  149. package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts +3 -3
  150. package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts.map +1 -1
  151. package/dist/confluent/tools/handlers/connect/pause-connector-handler.js +1 -2
  152. package/dist/confluent/tools/handlers/connect/pause-connector-handler.js.map +1 -1
  153. package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts +3 -3
  154. package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts.map +1 -1
  155. package/dist/confluent/tools/handlers/connect/restart-connector-handler.js +1 -2
  156. package/dist/confluent/tools/handlers/connect/restart-connector-handler.js.map +1 -1
  157. package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts +3 -3
  158. package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts.map +1 -1
  159. package/dist/confluent/tools/handlers/connect/resume-connector-handler.js +1 -2
  160. package/dist/confluent/tools/handlers/connect/resume-connector-handler.js.map +1 -1
  161. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts +3 -3
  162. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts.map +1 -1
  163. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js +1 -2
  164. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js.map +1 -1
  165. package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts +43 -0
  166. package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts.map +1 -0
  167. package/dist/confluent/tools/handlers/diagnostics/config-help-handler.js +297 -0
  168. package/dist/confluent/tools/handlers/diagnostics/config-help-handler.js.map +1 -0
  169. package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.d.ts +32 -0
  170. package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.d.ts.map +1 -0
  171. package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.js +116 -0
  172. package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.js.map +1 -0
  173. package/dist/confluent/tools/handlers/diagnostics/describe-fields.d.ts +52 -0
  174. package/dist/confluent/tools/handlers/diagnostics/describe-fields.d.ts.map +1 -0
  175. package/dist/confluent/tools/handlers/diagnostics/describe-fields.js +114 -0
  176. package/dist/confluent/tools/handlers/diagnostics/describe-fields.js.map +1 -0
  177. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts +22 -44
  178. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts.map +1 -1
  179. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js +95 -81
  180. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js.map +1 -1
  181. package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.d.ts +28 -0
  182. package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.d.ts.map +1 -0
  183. package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.js +93 -0
  184. package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.js.map +1 -0
  185. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts +4 -3
  186. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts.map +1 -1
  187. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js.map +1 -1
  188. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts +4 -3
  189. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts.map +1 -1
  190. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js.map +1 -1
  191. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +9 -3
  192. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
  193. package/dist/confluent/tools/handlers/environments/list-environments-handler.js +68 -46
  194. package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
  195. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +4 -3
  196. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
  197. package/dist/confluent/tools/handlers/environments/read-environment-handler.js +2 -2
  198. package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
  199. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts +1 -1
  200. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts.map +1 -1
  201. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js +12 -6
  202. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js.map +1 -1
  203. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts +3 -3
  204. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts.map +1 -1
  205. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js +24 -21
  206. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js.map +1 -1
  207. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts +1 -1
  208. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts.map +1 -1
  209. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts +3 -3
  210. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts.map +1 -1
  211. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js +24 -21
  212. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js.map +1 -1
  213. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts +3 -3
  214. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts.map +1 -1
  215. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js +9 -7
  216. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js.map +1 -1
  217. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts +3 -3
  218. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts.map +1 -1
  219. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js +14 -12
  220. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js.map +1 -1
  221. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts +3 -3
  222. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts.map +1 -1
  223. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js +14 -12
  224. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js.map +1 -1
  225. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts +3 -3
  226. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts.map +1 -1
  227. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js +27 -22
  228. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js.map +1 -1
  229. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts +3 -3
  230. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -1
  231. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +20 -12
  232. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
  233. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts +3 -3
  234. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts.map +1 -1
  235. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js +20 -12
  236. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js.map +1 -1
  237. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts +3 -3
  238. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts.map +1 -1
  239. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js +203 -156
  240. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js.map +1 -1
  241. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts +12 -8
  242. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts.map +1 -1
  243. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.js +346 -377
  244. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.js.map +1 -1
  245. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts +3 -3
  246. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts.map +1 -1
  247. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js +374 -317
  248. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js.map +1 -1
  249. package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts +4 -3
  250. package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts.map +1 -1
  251. package/dist/confluent/tools/handlers/flink/flink-sql-helper.js +133 -57
  252. package/dist/confluent/tools/handlers/flink/flink-sql-helper.js.map +1 -1
  253. package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts +27 -6
  254. package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts.map +1 -1
  255. package/dist/confluent/tools/handlers/flink/flink-tool-handler.js +37 -7
  256. package/dist/confluent/tools/handlers/flink/flink-tool-handler.js.map +1 -1
  257. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts +3 -3
  258. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts.map +1 -1
  259. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js +20 -12
  260. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js.map +1 -1
  261. package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.d.ts +9 -0
  262. package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.d.ts.map +1 -0
  263. package/dist/confluent/tools/handlers/flink/{read-flink-statement-handler.js → get-flink-statement-results-handler.js} +30 -22
  264. package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.js.map +1 -0
  265. package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.d.ts +11 -0
  266. package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.d.ts.map +1 -0
  267. package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.js +118 -0
  268. package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.js.map +1 -0
  269. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts +3 -3
  270. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts.map +1 -1
  271. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js +19 -17
  272. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
  273. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +4 -3
  274. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
  275. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +1 -1
  276. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js.map +1 -1
  277. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts +21 -10
  278. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -1
  279. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +136 -73
  280. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -1
  281. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +4 -3
  282. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
  283. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +12 -3
  284. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
  285. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +4 -3
  286. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
  287. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +1 -1
  288. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
  289. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts +4 -3
  290. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts.map +1 -1
  291. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js +6 -41
  292. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js.map +1 -1
  293. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts +4 -3
  294. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts.map +1 -1
  295. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js +6 -10
  296. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js.map +1 -1
  297. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts +4 -3
  298. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts.map +1 -1
  299. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js +1 -1
  300. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js.map +1 -1
  301. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +4 -3
  302. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -1
  303. package/dist/confluent/tools/handlers/kafka/get-topic-config.js +1 -1
  304. package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -1
  305. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts +4 -3
  306. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts.map +1 -1
  307. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js +1 -1
  308. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js.map +1 -1
  309. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +4 -3
  310. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
  311. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +1 -1
  312. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
  313. package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts +1 -1
  314. package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts.map +1 -1
  315. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +12 -4
  316. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts.map +1 -1
  317. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js +140 -34
  318. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
  319. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts +5 -5
  320. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts.map +1 -1
  321. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js +105 -60
  322. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js.map +1 -1
  323. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts +5 -5
  324. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts.map +1 -1
  325. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js +75 -57
  326. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js.map +1 -1
  327. package/dist/confluent/tools/handlers/metrics/telemetry-error.d.ts +9 -0
  328. package/dist/confluent/tools/handlers/metrics/telemetry-error.d.ts.map +1 -0
  329. package/dist/confluent/tools/handlers/metrics/telemetry-error.js +38 -0
  330. package/dist/confluent/tools/handlers/metrics/telemetry-error.js.map +1 -0
  331. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts +4 -3
  332. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts.map +1 -1
  333. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js +2 -1
  334. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js.map +1 -1
  335. package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts +11 -0
  336. package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts.map +1 -0
  337. package/dist/confluent/tools/handlers/schema/create-schema-handler.js +76 -0
  338. package/dist/confluent/tools/handlers/schema/create-schema-handler.js.map +1 -0
  339. package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts +4 -3
  340. package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts.map +1 -1
  341. package/dist/confluent/tools/handlers/schema/delete-schema-handler.js +1 -1
  342. package/dist/confluent/tools/handlers/schema/delete-schema-handler.js.map +1 -1
  343. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +4 -3
  344. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
  345. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +101 -72
  346. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js.map +1 -1
  347. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts +5 -5
  348. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts.map +1 -1
  349. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js +9 -5
  350. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js.map +1 -1
  351. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts +5 -5
  352. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts.map +1 -1
  353. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js +9 -5
  354. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
  355. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts +3 -3
  356. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts.map +1 -1
  357. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js +2 -2
  358. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js.map +1 -1
  359. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts +3 -3
  360. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts.map +1 -1
  361. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js +2 -2
  362. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js.map +1 -1
  363. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts +3 -3
  364. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts.map +1 -1
  365. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js +2 -2
  366. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js.map +1 -1
  367. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts +3 -3
  368. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts.map +1 -1
  369. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js +2 -2
  370. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js.map +1 -1
  371. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts +3 -3
  372. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts.map +1 -1
  373. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js +1 -1
  374. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js.map +1 -1
  375. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts +3 -3
  376. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts.map +1 -1
  377. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js +1 -1
  378. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js.map +1 -1
  379. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts +15 -10
  380. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts.map +1 -1
  381. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js +17 -14
  382. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js.map +1 -1
  383. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts +3 -3
  384. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts.map +1 -1
  385. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js +2 -2
  386. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js.map +1 -1
  387. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts +3 -3
  388. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts.map +1 -1
  389. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js +2 -2
  390. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js.map +1 -1
  391. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts +3 -3
  392. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts.map +1 -1
  393. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js +2 -2
  394. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js.map +1 -1
  395. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts +3 -3
  396. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts.map +1 -1
  397. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js +2 -2
  398. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js.map +1 -1
  399. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts +3 -3
  400. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts.map +1 -1
  401. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js +1 -1
  402. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -1
  403. package/dist/confluent/tools/pagination.d.ts +31 -0
  404. package/dist/confluent/tools/pagination.d.ts.map +1 -0
  405. package/dist/confluent/tools/pagination.js +40 -0
  406. package/dist/confluent/tools/pagination.js.map +1 -0
  407. package/dist/confluent/tools/tool-availability.d.ts +63 -32
  408. package/dist/confluent/tools/tool-availability.d.ts.map +1 -1
  409. package/dist/confluent/tools/tool-availability.js +101 -69
  410. package/dist/confluent/tools/tool-availability.js.map +1 -1
  411. package/dist/confluent/tools/tool-input-error.d.ts +17 -0
  412. package/dist/confluent/tools/tool-input-error.d.ts.map +1 -0
  413. package/dist/confluent/tools/tool-input-error.js +23 -0
  414. package/dist/confluent/tools/tool-input-error.js.map +1 -0
  415. package/dist/confluent/tools/tool-metadata-handler.d.ts +52 -0
  416. package/dist/confluent/tools/tool-metadata-handler.d.ts.map +1 -0
  417. package/dist/confluent/tools/tool-metadata-handler.js +61 -0
  418. package/dist/confluent/tools/tool-metadata-handler.js.map +1 -0
  419. package/dist/confluent/tools/tool-name.d.ts +7 -2
  420. package/dist/confluent/tools/tool-name.d.ts.map +1 -1
  421. package/dist/confluent/tools/tool-name.js +6 -1
  422. package/dist/confluent/tools/tool-name.js.map +1 -1
  423. package/dist/confluent/tools/tool-registry.d.ts +1 -1
  424. package/dist/confluent/tools/tool-registry.d.ts.map +1 -1
  425. package/dist/confluent/tools/tool-registry.js +24 -2
  426. package/dist/confluent/tools/tool-registry.js.map +1 -1
  427. package/dist/env-schema.d.ts +0 -1
  428. package/dist/env-schema.d.ts.map +1 -1
  429. package/dist/env-schema.js +0 -7
  430. package/dist/env-schema.js.map +1 -1
  431. package/dist/env.d.ts +1 -2
  432. package/dist/env.d.ts.map +1 -1
  433. package/dist/index.d.ts +54 -64
  434. package/dist/index.d.ts.map +1 -1
  435. package/dist/index.js +78 -324
  436. package/dist/index.js.map +1 -1
  437. package/dist/lazy.d.ts +4 -2
  438. package/dist/lazy.d.ts.map +1 -1
  439. package/dist/lazy.js +27 -12
  440. package/dist/lazy.js.map +1 -1
  441. package/dist/logger.d.ts +1 -1
  442. package/dist/logger.d.ts.map +1 -1
  443. package/dist/mcp/server.d.ts +6 -4
  444. package/dist/mcp/server.d.ts.map +1 -1
  445. package/dist/mcp/server.js +19 -6
  446. package/dist/mcp/server.js.map +1 -1
  447. package/dist/mcp/transports/auth.d.ts +1 -1
  448. package/dist/mcp/transports/auth.d.ts.map +1 -1
  449. package/dist/mcp/transports/http.d.ts +3 -3
  450. package/dist/mcp/transports/http.d.ts.map +1 -1
  451. package/dist/mcp/transports/manager.d.ts +1 -1
  452. package/dist/mcp/transports/manager.d.ts.map +1 -1
  453. package/dist/mcp/transports/manager.js.map +1 -1
  454. package/dist/mcp/transports/ping.d.ts +1 -1
  455. package/dist/mcp/transports/ping.d.ts.map +1 -1
  456. package/dist/mcp/transports/server.d.ts +3 -3
  457. package/dist/mcp/transports/server.d.ts.map +1 -1
  458. package/dist/mcp/transports/server.js +1 -1
  459. package/dist/mcp/transports/server.js.map +1 -1
  460. package/dist/mcp/transports/sse.d.ts +3 -3
  461. package/dist/mcp/transports/sse.d.ts.map +1 -1
  462. package/dist/mcp/transports/stdio.d.ts +2 -2
  463. package/dist/mcp/transports/stdio.d.ts.map +1 -1
  464. package/dist/preflight.d.ts +33 -0
  465. package/dist/preflight.d.ts.map +1 -0
  466. package/dist/preflight.js +68 -0
  467. package/dist/preflight.js.map +1 -0
  468. package/dist/print-md-schema.js +21 -18
  469. package/dist/print-md-schema.js.map +1 -1
  470. package/dist/server-main.d.ts +104 -0
  471. package/dist/server-main.d.ts.map +1 -0
  472. package/dist/server-main.js +410 -0
  473. package/dist/server-main.js.map +1 -0
  474. package/dist/server-runtime.d.ts +22 -7
  475. package/dist/server-runtime.d.ts.map +1 -1
  476. package/dist/server-runtime.js +45 -28
  477. package/dist/server-runtime.js.map +1 -1
  478. package/dist/utils/quote-join-ids.d.ts +9 -0
  479. package/dist/utils/quote-join-ids.d.ts.map +1 -0
  480. package/dist/utils/quote-join-ids.js +11 -0
  481. package/dist/utils/quote-join-ids.js.map +1 -0
  482. package/package.json +37 -35
  483. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts +0 -9
  484. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +0 -1
  485. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +0 -1
  486. package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts +0 -18
  487. package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts.map +0 -1
  488. package/dist/confluent/tools/handlers/kafka/topic-metadata.js +0 -18
  489. package/dist/confluent/tools/handlers/kafka/topic-metadata.js.map +0 -1
@@ -7,8 +7,8 @@ import { ToolName } from "../../../../confluent/tools/tool-name.js";
7
7
  import { z } from "zod";
8
8
  const messageOptions = z.object({
9
9
  message: z
10
- .union([z.object({}).passthrough(), z.string()])
11
- .describe("The payload to produce. If using schema registry, this should be an object matching the schema. Otherwise, a string."),
10
+ .union([z.object({}).passthrough(), z.string(), z.number(), z.boolean()])
11
+ .describe("The payload to produce. When using schema registry, this should match the schema: an object for record schemas, or a primitive (string/number/boolean) for top-level primitive schemas such as Avro long. Without schema registry, a string is sent raw and anything else is JSON-encoded."),
12
12
  useSchemaRegistry: z
13
13
  .boolean()
14
14
  .optional()
@@ -22,14 +22,46 @@ const messageOptions = z.object({
22
22
  .string()
23
23
  .optional()
24
24
  .describe("Schema definition to register (as JSON string for AVRO/JSON, or .proto for PROTOBUF). If omitted, uses latest registered schema."),
25
+ messageName: z
26
+ .string()
27
+ .optional()
28
+ .describe("Fully-qualified Protobuf message type to encode the payload as (e.g. com.example.User). Required when schemaType is PROTOBUF; ignored otherwise. Payload keys may use either the proto field name (e.g. user_id) or its camelCase JSON name (e.g. userId)."),
25
29
  subject: z
26
30
  .string()
27
31
  .optional()
28
32
  .describe("Schema Registry subject. Defaults to {topicName}-value or {topicName}-key."),
29
33
  normalize: z.boolean().optional(),
34
+ schemaIdLocation: z
35
+ .enum(["payload", "header"])
36
+ .optional()
37
+ .default("payload")
38
+ .describe('Where the Schema Registry schema identifier is written on the wire when useSchemaRegistry is true. "payload" (default) embeds the integer schema ID as magic bytes at the front of the serialized payload — the standard Confluent wire format. "header" writes the schema GUID (UUID) to the __value_schema_id / __key_schema_id Kafka record header and leaves the payload as bare serialized bytes; the matching consume-messages decode reads it back from the header. Ignored when useSchemaRegistry is false.'),
30
39
  });
31
- const valueOptions = z.object({}).extend(messageOptions.shape);
32
- const keyOptions = z.object({}).extend(messageOptions.shape);
40
+ // PROTOBUF serialization needs a fully-qualified message type to encode the
41
+ // payload as; AVRO/JSON do not. Surface the requirement in the schema so the
42
+ // contract is visible to callers rather than only failing at serialize time.
43
+ // Only enforce when schema registry is actually in use: with useSchemaRegistry
44
+ // false, schemaType is ignored and the payload is sent raw, so messageName is
45
+ // irrelevant and requiring it would reject otherwise-valid raw produces.
46
+ const requireMessageNameForProtobuf = (opts, ctx) => {
47
+ if (opts.useSchemaRegistry &&
48
+ opts.schemaType === "PROTOBUF" &&
49
+ !opts.messageName) {
50
+ ctx.addIssue({
51
+ code: "custom",
52
+ message: "messageName is required when schemaType is PROTOBUF (e.g. com.example.User).",
53
+ path: ["messageName"],
54
+ });
55
+ }
56
+ };
57
+ const valueOptions = z
58
+ .object({})
59
+ .extend(messageOptions.shape)
60
+ .superRefine(requireMessageNameForProtobuf);
61
+ const keyOptions = z
62
+ .object({})
63
+ .extend(messageOptions.shape)
64
+ .superRefine(requireMessageNameForProtobuf);
33
65
  const produceKafkaMessageArguments = z.object({
34
66
  topicName: z
35
67
  .string()
@@ -45,7 +77,62 @@ const produceKafkaMessageArguments = z.object({
45
77
  .string()
46
78
  .optional()
47
79
  .describe("Confluent Cloud environment ID (env-...) that owns the cluster. Discover via list-environments."),
80
+ partition: z
81
+ .number()
82
+ .int()
83
+ .min(0)
84
+ .optional()
85
+ .describe("Target partition number. If omitted, the producer's partitioner picks one — hashing the record key when one is set, or choosing a partition otherwise (random by default under librdkafka)."),
86
+ timestamp: z
87
+ .union([z.string(), z.number().int().min(0)])
88
+ .optional()
89
+ .describe('Record timestamp: a Date.parse-able date-time string (ISO 8601 recommended, e.g. "2026-05-14T17:00:00Z") or a non-negative integer ms-since-epoch number. If omitted, the record is stamped with the producer client\'s current time (CreateTime); a topic configured for LogAppendTime instead has the broker override the timestamp on append.'),
90
+ headers: z
91
+ .record(z.string(), z.union([z.string(), z.array(z.string())]))
92
+ .optional()
93
+ .describe("Kafka record headers as a map of name to a string or array of strings (multi-valued). Sent as raw headers, independent of schema-registry serialization of the key/value."),
48
94
  });
95
+ /**
96
+ * Parse a user-supplied record timestamp into epoch milliseconds, accepting any
97
+ * Date.parse-able date-time string or a ms-since-epoch number. Returns null when
98
+ * the value can't be parsed into a finite, non-negative instant — Date.parse maps
99
+ * pre-1970 date-times to negative ms, which the numeric branch already rejects at
100
+ * the Zod boundary, so the string branch must reject them too.
101
+ */
102
+ function toEpochMs(input) {
103
+ const ms = typeof input === "number" ? input : Date.parse(input);
104
+ return Number.isFinite(ms) && ms >= 0 ? ms : null;
105
+ }
106
+ /**
107
+ * Reduce a librdkafka delivery report into user-facing text plus the aggregate
108
+ * error flag — any record with a non-zero errorCode marks the whole response an
109
+ * error.
110
+ */
111
+ function formatDeliveryReport(deliveryReport) {
112
+ const message = deliveryReport
113
+ .map((metadata) => metadata.errorCode === 0
114
+ ? `Message produced successfully to [Topic: ${metadata.topicName}, Partition: ${metadata.partition}, Offset: ${metadata.offset}]`
115
+ : `Error producing message to [Topic: ${metadata.topicName}, Partition: ${metadata.partition}, Offset: ${metadata.offset} with ErrorCode: ${metadata.errorCode}]`)
116
+ .join("\n");
117
+ const isError = deliveryReport.some((metadata) => metadata.errorCode !== 0);
118
+ return { message, isError };
119
+ }
120
+ /**
121
+ * Build the producer message from the serialized key/value and the optional
122
+ * record-level metadata, omitting any field the caller didn't supply.
123
+ */
124
+ function assembleProducerMessage(parts) {
125
+ const message = { value: parts.value };
126
+ if (parts.key !== undefined)
127
+ message.key = parts.key;
128
+ if (parts.partition !== undefined)
129
+ message.partition = parts.partition;
130
+ if (parts.timestampMs !== undefined)
131
+ message.timestamp = String(parts.timestampMs);
132
+ if (parts.headers !== undefined)
133
+ message.headers = parts.headers;
134
+ return message;
135
+ }
49
136
  /**
50
137
  * Handler for producing messages to a Kafka topic, with support for Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both key and value.
51
138
  *
@@ -67,6 +154,24 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
67
154
  return null;
68
155
  return this.createResponse(`No schema registered for subject '${result.subject}', and no schema provided to register.`, true);
69
156
  }
157
+ /**
158
+ * Run the pre-serialization schema check for both sides. Returns an error
159
+ * CallToolResult when either side needs a registered schema that isn't there
160
+ * (and none was provided to register), or null when both sides are ready.
161
+ */
162
+ async checkSchemasReady(topicName, value, key, registry) {
163
+ const valueSchemaCheck = await checkSchemaNeeded(topicName, value, SerdeType.VALUE, registry);
164
+ const valueSchemaResult = this.handleSchemaCheckResult(valueSchemaCheck);
165
+ if (valueSchemaResult)
166
+ return valueSchemaResult;
167
+ if (key) {
168
+ const keySchemaCheck = await checkSchemaNeeded(topicName, key, SerdeType.KEY, registry);
169
+ const keySchemaResult = this.handleSchemaCheckResult(keySchemaCheck);
170
+ if (keySchemaResult)
171
+ return keySchemaResult;
172
+ }
173
+ return null;
174
+ }
70
175
  /**
71
176
  * Main handler for producing a message to a Kafka topic, including schema registry logic and serialization.
72
177
  * Handles both value and key, and returns a CallToolResult with the outcome.
@@ -76,32 +181,35 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
76
181
  */
77
182
  async handle(runtime, toolArguments) {
78
183
  const parsed = produceKafkaMessageArguments.parse(toolArguments);
79
- const { topicName, value, key } = parsed;
80
- const { connId, clientManager } = this.resolveSoleConnection(runtime);
184
+ const { topicName, value, key, partition, timestamp, headers } = parsed;
185
+ const { connId, clientManager } = this.resolveConnection(runtime, toolArguments);
81
186
  const resolved = resolveKafkaClusterArgs(parsed, runtime, connId);
187
+ let timestampMs;
188
+ if (timestamp !== undefined) {
189
+ const ms = toEpochMs(timestamp);
190
+ if (ms === null) {
191
+ return this.createResponse(`Invalid timestamp '${timestamp}': expected a Date.parse-able date-time string (e.g. ISO 8601) or a non-negative integer ms-since-epoch number.`, true);
192
+ }
193
+ timestampMs = ms;
194
+ }
82
195
  const needsRegistry = (value && value.useSchemaRegistry) || (key && key.useSchemaRegistry);
83
196
  let registry;
84
197
  if (needsRegistry) {
85
198
  registry = await clientManager.getSchemaRegistrySdkClient(resolved.envId);
86
199
  }
87
- // Check for latest schema if needed (value)
88
- const valueSchemaCheck = await checkSchemaNeeded(topicName, value, SerdeType.VALUE, registry);
89
- const valueSchemaResult = this.handleSchemaCheckResult(valueSchemaCheck);
90
- if (valueSchemaResult)
91
- return valueSchemaResult;
92
- // Check for latest schema if needed (key)
93
- if (key) {
94
- const keySchemaCheck = await checkSchemaNeeded(topicName, key, SerdeType.KEY, registry);
95
- const keySchemaResult = this.handleSchemaCheckResult(keySchemaCheck);
96
- if (keySchemaResult)
97
- return keySchemaResult;
98
- }
200
+ const schemaIssue = await this.checkSchemasReady(topicName, value, key, registry);
201
+ if (schemaIssue)
202
+ return schemaIssue;
203
+ // One header map per record: seeded from the caller's headers, then handed
204
+ // to both serialize calls so a schemaIdLocation: "header" side writes its
205
+ // __value_schema_id / __key_schema_id into the same map the record carries.
206
+ const recordHeaders = { ...headers };
99
207
  let valueToSend;
100
208
  let keyToSend;
101
209
  try {
102
- valueToSend = await serializeMessage(topicName, value, SerdeType.VALUE, registry);
210
+ valueToSend = await serializeMessage(topicName, value, SerdeType.VALUE, registry, recordHeaders);
103
211
  if (key) {
104
- keyToSend = await serializeMessage(topicName, key, SerdeType.KEY, registry);
212
+ keyToSend = await serializeMessage(topicName, key, SerdeType.KEY, registry, recordHeaders);
105
213
  }
106
214
  }
107
215
  catch (err) {
@@ -117,25 +225,23 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
117
225
  deliveryReport = await producer.send({
118
226
  topic: topicName,
119
227
  messages: [
120
- typeof keyToSend !== "undefined"
121
- ? { key: keyToSend, value: valueToSend }
122
- : { value: valueToSend },
228
+ assembleProducerMessage({
229
+ value: valueToSend,
230
+ key: keyToSend,
231
+ partition,
232
+ timestampMs,
233
+ headers: Object.keys(recordHeaders).length > 0
234
+ ? recordHeaders
235
+ : undefined,
236
+ }),
123
237
  ],
124
238
  });
125
239
  }
126
240
  catch (err) {
127
241
  return this.createResponse(`Failed to produce message: ${formatKafkaError(err)}`, true);
128
242
  }
129
- const formattedResponse = deliveryReport
130
- .map((metadata) => {
131
- if (metadata.errorCode !== 0) {
132
- return `Error producing message to [Topic: ${metadata.topicName}, Partition: ${metadata.partition}, Offset: ${metadata.offset} with ErrorCode: ${metadata.errorCode}]`;
133
- }
134
- return `Message produced successfully to [Topic: ${metadata.topicName}, Partition: ${metadata.partition}, Offset: ${metadata.offset}]`;
135
- })
136
- .join("\n");
137
- const isError = deliveryReport.some((metadata) => metadata.errorCode !== 0);
138
- return this.createResponse(formattedResponse, isError);
243
+ const { message, isError } = formatDeliveryReport(deliveryReport);
244
+ return this.createResponse(message, isError);
139
245
  }
140
246
  finally {
141
247
  await disposeIfOAuth(runtime, connId, producer);
@@ -148,7 +254,7 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
148
254
  getToolConfig() {
149
255
  return {
150
256
  name: ToolName.PRODUCE_MESSAGE,
151
- description: `Produce records to a Kafka topic. Supports Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both key and value.\n\nBefore producing, check if the topic has a registered schema for <topicName>-value and <topicName>-key. If a schema exists, set useSchemaRegistry to true and specify the appropriate schemaType. If the topic does not exist, it can be created via the ${ToolName.CREATE_TOPICS} tool.`,
257
+ description: `Produce records to a Kafka topic. Supports Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both key and value, plus optional record-level partition, timestamp, and headers for faithful reproduction of records across clusters.\n\nBefore producing, check if the topic has a registered schema for <topicName>-value and <topicName>-key. If a schema exists, set useSchemaRegistry to true and specify the appropriate schemaType. If the topic does not exist, it can be created via the ${ToolName.CREATE_TOPICS} tool.`,
152
258
  inputSchema: produceKafkaMessageArguments.shape,
153
259
  annotations: CREATE_UPDATE,
154
260
  };
@@ -1 +1 @@
1
- {"version":3,"file":"produce-kafka-message-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/produce-kafka-message-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"produce-kafka-message-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/produce-kafka-message-handler.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { CallToolResult } from "../../../../confluent/schema.js";
2
- import { BaseToolHandler, ToolCategory, ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
- import { hasTelemetry } from "../../../../confluent/tools/connection-predicates.js";
4
- import { ServerRuntime } from "../../../../server-runtime.js";
1
+ import type { CallToolResult } from "../../../../confluent/schema.js";
2
+ import type { ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
+ import { BaseToolHandler, ToolCategory } from "../../../../confluent/tools/base-tools.js";
4
+ import type { ServerRuntime } from "../../../../server-runtime.js";
5
5
  export declare class ListMetricsHandler extends BaseToolHandler {
6
6
  handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
7
7
  getToolConfig(): ToolConfig;
8
8
  readonly category = ToolCategory.Metrics;
9
- readonly predicate: typeof hasTelemetry;
9
+ readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
10
10
  }
11
11
  //# sourceMappingURL=list-metrics-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-metrics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/list-metrics-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,UAAU,EACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAG7E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAoIvD,qBAAa,kBAAmB,SAAQ,eAAe;IAC/C,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IA6G1B,aAAa,IAAI,UAAU;IAS3B,QAAQ,CAAC,QAAQ,wBAAwB;IACzC,QAAQ,CAAC,SAAS,sBAAgB;CACnC"}
1
+ {"version":3,"file":"list-metrics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/list-metrics-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EACL,eAAe,EAEf,YAAY,EACb,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAoI5D,qBAAa,kBAAmB,SAAQ,eAAe;IAC/C,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAoC1B,aAAa,IAAI,UAAU;IAS3B,QAAQ,CAAC,QAAQ,wBAAwB;IACzC,QAAQ,CAAC,SAAS,8EAAuB;CAC1C"}
@@ -1,5 +1,6 @@
1
1
  import { BaseToolHandler, READ_ONLY, ToolCategory, } from "../../../../confluent/tools/base-tools.js";
2
- import { hasTelemetry } from "../../../../confluent/tools/connection-predicates.js";
2
+ import { hasTelemetryOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
3
+ import { describeTelemetryError, formatHttpStatusPart, } from "../../../../confluent/tools/handlers/metrics/telemetry-error.js";
3
4
  import { ToolName } from "../../../../confluent/tools/tool-name.js";
4
5
  import { logger } from "../../../../logger.js";
5
6
  import { z } from "zod";
@@ -109,72 +110,22 @@ const KAFKA_SERVER_METRICS = [
109
110
  ];
110
111
  export class ListMetricsHandler extends BaseToolHandler {
111
112
  async handle(runtime, toolArguments) {
112
- const clientManager = runtime.clientManager;
113
113
  const { resource_type } = listMetricsArguments.parse(toolArguments);
114
+ const { clientManager } = this.resolveConnection(runtime, toolArguments);
114
115
  try {
115
- const telemetryClient = clientManager.getConfluentCloudTelemetryRestClient();
116
- // Fetch both metrics and resources descriptors
117
- const [metricsResponse, resourcesResponse] = await Promise.all([
118
- telemetryClient.GET("/v2/metrics/{dataset}/descriptors/metrics", { params: { path: { dataset: "cloud" } } }),
119
- telemetryClient.GET("/v2/metrics/{dataset}/descriptors/resources", { params: { path: { dataset: "cloud" } } }),
120
- ]);
121
- const metrics = metricsResponse.data?.data;
122
- const resources = resourcesResponse.data?.data;
116
+ const { metrics, resources } = await fetchDescriptors(clientManager.getConfluentCloudTelemetryRestClient());
123
117
  if (!metrics || metrics.length === 0) {
124
118
  return this.createResponse("No metrics descriptors available from the Telemetry API.", true);
125
119
  }
126
- // Filter by resource type if specified
127
- let filteredMetrics = resource_type
128
- ? metrics.filter((m) => m.resources.includes(resource_type))
129
- : metrics;
130
- // The descriptors endpoint may not list Kafka server metrics depending
131
- // on API key permissions, but they still work when queried directly.
132
- // Include well-known Kafka server metrics as a fallback.
133
- if ((!resource_type || resource_type === "kafka") &&
134
- !filteredMetrics.some((m) => m.name.startsWith("io.confluent.kafka.server/"))) {
135
- const kafkaServerMetrics = KAFKA_SERVER_METRICS.map((m) => ({
136
- ...m,
137
- type: "GAUGE_DOUBLE",
138
- unit: m.unit,
139
- lifecycle_stage: "GENERAL_AVAILABILITY",
140
- resources: ["kafka"],
141
- }));
142
- filteredMetrics = [...kafkaServerMetrics, ...filteredMetrics];
143
- }
144
- // Format resources section
145
- const lines = [];
146
- if (resources && resources.length > 0) {
147
- const relevantResources = resource_type
148
- ? resources.filter((r) => r.type === resource_type)
149
- : resources;
150
- if (relevantResources.length > 0) {
151
- lines.push("Resource Types and Filter Fields:");
152
- for (const r of relevantResources) {
153
- lines.push(` ${r.type}: ${r.description}`);
154
- for (const label of r.labels) {
155
- lines.push(` resource.${label.key} — ${label.description}`);
156
- }
157
- }
158
- lines.push("");
159
- }
160
- }
161
- // Format metrics
162
- lines.push(`Available Metrics${resource_type ? ` (${resource_type})` : ""}: ${filteredMetrics.length}`);
163
- lines.push("");
164
- for (const m of filteredMetrics) {
165
- lines.push(`${m.name}`);
166
- lines.push(` ${m.description}`);
167
- lines.push(` Type: ${m.type} | Unit: ${m.unit} | Resources: ${m.resources.join(", ")}`);
168
- if (m.labels.length > 0) {
169
- const labelKeys = m.labels.map((l) => `metric.${l.key}`).join(", ");
170
- lines.push(` Filter/group_by labels: ${labelKeys}`);
171
- }
172
- lines.push("");
173
- }
120
+ const filteredMetrics = withKafkaServerFallback(filterMetricsByResourceType(metrics, resource_type), resource_type);
121
+ const lines = [
122
+ ...formatResourcesSection(resources, resource_type),
123
+ ...formatMetricsSection(filteredMetrics, resource_type),
124
+ ];
174
125
  return this.createResponse(lines.join("\n").trimEnd());
175
126
  }
176
127
  catch (error) {
177
- logger.error({ error }, "Error in ListMetricsHandler");
128
+ logger.error({ err: error }, "Error in ListMetricsHandler");
178
129
  return this.createResponse(`Failed to list metrics: ${error instanceof Error ? error.message : String(error)}`, true);
179
130
  }
180
131
  }
@@ -187,6 +138,100 @@ export class ListMetricsHandler extends BaseToolHandler {
187
138
  };
188
139
  }
189
140
  category = ToolCategory.Metrics;
190
- predicate = hasTelemetry;
141
+ predicate = hasTelemetryOrOAuth;
142
+ }
143
+ /**
144
+ * Fetch the metrics and resources descriptor lists from the Telemetry API in
145
+ * parallel. Metrics descriptors are essential — an HTTP failure there throws so
146
+ * `handle()` surfaces the real cause. Resources descriptors are best-effort:
147
+ * they only feed the optional "Resource Types" section, so a failure there is
148
+ * logged and the section is omitted rather than failing the whole call.
149
+ */
150
+ async function fetchDescriptors(telemetryClient) {
151
+ const [metricsResult, resourcesResult] = await Promise.all([
152
+ telemetryClient.GET("/v2/metrics/{dataset}/descriptors/metrics", {
153
+ params: { path: { dataset: "cloud" } },
154
+ }),
155
+ telemetryClient.GET("/v2/metrics/{dataset}/descriptors/resources", { params: { path: { dataset: "cloud" } } }),
156
+ ]);
157
+ return {
158
+ metrics: requireDescriptors("metrics", metricsResult),
159
+ resources: optionalDescriptors("resources", resourcesResult),
160
+ };
161
+ }
162
+ /**
163
+ * Return the descriptor payload, throwing an actionable error when the
164
+ * Telemetry API reported an HTTP-level failure so `handle()` surfaces the real
165
+ * cause instead of a misleading "no descriptors available" message.
166
+ */
167
+ function requireDescriptors(kind, result) {
168
+ if (result.error !== undefined) {
169
+ const statusPart = formatHttpStatusPart(result.response?.status);
170
+ throw new Error(`Telemetry API error fetching ${kind} descriptors${statusPart}: ${describeTelemetryError(result.error)}`);
171
+ }
172
+ return result.data?.data;
173
+ }
174
+ /**
175
+ * Return the descriptor payload, or `undefined` (with a logged warning) when
176
+ * the Telemetry API reported an HTTP-level failure — for best-effort sections
177
+ * that should degrade gracefully rather than fail the whole call.
178
+ */
179
+ function optionalDescriptors(kind, result) {
180
+ if (result.error !== undefined) {
181
+ logger.warn({ err: result.error, status: result.response?.status, kind }, "Telemetry API descriptors request failed; omitting best-effort section");
182
+ return undefined;
183
+ }
184
+ return result.data?.data;
185
+ }
186
+ function filterMetricsByResourceType(metrics, resourceType) {
187
+ return resourceType
188
+ ? metrics.filter((m) => m.resources.includes(resourceType))
189
+ : metrics;
190
+ }
191
+ /**
192
+ * Prepend well-known Kafka server metrics when the filtered set covers Kafka
193
+ * yet lacks them. The descriptors endpoint may omit these depending on API key
194
+ * permissions, but they remain queryable directly, so we surface them anyway.
195
+ */
196
+ function withKafkaServerFallback(filteredMetrics, resourceType) {
197
+ const kafkaInScope = !resourceType || resourceType === "kafka";
198
+ const alreadyPresent = filteredMetrics.some((m) => m.name.startsWith("io.confluent.kafka.server/"));
199
+ if (!kafkaInScope || alreadyPresent) {
200
+ return filteredMetrics;
201
+ }
202
+ const kafkaServerMetrics = KAFKA_SERVER_METRICS.map((m) => ({
203
+ ...m,
204
+ type: "GAUGE_DOUBLE",
205
+ unit: m.unit,
206
+ lifecycle_stage: "GENERAL_AVAILABILITY",
207
+ resources: ["kafka"],
208
+ }));
209
+ return [...kafkaServerMetrics, ...filteredMetrics];
210
+ }
211
+ function formatResourcesSection(resources, resourceType) {
212
+ const relevantResources = (resources ?? []).filter((r) => !resourceType || r.type === resourceType);
213
+ if (relevantResources.length === 0) {
214
+ return [];
215
+ }
216
+ const lines = ["Resource Types and Filter Fields:"];
217
+ for (const r of relevantResources) {
218
+ lines.push(` ${r.type}: ${r.description}`);
219
+ for (const label of r.labels) {
220
+ lines.push(` resource.${label.key} — ${label.description}`);
221
+ }
222
+ }
223
+ lines.push("");
224
+ return lines;
225
+ }
226
+ function formatMetricsSection(filteredMetrics, resourceType) {
227
+ const scope = resourceType ? ` (${resourceType})` : "";
228
+ const lines = [`Available Metrics${scope}: ${filteredMetrics.length}`, ""];
229
+ for (const m of filteredMetrics) {
230
+ const detail = ` Type: ${m.type} | Unit: ${m.unit} | Resources: ${m.resources.join(", ")}`;
231
+ const labelKeys = m.labels.map((l) => `metric.${l.key}`).join(", ");
232
+ const labelLine = m.labels.length > 0 ? [` Filter/group_by labels: ${labelKeys}`] : [];
233
+ lines.push(`${m.name}`, ` ${m.description}`, detail, ...labelLine, "");
234
+ }
235
+ return lines;
191
236
  }
192
237
  //# sourceMappingURL=list-metrics-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-metrics-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/list-metrics-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-metrics-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/list-metrics-handler.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { CallToolResult } from "../../../../confluent/schema.js";
2
- import { BaseToolHandler, ToolCategory, ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
- import { hasTelemetry } from "../../../../confluent/tools/connection-predicates.js";
4
- import { ServerRuntime } from "../../../../server-runtime.js";
1
+ import type { CallToolResult } from "../../../../confluent/schema.js";
2
+ import type { ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
+ import { BaseToolHandler, ToolCategory } from "../../../../confluent/tools/base-tools.js";
4
+ import type { ServerRuntime } from "../../../../server-runtime.js";
5
5
  export declare class QueryMetricsHandler extends BaseToolHandler {
6
6
  handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
7
7
  getToolConfig(): ToolConfig;
8
8
  readonly category = ToolCategory.Metrics;
9
- readonly predicate: typeof hasTelemetry;
9
+ readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
10
10
  }
11
11
  /**
12
12
  * Normalises the caller-supplied interval to a "start/end" pair.
@@ -1 +1 @@
1
- {"version":3,"file":"query-metrics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/query-metrics-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,UAAU,EACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAG7E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA4DvD,qBAAa,mBAAoB,SAAQ,eAAe;IAChD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IA+F1B,aAAa,IAAI,UAAU;IAS3B,QAAQ,CAAC,QAAQ,wBAAwB;IACzC,QAAQ,CAAC,SAAS,sBAAgB;CACnC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMpE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC1C,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCzB"}
1
+ {"version":3,"file":"query-metrics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/query-metrics-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EACL,eAAe,EAEf,YAAY,EACb,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA4D5D,qBAAa,mBAAoB,SAAQ,eAAe;IAChD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IA+G1B,aAAa,IAAI,UAAU;IAS3B,QAAQ,CAAC,QAAQ,wBAAwB;IACzC,QAAQ,CAAC,SAAS,8EAAuB;CAC1C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMpE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC1C,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCzB"}