@confluentinc/mcp-confluent 1.2.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/README.md +299 -240
  2. package/assets/oauth-templates/callback-failure.html +22 -0
  3. package/assets/oauth-templates/callback-success.html +99 -0
  4. package/assets/oauth-templates/logo.html +91 -0
  5. package/assets/oauth-templates/styles.html +110 -0
  6. package/config.example.yaml +149 -0
  7. package/config.oauth.example.yaml +45 -0
  8. package/dist/cli.d.ts +59 -12
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +131 -61
  11. package/dist/cli.js.map +1 -1
  12. package/dist/config/env-config.d.ts +33 -0
  13. package/dist/config/env-config.d.ts.map +1 -0
  14. package/dist/config/env-config.js +478 -0
  15. package/dist/config/env-config.js.map +1 -0
  16. package/dist/config/index.d.ts +31 -0
  17. package/dist/config/index.d.ts.map +1 -0
  18. package/dist/config/index.js +76 -0
  19. package/dist/config/index.js.map +1 -0
  20. package/dist/config/interpolation.d.ts +9 -0
  21. package/dist/config/interpolation.d.ts.map +1 -0
  22. package/dist/config/interpolation.js +51 -0
  23. package/dist/config/interpolation.js.map +1 -0
  24. package/dist/config/models.d.ts +399 -0
  25. package/dist/config/models.d.ts.map +1 -0
  26. package/dist/config/models.js +406 -0
  27. package/dist/config/models.js.map +1 -0
  28. package/dist/config/validation.d.ts +9 -0
  29. package/dist/config/validation.d.ts.map +1 -0
  30. package/dist/config/validation.js +46 -0
  31. package/dist/config/validation.js.map +1 -0
  32. package/dist/confluent/base-client-manager.d.ts +133 -0
  33. package/dist/confluent/base-client-manager.d.ts.map +1 -0
  34. package/dist/confluent/base-client-manager.js +188 -0
  35. package/dist/confluent/base-client-manager.js.map +1 -0
  36. package/dist/confluent/client-manager.d.ts +42 -77
  37. package/dist/confluent/client-manager.d.ts.map +1 -1
  38. package/dist/confluent/client-manager.js +5 -213
  39. package/dist/confluent/client-manager.js.map +1 -1
  40. package/dist/confluent/config-telemetry.d.ts +41 -0
  41. package/dist/confluent/config-telemetry.d.ts.map +1 -0
  42. package/dist/confluent/config-telemetry.js +17 -0
  43. package/dist/confluent/config-telemetry.js.map +1 -0
  44. package/dist/confluent/direct-client-manager.d.ts +43 -0
  45. package/dist/confluent/direct-client-manager.d.ts.map +1 -0
  46. package/dist/confluent/direct-client-manager.js +154 -0
  47. package/dist/confluent/direct-client-manager.js.map +1 -0
  48. package/dist/confluent/middleware.d.ts +32 -4
  49. package/dist/confluent/middleware.d.ts.map +1 -1
  50. package/dist/confluent/middleware.js +46 -2
  51. package/dist/confluent/middleware.js.map +1 -1
  52. package/dist/confluent/node-deps.d.ts +33 -39
  53. package/dist/confluent/node-deps.d.ts.map +1 -1
  54. package/dist/confluent/node-deps.js +48 -7
  55. package/dist/confluent/node-deps.js.map +1 -1
  56. package/dist/confluent/oauth/auth-context.d.ts +94 -0
  57. package/dist/confluent/oauth/auth-context.d.ts.map +1 -0
  58. package/dist/confluent/oauth/auth-context.js +323 -0
  59. package/dist/confluent/oauth/auth-context.js.map +1 -0
  60. package/dist/confluent/oauth/auth0-config.d.ts +12 -0
  61. package/dist/confluent/oauth/auth0-config.d.ts.map +1 -0
  62. package/dist/confluent/oauth/auth0-config.js +43 -0
  63. package/dist/confluent/oauth/auth0-config.js.map +1 -0
  64. package/dist/confluent/oauth/callback-pages.d.ts +13 -0
  65. package/dist/confluent/oauth/callback-pages.d.ts.map +1 -0
  66. package/dist/confluent/oauth/callback-pages.js +47 -0
  67. package/dist/confluent/oauth/callback-pages.js.map +1 -0
  68. package/dist/confluent/oauth/crypto-utils.d.ts +16 -0
  69. package/dist/confluent/oauth/crypto-utils.d.ts.map +1 -0
  70. package/dist/confluent/oauth/crypto-utils.js +23 -0
  71. package/dist/confluent/oauth/crypto-utils.js.map +1 -0
  72. package/dist/confluent/oauth/errors.d.ts +27 -0
  73. package/dist/confluent/oauth/errors.d.ts.map +1 -0
  74. package/dist/confluent/oauth/errors.js +6 -0
  75. package/dist/confluent/oauth/errors.js.map +1 -0
  76. package/dist/confluent/oauth/oauth-holder.d.ts +34 -0
  77. package/dist/confluent/oauth/oauth-holder.d.ts.map +1 -0
  78. package/dist/confluent/oauth/oauth-holder.js +155 -0
  79. package/dist/confluent/oauth/oauth-holder.js.map +1 -0
  80. package/dist/confluent/oauth/pkce-login.d.ts +45 -0
  81. package/dist/confluent/oauth/pkce-login.d.ts.map +1 -0
  82. package/dist/confluent/oauth/pkce-login.js +270 -0
  83. package/dist/confluent/oauth/pkce-login.js.map +1 -0
  84. package/dist/confluent/oauth/token-chain.d.ts +53 -0
  85. package/dist/confluent/oauth/token-chain.d.ts.map +1 -0
  86. package/dist/confluent/oauth/token-chain.js +141 -0
  87. package/dist/confluent/oauth/token-chain.js.map +1 -0
  88. package/dist/confluent/oauth/token-lifetimes.d.ts +13 -0
  89. package/dist/confluent/oauth/token-lifetimes.d.ts.map +1 -0
  90. package/dist/confluent/oauth/token-lifetimes.js +13 -0
  91. package/dist/confluent/oauth/token-lifetimes.js.map +1 -0
  92. package/dist/confluent/oauth/types.d.ts +68 -0
  93. package/dist/confluent/oauth/types.d.ts.map +1 -0
  94. package/dist/confluent/oauth/types.js +2 -0
  95. package/dist/confluent/oauth/types.js.map +1 -0
  96. package/dist/confluent/oauth-client-manager.d.ts +78 -0
  97. package/dist/confluent/oauth-client-manager.d.ts.map +1 -0
  98. package/dist/confluent/oauth-client-manager.js +265 -0
  99. package/dist/confluent/oauth-client-manager.js.map +1 -0
  100. package/dist/confluent/oauth-resource-resolvers.d.ts +6 -0
  101. package/dist/confluent/oauth-resource-resolvers.d.ts.map +1 -0
  102. package/dist/confluent/oauth-resource-resolvers.js +65 -0
  103. package/dist/confluent/oauth-resource-resolvers.js.map +1 -0
  104. package/dist/confluent/schema-registry-helper.d.ts +5 -9
  105. package/dist/confluent/schema-registry-helper.d.ts.map +1 -1
  106. package/dist/confluent/schema-registry-helper.js +1 -9
  107. package/dist/confluent/schema-registry-helper.js.map +1 -1
  108. package/dist/confluent/telemetry.d.ts +38 -1
  109. package/dist/confluent/telemetry.d.ts.map +1 -1
  110. package/dist/confluent/telemetry.js +37 -8
  111. package/dist/confluent/telemetry.js.map +1 -1
  112. package/dist/confluent/tools/base-tools.d.ts +140 -23
  113. package/dist/confluent/tools/base-tools.d.ts.map +1 -1
  114. package/dist/confluent/tools/base-tools.js +98 -4
  115. package/dist/confluent/tools/base-tools.js.map +1 -1
  116. package/dist/confluent/tools/cluster-arg-resolvers.d.ts +75 -0
  117. package/dist/confluent/tools/cluster-arg-resolvers.d.ts.map +1 -0
  118. package/dist/confluent/tools/cluster-arg-resolvers.js +127 -0
  119. package/dist/confluent/tools/cluster-arg-resolvers.js.map +1 -0
  120. package/dist/confluent/tools/connection-predicates.d.ts +176 -0
  121. package/dist/confluent/tools/connection-predicates.d.ts.map +1 -0
  122. package/dist/confluent/tools/connection-predicates.js +284 -0
  123. package/dist/confluent/tools/connection-predicates.js.map +1 -0
  124. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts +5 -6
  125. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts.map +1 -1
  126. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js +40 -11
  127. package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js.map +1 -1
  128. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +6 -6
  129. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts.map +1 -1
  130. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js +6 -9
  131. package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js.map +1 -1
  132. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts +6 -6
  133. package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
  134. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +6 -9
  135. package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
  136. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +6 -6
  137. package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
  138. package/dist/confluent/tools/handlers/catalog/delete-tag.js +6 -9
  139. package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
  140. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +6 -6
  141. package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
  142. package/dist/confluent/tools/handlers/catalog/list-tags.js +6 -9
  143. package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
  144. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +6 -6
  145. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts.map +1 -1
  146. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js +6 -9
  147. package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js.map +1 -1
  148. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts +5 -6
  149. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
  150. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +11 -13
  151. package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
  152. package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts +34 -0
  153. package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts.map +1 -0
  154. package/dist/confluent/tools/handlers/connect/connect-tool-handler.js +47 -0
  155. package/dist/confluent/tools/handlers/connect/connect-tool-handler.js.map +1 -0
  156. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts +11 -7
  157. package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
  158. package/dist/confluent/tools/handlers/connect/create-connector-handler.js +21 -21
  159. package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
  160. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts +6 -7
  161. package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
  162. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +10 -15
  163. package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
  164. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts +9 -0
  165. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts.map +1 -0
  166. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js +35 -0
  167. package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js.map +1 -0
  168. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts +9 -0
  169. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts.map +1 -0
  170. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js +66 -0
  171. package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js.map +1 -0
  172. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts +9 -0
  173. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts.map +1 -0
  174. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js +131 -0
  175. package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js.map +1 -0
  176. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts +9 -0
  177. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts.map +1 -0
  178. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js +244 -0
  179. package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js.map +1 -0
  180. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts +9 -0
  181. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts.map +1 -0
  182. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js +35 -0
  183. package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js.map +1 -0
  184. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts +9 -0
  185. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts.map +1 -0
  186. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js +44 -0
  187. package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js.map +1 -0
  188. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts +9 -0
  189. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts.map +1 -0
  190. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js +35 -0
  191. package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js.map +1 -0
  192. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts +6 -7
  193. package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
  194. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +15 -17
  195. package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
  196. package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts +9 -0
  197. package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts.map +1 -0
  198. package/dist/confluent/tools/handlers/connect/pause-connector-handler.js +35 -0
  199. package/dist/confluent/tools/handlers/connect/pause-connector-handler.js.map +1 -0
  200. package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts +9 -0
  201. package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts.map +1 -0
  202. package/dist/confluent/tools/handlers/connect/restart-connector-handler.js +35 -0
  203. package/dist/confluent/tools/handlers/connect/restart-connector-handler.js.map +1 -0
  204. package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts +9 -0
  205. package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts.map +1 -0
  206. package/dist/confluent/tools/handlers/connect/resume-connector-handler.js +35 -0
  207. package/dist/confluent/tools/handlers/connect/resume-connector-handler.js.map +1 -0
  208. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts +9 -0
  209. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts.map +1 -0
  210. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js +44 -0
  211. package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js.map +1 -0
  212. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts +58 -0
  213. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts.map +1 -0
  214. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js +135 -0
  215. package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js.map +1 -0
  216. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts +18 -0
  217. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts.map +1 -0
  218. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js +235 -0
  219. package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js.map +1 -0
  220. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts +14 -0
  221. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts.map +1 -0
  222. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js +286 -0
  223. package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js.map +1 -0
  224. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +11 -12
  225. package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
  226. package/dist/confluent/tools/handlers/environments/list-environments-handler.js +11 -14
  227. package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
  228. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +5 -6
  229. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
  230. package/dist/confluent/tools/handlers/environments/read-environment-handler.js +6 -9
  231. package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
  232. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts +32 -11
  233. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts.map +1 -1
  234. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js +22 -16
  235. package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js.map +1 -1
  236. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts +5 -7
  237. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts.map +1 -1
  238. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js +34 -30
  239. package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js.map +1 -1
  240. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts +14 -0
  241. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts.map +1 -0
  242. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.js +15 -0
  243. package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.js.map +1 -0
  244. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts +5 -7
  245. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts.map +1 -1
  246. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js +34 -30
  247. package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js.map +1 -1
  248. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts +5 -7
  249. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts.map +1 -1
  250. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js +21 -24
  251. package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js.map +1 -1
  252. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts +5 -7
  253. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts.map +1 -1
  254. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js +21 -24
  255. package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js.map +1 -1
  256. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts +5 -7
  257. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts.map +1 -1
  258. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js +22 -33
  259. package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js.map +1 -1
  260. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts +5 -7
  261. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts.map +1 -1
  262. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js +18 -23
  263. package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js.map +1 -1
  264. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts +5 -7
  265. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -1
  266. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +7 -13
  267. package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
  268. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts +5 -7
  269. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts.map +1 -1
  270. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js +7 -13
  271. package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js.map +1 -1
  272. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts +5 -7
  273. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts.map +1 -1
  274. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js +8 -15
  275. package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js.map +1 -1
  276. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts +2 -2
  277. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts.map +1 -1
  278. package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.js.map +1 -1
  279. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts +7 -7
  280. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts.map +1 -1
  281. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js +11 -17
  282. package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js.map +1 -1
  283. package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts +15 -2
  284. package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts.map +1 -1
  285. package/dist/confluent/tools/handlers/flink/flink-sql-helper.js.map +1 -1
  286. package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts +22 -0
  287. package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts.map +1 -0
  288. package/dist/confluent/tools/handlers/flink/flink-tool-handler.js +32 -0
  289. package/dist/confluent/tools/handlers/flink/flink-tool-handler.js.map +1 -0
  290. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts +5 -7
  291. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts.map +1 -1
  292. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js +7 -13
  293. package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js.map +1 -1
  294. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts +5 -7
  295. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts.map +1 -1
  296. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js +9 -17
  297. package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
  298. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts +5 -7
  299. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +1 -1
  300. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js +7 -13
  301. package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +1 -1
  302. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +5 -6
  303. package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
  304. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +22 -20
  305. package/dist/confluent/tools/handlers/kafka/alter-topic-config.js.map +1 -1
  306. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts +216 -30
  307. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -1
  308. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +797 -70
  309. package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -1
  310. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.d.ts +48 -0
  311. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.d.ts.map +1 -0
  312. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.js +84 -0
  313. package/dist/confluent/tools/handlers/kafka/consumer-group-enums.js.map +1 -0
  314. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.d.ts +54 -0
  315. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.d.ts.map +1 -0
  316. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.js +89 -0
  317. package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.js.map +1 -0
  318. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +5 -5
  319. package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
  320. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +52 -15
  321. package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
  322. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +5 -5
  323. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
  324. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +26 -8
  325. package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
  326. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts +64 -0
  327. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts.map +1 -0
  328. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js +140 -0
  329. package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js.map +1 -0
  330. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts +73 -0
  331. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts.map +1 -0
  332. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js +337 -0
  333. package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js.map +1 -0
  334. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts +43 -0
  335. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts.map +1 -0
  336. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js +123 -0
  337. package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js.map +1 -0
  338. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +5 -6
  339. package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -1
  340. package/dist/confluent/tools/handlers/kafka/get-topic-config.js +22 -20
  341. package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -1
  342. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts +45 -0
  343. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts.map +1 -0
  344. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js +86 -0
  345. package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js.map +1 -0
  346. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +5 -5
  347. package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
  348. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +25 -10
  349. package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
  350. package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts +54 -0
  351. package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts.map +1 -0
  352. package/dist/confluent/tools/handlers/kafka/partition-watermarks.js +56 -0
  353. package/dist/confluent/tools/handlers/kafka/partition-watermarks.js.map +1 -0
  354. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +8 -8
  355. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts.map +1 -1
  356. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js +57 -46
  357. package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
  358. package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts +18 -0
  359. package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts.map +1 -0
  360. package/dist/confluent/tools/handlers/kafka/topic-metadata.js +18 -0
  361. package/dist/confluent/tools/handlers/kafka/topic-metadata.js.map +1 -0
  362. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts +6 -6
  363. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts.map +1 -1
  364. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js +6 -9
  365. package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js.map +1 -1
  366. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts +24 -6
  367. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts.map +1 -1
  368. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js +88 -53
  369. package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js.map +1 -1
  370. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts +50 -0
  371. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts.map +1 -0
  372. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js +116 -0
  373. package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js.map +1 -0
  374. package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts +5 -5
  375. package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts.map +1 -1
  376. package/dist/confluent/tools/handlers/schema/delete-schema-handler.js +13 -8
  377. package/dist/confluent/tools/handlers/schema/delete-schema-handler.js.map +1 -1
  378. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +5 -5
  379. package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
  380. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +13 -7
  381. package/dist/confluent/tools/handlers/schema/list-schemas-handler.js.map +1 -1
  382. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts +6 -6
  383. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts.map +1 -1
  384. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js +6 -9
  385. package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js.map +1 -1
  386. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts +6 -6
  387. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts.map +1 -1
  388. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js +6 -9
  389. package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
  390. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts +5 -7
  391. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts.map +1 -1
  392. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js +17 -13
  393. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js.map +1 -1
  394. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts +5 -7
  395. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts.map +1 -1
  396. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js +6 -12
  397. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js.map +1 -1
  398. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts +5 -7
  399. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts.map +1 -1
  400. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js +7 -13
  401. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js.map +1 -1
  402. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts +5 -7
  403. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts.map +1 -1
  404. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js +6 -12
  405. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js.map +1 -1
  406. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts +5 -7
  407. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts.map +1 -1
  408. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js +5 -9
  409. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js.map +1 -1
  410. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts +5 -7
  411. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts.map +1 -1
  412. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js +18 -21
  413. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js.map +1 -1
  414. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts +26 -0
  415. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts.map +1 -0
  416. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js +28 -0
  417. package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js.map +1 -0
  418. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts +5 -7
  419. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts.map +1 -1
  420. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js +17 -13
  421. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js.map +1 -1
  422. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts +5 -7
  423. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts.map +1 -1
  424. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js +6 -12
  425. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js.map +1 -1
  426. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts +5 -7
  427. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts.map +1 -1
  428. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js +7 -13
  429. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js.map +1 -1
  430. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts +5 -7
  431. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts.map +1 -1
  432. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js +6 -12
  433. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js.map +1 -1
  434. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts +5 -7
  435. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts.map +1 -1
  436. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js +5 -9
  437. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -1
  438. package/dist/confluent/tools/tool-availability.d.ts +91 -0
  439. package/dist/confluent/tools/tool-availability.d.ts.map +1 -0
  440. package/dist/confluent/tools/tool-availability.js +130 -0
  441. package/dist/confluent/tools/tool-availability.js.map +1 -0
  442. package/dist/confluent/tools/tool-name.d.ts +20 -2
  443. package/dist/confluent/tools/tool-name.d.ts.map +1 -1
  444. package/dist/confluent/tools/tool-name.js +19 -1
  445. package/dist/confluent/tools/tool-name.js.map +1 -1
  446. package/dist/confluent/tools/tool-registry.d.ts +17 -0
  447. package/dist/confluent/tools/tool-registry.d.ts.map +1 -0
  448. package/dist/confluent/tools/{tool-factory.js → tool-registry.js} +66 -22
  449. package/dist/confluent/tools/tool-registry.js.map +1 -0
  450. package/dist/env-schema.d.ts +6 -7
  451. package/dist/env-schema.d.ts.map +1 -1
  452. package/dist/env-schema.js +30 -44
  453. package/dist/env-schema.js.map +1 -1
  454. package/dist/env.d.ts +17 -7
  455. package/dist/env.d.ts.map +1 -1
  456. package/dist/env.js +16 -6
  457. package/dist/env.js.map +1 -1
  458. package/dist/index.d.ts +74 -1
  459. package/dist/index.d.ts.map +1 -1
  460. package/dist/index.js +302 -166
  461. package/dist/index.js.map +1 -1
  462. package/dist/logger.d.ts.map +1 -1
  463. package/dist/logger.js +21 -20
  464. package/dist/logger.js.map +1 -1
  465. package/dist/mcp/server.d.ts +29 -0
  466. package/dist/mcp/server.d.ts.map +1 -0
  467. package/dist/mcp/server.js +53 -0
  468. package/dist/mcp/server.js.map +1 -0
  469. package/dist/mcp/transports/auth.d.ts +20 -4
  470. package/dist/mcp/transports/auth.d.ts.map +1 -1
  471. package/dist/mcp/transports/auth.js +27 -7
  472. package/dist/mcp/transports/auth.js.map +1 -1
  473. package/dist/mcp/transports/http.d.ts +8 -2
  474. package/dist/mcp/transports/http.d.ts.map +1 -1
  475. package/dist/mcp/transports/http.js +57 -42
  476. package/dist/mcp/transports/http.js.map +1 -1
  477. package/dist/mcp/transports/manager.d.ts +23 -9
  478. package/dist/mcp/transports/manager.d.ts.map +1 -1
  479. package/dist/mcp/transports/manager.js +27 -24
  480. package/dist/mcp/transports/manager.js.map +1 -1
  481. package/dist/mcp/transports/server.d.ts +1 -1
  482. package/dist/mcp/transports/server.d.ts.map +1 -1
  483. package/dist/mcp/transports/server.js +17 -5
  484. package/dist/mcp/transports/server.js.map +1 -1
  485. package/dist/mcp/transports/session-registry.d.ts +33 -0
  486. package/dist/mcp/transports/session-registry.d.ts.map +1 -0
  487. package/dist/mcp/transports/session-registry.js +65 -0
  488. package/dist/mcp/transports/session-registry.js.map +1 -0
  489. package/dist/mcp/transports/sse.d.ts +13 -2
  490. package/dist/mcp/transports/sse.d.ts.map +1 -1
  491. package/dist/mcp/transports/sse.js +58 -46
  492. package/dist/mcp/transports/sse.js.map +1 -1
  493. package/dist/server-runtime.d.ts +28 -0
  494. package/dist/server-runtime.d.ts.map +1 -0
  495. package/dist/server-runtime.js +73 -0
  496. package/dist/server-runtime.js.map +1 -0
  497. package/package.json +26 -9
  498. package/dist/confluent/helpers.d.ts +0 -11
  499. package/dist/confluent/helpers.d.ts.map +0 -1
  500. package/dist/confluent/helpers.js +0 -17
  501. package/dist/confluent/helpers.js.map +0 -1
  502. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts +0 -11
  503. package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts.map +0 -1
  504. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js +0 -59
  505. package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +0 -1
  506. package/dist/confluent/tools/tool-factory.d.ts +0 -9
  507. package/dist/confluent/tools/tool-factory.d.ts.map +0 -1
  508. package/dist/confluent/tools/tool-factory.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ import { CallToolResult } from "../../../../confluent/schema.js";
