@confluentinc/mcp-confluent 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -34
- package/config.example.yaml +36 -7
- package/config.oauth.example.yaml +14 -1
- package/dist/build-config.d.ts +1 -0
- package/dist/build-config.d.ts.map +1 -1
- package/dist/build-config.js +1 -0
- package/dist/build-config.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +128 -94
- package/dist/cli.js.map +1 -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 +15 -34
- package/dist/config/env-config.js.map +1 -1
- package/dist/config/models.d.ts +105 -13
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +49 -37
- package/dist/config/models.js.map +1 -1
- package/dist/confluent/base-client-manager.d.ts +3 -1
- package/dist/confluent/base-client-manager.d.ts.map +1 -1
- package/dist/confluent/base-client-manager.js +5 -1
- package/dist/confluent/base-client-manager.js.map +1 -1
- package/dist/confluent/client-manager.d.ts +15 -1
- package/dist/confluent/client-manager.d.ts.map +1 -1
- package/dist/confluent/direct-client-manager.d.ts +1 -1
- package/dist/confluent/direct-client-manager.d.ts.map +1 -1
- package/dist/confluent/middleware.d.ts +1 -1
- package/dist/confluent/middleware.d.ts.map +1 -1
- package/dist/confluent/node-deps.d.ts +8 -0
- package/dist/confluent/node-deps.d.ts.map +1 -1
- package/dist/confluent/node-deps.js +9 -2
- 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/pkce-login.d.ts.map +1 -1
- package/dist/confluent/oauth/pkce-login.js +180 -150
- 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 +6 -3
- package/dist/confluent/oauth-client-manager.d.ts.map +1 -1
- package/dist/confluent/oauth-client-manager.js +28 -6
- 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 +131 -7
- package/dist/confluent/schema-registry-helper.d.ts.map +1 -1
- package/dist/confluent/schema-registry-helper.js +336 -40
- package/dist/confluent/schema-registry-helper.js.map +1 -1
- package/dist/confluent/schema.d.ts +2 -2
- package/dist/confluent/schema.d.ts.map +1 -1
- package/dist/confluent/sentry-redact.d.ts +5 -0
- package/dist/confluent/sentry-redact.d.ts.map +1 -0
- package/dist/confluent/sentry-redact.js +64 -0
- package/dist/confluent/sentry-redact.js.map +1 -0
- package/dist/confluent/sentry.d.ts +23 -0
- package/dist/confluent/sentry.d.ts.map +1 -0
- package/dist/confluent/sentry.js +68 -0
- package/dist/confluent/sentry.js.map +1 -0
- package/dist/confluent/tools/base-tools.d.ts +169 -24
- package/dist/confluent/tools/base-tools.d.ts.map +1 -1
- package/dist/confluent/tools/base-tools.js +225 -21
- package/dist/confluent/tools/base-tools.js.map +1 -1
- package/dist/confluent/tools/cluster-arg-resolvers.d.ts +22 -1
- package/dist/confluent/tools/cluster-arg-resolvers.d.ts.map +1 -1
- package/dist/confluent/tools/cluster-arg-resolvers.js +50 -4
- package/dist/confluent/tools/cluster-arg-resolvers.js.map +1 -1
- package/dist/confluent/tools/connection-predicates.d.ts +70 -7
- package/dist/confluent/tools/connection-predicates.d.ts.map +1 -1
- package/dist/confluent/tools/connection-predicates.js +69 -6
- package/dist/confluent/tools/connection-predicates.js.map +1 -1
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts +9 -3
- 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 +77 -62
- 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 +5 -5
- 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 +9 -5
- 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 +5 -5
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +9 -5
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +5 -5
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.js +9 -5
- package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +6 -6
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.js +14 -6
- package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +5 -5
- 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 +9 -5
- 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 +4 -3
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts +8 -8
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.js +9 -10
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts +3 -3
- 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 +3 -3
- 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/get-connector-config-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js +2 -3
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js +171 -100
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts +3 -3
- 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 +3 -3
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts +43 -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 +32 -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 +22 -44
- 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 +95 -81
- 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 +28 -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 +4 -3
- 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.map +1 -1
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts +4 -3
- 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.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +9 -3
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js +68 -46
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +4 -3
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js +2 -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 +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js +12 -6
- 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 +3 -3
- 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 +24 -21
- package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts +3 -3
- 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 +24 -21
- 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 +3 -3
- 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 +9 -7
- 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 +3 -3
- 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 +14 -12
- 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 +3 -3
- 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 +14 -12
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +203 -156
- package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts +12 -8
- package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.js +346 -377
- package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts +3 -3
- 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 +374 -317
- 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 +4 -3
- 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 +27 -6
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.js +37 -7
- 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 +3 -3
- 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/get-flink-statement-results-handler.d.ts +9 -0
- 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 +11 -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 +3 -3
- 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 -17
- 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 +4 -3
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +1 -1
- 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 +21 -10
- 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 +136 -73
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +4 -3
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +12 -3
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +4 -3
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +1 -1
- 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 +4 -3
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js +6 -41
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts +4 -3
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js +6 -10
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts +4 -3
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js +1 -1
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +4 -3
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js +1 -1
- 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 +4 -3
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js +1 -1
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +4 -3
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +1 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts +1 -1
- package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +12 -4
- 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 +140 -34
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts +5 -5
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js +105 -60
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts +5 -5
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js +75 -57
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/metrics/telemetry-error.d.ts +9 -0
- package/dist/confluent/tools/handlers/metrics/telemetry-error.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/metrics/telemetry-error.js +38 -0
- package/dist/confluent/tools/handlers/metrics/telemetry-error.js.map +1 -0
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts +4 -3
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js +2 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts +11 -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 +4 -3
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.js +1 -1
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +4 -3
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +101 -72
- 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 +5 -5
- 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 +9 -5
- 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 +5 -5
- 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 +9 -5
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +1 -1
- 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 +15 -10
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js +17 -14
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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/pagination.d.ts +31 -0
- package/dist/confluent/tools/pagination.d.ts.map +1 -0
- package/dist/confluent/tools/pagination.js +40 -0
- package/dist/confluent/tools/pagination.js.map +1 -0
- package/dist/confluent/tools/tool-availability.d.ts +63 -32
- package/dist/confluent/tools/tool-availability.d.ts.map +1 -1
- package/dist/confluent/tools/tool-availability.js +101 -69
- package/dist/confluent/tools/tool-availability.js.map +1 -1
- package/dist/confluent/tools/tool-input-error.d.ts +17 -0
- package/dist/confluent/tools/tool-input-error.d.ts.map +1 -0
- package/dist/confluent/tools/tool-input-error.js +23 -0
- package/dist/confluent/tools/tool-input-error.js.map +1 -0
- package/dist/confluent/tools/tool-metadata-handler.d.ts +52 -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 +7 -2
- package/dist/confluent/tools/tool-name.d.ts.map +1 -1
- package/dist/confluent/tools/tool-name.js +6 -1
- package/dist/confluent/tools/tool-name.js.map +1 -1
- package/dist/confluent/tools/tool-registry.d.ts +1 -1
- package/dist/confluent/tools/tool-registry.d.ts.map +1 -1
- package/dist/confluent/tools/tool-registry.js +24 -2
- package/dist/confluent/tools/tool-registry.js.map +1 -1
- package/dist/env-schema.d.ts +0 -1
- package/dist/env-schema.d.ts.map +1 -1
- package/dist/env-schema.js +0 -7
- package/dist/env-schema.js.map +1 -1
- package/dist/env.d.ts +1 -2
- package/dist/env.d.ts.map +1 -1
- package/dist/index.d.ts +54 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +78 -324
- 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/logger.d.ts +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/mcp/server.d.ts +6 -4
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +19 -6
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/transports/auth.d.ts +1 -1
- package/dist/mcp/transports/auth.d.ts.map +1 -1
- package/dist/mcp/transports/http.d.ts +3 -3
- package/dist/mcp/transports/http.d.ts.map +1 -1
- package/dist/mcp/transports/manager.d.ts +1 -1
- package/dist/mcp/transports/manager.d.ts.map +1 -1
- package/dist/mcp/transports/manager.js.map +1 -1
- package/dist/mcp/transports/ping.d.ts +1 -1
- package/dist/mcp/transports/ping.d.ts.map +1 -1
- package/dist/mcp/transports/server.d.ts +3 -3
- package/dist/mcp/transports/server.d.ts.map +1 -1
- package/dist/mcp/transports/server.js +1 -1
- package/dist/mcp/transports/server.js.map +1 -1
- package/dist/mcp/transports/sse.d.ts +3 -3
- package/dist/mcp/transports/sse.d.ts.map +1 -1
- package/dist/mcp/transports/stdio.d.ts +2 -2
- package/dist/mcp/transports/stdio.d.ts.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/print-md-schema.js +21 -18
- package/dist/print-md-schema.js.map +1 -1
- package/dist/server-main.d.ts +104 -0
- package/dist/server-main.d.ts.map +1 -0
- package/dist/server-main.js +410 -0
- package/dist/server-main.js.map +1 -0
- package/dist/server-runtime.d.ts +22 -7
- 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 +37 -35
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts +0 -9
- 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
- package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts +0 -18
- package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/kafka/topic-metadata.js +0 -18
- package/dist/confluent/tools/handlers/kafka/topic-metadata.js.map +0 -1
|
@@ -7,8 +7,8 @@ import { ToolName } from "../../../../confluent/tools/tool-name.js";
|
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
const messageOptions = z.object({
|
|
9
9
|
message: z
|
|
10
|
-
.union([z.object({}).passthrough(), z.string()])
|
|
11
|
-
.describe("The payload to produce.
|
|
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,7 +77,62 @@ const produceKafkaMessageArguments = z.object({
|
|
|
45
77
|
.string()
|
|
46
78
|
.optional()
|
|
47
79
|
.describe("Confluent Cloud environment ID (env-...) that owns the cluster. Discover via list-environments."),
|
|
80
|
+
partition: z
|
|
81
|
+
.number()
|
|
82
|
+
.int()
|
|
83
|
+
.min(0)
|
|
84
|
+
.optional()
|
|
85
|
+
.describe("Target partition number. If omitted, the producer's partitioner picks one — hashing the record key when one is set, or choosing a partition otherwise (random by default under librdkafka)."),
|
|
86
|
+
timestamp: z
|
|
87
|
+
.union([z.string(), z.number().int().min(0)])
|
|
88
|
+
.optional()
|
|
89
|
+
.describe('Record timestamp: a Date.parse-able date-time string (ISO 8601 recommended, e.g. "2026-05-14T17:00:00Z") or a non-negative integer ms-since-epoch number. If omitted, the record is stamped with the producer client\'s current time (CreateTime); a topic configured for LogAppendTime instead has the broker override the timestamp on append.'),
|
|
90
|
+
headers: z
|
|
91
|
+
.record(z.string(), z.union([z.string(), z.array(z.string())]))
|
|
92
|
+
.optional()
|
|
93
|
+
.describe("Kafka record headers as a map of name to a string or array of strings (multi-valued). Sent as raw headers, independent of schema-registry serialization of the key/value."),
|
|
48
94
|
});
|
|
95
|
+
/**
|
|
96
|
+
* Parse a user-supplied record timestamp into epoch milliseconds, accepting any
|
|
97
|
+
* Date.parse-able date-time string or a ms-since-epoch number. Returns null when
|
|
98
|
+
* the value can't be parsed into a finite, non-negative instant — Date.parse maps
|
|
99
|
+
* pre-1970 date-times to negative ms, which the numeric branch already rejects at
|
|
100
|
+
* the Zod boundary, so the string branch must reject them too.
|
|
101
|
+
*/
|
|
102
|
+
function toEpochMs(input) {
|
|
103
|
+
const ms = typeof input === "number" ? input : Date.parse(input);
|
|
104
|
+
return Number.isFinite(ms) && ms >= 0 ? ms : null;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Reduce a librdkafka delivery report into user-facing text plus the aggregate
|
|
108
|
+
* error flag — any record with a non-zero errorCode marks the whole response an
|
|
109
|
+
* error.
|
|
110
|
+
*/
|
|
111
|
+
function formatDeliveryReport(deliveryReport) {
|
|
112
|
+
const message = deliveryReport
|
|
113
|
+
.map((metadata) => metadata.errorCode === 0
|
|
114
|
+
? `Message produced successfully to [Topic: ${metadata.topicName}, Partition: ${metadata.partition}, Offset: ${metadata.offset}]`
|
|
115
|
+
: `Error producing message to [Topic: ${metadata.topicName}, Partition: ${metadata.partition}, Offset: ${metadata.offset} with ErrorCode: ${metadata.errorCode}]`)
|
|
116
|
+
.join("\n");
|
|
117
|
+
const isError = deliveryReport.some((metadata) => metadata.errorCode !== 0);
|
|
118
|
+
return { message, isError };
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Build the producer message from the serialized key/value and the optional
|
|
122
|
+
* record-level metadata, omitting any field the caller didn't supply.
|
|
123
|
+
*/
|
|
124
|
+
function assembleProducerMessage(parts) {
|
|
125
|
+
const message = { value: parts.value };
|
|
126
|
+
if (parts.key !== undefined)
|
|
127
|
+
message.key = parts.key;
|
|
128
|
+
if (parts.partition !== undefined)
|
|
129
|
+
message.partition = parts.partition;
|
|
130
|
+
if (parts.timestampMs !== undefined)
|
|
131
|
+
message.timestamp = String(parts.timestampMs);
|
|
132
|
+
if (parts.headers !== undefined)
|
|
133
|
+
message.headers = parts.headers;
|
|
134
|
+
return message;
|
|
135
|
+
}
|
|
49
136
|
/**
|
|
50
137
|
* Handler for producing messages to a Kafka topic, with support for Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both key and value.
|
|
51
138
|
*
|
|
@@ -67,6 +154,24 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
|
|
|
67
154
|
return null;
|
|
68
155
|
return this.createResponse(`No schema registered for subject '${result.subject}', and no schema provided to register.`, true);
|
|
69
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Run the pre-serialization schema check for both sides. Returns an error
|
|
159
|
+
* CallToolResult when either side needs a registered schema that isn't there
|
|
160
|
+
* (and none was provided to register), or null when both sides are ready.
|
|
161
|
+
*/
|
|
162
|
+
async checkSchemasReady(topicName, value, key, registry) {
|
|
163
|
+
const valueSchemaCheck = await checkSchemaNeeded(topicName, value, SerdeType.VALUE, registry);
|
|
164
|
+
const valueSchemaResult = this.handleSchemaCheckResult(valueSchemaCheck);
|
|
165
|
+
if (valueSchemaResult)
|
|
166
|
+
return valueSchemaResult;
|
|
167
|
+
if (key) {
|
|
168
|
+
const keySchemaCheck = await checkSchemaNeeded(topicName, key, SerdeType.KEY, registry);
|
|
169
|
+
const keySchemaResult = this.handleSchemaCheckResult(keySchemaCheck);
|
|
170
|
+
if (keySchemaResult)
|
|
171
|
+
return keySchemaResult;
|
|
172
|
+
}
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
70
175
|
/**
|
|
71
176
|
* Main handler for producing a message to a Kafka topic, including schema registry logic and serialization.
|
|
72
177
|
* Handles both value and key, and returns a CallToolResult with the outcome.
|
|
@@ -76,32 +181,35 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
|
|
|
76
181
|
*/
|
|
77
182
|
async handle(runtime, toolArguments) {
|
|
78
183
|
const parsed = produceKafkaMessageArguments.parse(toolArguments);
|
|
79
|
-
const { topicName, value, key } = parsed;
|
|
80
|
-
const { connId, clientManager } = this.
|
|
184
|
+
const { topicName, value, key, partition, timestamp, headers } = parsed;
|
|
185
|
+
const { connId, clientManager } = this.resolveConnection(runtime, toolArguments);
|
|
81
186
|
const resolved = resolveKafkaClusterArgs(parsed, runtime, connId);
|
|
187
|
+
let timestampMs;
|
|
188
|
+
if (timestamp !== undefined) {
|
|
189
|
+
const ms = toEpochMs(timestamp);
|
|
190
|
+
if (ms === null) {
|
|
191
|
+
return this.createResponse(`Invalid timestamp '${timestamp}': expected a Date.parse-able date-time string (e.g. ISO 8601) or a non-negative integer ms-since-epoch number.`, true);
|
|
192
|
+
}
|
|
193
|
+
timestampMs = ms;
|
|
194
|
+
}
|
|
82
195
|
const needsRegistry = (value && value.useSchemaRegistry) || (key && key.useSchemaRegistry);
|
|
83
196
|
let registry;
|
|
84
197
|
if (needsRegistry) {
|
|
85
198
|
registry = await clientManager.getSchemaRegistrySdkClient(resolved.envId);
|
|
86
199
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
//
|
|
93
|
-
|
|
94
|
-
const keySchemaCheck = await checkSchemaNeeded(topicName, key, SerdeType.KEY, registry);
|
|
95
|
-
const keySchemaResult = this.handleSchemaCheckResult(keySchemaCheck);
|
|
96
|
-
if (keySchemaResult)
|
|
97
|
-
return keySchemaResult;
|
|
98
|
-
}
|
|
200
|
+
const schemaIssue = await this.checkSchemasReady(topicName, value, key, registry);
|
|
201
|
+
if (schemaIssue)
|
|
202
|
+
return schemaIssue;
|
|
203
|
+
// One header map per record: seeded from the caller's headers, then handed
|
|
204
|
+
// to both serialize calls so a schemaIdLocation: "header" side writes its
|
|
205
|
+
// __value_schema_id / __key_schema_id into the same map the record carries.
|
|
206
|
+
const recordHeaders = { ...headers };
|
|
99
207
|
let valueToSend;
|
|
100
208
|
let keyToSend;
|
|
101
209
|
try {
|
|
102
|
-
valueToSend = await serializeMessage(topicName, value, SerdeType.VALUE, registry);
|
|
210
|
+
valueToSend = await serializeMessage(topicName, value, SerdeType.VALUE, registry, recordHeaders);
|
|
103
211
|
if (key) {
|
|
104
|
-
keyToSend = await serializeMessage(topicName, key, SerdeType.KEY, registry);
|
|
212
|
+
keyToSend = await serializeMessage(topicName, key, SerdeType.KEY, registry, recordHeaders);
|
|
105
213
|
}
|
|
106
214
|
}
|
|
107
215
|
catch (err) {
|
|
@@ -117,25 +225,23 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
|
|
|
117
225
|
deliveryReport = await producer.send({
|
|
118
226
|
topic: topicName,
|
|
119
227
|
messages: [
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
:
|
|
228
|
+
assembleProducerMessage({
|
|
229
|
+
value: valueToSend,
|
|
230
|
+
key: keyToSend,
|
|
231
|
+
partition,
|
|
232
|
+
timestampMs,
|
|
233
|
+
headers: Object.keys(recordHeaders).length > 0
|
|
234
|
+
? recordHeaders
|
|
235
|
+
: undefined,
|
|
236
|
+
}),
|
|
123
237
|
],
|
|
124
238
|
});
|
|
125
239
|
}
|
|
126
240
|
catch (err) {
|
|
127
241
|
return this.createResponse(`Failed to produce message: ${formatKafkaError(err)}`, true);
|
|
128
242
|
}
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
if (metadata.errorCode !== 0) {
|
|
132
|
-
return `Error producing message to [Topic: ${metadata.topicName}, Partition: ${metadata.partition}, Offset: ${metadata.offset} with ErrorCode: ${metadata.errorCode}]`;
|
|
133
|
-
}
|
|
134
|
-
return `Message produced successfully to [Topic: ${metadata.topicName}, Partition: ${metadata.partition}, Offset: ${metadata.offset}]`;
|
|
135
|
-
})
|
|
136
|
-
.join("\n");
|
|
137
|
-
const isError = deliveryReport.some((metadata) => metadata.errorCode !== 0);
|
|
138
|
-
return this.createResponse(formattedResponse, isError);
|
|
243
|
+
const { message, isError } = formatDeliveryReport(deliveryReport);
|
|
244
|
+
return this.createResponse(message, isError);
|
|
139
245
|
}
|
|
140
246
|
finally {
|
|
141
247
|
await disposeIfOAuth(runtime, connId, producer);
|
|
@@ -148,7 +254,7 @@ export class ProduceKafkaMessageHandler extends BaseToolHandler {
|
|
|
148
254
|
getToolConfig() {
|
|
149
255
|
return {
|
|
150
256
|
name: ToolName.PRODUCE_MESSAGE,
|
|
151
|
-
description: `Produce records to a Kafka topic. Supports Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both key and value.\n\nBefore producing, check if the topic has a registered schema for <topicName>-value and <topicName>-key. If a schema exists, set useSchemaRegistry to true and specify the appropriate schemaType. If the topic does not exist, it can be created via the ${ToolName.CREATE_TOPICS} tool.`,
|
|
257
|
+
description: `Produce records to a Kafka topic. Supports Confluent Schema Registry serialization (AVRO, JSON, PROTOBUF) for both key and value, plus optional record-level partition, timestamp, and headers for faithful reproduction of records across clusters.\n\nBefore producing, check if the topic has a registered schema for <topicName>-value and <topicName>-key. If a schema exists, set useSchemaRegistry to true and specify the appropriate schemaType. If the topic does not exist, it can be created via the ${ToolName.CREATE_TOPICS} tool.`,
|
|
152
258
|
inputSchema: produceKafkaMessageArguments.shape,
|
|
153
259
|
annotations: CREATE_UPDATE,
|
|
154
260
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"produce-kafka-message-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/produce-kafka-message-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"produce-kafka-message-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/kafka/produce-kafka-message-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { CallToolResult } from "../../../../confluent/schema.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { ServerRuntime } from "../../../../server-runtime.js";
|
|
1
|
+
import type { CallToolResult } from "../../../../confluent/schema.js";
|
|
2
|
+
import type { ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
3
|
+
import { BaseToolHandler, ToolCategory } from "../../../../confluent/tools/base-tools.js";
|
|
4
|
+
import type { ServerRuntime } from "../../../../server-runtime.js";
|
|
5
5
|
export declare class ListMetricsHandler extends BaseToolHandler {
|
|
6
6
|
handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
|
|
7
7
|
getToolConfig(): ToolConfig;
|
|
8
8
|
readonly category = ToolCategory.Metrics;
|
|
9
|
-
readonly predicate:
|
|
9
|
+
readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=list-metrics-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-metrics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/list-metrics-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-metrics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/list-metrics-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EACL,eAAe,EAEf,YAAY,EACb,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAoI5D,qBAAa,kBAAmB,SAAQ,eAAe;IAC/C,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAoC1B,aAAa,IAAI,UAAU;IAS3B,QAAQ,CAAC,QAAQ,wBAAwB;IACzC,QAAQ,CAAC,SAAS,8EAAuB;CAC1C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseToolHandler, READ_ONLY, ToolCategory, } from "../../../../confluent/tools/base-tools.js";
|
|
2
|
-
import {
|
|
2
|
+
import { hasTelemetryOrOAuth } from "../../../../confluent/tools/connection-predicates.js";
|
|
3
|
+
import { describeTelemetryError, formatHttpStatusPart, } from "../../../../confluent/tools/handlers/metrics/telemetry-error.js";
|
|
3
4
|
import { ToolName } from "../../../../confluent/tools/tool-name.js";
|
|
4
5
|
import { logger } from "../../../../logger.js";
|
|
5
6
|
import { z } from "zod";
|
|
@@ -109,72 +110,22 @@ const KAFKA_SERVER_METRICS = [
|
|
|
109
110
|
];
|
|
110
111
|
export class ListMetricsHandler extends BaseToolHandler {
|
|
111
112
|
async handle(runtime, toolArguments) {
|
|
112
|
-
const clientManager = runtime.clientManager;
|
|
113
113
|
const { resource_type } = listMetricsArguments.parse(toolArguments);
|
|
114
|
+
const { clientManager } = this.resolveConnection(runtime, toolArguments);
|
|
114
115
|
try {
|
|
115
|
-
const
|
|
116
|
-
// Fetch both metrics and resources descriptors
|
|
117
|
-
const [metricsResponse, resourcesResponse] = await Promise.all([
|
|
118
|
-
telemetryClient.GET("/v2/metrics/{dataset}/descriptors/metrics", { params: { path: { dataset: "cloud" } } }),
|
|
119
|
-
telemetryClient.GET("/v2/metrics/{dataset}/descriptors/resources", { params: { path: { dataset: "cloud" } } }),
|
|
120
|
-
]);
|
|
121
|
-
const metrics = metricsResponse.data?.data;
|
|
122
|
-
const resources = resourcesResponse.data?.data;
|
|
116
|
+
const { metrics, resources } = await fetchDescriptors(clientManager.getConfluentCloudTelemetryRestClient());
|
|
123
117
|
if (!metrics || metrics.length === 0) {
|
|
124
118
|
return this.createResponse("No metrics descriptors available from the Telemetry API.", true);
|
|
125
119
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
// on API key permissions, but they still work when queried directly.
|
|
132
|
-
// Include well-known Kafka server metrics as a fallback.
|
|
133
|
-
if ((!resource_type || resource_type === "kafka") &&
|
|
134
|
-
!filteredMetrics.some((m) => m.name.startsWith("io.confluent.kafka.server/"))) {
|
|
135
|
-
const kafkaServerMetrics = KAFKA_SERVER_METRICS.map((m) => ({
|
|
136
|
-
...m,
|
|
137
|
-
type: "GAUGE_DOUBLE",
|
|
138
|
-
unit: m.unit,
|
|
139
|
-
lifecycle_stage: "GENERAL_AVAILABILITY",
|
|
140
|
-
resources: ["kafka"],
|
|
141
|
-
}));
|
|
142
|
-
filteredMetrics = [...kafkaServerMetrics, ...filteredMetrics];
|
|
143
|
-
}
|
|
144
|
-
// Format resources section
|
|
145
|
-
const lines = [];
|
|
146
|
-
if (resources && resources.length > 0) {
|
|
147
|
-
const relevantResources = resource_type
|
|
148
|
-
? resources.filter((r) => r.type === resource_type)
|
|
149
|
-
: resources;
|
|
150
|
-
if (relevantResources.length > 0) {
|
|
151
|
-
lines.push("Resource Types and Filter Fields:");
|
|
152
|
-
for (const r of relevantResources) {
|
|
153
|
-
lines.push(` ${r.type}: ${r.description}`);
|
|
154
|
-
for (const label of r.labels) {
|
|
155
|
-
lines.push(` resource.${label.key} — ${label.description}`);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
lines.push("");
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
// Format metrics
|
|
162
|
-
lines.push(`Available Metrics${resource_type ? ` (${resource_type})` : ""}: ${filteredMetrics.length}`);
|
|
163
|
-
lines.push("");
|
|
164
|
-
for (const m of filteredMetrics) {
|
|
165
|
-
lines.push(`${m.name}`);
|
|
166
|
-
lines.push(` ${m.description}`);
|
|
167
|
-
lines.push(` Type: ${m.type} | Unit: ${m.unit} | Resources: ${m.resources.join(", ")}`);
|
|
168
|
-
if (m.labels.length > 0) {
|
|
169
|
-
const labelKeys = m.labels.map((l) => `metric.${l.key}`).join(", ");
|
|
170
|
-
lines.push(` Filter/group_by labels: ${labelKeys}`);
|
|
171
|
-
}
|
|
172
|
-
lines.push("");
|
|
173
|
-
}
|
|
120
|
+
const filteredMetrics = withKafkaServerFallback(filterMetricsByResourceType(metrics, resource_type), resource_type);
|
|
121
|
+
const lines = [
|
|
122
|
+
...formatResourcesSection(resources, resource_type),
|
|
123
|
+
...formatMetricsSection(filteredMetrics, resource_type),
|
|
124
|
+
];
|
|
174
125
|
return this.createResponse(lines.join("\n").trimEnd());
|
|
175
126
|
}
|
|
176
127
|
catch (error) {
|
|
177
|
-
logger.error({ error }, "Error in ListMetricsHandler");
|
|
128
|
+
logger.error({ err: error }, "Error in ListMetricsHandler");
|
|
178
129
|
return this.createResponse(`Failed to list metrics: ${error instanceof Error ? error.message : String(error)}`, true);
|
|
179
130
|
}
|
|
180
131
|
}
|
|
@@ -187,6 +138,100 @@ export class ListMetricsHandler extends BaseToolHandler {
|
|
|
187
138
|
};
|
|
188
139
|
}
|
|
189
140
|
category = ToolCategory.Metrics;
|
|
190
|
-
predicate =
|
|
141
|
+
predicate = hasTelemetryOrOAuth;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Fetch the metrics and resources descriptor lists from the Telemetry API in
|
|
145
|
+
* parallel. Metrics descriptors are essential — an HTTP failure there throws so
|
|
146
|
+
* `handle()` surfaces the real cause. Resources descriptors are best-effort:
|
|
147
|
+
* they only feed the optional "Resource Types" section, so a failure there is
|
|
148
|
+
* logged and the section is omitted rather than failing the whole call.
|
|
149
|
+
*/
|
|
150
|
+
async function fetchDescriptors(telemetryClient) {
|
|
151
|
+
const [metricsResult, resourcesResult] = await Promise.all([
|
|
152
|
+
telemetryClient.GET("/v2/metrics/{dataset}/descriptors/metrics", {
|
|
153
|
+
params: { path: { dataset: "cloud" } },
|
|
154
|
+
}),
|
|
155
|
+
telemetryClient.GET("/v2/metrics/{dataset}/descriptors/resources", { params: { path: { dataset: "cloud" } } }),
|
|
156
|
+
]);
|
|
157
|
+
return {
|
|
158
|
+
metrics: requireDescriptors("metrics", metricsResult),
|
|
159
|
+
resources: optionalDescriptors("resources", resourcesResult),
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Return the descriptor payload, throwing an actionable error when the
|
|
164
|
+
* Telemetry API reported an HTTP-level failure so `handle()` surfaces the real
|
|
165
|
+
* cause instead of a misleading "no descriptors available" message.
|
|
166
|
+
*/
|
|
167
|
+
function requireDescriptors(kind, result) {
|
|
168
|
+
if (result.error !== undefined) {
|
|
169
|
+
const statusPart = formatHttpStatusPart(result.response?.status);
|
|
170
|
+
throw new Error(`Telemetry API error fetching ${kind} descriptors${statusPart}: ${describeTelemetryError(result.error)}`);
|
|
171
|
+
}
|
|
172
|
+
return result.data?.data;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Return the descriptor payload, or `undefined` (with a logged warning) when
|
|
176
|
+
* the Telemetry API reported an HTTP-level failure — for best-effort sections
|
|
177
|
+
* that should degrade gracefully rather than fail the whole call.
|
|
178
|
+
*/
|
|
179
|
+
function optionalDescriptors(kind, result) {
|
|
180
|
+
if (result.error !== undefined) {
|
|
181
|
+
logger.warn({ err: result.error, status: result.response?.status, kind }, "Telemetry API descriptors request failed; omitting best-effort section");
|
|
182
|
+
return undefined;
|
|
183
|
+
}
|
|
184
|
+
return result.data?.data;
|
|
185
|
+
}
|
|
186
|
+
function filterMetricsByResourceType(metrics, resourceType) {
|
|
187
|
+
return resourceType
|
|
188
|
+
? metrics.filter((m) => m.resources.includes(resourceType))
|
|
189
|
+
: metrics;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Prepend well-known Kafka server metrics when the filtered set covers Kafka
|
|
193
|
+
* yet lacks them. The descriptors endpoint may omit these depending on API key
|
|
194
|
+
* permissions, but they remain queryable directly, so we surface them anyway.
|
|
195
|
+
*/
|
|
196
|
+
function withKafkaServerFallback(filteredMetrics, resourceType) {
|
|
197
|
+
const kafkaInScope = !resourceType || resourceType === "kafka";
|
|
198
|
+
const alreadyPresent = filteredMetrics.some((m) => m.name.startsWith("io.confluent.kafka.server/"));
|
|
199
|
+
if (!kafkaInScope || alreadyPresent) {
|
|
200
|
+
return filteredMetrics;
|
|
201
|
+
}
|
|
202
|
+
const kafkaServerMetrics = KAFKA_SERVER_METRICS.map((m) => ({
|
|
203
|
+
...m,
|
|
204
|
+
type: "GAUGE_DOUBLE",
|
|
205
|
+
unit: m.unit,
|
|
206
|
+
lifecycle_stage: "GENERAL_AVAILABILITY",
|
|
207
|
+
resources: ["kafka"],
|
|
208
|
+
}));
|
|
209
|
+
return [...kafkaServerMetrics, ...filteredMetrics];
|
|
210
|
+
}
|
|
211
|
+
function formatResourcesSection(resources, resourceType) {
|
|
212
|
+
const relevantResources = (resources ?? []).filter((r) => !resourceType || r.type === resourceType);
|
|
213
|
+
if (relevantResources.length === 0) {
|
|
214
|
+
return [];
|
|
215
|
+
}
|
|
216
|
+
const lines = ["Resource Types and Filter Fields:"];
|
|
217
|
+
for (const r of relevantResources) {
|
|
218
|
+
lines.push(` ${r.type}: ${r.description}`);
|
|
219
|
+
for (const label of r.labels) {
|
|
220
|
+
lines.push(` resource.${label.key} — ${label.description}`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
lines.push("");
|
|
224
|
+
return lines;
|
|
225
|
+
}
|
|
226
|
+
function formatMetricsSection(filteredMetrics, resourceType) {
|
|
227
|
+
const scope = resourceType ? ` (${resourceType})` : "";
|
|
228
|
+
const lines = [`Available Metrics${scope}: ${filteredMetrics.length}`, ""];
|
|
229
|
+
for (const m of filteredMetrics) {
|
|
230
|
+
const detail = ` Type: ${m.type} | Unit: ${m.unit} | Resources: ${m.resources.join(", ")}`;
|
|
231
|
+
const labelKeys = m.labels.map((l) => `metric.${l.key}`).join(", ");
|
|
232
|
+
const labelLine = m.labels.length > 0 ? [` Filter/group_by labels: ${labelKeys}`] : [];
|
|
233
|
+
lines.push(`${m.name}`, ` ${m.description}`, detail, ...labelLine, "");
|
|
234
|
+
}
|
|
235
|
+
return lines;
|
|
191
236
|
}
|
|
192
237
|
//# sourceMappingURL=list-metrics-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-metrics-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/list-metrics-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-metrics-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/list-metrics-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { CallToolResult } from "../../../../confluent/schema.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { ServerRuntime } from "../../../../server-runtime.js";
|
|
1
|
+
import type { CallToolResult } from "../../../../confluent/schema.js";
|
|
2
|
+
import type { ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
3
|
+
import { BaseToolHandler, ToolCategory } from "../../../../confluent/tools/base-tools.js";
|
|
4
|
+
import type { ServerRuntime } from "../../../../server-runtime.js";
|
|
5
5
|
export declare class QueryMetricsHandler extends BaseToolHandler {
|
|
6
6
|
handle(runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
|
|
7
7
|
getToolConfig(): ToolConfig;
|
|
8
8
|
readonly category = ToolCategory.Metrics;
|
|
9
|
-
readonly predicate:
|
|
9
|
+
readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Normalises the caller-supplied interval to a "start/end" pair.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-metrics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/query-metrics-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"query-metrics-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/metrics/query-metrics-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EACL,eAAe,EAEf,YAAY,EACb,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA4D5D,qBAAa,mBAAoB,SAAQ,eAAe;IAChD,MAAM,CACV,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IA+G1B,aAAa,IAAI,UAAU;IAS3B,QAAQ,CAAC,QAAQ,wBAAwB;IACzC,QAAQ,CAAC,SAAS,8EAAuB;CAC1C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMpE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC1C,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,GAAG,SAAS,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCzB"}
|