@confluentinc/mcp-confluent 1.3.0 → 1.5.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.
- package/README.md +180 -78
- package/assets/oauth-templates/callback-success.html +80 -0
- package/assets/oauth-templates/styles.html +101 -40
- package/config.example.yaml +36 -7
- package/config.oauth.example.yaml +14 -1
- package/dist/config/env-config.d.ts +9 -3
- package/dist/config/env-config.d.ts.map +1 -1
- package/dist/config/env-config.js +20 -34
- package/dist/config/env-config.js.map +1 -1
- package/dist/config/models.d.ts +108 -13
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +54 -37
- package/dist/config/models.js.map +1 -1
- package/dist/confluent/base-client-manager.d.ts +36 -1
- package/dist/confluent/base-client-manager.d.ts.map +1 -1
- package/dist/confluent/base-client-manager.js +4 -0
- package/dist/confluent/base-client-manager.js.map +1 -1
- package/dist/confluent/client-manager.d.ts +14 -0
- package/dist/confluent/client-manager.d.ts.map +1 -1
- package/dist/confluent/direct-client-manager.d.ts +2 -2
- package/dist/confluent/direct-client-manager.d.ts.map +1 -1
- package/dist/confluent/direct-client-manager.js +25 -17
- package/dist/confluent/direct-client-manager.js.map +1 -1
- package/dist/confluent/node-deps.d.ts +1 -0
- package/dist/confluent/node-deps.d.ts.map +1 -1
- package/dist/confluent/node-deps.js +7 -1
- package/dist/confluent/node-deps.js.map +1 -1
- package/dist/confluent/oauth/auth0-config.d.ts +26 -4
- package/dist/confluent/oauth/auth0-config.d.ts.map +1 -1
- package/dist/confluent/oauth/auth0-config.js +59 -19
- package/dist/confluent/oauth/auth0-config.js.map +1 -1
- package/dist/confluent/oauth/callback-pages.d.ts +9 -1
- package/dist/confluent/oauth/callback-pages.d.ts.map +1 -1
- package/dist/confluent/oauth/callback-pages.js +14 -5
- package/dist/confluent/oauth/callback-pages.js.map +1 -1
- package/dist/confluent/oauth/pkce-login.d.ts +20 -1
- package/dist/confluent/oauth/pkce-login.d.ts.map +1 -1
- package/dist/confluent/oauth/pkce-login.js +118 -9
- package/dist/confluent/oauth/pkce-login.js.map +1 -1
- package/dist/confluent/oauth/types.d.ts +1 -2
- package/dist/confluent/oauth/types.d.ts.map +1 -1
- package/dist/confluent/oauth-client-manager.d.ts +7 -4
- package/dist/confluent/oauth-client-manager.d.ts.map +1 -1
- package/dist/confluent/oauth-client-manager.js +34 -12
- package/dist/confluent/oauth-client-manager.js.map +1 -1
- package/dist/confluent/oauth-resource-resolvers.d.ts +11 -0
- package/dist/confluent/oauth-resource-resolvers.d.ts.map +1 -1
- package/dist/confluent/oauth-resource-resolvers.js +24 -0
- package/dist/confluent/oauth-resource-resolvers.js.map +1 -1
- package/dist/confluent/schema-registry-helper.d.ts +119 -16
- package/dist/confluent/schema-registry-helper.d.ts.map +1 -1
- package/dist/confluent/schema-registry-helper.js +303 -49
- package/dist/confluent/schema-registry-helper.js.map +1 -1
- package/dist/confluent/telemetry.d.ts +7 -1
- package/dist/confluent/telemetry.d.ts.map +1 -1
- package/dist/confluent/telemetry.js +6 -0
- package/dist/confluent/telemetry.js.map +1 -1
- package/dist/confluent/tools/base-tools.d.ts +207 -21
- package/dist/confluent/tools/base-tools.d.ts.map +1 -1
- package/dist/confluent/tools/base-tools.js +259 -20
- package/dist/confluent/tools/base-tools.js.map +1 -1
- package/dist/confluent/tools/cluster-arg-resolvers.d.ts +21 -0
- package/dist/confluent/tools/cluster-arg-resolvers.d.ts.map +1 -1
- package/dist/confluent/tools/cluster-arg-resolvers.js +45 -0
- package/dist/confluent/tools/cluster-arg-resolvers.js.map +1 -1
- package/dist/confluent/tools/connection-predicates.d.ts +83 -12
- package/dist/confluent/tools/connection-predicates.d.ts.map +1 -1
- package/dist/confluent/tools/connection-predicates.js +85 -11
- package/dist/confluent/tools/connection-predicates.js.map +1 -1
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js +37 -4
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +3 -3
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js +11 -6
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts +3 -3
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +11 -6
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +3 -3
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.js +11 -6
- package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +4 -4
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.js +16 -7
- package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +3 -3
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js +11 -6
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js.map +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +3 -2
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts +22 -9
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.js +35 -11
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/{read-connectors-handler.d.ts → get-connector-config-handler.d.ts} +2 -3
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js +65 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js +130 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js +269 -0
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js +43 -0
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js +43 -0
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts +42 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.js +297 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.d.ts +31 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.js +116 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.d.ts +52 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.js +114 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts +21 -43
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js +105 -78
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.d.ts +27 -0
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.js +93 -0
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js +2 -1
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js +2 -1
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +8 -7
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js +8 -7
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js +3 -2
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts +16 -2
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js +4 -4
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js +43 -30
- package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js +43 -30
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js +18 -11
- package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js +23 -16
- package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js +23 -16
- package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js +27 -22
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +20 -12
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js +20 -12
- package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js +20 -18
- package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js +24 -22
- package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts +15 -1
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.js +133 -57
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts +29 -7
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.js +38 -8
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js +20 -12
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/{read-flink-statement-handler.d.ts → get-flink-statement-results-handler.d.ts} +2 -2
- package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/flink/{read-flink-statement-handler.js → get-flink-statement-results-handler.js} +30 -22
- package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.d.ts +10 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.js +118 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js +19 -18
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +2 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +3 -2
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts +223 -28
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +832 -68
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/consumer-group-enums.d.ts +48 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-enums.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-enums.js +84 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-enums.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.d.ts +54 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.js +89 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +14 -4
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +3 -2
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts +64 -0
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js +140 -0
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts +73 -0
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js +337 -0
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts +43 -0
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js +123 -0
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +2 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js +3 -2
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts +45 -0
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js +86 -0
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +3 -2
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts +54 -0
- package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/partition-watermarks.js +56 -0
- package/dist/confluent/tools/handlers/kafka/partition-watermarks.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +13 -5
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js +145 -47
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts +18 -0
- package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/topic-metadata.js +18 -0
- package/dist/confluent/tools/handlers/kafka/topic-metadata.js.map +1 -0
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js +5 -4
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js +8 -5
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js +4 -2
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts +10 -0
- package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/schema/create-schema-handler.js +76 -0
- package/dist/confluent/tools/handlers/schema/create-schema-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.js +3 -2
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +3 -2
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js +11 -6
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js +11 -6
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js +2 -3
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts +17 -11
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js +19 -15
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/tool-availability.d.ts +84 -36
- package/dist/confluent/tools/tool-availability.d.ts.map +1 -1
- package/dist/confluent/tools/tool-availability.js +106 -65
- package/dist/confluent/tools/tool-availability.js.map +1 -1
- package/dist/confluent/tools/tool-metadata-handler.d.ts +51 -0
- package/dist/confluent/tools/tool-metadata-handler.d.ts.map +1 -0
- package/dist/confluent/tools/tool-metadata-handler.js +61 -0
- package/dist/confluent/tools/tool-metadata-handler.js.map +1 -0
- package/dist/confluent/tools/tool-name.d.ts +22 -3
- package/dist/confluent/tools/tool-name.d.ts.map +1 -1
- package/dist/confluent/tools/tool-name.js +21 -2
- package/dist/confluent/tools/tool-name.js.map +1 -1
- package/dist/confluent/tools/tool-registry.d.ts +1 -2
- package/dist/confluent/tools/tool-registry.d.ts.map +1 -1
- package/dist/confluent/tools/tool-registry.js +60 -7
- package/dist/confluent/tools/tool-registry.js.map +1 -1
- package/dist/env-schema.d.ts +1 -1
- package/dist/env-schema.d.ts.map +1 -1
- package/dist/env-schema.js +10 -12
- package/dist/env-schema.js.map +1 -1
- package/dist/env.d.ts +1 -1
- package/dist/index.d.ts +54 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +78 -301
- package/dist/index.js.map +1 -1
- package/dist/lazy.d.ts +4 -2
- package/dist/lazy.d.ts.map +1 -1
- package/dist/lazy.js +27 -12
- package/dist/lazy.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +9 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/preflight.d.ts +33 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +68 -0
- package/dist/preflight.js.map +1 -0
- package/dist/server-main.d.ts +98 -0
- package/dist/server-main.d.ts.map +1 -0
- package/dist/server-main.js +383 -0
- package/dist/server-main.js.map +1 -0
- package/dist/server-runtime.d.ts +20 -5
- package/dist/server-runtime.d.ts.map +1 -1
- package/dist/server-runtime.js +45 -28
- package/dist/server-runtime.js.map +1 -1
- package/dist/utils/quote-join-ids.d.ts +9 -0
- package/dist/utils/quote-join-ids.d.ts.map +1 -0
- package/dist/utils/quote-join-ids.js +11 -0
- package/dist/utils/quote-join-ids.js.map +1 -0
- package/package.json +33 -34
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.js +0 -54
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +0 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +0 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { SerdeType } from "@confluentinc/schemaregistry";
|
|
2
2
|
import { checkSchemaNeeded, serializeMessage, } from "../../../../confluent/schema-registry-helper.js";
|
|
3
|
-
import { BaseToolHandler, CREATE_UPDATE, } from "../../../../confluent/tools/base-tools.js";
|
|
3
|
+
import { BaseToolHandler, CREATE_UPDATE, ToolCategory, } from "../../../../confluent/tools/base-tools.js";
|
|
4
4
|
import { disposeIfOAuth, formatKafkaError, resolveKafkaClusterArgs, } from "../../../../confluent/tools/cluster-arg-resolvers.js";
|
|
5
5
|
import { kafkaBootstrapOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
|
|
6
6
|
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.
|
|
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
|
-
|
|
32
|
-
|
|
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,14 +77,69 @@ 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
|
*
|
|
52
|
-
* - If schema registry is enabled, the handler checks if a schema is already registered for the topic's key/value subject.
|
|
53
|
-
* - If a schema exists and none is provided, it returns the latest schema to the client for retry.
|
|
54
|
-
* - If no schema exists and none is provided, it returns an error.
|
|
139
|
+
* - If schema registry is enabled, `schemaType` is required and the handler checks if a schema is already registered for the topic's key/value subject.
|
|
55
140
|
* - If a schema is provided, it is registered before serialization.
|
|
141
|
+
* - If no schema is provided and one is already registered, the serializer uses the latest registered version.
|
|
142
|
+
* - If no schema is provided and none is registered, it returns an error.
|
|
56
143
|
* - Serialization is performed using the appropriate serializer for the schema type.
|
|
57
144
|
* - Produces the message to the specified Kafka topic, handling both key and value serialization as needed.
|
|
58
145
|
*/
|
|
@@ -65,16 +152,25 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
|
|
|
65
152
|
handleSchemaCheckResult(result) {
|
|
66
153
|
if (!result)
|
|
67
154
|
return null;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
155
|
+
return this.createResponse(`No schema registered for subject '${result.subject}', and no schema provided to register.`, true);
|
|
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;
|
|
77
172
|
}
|
|
173
|
+
return null;
|
|
78
174
|
}
|
|
79
175
|
/**
|
|
80
176
|
* Main handler for producing a message to a Kafka topic, including schema registry logic and serialization.
|
|
@@ -85,32 +181,35 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
|
|
|
85
181
|
*/
|
|
86
182
|
async handle(runtime, toolArguments) {
|
|
87
183
|
const parsed = produceKafkaMessageArguments.parse(toolArguments);
|
|
88
|
-
const { topicName, value, key } = parsed;
|
|
89
|
-
const { connId, clientManager } = this.
|
|
184
|
+
const { topicName, value, key, partition, timestamp, headers } = parsed;
|
|
185
|
+
const { connId, clientManager } = this.resolveConnection(runtime, toolArguments);
|
|
90
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
|
+
}
|
|
91
195
|
const needsRegistry = (value && value.useSchemaRegistry) || (key && key.useSchemaRegistry);
|
|
92
196
|
let registry;
|
|
93
197
|
if (needsRegistry) {
|
|
94
198
|
registry = await clientManager.getSchemaRegistrySdkClient(resolved.envId);
|
|
95
199
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
//
|
|
102
|
-
|
|
103
|
-
const keySchemaCheck = await checkSchemaNeeded(topicName, key, SerdeType.KEY, registry);
|
|
104
|
-
const keySchemaResult = this.handleSchemaCheckResult(keySchemaCheck);
|
|
105
|
-
if (keySchemaResult)
|
|
106
|
-
return keySchemaResult;
|
|
107
|
-
}
|
|
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 };
|
|
108
207
|
let valueToSend;
|
|
109
208
|
let keyToSend;
|
|
110
209
|
try {
|
|
111
|
-
valueToSend = await serializeMessage(topicName, value, SerdeType.VALUE, registry);
|
|
210
|
+
valueToSend = await serializeMessage(topicName, value, SerdeType.VALUE, registry, recordHeaders);
|
|
112
211
|
if (key) {
|
|
113
|
-
keyToSend = await serializeMessage(topicName, key, SerdeType.KEY, registry);
|
|
212
|
+
keyToSend = await serializeMessage(topicName, key, SerdeType.KEY, registry, recordHeaders);
|
|
114
213
|
}
|
|
115
214
|
}
|
|
116
215
|
catch (err) {
|
|
@@ -126,25 +225,23 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
|
|
|
126
225
|
deliveryReport = await producer.send({
|
|
127
226
|
topic: topicName,
|
|
128
227
|
messages: [
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
:
|
|
228
|
+
assembleProducerMessage({
|
|
229
|
+
value: valueToSend,
|
|
230
|
+
key: keyToSend,
|
|
231
|
+
partition,
|
|
232
|
+
timestampMs,
|
|
233
|
+
headers: Object.keys(recordHeaders).length > 0
|
|
234
|
+
? recordHeaders
|
|
235
|
+
: undefined,
|
|
236
|
+
}),
|
|
132
237
|
],
|
|
133
238
|
});
|
|
134
239
|
}
|
|
135
240
|
catch (err) {
|
|
136
241
|
return this.createResponse(`Failed to produce message: ${formatKafkaError(err)}`, true);
|
|
137
242
|
}
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
if (metadata.errorCode !== 0) {
|
|
141
|
-
return `Error producing message to [Topic: ${metadata.topicName}, Partition: ${metadata.partition}, Offset: ${metadata.offset} with ErrorCode: ${metadata.errorCode}]`;
|
|
142
|
-
}
|
|
143
|
-
return `Message produced successfully to [Topic: ${metadata.topicName}, Partition: ${metadata.partition}, Offset: ${metadata.offset}]`;
|
|
144
|
-
})
|
|
145
|
-
.join("\n");
|
|
146
|
-
const isError = deliveryReport.some((metadata) => metadata.errorCode !== 0);
|
|
147
|
-
return this.createResponse(formattedResponse, isError);
|
|
243
|
+
const { message, isError } = formatDeliveryReport(deliveryReport);
|
|
244
|
+
return this.createResponse(message, isError);
|
|
148
245
|
}
|
|
149
246
|
finally {
|
|
150
247
|
await disposeIfOAuth(runtime, connId, producer);
|
|
@@ -157,11 +254,12 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
|
|
|
157
254
|
getToolConfig() {
|
|
158
255
|
return {
|
|
159
256
|
name: ToolName.PRODUCE_MESSAGE,
|
|
160
|
-
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.`,
|
|
161
258
|
inputSchema: produceKafkaMessageArguments.shape,
|
|
162
259
|
annotations: CREATE_UPDATE,
|
|
163
260
|
};
|
|
164
261
|
}
|
|
262
|
+
category = ToolCategory.Kafka;
|
|
165
263
|
predicate = kafkaBootstrapOrOAuth;
|
|
166
264
|
}
|
|
167
265
|
//# sourceMappingURL=produce-kafka-message-handler.js.map
|
|
@@ -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":"
|
|
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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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { KafkaJS } from "@confluentinc/kafka-javascript";
|
|
2
|
+
import type { ITopicMetadata } from "@confluentinc/kafka-javascript/types/kafkajs.js";
|
|
3
|
+
/**
|
|
4
|
+
* Normalize the runtime shape of `admin.fetchTopicMetadata`'s response to
|
|
5
|
+
* a bare `ITopicMetadata[]` regardless of which surface the
|
|
6
|
+
* `@confluentinc/kafka-javascript` layer happens to return today. The
|
|
7
|
+
* `.d.ts` declares the call as `Promise<{ topics: Array<ITopicMetadata> }>`
|
|
8
|
+
* but the runtime resolves with the bare array — long-standing mismatch
|
|
9
|
+
* tracked at confluentinc/confluent-kafka-javascript#367. Handle either
|
|
10
|
+
* shape so a future library fix doesn't require code change at the call
|
|
11
|
+
* sites.
|
|
12
|
+
*
|
|
13
|
+
* TODO(#514): delete this normalizer (and its call sites' workarounds)
|
|
14
|
+
* once the upstream issue is fixed and we pick up the library version
|
|
15
|
+
* whose runtime aligns with the declared type.
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeFetchTopicMetadataResponse(raw: Awaited<ReturnType<KafkaJS.Admin["fetchTopicMetadata"]>>): ITopicMetadata[];
|
|
18
|
+
//# sourceMappingURL=topic-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topic-metadata.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/topic-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEtF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAC5D,cAAc,EAAE,CAElB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize the runtime shape of `admin.fetchTopicMetadata`'s response to
|
|
3
|
+
* a bare `ITopicMetadata[]` regardless of which surface the
|
|
4
|
+
* `@confluentinc/kafka-javascript` layer happens to return today. The
|
|
5
|
+
* `.d.ts` declares the call as `Promise<{ topics: Array<ITopicMetadata> }>`
|
|
6
|
+
* but the runtime resolves with the bare array — long-standing mismatch
|
|
7
|
+
* tracked at confluentinc/confluent-kafka-javascript#367. Handle either
|
|
8
|
+
* shape so a future library fix doesn't require code change at the call
|
|
9
|
+
* sites.
|
|
10
|
+
*
|
|
11
|
+
* TODO(#514): delete this normalizer (and its call sites' workarounds)
|
|
12
|
+
* once the upstream issue is fixed and we pick up the library version
|
|
13
|
+
* whose runtime aligns with the declared type.
|
|
14
|
+
*/
|
|
15
|
+
export function normalizeFetchTopicMetadataResponse(raw) {
|
|
16
|
+
return Array.isArray(raw) ? raw : raw.topics;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=topic-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topic-metadata.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/topic-metadata.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mCAAmC,CACjD,GAA6D;IAE7D,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAmC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;AAChF,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { CallToolResult } from "../../../../confluent/schema.js";
|
|
2
|
-
import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
3
|
-
import { hasTelemetry } from "../../../../confluent/tools/connection-predicates.js";
|
|
2
|
+
import { BaseToolHandler, ToolCategory, ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
4
3
|
import { ServerRuntime } from "../../../../server-runtime.js";
|
|
5
4
|
export declare class ListMetricsHandler extends BaseToolHandler {
|
|
6
5
|
handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
|
|
7
6
|
getToolConfig(): ToolConfig;
|
|
8
|
-
readonly
|
|
7
|
+
readonly category = ToolCategory.Metrics;
|
|
8
|
+
readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
|
|
9
9
|
}
|
|
10
10
|
//# 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,UAAU,EACX,MAAM,oCAAoC,CAAC;
|
|
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;AAI5C,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,8EAAuB;CAC1C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseToolHandler, READ_ONLY, } from "../../../../confluent/tools/base-tools.js";
|
|
2
|
-
import {
|
|
1
|
+
import { BaseToolHandler, READ_ONLY, ToolCategory, } from "../../../../confluent/tools/base-tools.js";
|
|
2
|
+
import { hasTelemetryOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
|
|
3
3
|
import { ToolName } from "../../../../confluent/tools/tool-name.js";
|
|
4
4
|
import { logger } from "../../../../logger.js";
|
|
5
5
|
import { z } from "zod";
|
|
@@ -109,8 +109,8 @@ const KAFKA_SERVER_METRICS = [
|
|
|
109
109
|
];
|
|
110
110
|
export class ListMetricsHandler extends BaseToolHandler {
|
|
111
111
|
async handle(runtime, toolArguments) {
|
|
112
|
-
const clientManager = runtime.clientManager;
|
|
113
112
|
const { resource_type } = listMetricsArguments.parse(toolArguments);
|
|
113
|
+
const { clientManager } = this.resolveConnection(runtime, toolArguments);
|
|
114
114
|
try {
|
|
115
115
|
const telemetryClient = clientManager.getConfluentCloudTelemetryRestClient();
|
|
116
116
|
// Fetch both metrics and resources descriptors
|
|
@@ -186,6 +186,7 @@ export class ListMetricsHandler extends BaseToolHandler {
|
|
|
186
186
|
annotations: READ_ONLY,
|
|
187
187
|
};
|
|
188
188
|
}
|
|
189
|
-
|
|
189
|
+
category = ToolCategory.Metrics;
|
|
190
|
+
predicate = hasTelemetryOrOAuth;
|
|
190
191
|
}
|
|
191
192
|
//# 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":"AACA,OAAO,EACL,eAAe,EACf,SAAS,
|
|
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,11 +1,11 @@
|
|
|
1
1
|
import { CallToolResult } from "../../../../confluent/schema.js";
|
|
2
|
-
import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
3
|
-
import { hasTelemetry } from "../../../../confluent/tools/connection-predicates.js";
|
|
2
|
+
import { BaseToolHandler, ToolCategory, ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
4
3
|
import { ServerRuntime } from "../../../../server-runtime.js";
|
|
5
4
|
export declare class QueryMetricsHandler extends BaseToolHandler {
|
|
6
5
|
handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
|
|
7
6
|
getToolConfig(): ToolConfig;
|
|
8
|
-
readonly
|
|
7
|
+
readonly category = ToolCategory.Metrics;
|
|
8
|
+
readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* 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,UAAU,EACX,MAAM,oCAAoC,CAAC;
|
|
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;AAI5C,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;IAoG1B,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseToolHandler, READ_ONLY, } from "../../../../confluent/tools/base-tools.js";
|
|
2
|
-
import {
|
|
1
|
+
import { BaseToolHandler, READ_ONLY, ToolCategory, } from "../../../../confluent/tools/base-tools.js";
|
|
2
|
+
import { hasTelemetryOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
|
|
3
3
|
import { ToolName } from "../../../../confluent/tools/tool-name.js";
|
|
4
4
|
import { logger } from "../../../../logger.js";
|
|
5
5
|
import { z } from "zod";
|
|
@@ -45,13 +45,15 @@ const queryMetricsArguments = z.object({
|
|
|
45
45
|
});
|
|
46
46
|
export class QueryMetricsHandler extends BaseToolHandler {
|
|
47
47
|
async handle(runtime, toolArguments) {
|
|
48
|
-
const clientManager = runtime.clientManager;
|
|
49
48
|
const args = queryMetricsArguments.parse(toolArguments);
|
|
49
|
+
const { conn, clientManager } = this.resolveConnection(runtime, toolArguments);
|
|
50
50
|
const { metric, dataset = "cloud", aggregation = "SUM", filter, granularity = "PT1M", group_by, limit = 100, } = args;
|
|
51
51
|
const interval = resolveInterval(args.interval);
|
|
52
52
|
try {
|
|
53
53
|
const telemetryClient = clientManager.getConfluentCloudTelemetryRestClient();
|
|
54
|
-
|
|
54
|
+
// OAuth connections carry no kafka block; the caller supplies
|
|
55
|
+
// `resource.kafka.id` in `filter` instead of the config fallback.
|
|
56
|
+
const connKafkaClusterId = conn.type === "direct" ? conn.kafka?.cluster_id : undefined;
|
|
55
57
|
const effectiveFilter = buildEffectiveFilter(filter, metric, connKafkaClusterId);
|
|
56
58
|
logger.debug({ metric, filter: effectiveFilter, granularity, interval }, "Querying metrics");
|
|
57
59
|
const body = buildRequestBody(metric, aggregation, granularity, interval, limit, effectiveFilter, group_by);
|
|
@@ -93,7 +95,8 @@ export class QueryMetricsHandler extends BaseToolHandler {
|
|
|
93
95
|
annotations: READ_ONLY,
|
|
94
96
|
};
|
|
95
97
|
}
|
|
96
|
-
|
|
98
|
+
category = ToolCategory.Metrics;
|
|
99
|
+
predicate = hasTelemetryOrOAuth;
|
|
97
100
|
}
|
|
98
101
|
/**
|
|
99
102
|
* Normalises the caller-supplied interval to a "start/end" pair.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-metrics-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/query-metrics-handler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,SAAS,
|
|
1
|
+
{"version":3,"file":"query-metrics-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/query-metrics-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CallToolResult } from "../../../../confluent/schema.js";
|
|
2
|
-
import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
2
|
+
import { BaseToolHandler, ToolCategory, ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
3
3
|
import { ServerRuntime } from "../../../../server-runtime.js";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
/**
|
|
@@ -44,6 +44,7 @@ export type OrganizationList = z.infer<typeof organizationListSchema>;
|
|
|
44
44
|
export declare class ListOrganizationsHandler extends BaseToolHandler {
|
|
45
45
|
handle(runtime: ServerRuntime, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
|
|
46
46
|
getToolConfig(): ToolConfig;
|
|
47
|
+
readonly category = ToolCategory.ConfluentCloud;
|
|
47
48
|
readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
|
|
48
49
|
}
|
|
49
50
|
//# sourceMappingURL=list-organizations-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-organizations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/organizations/list-organizations-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAY7B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBASjC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,qBAAa,wBAAyB,SAAQ,eAAe;IACrD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"list-organizations-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/organizations/list-organizations-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,UAAU,EACX,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAY7B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBASjC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,qBAAa,wBAAyB,SAAQ,eAAe;IACrD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IA4F1B,aAAa,IAAI,UAAU;IAS3B,QAAQ,CAAC,QAAQ,+BAA+B;IAChD,QAAQ,CAAC,SAAS,8EAA4B;CAC/C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseToolHandler, READ_ONLY, } from "../../../../confluent/tools/base-tools.js";
|
|
1
|
+
import { BaseToolHandler, READ_ONLY, ToolCategory, } from "../../../../confluent/tools/base-tools.js";
|
|
2
2
|
import { hasConfluentCloudOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
|
|
3
3
|
import { ToolName } from "../../../../confluent/tools/tool-name.js";
|
|
4
4
|
import { logger } from "../../../../logger.js";
|
|
@@ -46,8 +46,9 @@ export const organizationListSchema = z.object({
|
|
|
46
46
|
export class ListOrganizationsHandler extends BaseToolHandler {
|
|
47
47
|
async handle(runtime, toolArguments) {
|
|
48
48
|
const { pageSize, pageToken } = listOrganizationsArguments.parse(toolArguments ?? {});
|
|
49
|
+
const { clientManager } = this.resolveConnection(runtime, toolArguments);
|
|
49
50
|
try {
|
|
50
|
-
const pathBasedClient = wrapAsPathBasedClient(
|
|
51
|
+
const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudRestClient());
|
|
51
52
|
const { data: response, error } = await pathBasedClient["/org/v2/organizations"].GET({
|
|
52
53
|
params: {
|
|
53
54
|
query: {
|
|
@@ -110,6 +111,7 @@ Organization: ${org.name}
|
|
|
110
111
|
annotations: READ_ONLY,
|
|
111
112
|
};
|
|
112
113
|
}
|
|
114
|
+
category = ToolCategory.ConfluentCloud;
|
|
113
115
|
predicate = hasConfluentCloudOrOAuth;
|
|
114
116
|
}
|
|
115
117
|
//# sourceMappingURL=list-organizations-handler.js.map
|