2
+ import { ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
+ import { ConnectToolHandler } from "../../../../confluent/tools/handlers/connect/connect-tool-handler.js";
4
+ import { ServerRuntime } from "../../../../server-runtime.js";
5
+ export declare class GetConnectorConfigHandler extends ConnectToolHandler {
6
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ }
9
+ //# sourceMappingURL=get-connector-config-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-connector-config-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/connect/get-connector-config-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAa,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAEnB,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,qBAAa,yBAA0B,SAAQ,kBAAkB;IACzD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IAkC1B,aAAa,IAAI,UAAU;CAS5B"}
@@ -0,0 +1,35 @@
1
+ import { READ_ONLY } from "../../../../confluent/tools/base-tools.js";
2
+ import { ConnectToolHandler, connectorByNameArguments, } from "../../../../confluent/tools/handlers/connect/connect-tool-handler.js";
3
+ import { ToolName } from "../../../../confluent/tools/tool-name.js";
4
+ import { wrapAsPathBasedClient } from "openapi-fetch";
5
+ export class GetConnectorConfigHandler extends ConnectToolHandler {
6
+ async handle(runtime, toolArguments) {
7
+ const clientManager = runtime.clientManager;
8
+ const { clusterId, environmentId, connectorName } = connectorByNameArguments.parse(toolArguments);
9
+ const conn = runtime.config.getSoleDirectConnection();
10
+ const { environment_id, kafka_cluster_id } = this.resolveConnectEnvAndClusterId(conn, environmentId, clusterId);
11
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudRestClient());
12
+ const { data: response, error } = await pathBasedClient["/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config"].GET({
13
+ params: {
14
+ path: {
15
+ connector_name: connectorName,
16
+ environment_id,
17
+ kafka_cluster_id,
18
+ },
19
+ },
20
+ });
21
+ if (error) {
22
+ return this.createResponse(`Failed to get config for connector ${connectorName}: ${JSON.stringify(error)}`, true);
23
+ }
24
+ return this.createResponse(`Connector Config for ${connectorName}: ${JSON.stringify(response)}`);
25
+ }
26
+ getToolConfig() {
27
+ return {
28
+ name: ToolName.GET_CONNECTOR_CONFIG,
29
+ description: "Retrieve the full configuration map for a connector. Returns the flat config object the connector was created/updated with.",
30
+ inputSchema: connectorByNameArguments.shape,
31
+ annotations: READ_ONLY,
32
+ };
33
+ }
34
+ }
35
+ //# sourceMappingURL=get-connector-config-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-connector-config-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/connect/get-connector-config-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAc,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,OAAO,yBAA0B,SAAQ,kBAAkB;IAC/D,KAAK,CAAC,MAAM,CACV,OAAsB,EACtB,aAAkD;QAElD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,GAC/C,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;QACtD,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GACxC,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAErE,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,CAAC,2BAA2B,EAAE,CAC5C,CAAC;QACF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CACrD,0GAA0G,CAC3G,CAAC,GAAG,CAAC;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,cAAc,EAAE,aAAa;oBAC7B,cAAc;oBACd,gBAAgB;iBACjB;aACF;SACF,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,cAAc,CACxB,sCAAsC,aAAa,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAC/E,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CACxB,wBAAwB,aAAa,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CACrE,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,oBAAoB;YACnC,WAAW,EACT,6HAA6H;YAC/H,WAAW,EAAE,wBAAwB,CAAC,KAAK;YAC3C,WAAW,EAAE,SAAS;SACvB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import { CallToolResult } from "../../../../confluent/schema.js";
2
+ import { ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
+ import { ConnectToolHandler } from "../../../../confluent/tools/handlers/connect/connect-tool-handler.js";
4
+ import { ServerRuntime } from "../../../../server-runtime.js";
5
+ export declare class GetConnectorErrorRecommendationsHandler extends ConnectToolHandler {
6
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ }
9
+ //# sourceMappingURL=get-connector-error-recommendations-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-connector-error-recommendations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAa,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAEnB,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AASvD,qBAAa,uCAAwC,SAAQ,kBAAkB;IACvE,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IAuF1B,aAAa,IAAI,UAAU;CAS5B"}
@@ -0,0 +1,66 @@
1
+ import { READ_ONLY } from "../../../../confluent/tools/base-tools.js";
2
+ import { ConnectToolHandler, connectorByNameArguments, } from "../../../../confluent/tools/handlers/connect/connect-tool-handler.js";
3
+ import { ToolName } from "../../../../confluent/tools/tool-name.js";
4
+ import { wrapAsPathBasedClient } from "openapi-fetch";
5
+ export class GetConnectorErrorRecommendationsHandler extends ConnectToolHandler {
6
+ async handle(runtime, toolArguments) {
7
+ const clientManager = runtime.clientManager;
8
+ const { clusterId, environmentId, connectorName } = connectorByNameArguments.parse(toolArguments);
9
+ const conn = runtime.config.getSoleDirectConnection();
10
+ const { environment_id, kafka_cluster_id } = this.resolveConnectEnvAndClusterId(conn, environmentId, clusterId);
11
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudRestClient());
12
+ const { data: response, error } = await pathBasedClient["/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/error-recommendations"].GET({
13
+ params: {
14
+ path: {
15
+ connector_name: connectorName,
16
+ environment_id,
17
+ kafka_cluster_id,
18
+ },
19
+ },
20
+ });
21
+ if (error) {
22
+ // Cloud returns 400 with this body when the connector has no captured stack trace
23
+ // (e.g. healthy connectors and connectors that failed only at config validation).
24
+ // Treat that as "no recommendations" rather than a tool error.
25
+ const message = typeof error === "object" &&
26
+ error !== null &&
27
+ "error" in error &&
28
+ typeof error.error === "object" &&
29
+ error.error !== null
30
+ ? error.error.message
31
+ : undefined;
32
+ if (typeof message === "string" &&
33
+ message.startsWith("could not generate recommendations as error stack trace is not available")) {
34
+ return this.createResponse(`No error recommendations available for connector ${connectorName}.`);
35
+ }
36
+ return this.createResponse(`Failed to get error recommendations for connector ${connectorName}: ${JSON.stringify(error)}`, true);
37
+ }
38
+ if (!response) {
39
+ return this.createResponse(`No error recommendations payload returned for connector ${connectorName}.`, true);
40
+ }
41
+ const recommendations = response.recommendations ?? [];
42
+ const engineError = response.error;
43
+ if (engineError) {
44
+ return this.createResponse(`Recommendation engine error for connector ${connectorName}: ${JSON.stringify({ engineError, eventId: response.event_id })}`, true);
45
+ }
46
+ if (recommendations.length === 0) {
47
+ return this.createResponse(`No error recommendations available for connector ${connectorName}.`);
48
+ }
49
+ const projection = {
50
+ connectorName,
51
+ recommendations,
52
+ };
53
+ if (response.event_id)
54
+ projection.eventId = response.event_id;
55
+ return this.createResponse(`Error recommendations for ${connectorName}: ${JSON.stringify(projection)}`);
56
+ }
57
+ getToolConfig() {
58
+ return {
59
+ name: ToolName.GET_CONNECTOR_ERROR_RECOMMENDATIONS,
60
+ description: "Get suggested remediation steps for a connector that has failed or is in an error state. Recommendations are generated server-side from the connector's recent failure traces and configuration. Returns a one-liner when no recommendations are available.",
61
+ inputSchema: connectorByNameArguments.shape,
62
+ annotations: READ_ONLY,
63
+ };
64
+ }
65
+ }
66
+ //# sourceMappingURL=get-connector-error-recommendations-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-connector-error-recommendations-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { CallToolResult } from "../../../../confluent/schema.js";
2
+ import { ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
+ import { ConnectToolHandler } from "../../../../confluent/tools/handlers/connect/connect-tool-handler.js";
4
+ import { ServerRuntime } from "../../../../server-runtime.js";
5
+ export declare class GetConnectorErrorSummaryHandler extends ConnectToolHandler {
6
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ }
9
+ //# sourceMappingURL=get-connector-error-summary-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-connector-error-summary-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/connect/get-connector-error-summary-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAa,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAEnB,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA6JvD,qBAAa,+BAAgC,SAAQ,kBAAkB;IAC/D,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IAoD1B,aAAa,IAAI,UAAU;CAS5B"}
@@ -0,0 +1,131 @@
1
+ import { READ_ONLY } from "../../../../confluent/tools/base-tools.js";
2
+ import { ConnectToolHandler, connectorByNameArguments, } from "../../../../confluent/tools/handlers/connect/connect-tool-handler.js";
3
+ import { ToolName } from "../../../../confluent/tools/tool-name.js";
4
+ import { wrapAsPathBasedClient } from "openapi-fetch";
5
+ const HEALTHY_TASK_STATES = new Set(["RUNNING", "PROVISIONING", "UNASSIGNED"]);
6
+ const TRACE_LINE_LIMIT = 10;
7
+ const TRACE_CHAR_LIMIT = 800;
8
+ function truncateTrace(trace) {
9
+ if (!trace)
10
+ return undefined;
11
+ const trimmed = trace.trimEnd();
12
+ if (!trimmed)
13
+ return undefined;
14
+ const lines = trimmed.split("\n");
15
+ let head = lines.slice(0, TRACE_LINE_LIMIT).join("\n");
16
+ const truncatedByLines = lines.length > TRACE_LINE_LIMIT;
17
+ let truncatedByChars = false;
18
+ if (head.length > TRACE_CHAR_LIMIT) {
19
+ head = head.slice(0, TRACE_CHAR_LIMIT);
20
+ truncatedByChars = true;
21
+ }
22
+ return truncatedByLines || truncatedByChars
23
+ ? `${head}\n... [truncated]`
24
+ : head;
25
+ }
26
+ function parseValidationError(raw) {
27
+ // Split on the FIRST colon only — error messages frequently contain ":".
28
+ const idx = raw.indexOf(":");
29
+ if (idx === -1)
30
+ return { field: "", message: raw.trim() };
31
+ return {
32
+ field: raw.slice(0, idx).trim(),
33
+ message: raw.slice(idx + 1).trim(),
34
+ };
35
+ }
36
+ function projectErrorSummary(connectorName, payload) {
37
+ const state = payload.connector?.state ?? "UNKNOWN";
38
+ const tasks = payload.tasks ?? [];
39
+ const failedTasks = tasks
40
+ .filter((t) => !HEALTHY_TASK_STATES.has(t.state))
41
+ .map((t) => {
42
+ const projected = {
43
+ id: t.id,
44
+ state: t.state,
45
+ workerId: t.worker_id,
46
+ };
47
+ if (t.msg)
48
+ projected.msg = t.msg;
49
+ const traceHead = truncateTrace(t.trace);
50
+ if (traceHead)
51
+ projected.traceHead = traceHead;
52
+ return projected;
53
+ });
54
+ const validationErrors = (payload.validation_errors ?? [])
55
+ .map(parseValidationError)
56
+ .filter((e) => e.field || e.message);
57
+ const errorsFromTrace = (payload.errors_from_trace ?? []).filter(Boolean);
58
+ const summary = (payload.override_message?.trim() ? payload.override_message.trim() : "") ||
59
+ (payload.error_summary?.trim() ? payload.error_summary.trim() : "");
60
+ const connectorTraceHead = state !== "RUNNING" ? truncateTrace(payload.connector?.trace) : undefined;
61
+ const projection = {
62
+ connectorName,
63
+ state,
64
+ hasError: state !== "RUNNING" ||
65
+ failedTasks.length > 0 ||
66
+ validationErrors.length > 0,
67
+ totalTasks: tasks.length,
68
+ };
69
+ if (summary)
70
+ projection.summary = summary;
71
+ if (validationErrors.length > 0)
72
+ projection.validationErrors = validationErrors;
73
+ if (errorsFromTrace.length > 0)
74
+ projection.errorsFromTrace = errorsFromTrace;
75
+ if (payload.error_details !== undefined &&
76
+ payload.error_details !== null &&
77
+ !(typeof payload.error_details === "object" &&
78
+ payload.error_details !== null &&
79
+ Object.keys(payload.error_details).length === 0)) {
80
+ projection.errorDetails = payload.error_details;
81
+ }
82
+ if (payload.is_csfle_error)
83
+ projection.isCsfleError = true;
84
+ if (payload.plugin_lifecycle)
85
+ projection.pluginLifecycle = payload.plugin_lifecycle;
86
+ if (failedTasks.length > 0)
87
+ projection.failedTasks = failedTasks;
88
+ if (connectorTraceHead)
89
+ projection.connectorTraceHead = connectorTraceHead;
90
+ return projection;
91
+ }
92
+ export class GetConnectorErrorSummaryHandler extends ConnectToolHandler {
93
+ async handle(runtime, toolArguments) {
94
+ const clientManager = runtime.clientManager;
95
+ const { clusterId, environmentId, connectorName } = connectorByNameArguments.parse(toolArguments);
96
+ const conn = runtime.config.getSoleDirectConnection();
97
+ const { environment_id, kafka_cluster_id } = this.resolveConnectEnvAndClusterId(conn, environmentId, clusterId);
98
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudRestClient());
99
+ const { data: response, error } = await pathBasedClient["/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status"].GET({
100
+ params: {
101
+ path: {
102
+ connector_name: connectorName,
103
+ environment_id,
104
+ kafka_cluster_id,
105
+ },
106
+ },
107
+ });
108
+ if (error) {
109
+ return this.createResponse(`Failed to get error summary for connector ${connectorName}: ${JSON.stringify(error)}`, true);
110
+ }
111
+ // Cast to access Cloud-extended diagnostic fields not declared in the OpenAPI schema.
112
+ const payload = response;
113
+ if (!payload) {
114
+ return this.createResponse(`No status payload returned for connector ${connectorName}.`, true);
115
+ }
116
+ const projection = projectErrorSummary(connectorName, payload);
117
+ if (!projection.hasError) {
118
+ return this.createResponse(`Connector ${connectorName} is ${projection.state}. No errors to summarize.`);
119
+ }
120
+ return this.createResponse(`Error summary for ${connectorName}: ${JSON.stringify(projection)}`);
121
+ }
122
+ getToolConfig() {
123
+ return {
124
+ name: ToolName.GET_CONNECTOR_ERROR_SUMMARY,
125
+ description: "Summarize a connector's current errors. Projects Confluent Cloud's /status diagnostics (error_summary, validation_errors, errors_from_trace, override_message, failed task traces) into a compact, agent-friendly form. Returns a one-liner when the connector is healthy.",
126
+ inputSchema: connectorByNameArguments.shape,
127
+ annotations: READ_ONLY,
128
+ };
129
+ }
130
+ }
131
+ //# sourceMappingURL=get-connector-error-summary-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-connector-error-summary-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/connect/get-connector-error-summary-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { CallToolResult } from "../../../../confluent/schema.js";
2
+ import { ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
+ import { ConnectToolHandler } from "../../../../confluent/tools/handlers/connect/connect-tool-handler.js";
4
+ import { ServerRuntime } from "../../../../server-runtime.js";
5
+ export declare class GetConnectorLogsHandler extends ConnectToolHandler {
6
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ }
9
+ //# sourceMappingURL=get-connector-logs-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-connector-logs-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/connect/get-connector-logs-handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAa,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAEnB,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAuMvD,qBAAa,uBAAwB,SAAQ,kBAAkB;IACvD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IAsJ1B,aAAa,IAAI,UAAU;CAS5B"}
@@ -0,0 +1,244 @@
1
+ import { nodeFetch } from "../../../../confluent/node-deps.js";
2
+ import { READ_ONLY } from "../../../../confluent/tools/base-tools.js";
3
+ import { ConnectToolHandler, connectorByNameArguments, } from "../../../../confluent/tools/handlers/connect/connect-tool-handler.js";
4
+ import { ToolName } from "../../../../confluent/tools/tool-name.js";
5
+ import { wrapAsPathBasedClient } from "openapi-fetch";
6
+ import { z } from "zod";
7
+ const LOGGING_API_BASE = "https://api.logging.confluent.cloud";
8
+ const PLATFORM_BASE = "https://confluent.cloud";
9
+ const TRACE_LINE_LIMIT = 10;
10
+ const TRACE_CHAR_LIMIT = 800;
11
+ const getConnectorLogsArguments = connectorByNameArguments.extend({
12
+ organizationId: z
13
+ .string()
14
+ .trim()
15
+ .optional()
16
+ .describe("The Confluent Cloud organization ID. Falls back to the connection's confluent_cloud.organization_id, then auto-resolves via GET /org/v2/organizations."),
17
+ connectorId: z
18
+ .string()
19
+ .trim()
20
+ .optional()
21
+ .describe("Optional connector resource ID (e.g. 'lcc-abc123'). When provided, narrows the log search by connector ID."),
22
+ levels: z
23
+ .array(z.enum(["ERROR", "WARN", "INFO", "DEBUG", "TRACE"]))
24
+ .nonempty()
25
+ .optional()
26
+ .describe('Log levels to include. Defaults to ["ERROR"] if not specified.'),
27
+ startTime: z
28
+ .string()
29
+ .trim()
30
+ .optional()
31
+ .describe("ISO 8601 start time (e.g. '2026-04-29T03:50:13Z'). Defaults to one hour before endTime."),
32
+ endTime: z
33
+ .string()
34
+ .trim()
35
+ .optional()
36
+ .describe("ISO 8601 end time (e.g. '2026-04-29T04:50:13Z'). Defaults to the current time."),
37
+ pageSize: z
38
+ .number()
39
+ .int()
40
+ .positive()
41
+ .max(200)
42
+ .optional()
43
+ .describe("Maximum number of log entries to return per page (default 100, max 200)."),
44
+ pageToken: z
45
+ .string()
46
+ .trim()
47
+ .optional()
48
+ .describe("Opaque pagination token from a prior call's nextPageToken response field. Pass to retrieve the next page of results."),
49
+ });
50
+ function truncateStacktrace(trace) {
51
+ if (!trace)
52
+ return undefined;
53
+ const trimmed = trace.trimEnd();
54
+ if (!trimmed)
55
+ return undefined;
56
+ const lines = trimmed.split("\n");
57
+ let head = lines.slice(0, TRACE_LINE_LIMIT).join("\n");
58
+ const truncatedByLines = lines.length > TRACE_LINE_LIMIT;
59
+ let truncatedByChars = false;
60
+ if (head.length > TRACE_CHAR_LIMIT) {
61
+ head = head.slice(0, TRACE_CHAR_LIMIT);
62
+ truncatedByChars = true;
63
+ }
64
+ return truncatedByLines || truncatedByChars
65
+ ? `${head}\n... [truncated]`
66
+ : head;
67
+ }
68
+ function isoSecondsZ(date) {
69
+ return `${date.toISOString().slice(0, 19)}Z`;
70
+ }
71
+ function buildCrn(organizationId, environmentId, clusterId, connectorName) {
72
+ return `crn://confluent.cloud/organization=${organizationId}/environment=${environmentId}/cloud-cluster=${clusterId}/connector=${connectorName}`;
73
+ }
74
+ /**
75
+ * Exchanges a Cloud API key/secret for a short-lived data-plane bearer token by
76
+ * POSTing to {PLATFORM_BASE}/api/access_tokens with HTTP Basic auth. The
77
+ * resulting Bearer token is what api.logging.confluent.cloud accepts; Basic
78
+ * auth with the API key directly is rejected with a 401.
79
+ */
80
+ async function exchangeForDataPlaneToken(apiKey, apiSecret) {
81
+ const url = `${PLATFORM_BASE}/api/access_tokens`;
82
+ const basicAuth = `Basic ${Buffer.from(`${apiKey}:${apiSecret}`).toString("base64")}`;
83
+ const response = await nodeFetch.fetch(url, {
84
+ method: "POST",
85
+ headers: {
86
+ Authorization: basicAuth,
87
+ "Content-Type": "application/json",
88
+ Accept: "application/json",
89
+ },
90
+ body: "{}",
91
+ });
92
+ if (!response.ok) {
93
+ let detail = "";
94
+ try {
95
+ detail = await response.text();
96
+ }
97
+ catch {
98
+ // ignore — surface status alone
99
+ }
100
+ throw new Error(`Failed to exchange API key for data-plane token (HTTP ${response.status}): ${detail || response.statusText}`);
101
+ }
102
+ const json = (await response.json());
103
+ if (!json.token) {
104
+ throw new Error("Data-plane token response missing 'token' field; cannot authenticate against the logging API.");
105
+ }
106
+ return json.token;
107
+ }
108
+ async function resolveOrganizationId(clientManager, conn, argOrgId) {
109
+ if (argOrgId)
110
+ return argOrgId;
111
+ const configOrgId = conn.confluent_cloud?.organization_id;
112
+ if (configOrgId)
113
+ return configOrgId;
114
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudRestClient());
115
+ const { data, error } = await pathBasedClient["/org/v2/organizations"].GET({});
116
+ if (error) {
117
+ throw new Error(`Failed to auto-resolve organization ID via GET /org/v2/organizations: ${JSON.stringify(error)}`);
118
+ }
119
+ const first = data?.data?.[0]?.id;
120
+ if (!first) {
121
+ throw new Error("Failed to auto-resolve organization ID: GET /org/v2/organizations returned no organizations. Pass organizationId or set confluent_cloud.organization_id in the connection config.");
122
+ }
123
+ return first;
124
+ }
125
+ export class GetConnectorLogsHandler extends ConnectToolHandler {
126
+ async handle(runtime, toolArguments) {
127
+ const clientManager = runtime.clientManager;
128
+ const args = getConnectorLogsArguments.parse(toolArguments);
129
+ const conn = runtime.config.getSoleDirectConnection();
130
+ const { environment_id, kafka_cluster_id } = this.resolveConnectEnvAndClusterId(conn, args.environmentId, args.clusterId);
131
+ const ccAuth = conn.confluent_cloud?.auth;
132
+ if (!ccAuth) {
133
+ throw new Error("confluent_cloud.auth is required to authenticate against the logging API.");
134
+ }
135
+ const organization_id = await resolveOrganizationId(clientManager, conn, args.organizationId);
136
+ const now = new Date();
137
+ const endTime = args.endTime ?? isoSecondsZ(now);
138
+ const startTime = args.startTime ??
139
+ isoSecondsZ(new Date(new Date(endTime).getTime() - 60 * 60 * 1000));
140
+ const levels = args.levels ?? ["ERROR"];
141
+ const pageSize = args.pageSize ?? 100;
142
+ const crn = buildCrn(organization_id, environment_id, kafka_cluster_id, args.connectorName);
143
+ const search = { level: levels };
144
+ if (args.connectorId) {
145
+ search.id = args.connectorId;
146
+ }
147
+ const body = {
148
+ crn,
149
+ search,
150
+ sort: "desc",
151
+ start_time: startTime,
152
+ end_time: endTime,
153
+ };
154
+ let dataPlaneToken;
155
+ try {
156
+ dataPlaneToken = await exchangeForDataPlaneToken(ccAuth.key, ccAuth.secret);
157
+ }
158
+ catch (err) {
159
+ const message = err instanceof Error ? err.message : String(err);
160
+ return this.createResponse(`Failed to fetch logs for connector ${args.connectorName}: ${message}`, true);
161
+ }
162
+ const queryParams = new URLSearchParams({ page_size: String(pageSize) });
163
+ if (args.pageToken) {
164
+ queryParams.set("page_token", args.pageToken);
165
+ }
166
+ const url = `${LOGGING_API_BASE}/logs/v1/search?${queryParams.toString()}`;
167
+ const authHeader = `Bearer ${dataPlaneToken}`;
168
+ let response;
169
+ try {
170
+ response = await nodeFetch.fetch(url, {
171
+ method: "POST",
172
+ headers: {
173
+ "Content-Type": "application/json",
174
+ Accept: "application/json",
175
+ Authorization: authHeader,
176
+ },
177
+ body: JSON.stringify(body),
178
+ });
179
+ }
180
+ catch (err) {
181
+ const message = err instanceof Error ? err.message : String(err);
182
+ return this.createResponse(`Failed to fetch logs for connector ${args.connectorName}: ${message}`, true);
183
+ }
184
+ if (!response.ok) {
185
+ let detail = "";
186
+ try {
187
+ detail = await response.text();
188
+ }
189
+ catch {
190
+ // ignore — surface status alone
191
+ }
192
+ return this.createResponse(`Logging API returned ${response.status} for connector ${args.connectorName}: ${detail || response.statusText}`, true);
193
+ }
194
+ let parsed;
195
+ try {
196
+ parsed = (await response.json());
197
+ }
198
+ catch (err) {
199
+ const message = err instanceof Error ? err.message : String(err);
200
+ return this.createResponse(`Failed to parse logs response for connector ${args.connectorName}: ${message}`, true);
201
+ }
202
+ const data = parsed.data ?? [];
203
+ if (data.length === 0) {
204
+ return this.createResponse(`No log entries for connector ${args.connectorName} in the requested window (${startTime} to ${endTime}, levels=${levels.join(",")}).`);
205
+ }
206
+ const entries = data.map((e) => {
207
+ const projected = {};
208
+ if (e.timestamp)
209
+ projected.timestamp = e.timestamp;
210
+ if (e.level)
211
+ projected.level = e.level;
212
+ if (e.task_id)
213
+ projected.taskId = e.task_id;
214
+ if (e.message)
215
+ projected.message = e.message;
216
+ const stacktraceHead = truncateStacktrace(e.exception?.stacktrace);
217
+ if (stacktraceHead)
218
+ projected.stacktraceHead = stacktraceHead;
219
+ return projected;
220
+ });
221
+ const projection = {
222
+ connectorName: args.connectorName,
223
+ startTime,
224
+ endTime,
225
+ levels,
226
+ totalEntries: entries.length,
227
+ entries,
228
+ };
229
+ const next = parsed.metadata?.next;
230
+ if (typeof next === "string" && next.length > 0) {
231
+ projection.nextPageToken = next;
232
+ }
233
+ return this.createResponse(`Logs for ${args.connectorName}: ${JSON.stringify(projection)}`);
234
+ }
235
+ getToolConfig() {
236
+ return {
237
+ name: ToolName.GET_CONNECTOR_LOGS,
238
+ description: "Retrieve recent log entries for a Confluent Cloud connector from the Cloud logging API. Defaults to the last hour of ERROR-level entries with truncated stacktraces. Use connectorId (lcc-...) to narrow by resource ID. Organization ID auto-resolves from GET /org/v2/organizations when not provided. Paginated: when the response includes a nextPageToken, call again with pageToken=<that value> to retrieve the next page.",
239
+ inputSchema: getConnectorLogsArguments.shape,
240
+ annotations: READ_ONLY,
241
+ };
242
+ }
243
+ }
244
+ //# sourceMappingURL=get-connector-logs-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-connector-logs-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/connect/get-connector-logs-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { CallToolResult } from "../../../../confluent/schema.js";
2
+ import { ToolConfig } from "../../../../confluent/tools/base-tools.js";
3
+ import { ConnectToolHandler } from "../../../../confluent/tools/handlers/connect/connect-tool-handler.js";
4
+ import { ServerRuntime } from "../../../../server-runtime.js";
5
+ export declare class GetConnectorOffsetsHandler extends ConnectToolHandler {
6
+ handle(runtime: ServerRuntime, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ }
9
+ //# sourceMappingURL=get-connector-offsets-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-connector-offsets-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/connect/get-connector-offsets-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAa,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAEnB,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,qBAAa,0BAA2B,SAAQ,kBAAkB;IAC1D,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IAkC1B,aAAa,IAAI,UAAU;CAS5B"}
@@ -0,0 +1,35 @@
1
+ import { READ_ONLY } from "../../../../confluent/tools/base-tools.js";
2
+ import { ConnectToolHandler, connectorByNameArguments, } from "../../../../confluent/tools/handlers/connect/connect-tool-handler.js";
3
+ import { ToolName } from "../../../../confluent/tools/tool-name.js";
4
+ import { wrapAsPathBasedClient } from "openapi-fetch";
5
+ export class GetConnectorOffsetsHandler extends ConnectToolHandler {
6
+ async handle(runtime, toolArguments) {
7
+ const clientManager = runtime.clientManager;
8
+ const { clusterId, environmentId, connectorName } = connectorByNameArguments.parse(toolArguments);
9
+ const conn = runtime.config.getSoleDirectConnection();
10
+ const { environment_id, kafka_cluster_id } = this.resolveConnectEnvAndClusterId(conn, environmentId, clusterId);
11
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudRestClient());
12
+ const { data: response, error } = await pathBasedClient["/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets"].GET({
13
+ params: {
14
+ path: {
15
+ connector_name: connectorName,
16
+ environment_id,
17
+ kafka_cluster_id,
18
+ },
19
+ },
20
+ });
21
+ if (error) {
22
+ return this.createResponse(`Failed to get offsets for connector ${connectorName}: ${JSON.stringify(error)}`, true);
23
+ }
24
+ return this.createResponse(`Connector Offsets for ${connectorName}: ${JSON.stringify(response)}`);
25
+ }
26
+ getToolConfig() {
27
+ return {
28
+ name: ToolName.GET_CONNECTOR_OFFSETS,
29
+ description: "Retrieve current offsets for a connector's tasks. Useful for detecting lag, stalled tasks, or assisting recovery.",
30
+ inputSchema: connectorByNameArguments.shape,
31
+ annotations: READ_ONLY,
32
+ };
33
+ }
34
+ }
35
+ //# sourceMappingURL=get-connector-offsets-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-connector-offsets-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/connect/get-connector-offsets-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAc,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,OAAO,0BAA2B,SAAQ,kBAAkB;IAChE,KAAK,CAAC,MAAM,CACV,OAAsB,EACtB,aAAkD;QAElD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,GAC/C,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;QACtD,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GACxC,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAErE,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,CAAC,2BAA2B,EAAE,CAC5C,CAAC;QACF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CACrD,2GAA2G,CAC5G,CAAC,GAAG,CAAC;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,cAAc,EAAE,aAAa;oBAC7B,cAAc;oBACd,gBAAgB;iBACjB;aACF;SACF,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,cAAc,CACxB,uCAAuC,aAAa,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAChF,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CACxB,yBAAyB,aAAa,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CACtE,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,qBAAqB;YACpC,WAAW,EACT,mHAAmH;YACrH,WAAW,EAAE,wBAAwB,CAAC,KAAK;YAC3C,WAAW,EAAE,SAAS;SACvB,CAAC;IACJ,CAAC;CACF"}