@confluentinc/mcp-confluent 1.2.2 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +299 -240
- package/assets/oauth-templates/callback-failure.html +22 -0
- package/assets/oauth-templates/callback-success.html +99 -0
- package/assets/oauth-templates/logo.html +91 -0
- package/assets/oauth-templates/styles.html +110 -0
- package/config.example.yaml +149 -0
- package/config.oauth.example.yaml +45 -0
- package/dist/cli.d.ts +59 -12
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +131 -61
- package/dist/cli.js.map +1 -1
- package/dist/config/env-config.d.ts +33 -0
- package/dist/config/env-config.d.ts.map +1 -0
- package/dist/config/env-config.js +478 -0
- package/dist/config/env-config.js.map +1 -0
- package/dist/config/index.d.ts +31 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +76 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/interpolation.d.ts +9 -0
- package/dist/config/interpolation.d.ts.map +1 -0
- package/dist/config/interpolation.js +51 -0
- package/dist/config/interpolation.js.map +1 -0
- package/dist/config/models.d.ts +399 -0
- package/dist/config/models.d.ts.map +1 -0
- package/dist/config/models.js +406 -0
- package/dist/config/models.js.map +1 -0
- package/dist/config/validation.d.ts +9 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +46 -0
- package/dist/config/validation.js.map +1 -0
- package/dist/confluent/base-client-manager.d.ts +133 -0
- package/dist/confluent/base-client-manager.d.ts.map +1 -0
- package/dist/confluent/base-client-manager.js +188 -0
- package/dist/confluent/base-client-manager.js.map +1 -0
- package/dist/confluent/client-manager.d.ts +42 -77
- package/dist/confluent/client-manager.d.ts.map +1 -1
- package/dist/confluent/client-manager.js +5 -213
- package/dist/confluent/client-manager.js.map +1 -1
- package/dist/confluent/config-telemetry.d.ts +41 -0
- package/dist/confluent/config-telemetry.d.ts.map +1 -0
- package/dist/confluent/config-telemetry.js +17 -0
- package/dist/confluent/config-telemetry.js.map +1 -0
- package/dist/confluent/direct-client-manager.d.ts +43 -0
- package/dist/confluent/direct-client-manager.d.ts.map +1 -0
- package/dist/confluent/direct-client-manager.js +154 -0
- package/dist/confluent/direct-client-manager.js.map +1 -0
- package/dist/confluent/middleware.d.ts +32 -4
- package/dist/confluent/middleware.d.ts.map +1 -1
- package/dist/confluent/middleware.js +46 -2
- package/dist/confluent/middleware.js.map +1 -1
- package/dist/confluent/node-deps.d.ts +33 -39
- package/dist/confluent/node-deps.d.ts.map +1 -1
- package/dist/confluent/node-deps.js +48 -7
- package/dist/confluent/node-deps.js.map +1 -1
- package/dist/confluent/oauth/auth-context.d.ts +94 -0
- package/dist/confluent/oauth/auth-context.d.ts.map +1 -0
- package/dist/confluent/oauth/auth-context.js +323 -0
- package/dist/confluent/oauth/auth-context.js.map +1 -0
- package/dist/confluent/oauth/auth0-config.d.ts +12 -0
- package/dist/confluent/oauth/auth0-config.d.ts.map +1 -0
- package/dist/confluent/oauth/auth0-config.js +43 -0
- package/dist/confluent/oauth/auth0-config.js.map +1 -0
- package/dist/confluent/oauth/callback-pages.d.ts +13 -0
- package/dist/confluent/oauth/callback-pages.d.ts.map +1 -0
- package/dist/confluent/oauth/callback-pages.js +47 -0
- package/dist/confluent/oauth/callback-pages.js.map +1 -0
- package/dist/confluent/oauth/crypto-utils.d.ts +16 -0
- package/dist/confluent/oauth/crypto-utils.d.ts.map +1 -0
- package/dist/confluent/oauth/crypto-utils.js +23 -0
- package/dist/confluent/oauth/crypto-utils.js.map +1 -0
- package/dist/confluent/oauth/errors.d.ts +27 -0
- package/dist/confluent/oauth/errors.d.ts.map +1 -0
- package/dist/confluent/oauth/errors.js +6 -0
- package/dist/confluent/oauth/errors.js.map +1 -0
- package/dist/confluent/oauth/oauth-holder.d.ts +34 -0
- package/dist/confluent/oauth/oauth-holder.d.ts.map +1 -0
- package/dist/confluent/oauth/oauth-holder.js +155 -0
- package/dist/confluent/oauth/oauth-holder.js.map +1 -0
- package/dist/confluent/oauth/pkce-login.d.ts +45 -0
- package/dist/confluent/oauth/pkce-login.d.ts.map +1 -0
- package/dist/confluent/oauth/pkce-login.js +270 -0
- package/dist/confluent/oauth/pkce-login.js.map +1 -0
- package/dist/confluent/oauth/token-chain.d.ts +53 -0
- package/dist/confluent/oauth/token-chain.d.ts.map +1 -0
- package/dist/confluent/oauth/token-chain.js +141 -0
- package/dist/confluent/oauth/token-chain.js.map +1 -0
- package/dist/confluent/oauth/token-lifetimes.d.ts +13 -0
- package/dist/confluent/oauth/token-lifetimes.d.ts.map +1 -0
- package/dist/confluent/oauth/token-lifetimes.js +13 -0
- package/dist/confluent/oauth/token-lifetimes.js.map +1 -0
- package/dist/confluent/oauth/types.d.ts +68 -0
- package/dist/confluent/oauth/types.d.ts.map +1 -0
- package/dist/confluent/oauth/types.js +2 -0
- package/dist/confluent/oauth/types.js.map +1 -0
- package/dist/confluent/oauth-client-manager.d.ts +78 -0
- package/dist/confluent/oauth-client-manager.d.ts.map +1 -0
- package/dist/confluent/oauth-client-manager.js +265 -0
- package/dist/confluent/oauth-client-manager.js.map +1 -0
- package/dist/confluent/oauth-resource-resolvers.d.ts +6 -0
- package/dist/confluent/oauth-resource-resolvers.d.ts.map +1 -0
- package/dist/confluent/oauth-resource-resolvers.js +65 -0
- package/dist/confluent/oauth-resource-resolvers.js.map +1 -0
- package/dist/confluent/schema-registry-helper.d.ts +5 -9
- package/dist/confluent/schema-registry-helper.d.ts.map +1 -1
- package/dist/confluent/schema-registry-helper.js +1 -9
- package/dist/confluent/schema-registry-helper.js.map +1 -1
- package/dist/confluent/telemetry.d.ts +38 -1
- package/dist/confluent/telemetry.d.ts.map +1 -1
- package/dist/confluent/telemetry.js +37 -8
- package/dist/confluent/telemetry.js.map +1 -1
- package/dist/confluent/tools/base-tools.d.ts +140 -23
- package/dist/confluent/tools/base-tools.d.ts.map +1 -1
- package/dist/confluent/tools/base-tools.js +98 -4
- package/dist/confluent/tools/base-tools.js.map +1 -1
- package/dist/confluent/tools/cluster-arg-resolvers.d.ts +75 -0
- package/dist/confluent/tools/cluster-arg-resolvers.d.ts.map +1 -0
- package/dist/confluent/tools/cluster-arg-resolvers.js +127 -0
- package/dist/confluent/tools/cluster-arg-resolvers.js.map +1 -0
- package/dist/confluent/tools/connection-predicates.d.ts +176 -0
- package/dist/confluent/tools/connection-predicates.d.ts.map +1 -0
- package/dist/confluent/tools/connection-predicates.js +284 -0
- package/dist/confluent/tools/connection-predicates.js.map +1 -0
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts +5 -6
- 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 +40 -11
- 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 +6 -6
- 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 +6 -9
- 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 +6 -6
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +6 -9
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +6 -6
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.js +6 -9
- 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 +6 -9
- package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +6 -6
- 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 +6 -9
- 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 +5 -6
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +11 -13
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts +34 -0
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.js +47 -0
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts +11 -7
- package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js +21 -21
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts +6 -7
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +10 -15
- 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 +9 -0
- 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 +35 -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 +66 -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 +131 -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 +244 -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 +35 -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 +44 -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 +35 -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 +6 -7
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +15 -17
- 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 +35 -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 +35 -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 +35 -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 +44 -0
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts +58 -0
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js +135 -0
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts +18 -0
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js +235 -0
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts +14 -0
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js +286 -0
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +11 -12
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js +11 -14
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +5 -6
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js +6 -9
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts +32 -11
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js +22 -16
- 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 +5 -7
- 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 +34 -30
- 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 +14 -0
- package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.js +15 -0
- package/dist/confluent/tools/handlers/flink/catalog/flink-catalog-tool-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts +5 -7
- 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 +34 -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 +5 -7
- 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 +21 -24
- 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 +5 -7
- 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 +21 -24
- 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 +5 -7
- 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 +22 -33
- 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 +5 -7
- 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 +18 -23
- 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 +5 -7
- 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 +7 -13
- 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 +5 -7
- 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 +7 -13
- 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 +5 -7
- 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 +8 -15
- 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 +2 -2
- package/dist/confluent/tools/handlers/flink/diagnostics/metrics-helper.d.ts.map +1 -1
- 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 +7 -7
- 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 +11 -17
- 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 -2
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts +22 -0
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.js +32 -0
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts +5 -7
- 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 +7 -13
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts +5 -7
- 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 +9 -17
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts +5 -7
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js +7 -13
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +5 -6
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +22 -20
- 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 +216 -30
- 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 +797 -70
- 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 +5 -5
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +52 -15
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +5 -5
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +26 -8
- 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 +5 -6
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js +22 -20
- 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 +5 -5
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +25 -10
- 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 +8 -8
- 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 +57 -46
- 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 +6 -6
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js +6 -9
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts +24 -6
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js +88 -53
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts +50 -0
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js +116 -0
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts +5 -5
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.js +13 -8
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +5 -5
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +13 -7
- 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 +6 -6
- 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 +6 -9
- 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 +6 -6
- 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 +6 -9
- 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 +5 -7
- 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 +17 -13
- 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 +5 -7
- 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 +6 -12
- 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 +5 -7
- 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 +7 -13
- 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 +5 -7
- 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 +6 -12
- 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 +5 -7
- 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 +5 -9
- 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 +5 -7
- 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 +18 -21
- 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 +26 -0
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js +28 -0
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts +5 -7
- 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 +17 -13
- 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 +5 -7
- 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 +6 -12
- 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 +5 -7
- 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 +7 -13
- 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 +5 -7
- 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 +6 -12
- 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 +5 -7
- 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 +5 -9
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/tool-availability.d.ts +91 -0
- package/dist/confluent/tools/tool-availability.d.ts.map +1 -0
- package/dist/confluent/tools/tool-availability.js +130 -0
- package/dist/confluent/tools/tool-availability.js.map +1 -0
- package/dist/confluent/tools/tool-name.d.ts +20 -2
- package/dist/confluent/tools/tool-name.d.ts.map +1 -1
- package/dist/confluent/tools/tool-name.js +19 -1
- package/dist/confluent/tools/tool-name.js.map +1 -1
- package/dist/confluent/tools/tool-registry.d.ts +17 -0
- package/dist/confluent/tools/tool-registry.d.ts.map +1 -0
- package/dist/confluent/tools/{tool-factory.js → tool-registry.js} +66 -22
- package/dist/confluent/tools/tool-registry.js.map +1 -0
- package/dist/env-schema.d.ts +6 -7
- package/dist/env-schema.d.ts.map +1 -1
- package/dist/env-schema.js +30 -44
- package/dist/env-schema.js.map +1 -1
- package/dist/env.d.ts +17 -7
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +16 -6
- package/dist/env.js.map +1 -1
- package/dist/index.d.ts +74 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +302 -166
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +21 -20
- package/dist/logger.js.map +1 -1
- package/dist/mcp/server.d.ts +29 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +53 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/transports/auth.d.ts +20 -4
- package/dist/mcp/transports/auth.d.ts.map +1 -1
- package/dist/mcp/transports/auth.js +27 -7
- package/dist/mcp/transports/auth.js.map +1 -1
- package/dist/mcp/transports/http.d.ts +8 -2
- package/dist/mcp/transports/http.d.ts.map +1 -1
- package/dist/mcp/transports/http.js +57 -42
- package/dist/mcp/transports/http.js.map +1 -1
- package/dist/mcp/transports/manager.d.ts +23 -9
- package/dist/mcp/transports/manager.d.ts.map +1 -1
- package/dist/mcp/transports/manager.js +27 -24
- package/dist/mcp/transports/manager.js.map +1 -1
- package/dist/mcp/transports/server.d.ts +1 -1
- package/dist/mcp/transports/server.d.ts.map +1 -1
- package/dist/mcp/transports/server.js +17 -5
- package/dist/mcp/transports/server.js.map +1 -1
- package/dist/mcp/transports/session-registry.d.ts +33 -0
- package/dist/mcp/transports/session-registry.d.ts.map +1 -0
- package/dist/mcp/transports/session-registry.js +65 -0
- package/dist/mcp/transports/session-registry.js.map +1 -0
- package/dist/mcp/transports/sse.d.ts +13 -2
- package/dist/mcp/transports/sse.d.ts.map +1 -1
- package/dist/mcp/transports/sse.js +58 -46
- package/dist/mcp/transports/sse.js.map +1 -1
- package/dist/server-runtime.d.ts +28 -0
- package/dist/server-runtime.d.ts.map +1 -0
- package/dist/server-runtime.js +73 -0
- package/dist/server-runtime.js.map +1 -0
- package/package.json +26 -9
- package/dist/confluent/helpers.d.ts +0 -11
- package/dist/confluent/helpers.d.ts.map +0 -1
- package/dist/confluent/helpers.js +0 -17
- package/dist/confluent/helpers.js.map +0 -1
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts +0 -11
- 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 -59
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +0 -1
- package/dist/confluent/tools/tool-factory.d.ts +0 -9
- package/dist/confluent/tools/tool-factory.d.ts.map +0 -1
- package/dist/confluent/tools/tool-factory.js.map +0 -1
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Abstract {@link BaseClientManager} that owns every Confluent Cloud
|
|
3
|
+
* REST client and the Schema Registry SDK client. Concrete subclasses live in
|
|
4
|
+
* sibling files ({@link DirectClientManager} for api-key auth + native Kafka,
|
|
5
|
+
* plus the OAuth variant introduced in the OAuth wiring ticket).
|
|
6
|
+
*/
|
|
7
|
+
import { SchemaRegistryClient } from "@confluentinc/schemaregistry";
|
|
8
|
+
import { createAuthMiddleware, } from "../confluent/middleware.js";
|
|
9
|
+
import { Lazy } from "../lazy.js";
|
|
10
|
+
import { logger } from "../logger.js";
|
|
11
|
+
import createClient from "openapi-fetch";
|
|
12
|
+
/**
|
|
13
|
+
* Holds every Confluent Cloud REST client (cloud, tableflow, flink,
|
|
14
|
+
* schema-registry REST, kafka REST, telemetry) and the Schema Registry SDK
|
|
15
|
+
* client. Native Kafka admin/producer/consumer clients are declared abstract
|
|
16
|
+
* here so subclasses can supply the implementation that fits their auth model:
|
|
17
|
+
* api-key + SASL/PLAIN in {@link DirectClientManager}, or DPAT +
|
|
18
|
+
* SASL/OAUTHBEARER in OAuthClientManager.
|
|
19
|
+
*
|
|
20
|
+
* The `getSchemaRegistrySdkClient(envId?)` accessor has a default
|
|
21
|
+
* implementation that delegates to the no-arg `getSchemaRegistryClient()`.
|
|
22
|
+
* That covers direct connections (the arg is ignored). OAuth subclasses
|
|
23
|
+
* override it to auto-resolve the SR cluster from the supplied environment
|
|
24
|
+
* id (single SR per environment is the CCloud invariant) and build a
|
|
25
|
+
* bearer-authenticated SDK client per call.
|
|
26
|
+
*/
|
|
27
|
+
export class BaseClientManager {
|
|
28
|
+
confluentCloudBaseUrl;
|
|
29
|
+
confluentCloudFlinkBaseUrl;
|
|
30
|
+
confluentCloudSchemaRegistryBaseUrl;
|
|
31
|
+
confluentCloudKafkaRestBaseUrl;
|
|
32
|
+
confluentCloudTelemetryBaseUrl;
|
|
33
|
+
confluentCloudFlinkRestClient;
|
|
34
|
+
confluentCloudRestClient;
|
|
35
|
+
confluentCloudTableflowRestClient;
|
|
36
|
+
confluentCloudSchemaRegistryRestClient;
|
|
37
|
+
confluentCloudKafkaRestClient;
|
|
38
|
+
confluentCloudTelemetryRestClient;
|
|
39
|
+
schemaRegistryClient;
|
|
40
|
+
constructor(config) {
|
|
41
|
+
this.confluentCloudBaseUrl = config.endpoints.cloud;
|
|
42
|
+
this.confluentCloudFlinkBaseUrl = config.endpoints.flink;
|
|
43
|
+
this.confluentCloudSchemaRegistryBaseUrl = config.endpoints.schemaRegistry;
|
|
44
|
+
this.confluentCloudKafkaRestBaseUrl = config.endpoints.kafka;
|
|
45
|
+
this.confluentCloudTelemetryBaseUrl = config.endpoints.telemetry;
|
|
46
|
+
this.confluentCloudRestClient = new Lazy(() => {
|
|
47
|
+
if (!this.confluentCloudBaseUrl) {
|
|
48
|
+
throw new Error("Confluent Cloud REST endpoint not configured");
|
|
49
|
+
}
|
|
50
|
+
logger.info(`Initializing Confluent Cloud REST client for base URL ${this.confluentCloudBaseUrl}`);
|
|
51
|
+
const client = createClient({
|
|
52
|
+
baseUrl: this.confluentCloudBaseUrl,
|
|
53
|
+
});
|
|
54
|
+
client.use(createAuthMiddleware(config.auth.cloud));
|
|
55
|
+
return client;
|
|
56
|
+
});
|
|
57
|
+
this.confluentCloudTableflowRestClient = new Lazy(() => {
|
|
58
|
+
if (!this.confluentCloudBaseUrl) {
|
|
59
|
+
throw new Error("Confluent Cloud Tableflow REST endpoint not configured");
|
|
60
|
+
}
|
|
61
|
+
logger.info(`Initializing Confluent Cloud Tableflow REST client for base URL ${this.confluentCloudBaseUrl}`);
|
|
62
|
+
const client = createClient({
|
|
63
|
+
baseUrl: this.confluentCloudBaseUrl,
|
|
64
|
+
});
|
|
65
|
+
client.use(createAuthMiddleware(config.auth.tableflow));
|
|
66
|
+
return client;
|
|
67
|
+
});
|
|
68
|
+
this.confluentCloudFlinkRestClient = new Lazy(() => {
|
|
69
|
+
if (!this.confluentCloudFlinkBaseUrl) {
|
|
70
|
+
throw new Error("Confluent Cloud Flink REST endpoint not configured");
|
|
71
|
+
}
|
|
72
|
+
logger.info(`Initializing Confluent Cloud Flink REST client for base URL ${this.confluentCloudFlinkBaseUrl}`);
|
|
73
|
+
const client = createClient({
|
|
74
|
+
baseUrl: this.confluentCloudFlinkBaseUrl,
|
|
75
|
+
});
|
|
76
|
+
client.use(createAuthMiddleware(config.auth.flink));
|
|
77
|
+
return client;
|
|
78
|
+
});
|
|
79
|
+
this.confluentCloudSchemaRegistryRestClient = new Lazy(() => {
|
|
80
|
+
if (!this.confluentCloudSchemaRegistryBaseUrl) {
|
|
81
|
+
throw new Error("Confluent Cloud Schema Registry REST endpoint not configured");
|
|
82
|
+
}
|
|
83
|
+
logger.info(`Initializing Confluent Cloud Schema Registry REST client for base URL ${this.confluentCloudSchemaRegistryBaseUrl}`);
|
|
84
|
+
const client = createClient({
|
|
85
|
+
baseUrl: this.confluentCloudSchemaRegistryBaseUrl,
|
|
86
|
+
});
|
|
87
|
+
client.use(createAuthMiddleware(config.auth.schemaRegistry));
|
|
88
|
+
return client;
|
|
89
|
+
});
|
|
90
|
+
this.confluentCloudKafkaRestClient = new Lazy(() => {
|
|
91
|
+
if (!this.confluentCloudKafkaRestBaseUrl) {
|
|
92
|
+
throw new Error("Confluent Cloud Kafka REST endpoint not configured");
|
|
93
|
+
}
|
|
94
|
+
logger.info(`Initializing Confluent Cloud Kafka REST client for base URL ${this.confluentCloudKafkaRestBaseUrl}`);
|
|
95
|
+
const client = createClient({
|
|
96
|
+
baseUrl: this.confluentCloudKafkaRestBaseUrl,
|
|
97
|
+
});
|
|
98
|
+
client.use(createAuthMiddleware(config.auth.kafka));
|
|
99
|
+
return client;
|
|
100
|
+
});
|
|
101
|
+
this.confluentCloudTelemetryRestClient = new Lazy(() => {
|
|
102
|
+
if (!this.confluentCloudTelemetryBaseUrl) {
|
|
103
|
+
throw new Error("Confluent Cloud Telemetry endpoint not configured");
|
|
104
|
+
}
|
|
105
|
+
logger.info(`Initializing Confluent Cloud Telemetry REST client for base URL ${this.confluentCloudTelemetryBaseUrl}`);
|
|
106
|
+
const client = createClient({
|
|
107
|
+
baseUrl: this.confluentCloudTelemetryBaseUrl,
|
|
108
|
+
});
|
|
109
|
+
client.use(createAuthMiddleware(config.auth.telemetry));
|
|
110
|
+
return client;
|
|
111
|
+
});
|
|
112
|
+
this.schemaRegistryClient = new Lazy(() => {
|
|
113
|
+
if (!this.confluentCloudSchemaRegistryBaseUrl) {
|
|
114
|
+
throw new Error("Schema Registry endpoint not configured");
|
|
115
|
+
}
|
|
116
|
+
const schemaRegistryAuth = config.auth.schemaRegistry;
|
|
117
|
+
if (schemaRegistryAuth.type === "oauth") {
|
|
118
|
+
throw new Error("Schema Registry OAuth authentication requires the cluster-aware accessor: " +
|
|
119
|
+
"call getSchemaRegistrySdkClient(envId) instead. The no-arg " +
|
|
120
|
+
"getSchemaRegistryClient() does not have access to the logical SR cluster ID " +
|
|
121
|
+
"(needed for the target-sr-cluster header) under OAuth; the cluster is " +
|
|
122
|
+
"auto-resolved from envId.");
|
|
123
|
+
}
|
|
124
|
+
const { apiKey, apiSecret } = schemaRegistryAuth;
|
|
125
|
+
const clientConfig = {
|
|
126
|
+
baseURLs: [this.confluentCloudSchemaRegistryBaseUrl],
|
|
127
|
+
};
|
|
128
|
+
if (apiKey && apiSecret) {
|
|
129
|
+
clientConfig.basicAuthCredentials = {
|
|
130
|
+
credentialsSource: "USER_INFO",
|
|
131
|
+
userInfo: `${apiKey}:${apiSecret}`,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
else if (apiKey || apiSecret) {
|
|
135
|
+
const missing = apiKey
|
|
136
|
+
? "SCHEMA_REGISTRY_API_SECRET"
|
|
137
|
+
: "SCHEMA_REGISTRY_API_KEY";
|
|
138
|
+
throw new Error(`Partial credentials: ${missing} not set. Both SCHEMA_REGISTRY_API_KEY and SCHEMA_REGISTRY_API_SECRET are required for Schema Registry authentication.`);
|
|
139
|
+
}
|
|
140
|
+
return new SchemaRegistryClient(clientConfig);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/** @inheritdoc */
|
|
144
|
+
getConfluentCloudFlinkRestClient() {
|
|
145
|
+
return this.confluentCloudFlinkRestClient.get();
|
|
146
|
+
}
|
|
147
|
+
/** @inheritdoc */
|
|
148
|
+
getConfluentCloudRestClient() {
|
|
149
|
+
return this.confluentCloudRestClient.get();
|
|
150
|
+
}
|
|
151
|
+
/** @inheritdoc */
|
|
152
|
+
getConfluentCloudTableflowRestClient() {
|
|
153
|
+
return this.confluentCloudTableflowRestClient.get();
|
|
154
|
+
}
|
|
155
|
+
/** @inheritdoc */
|
|
156
|
+
getConfluentCloudSchemaRegistryRestClient() {
|
|
157
|
+
return this.confluentCloudSchemaRegistryRestClient.get();
|
|
158
|
+
}
|
|
159
|
+
/** @inheritdoc */
|
|
160
|
+
async getSchemaRegistryRestClient(_envId) {
|
|
161
|
+
return this.confluentCloudSchemaRegistryRestClient.get();
|
|
162
|
+
}
|
|
163
|
+
/** @inheritdoc */
|
|
164
|
+
async getConfluentCloudKafkaRestClient(_clusterId, _envId) {
|
|
165
|
+
return this.confluentCloudKafkaRestClient.get();
|
|
166
|
+
}
|
|
167
|
+
/** @inheritdoc */
|
|
168
|
+
getConfluentCloudTelemetryRestClient() {
|
|
169
|
+
return this.confluentCloudTelemetryRestClient.get();
|
|
170
|
+
}
|
|
171
|
+
/** @inheritdoc */
|
|
172
|
+
getSchemaRegistryClient() {
|
|
173
|
+
return this.schemaRegistryClient.get();
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Environment-aware Schema Registry SDK client accessor. Under direct, the
|
|
177
|
+
* arg is ignored and the existing single-instance Lazy is returned. Under
|
|
178
|
+
* OAuth, `envId` (`env-...`) is required; the SR cluster (`lsrc-...`) is
|
|
179
|
+
* auto-resolved from the environment (single SR per environment is the
|
|
180
|
+
* CCloud invariant). The SR client itself is built per-call (no cache)
|
|
181
|
+
* because the DPAT is captured in the SDK's axios headers at construction
|
|
182
|
+
* time; endpoint resolution happens fresh on every call too.
|
|
183
|
+
*/
|
|
184
|
+
async getSchemaRegistrySdkClient(_envId) {
|
|
185
|
+
return this.getSchemaRegistryClient();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=base-client-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-client-manager.js","sourceRoot":"","sources":["../../src/confluent/base-client-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview
|
|
2
|
+
* @fileoverview Public client-manager contracts. Implementations live in sibling
|
|
3
|
+
* files: {@link BaseClientManager} (REST + Schema Registry) in
|
|
4
|
+
* `base-client-manager.ts`, and concrete subclasses ({@link DirectClientManager}
|
|
5
|
+
* for api-key auth + native Kafka, plus the OAuth variant) alongside it.
|
|
3
6
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import { SchemaRegistryClient } from "@confluentinc/schemaregistry";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
7
|
+
import { KafkaJS } from "@confluentinc/kafka-javascript";
|
|
8
|
+
import type { SchemaRegistryClient } from "@confluentinc/schemaregistry";
|
|
9
|
+
import type { paths } from "@src/confluent/openapi-schema.js";
|
|
10
|
+
import type { Client } from "openapi-fetch";
|
|
11
|
+
/**
|
|
12
|
+
* Typed openapi-fetch client over the project's OpenAPI {@link paths}.
|
|
13
|
+
* Shared alias so every REST surface in the codebase (cloud, flink,
|
|
14
|
+
* tableflow, kafka REST, schema-registry REST, telemetry) advertises and
|
|
15
|
+
* returns the same shape without restating the path-template generic.
|
|
16
|
+
*/
|
|
17
|
+
export type ConfluentRestClient = Client<paths, `${string}/${string}`>;
|
|
9
18
|
/**
|
|
10
19
|
* Interface for managing Kafka client connections and operations.
|
|
11
20
|
*/
|
|
@@ -26,17 +35,37 @@ export interface KafkaClientManager {
|
|
|
26
35
|
*/
|
|
27
36
|
export interface ConfluentCloudRestClientManager {
|
|
28
37
|
/** Gets a configured REST client for Confluent Cloud Flink operations */
|
|
29
|
-
getConfluentCloudFlinkRestClient():
|
|
38
|
+
getConfluentCloudFlinkRestClient(): ConfluentRestClient;
|
|
30
39
|
/** Gets a configured REST client for general Confluent Cloud operations */
|
|
31
|
-
getConfluentCloudRestClient():
|
|
40
|
+
getConfluentCloudRestClient(): ConfluentRestClient;
|
|
32
41
|
/** Gets a configured REST client for Tableflow operations */
|
|
33
|
-
getConfluentCloudTableflowRestClient():
|
|
42
|
+
getConfluentCloudTableflowRestClient(): ConfluentRestClient;
|
|
34
43
|
/** Gets a configured REST client for Confluent Cloud Schema Registry operations */
|
|
35
|
-
getConfluentCloudSchemaRegistryRestClient():
|
|
36
|
-
/**
|
|
37
|
-
|
|
44
|
+
getConfluentCloudSchemaRegistryRestClient(): ConfluentRestClient;
|
|
45
|
+
/**
|
|
46
|
+
* Env-aware REST client for Schema Registry operations. Use from handlers
|
|
47
|
+
* that need OAuth support; the existing sync getter above stays in use by
|
|
48
|
+
* direct-only handlers (catalog/tag/search) and is unaffected by this
|
|
49
|
+
* method.
|
|
50
|
+
*
|
|
51
|
+
* Under direct, `envId` is ignored; a client is built against the
|
|
52
|
+
* `schema_registry.endpoint` from the connection config (same configuration
|
|
53
|
+
* source as the sync getter). Under OAuth, `envId` is required: a fresh
|
|
54
|
+
* client is built per call against the resolved SR host for the env's SR
|
|
55
|
+
* cluster, with bearer auth + the `target-sr-cluster` default header.
|
|
56
|
+
*/
|
|
57
|
+
getSchemaRegistryRestClient(envId?: string): Promise<ConfluentRestClient>;
|
|
58
|
+
/**
|
|
59
|
+
* Gets a configured REST client for Confluent Cloud Kafka operations.
|
|
60
|
+
*
|
|
61
|
+
* Under direct, args are ignored; a client is built against
|
|
62
|
+
* `conn.kafka.rest_endpoint` from the connection config. Under OAuth, both
|
|
63
|
+
* `clusterId` and `envId` are required: a fresh client is built per call
|
|
64
|
+
* against the resolved `spec.http_endpoint` for the given cluster.
|
|
65
|
+
*/
|
|
66
|
+
getConfluentCloudKafkaRestClient(clusterId?: string, envId?: string): Promise<ConfluentRestClient>;
|
|
38
67
|
/** Gets a configured REST client for Confluent Cloud Telemetry/Metrics API */
|
|
39
|
-
getConfluentCloudTelemetryRestClient():
|
|
68
|
+
getConfluentCloudTelemetryRestClient(): ConfluentRestClient;
|
|
40
69
|
}
|
|
41
70
|
/**
|
|
42
71
|
* Interface for managing Schema Registry client connections.
|
|
@@ -47,68 +76,4 @@ export interface SchemaRegistryClientHandler {
|
|
|
47
76
|
export interface ClientManager extends KafkaClientManager, ConfluentCloudRestClientManager, SchemaRegistryClientHandler {
|
|
48
77
|
getSchemaRegistryClient(): SchemaRegistryClient;
|
|
49
78
|
}
|
|
50
|
-
export interface ClientManagerConfig {
|
|
51
|
-
kafka: GlobalConfig;
|
|
52
|
-
endpoints: ConfluentEndpoints;
|
|
53
|
-
auth: {
|
|
54
|
-
cloud: ConfluentAuth;
|
|
55
|
-
flink: ConfluentAuth;
|
|
56
|
-
tableflow: ConfluentAuth;
|
|
57
|
-
schemaRegistry: ConfluentAuth;
|
|
58
|
-
kafka: ConfluentAuth;
|
|
59
|
-
telemetry: ConfluentAuth;
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Default implementation of client management for Kafka and Confluent Cloud services.
|
|
64
|
-
* Manages lifecycle and lazy initialization of various client connections.
|
|
65
|
-
*/
|
|
66
|
-
export declare class DefaultClientManager implements ClientManager, SchemaRegistryClientHandler {
|
|
67
|
-
private confluentCloudBaseUrl;
|
|
68
|
-
private confluentCloudTableflowBaseUrl;
|
|
69
|
-
private confluentCloudFlinkBaseUrl;
|
|
70
|
-
private confluentCloudSchemaRegistryBaseUrl;
|
|
71
|
-
private confluentCloudKafkaRestBaseUrl;
|
|
72
|
-
private confluentCloudTelemetryBaseUrl;
|
|
73
|
-
private readonly kafkaConfig;
|
|
74
|
-
private readonly kafkaClient;
|
|
75
|
-
private readonly adminClient;
|
|
76
|
-
private readonly producer;
|
|
77
|
-
private readonly confluentCloudFlinkRestClient;
|
|
78
|
-
private readonly confluentCloudRestClient;
|
|
79
|
-
private readonly confluentCloudTableflowRestClient;
|
|
80
|
-
private readonly confluentCloudSchemaRegistryRestClient;
|
|
81
|
-
private readonly confluentCloudKafkaRestClient;
|
|
82
|
-
private readonly confluentCloudTelemetryRestClient;
|
|
83
|
-
private readonly schemaRegistryClient;
|
|
84
|
-
/**
|
|
85
|
-
* Creates a new DefaultClientManager instance.
|
|
86
|
-
* @param config - Configuration for all clients
|
|
87
|
-
*/
|
|
88
|
-
constructor(config: ClientManagerConfig);
|
|
89
|
-
/** @inheritdoc */
|
|
90
|
-
getConsumer(sessionId?: string): Promise<KafkaJS.Consumer>;
|
|
91
|
-
/** @inheritdoc */
|
|
92
|
-
getKafkaClient(): KafkaJS.Kafka;
|
|
93
|
-
/** @inheritdoc */
|
|
94
|
-
getConfluentCloudFlinkRestClient(): Client<paths, `${string}/${string}`>;
|
|
95
|
-
/** @inheritdoc */
|
|
96
|
-
getConfluentCloudRestClient(): Client<paths, `${string}/${string}`>;
|
|
97
|
-
/** @inheritdoc */
|
|
98
|
-
getConfluentCloudTableflowRestClient(): Client<paths, `${string}/${string}`>;
|
|
99
|
-
/** @inheritdoc */
|
|
100
|
-
getConfluentCloudSchemaRegistryRestClient(): Client<paths, `${string}/${string}`>;
|
|
101
|
-
/** @inheritdoc */
|
|
102
|
-
getConfluentCloudKafkaRestClient(): Client<paths, `${string}/${string}`>;
|
|
103
|
-
/** @inheritdoc */
|
|
104
|
-
getConfluentCloudTelemetryRestClient(): Client<paths, `${string}/${string}`>;
|
|
105
|
-
/** @inheritdoc */
|
|
106
|
-
getAdminClient(): Promise<KafkaJS.Admin>;
|
|
107
|
-
/** @inheritdoc */
|
|
108
|
-
getProducer(): Promise<KafkaJS.Producer>;
|
|
109
|
-
/** @inheritdoc */
|
|
110
|
-
disconnect(): Promise<void>;
|
|
111
|
-
/** @inheritdoc */
|
|
112
|
-
getSchemaRegistryClient(): SchemaRegistryClient;
|
|
113
|
-
}
|
|
114
79
|
//# sourceMappingURL=client-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-manager.d.ts","sourceRoot":"","sources":["../../src/confluent/client-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client-manager.d.ts","sourceRoot":"","sources":["../../src/confluent/client-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC;IAChC,wEAAwE;IACxE,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,+DAA+D;IAC/D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,iEAAiE;IACjE,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,uDAAuD;IACvD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,yEAAyE;IACzE,gCAAgC,IAAI,mBAAmB,CAAC;IACxD,2EAA2E;IAC3E,2BAA2B,IAAI,mBAAmB,CAAC;IACnD,6DAA6D;IAC7D,oCAAoC,IAAI,mBAAmB,CAAC;IAC5D,mFAAmF;IACnF,yCAAyC,IAAI,mBAAmB,CAAC;IACjE;;;;;;;;;;;OAWG;IACH,2BAA2B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1E;;;;;;;OAOG;IACH,gCAAgC,CAC9B,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,8EAA8E;IAC9E,oCAAoC,IAAI,mBAAmB,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,uBAAuB,IAAI,oBAAoB,CAAC;CACjD;AAED,MAAM,WAAW,aACf,SAAQ,kBAAkB,EACxB,+BAA+B,EAC/B,2BAA2B;IAC7B,uBAAuB,IAAI,oBAAoB,CAAC;CACjD"}
|
|
@@ -1,216 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview
|
|
2
|
+
* @fileoverview Public client-manager contracts. Implementations live in sibling
|
|
3
|
+
* files: {@link BaseClientManager} (REST + Schema Registry) in
|
|
4
|
+
* `base-client-manager.ts`, and concrete subclasses ({@link DirectClientManager}
|
|
5
|
+
* for api-key auth + native Kafka, plus the OAuth variant) alongside it.
|
|
3
6
|
*/
|
|
4
|
-
|
|
5
|
-
import { SchemaRegistryClient } from "@confluentinc/schemaregistry";
|
|
6
|
-
import { createAuthMiddleware, } from "../confluent/middleware.js";
|
|
7
|
-
import { AsyncLazy, Lazy } from "../lazy.js";
|
|
8
|
-
import { kafkaLogger, logger } from "../logger.js";
|
|
9
|
-
import createClient from "openapi-fetch";
|
|
10
|
-
/**
|
|
11
|
-
* Default implementation of client management for Kafka and Confluent Cloud services.
|
|
12
|
-
* Manages lifecycle and lazy initialization of various client connections.
|
|
13
|
-
*/
|
|
14
|
-
export class DefaultClientManager {
|
|
15
|
-
confluentCloudBaseUrl;
|
|
16
|
-
confluentCloudTableflowBaseUrl;
|
|
17
|
-
confluentCloudFlinkBaseUrl;
|
|
18
|
-
confluentCloudSchemaRegistryBaseUrl;
|
|
19
|
-
confluentCloudKafkaRestBaseUrl;
|
|
20
|
-
confluentCloudTelemetryBaseUrl;
|
|
21
|
-
kafkaConfig;
|
|
22
|
-
kafkaClient;
|
|
23
|
-
adminClient;
|
|
24
|
-
producer;
|
|
25
|
-
confluentCloudFlinkRestClient;
|
|
26
|
-
confluentCloudRestClient;
|
|
27
|
-
confluentCloudTableflowRestClient;
|
|
28
|
-
confluentCloudSchemaRegistryRestClient;
|
|
29
|
-
confluentCloudKafkaRestClient;
|
|
30
|
-
confluentCloudTelemetryRestClient;
|
|
31
|
-
schemaRegistryClient;
|
|
32
|
-
/**
|
|
33
|
-
* Creates a new DefaultClientManager instance.
|
|
34
|
-
* @param config - Configuration for all clients
|
|
35
|
-
*/
|
|
36
|
-
constructor(config) {
|
|
37
|
-
this.confluentCloudBaseUrl = config.endpoints.cloud;
|
|
38
|
-
this.confluentCloudTableflowBaseUrl = config.endpoints.cloud; // at the time of writing, apis are exposed on the same base url as confluent cloud
|
|
39
|
-
this.confluentCloudFlinkBaseUrl = config.endpoints.flink;
|
|
40
|
-
this.confluentCloudSchemaRegistryBaseUrl = config.endpoints.schemaRegistry;
|
|
41
|
-
this.confluentCloudKafkaRestBaseUrl = config.endpoints.kafka;
|
|
42
|
-
this.confluentCloudTelemetryBaseUrl = config.endpoints.telemetry;
|
|
43
|
-
this.kafkaConfig = config.kafka;
|
|
44
|
-
this.kafkaClient = new Lazy(() => new KafkaJS.Kafka({
|
|
45
|
-
...this.kafkaConfig,
|
|
46
|
-
kafkaJS: {
|
|
47
|
-
logger: kafkaLogger,
|
|
48
|
-
// we need to do this since typescript will complain that we are missing configs like `brokers` even though we are passing them in kafkaConfig above
|
|
49
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
|
-
},
|
|
51
|
-
}));
|
|
52
|
-
this.adminClient = new AsyncLazy(async () => {
|
|
53
|
-
logger.info("Connecting Kafka Admin");
|
|
54
|
-
const admin = this.kafkaClient.get().admin();
|
|
55
|
-
await admin.connect();
|
|
56
|
-
return admin;
|
|
57
|
-
}, (admin) => admin.disconnect());
|
|
58
|
-
this.producer = new AsyncLazy(async () => {
|
|
59
|
-
logger.info("Connecting Kafka Producer");
|
|
60
|
-
const producer = this.kafkaClient.get().producer();
|
|
61
|
-
await producer.connect();
|
|
62
|
-
return producer;
|
|
63
|
-
}, (producer) => producer.disconnect());
|
|
64
|
-
this.confluentCloudRestClient = new Lazy(() => {
|
|
65
|
-
if (!this.confluentCloudBaseUrl) {
|
|
66
|
-
throw new Error("Confluent Cloud REST endpoint not configured");
|
|
67
|
-
}
|
|
68
|
-
logger.info(`Initializing Confluent Cloud REST client for base URL ${this.confluentCloudBaseUrl}`);
|
|
69
|
-
const client = createClient({
|
|
70
|
-
baseUrl: this.confluentCloudBaseUrl,
|
|
71
|
-
});
|
|
72
|
-
client.use(createAuthMiddleware(config.auth.cloud));
|
|
73
|
-
return client;
|
|
74
|
-
});
|
|
75
|
-
this.confluentCloudTableflowRestClient = new Lazy(() => {
|
|
76
|
-
if (!this.confluentCloudTableflowBaseUrl) {
|
|
77
|
-
throw new Error("Confluent Cloud Tableflow REST endpoint not configured");
|
|
78
|
-
}
|
|
79
|
-
logger.info(`Initializing Confluent Cloud Tableflow REST client for base URL ${this.confluentCloudTableflowBaseUrl}`);
|
|
80
|
-
const client = createClient({
|
|
81
|
-
baseUrl: this.confluentCloudTableflowBaseUrl,
|
|
82
|
-
});
|
|
83
|
-
client.use(createAuthMiddleware(config.auth.tableflow));
|
|
84
|
-
return client;
|
|
85
|
-
});
|
|
86
|
-
this.confluentCloudFlinkRestClient = new Lazy(() => {
|
|
87
|
-
if (!this.confluentCloudFlinkBaseUrl) {
|
|
88
|
-
throw new Error("Confluent Cloud Flink REST endpoint not configured");
|
|
89
|
-
}
|
|
90
|
-
logger.info(`Initializing Confluent Cloud Flink REST client for base URL ${this.confluentCloudFlinkBaseUrl}`);
|
|
91
|
-
const client = createClient({
|
|
92
|
-
baseUrl: this.confluentCloudFlinkBaseUrl,
|
|
93
|
-
});
|
|
94
|
-
client.use(createAuthMiddleware(config.auth.flink));
|
|
95
|
-
return client;
|
|
96
|
-
});
|
|
97
|
-
this.confluentCloudSchemaRegistryRestClient = new Lazy(() => {
|
|
98
|
-
if (!this.confluentCloudSchemaRegistryBaseUrl) {
|
|
99
|
-
throw new Error("Confluent Cloud Schema Registry REST endpoint not configured");
|
|
100
|
-
}
|
|
101
|
-
logger.info(`Initializing Confluent Cloud Schema Registry REST client for base URL ${this.confluentCloudSchemaRegistryBaseUrl}`);
|
|
102
|
-
const client = createClient({
|
|
103
|
-
baseUrl: this.confluentCloudSchemaRegistryBaseUrl,
|
|
104
|
-
});
|
|
105
|
-
client.use(createAuthMiddleware(config.auth.schemaRegistry));
|
|
106
|
-
return client;
|
|
107
|
-
});
|
|
108
|
-
this.confluentCloudKafkaRestClient = new Lazy(() => {
|
|
109
|
-
if (!this.confluentCloudKafkaRestBaseUrl) {
|
|
110
|
-
throw new Error("Confluent Cloud Kafka REST endpoint not configured");
|
|
111
|
-
}
|
|
112
|
-
logger.info(`Initializing Confluent Cloud Kafka REST client for base URL ${this.confluentCloudKafkaRestBaseUrl}`);
|
|
113
|
-
const client = createClient({
|
|
114
|
-
baseUrl: this.confluentCloudKafkaRestBaseUrl,
|
|
115
|
-
});
|
|
116
|
-
client.use(createAuthMiddleware(config.auth.kafka));
|
|
117
|
-
return client;
|
|
118
|
-
});
|
|
119
|
-
this.confluentCloudTelemetryRestClient = new Lazy(() => {
|
|
120
|
-
if (!this.confluentCloudTelemetryBaseUrl) {
|
|
121
|
-
throw new Error("Confluent Cloud Telemetry endpoint not configured");
|
|
122
|
-
}
|
|
123
|
-
logger.info(`Initializing Confluent Cloud Telemetry REST client for base URL ${this.confluentCloudTelemetryBaseUrl}`);
|
|
124
|
-
const client = createClient({
|
|
125
|
-
baseUrl: this.confluentCloudTelemetryBaseUrl,
|
|
126
|
-
});
|
|
127
|
-
client.use(createAuthMiddleware(config.auth.telemetry));
|
|
128
|
-
return client;
|
|
129
|
-
});
|
|
130
|
-
this.schemaRegistryClient = new Lazy(() => {
|
|
131
|
-
if (!this.confluentCloudSchemaRegistryBaseUrl) {
|
|
132
|
-
throw new Error("Schema Registry endpoint not configured");
|
|
133
|
-
}
|
|
134
|
-
const { apiKey, apiSecret } = config.auth.schemaRegistry;
|
|
135
|
-
const clientConfig = {
|
|
136
|
-
baseURLs: [this.confluentCloudSchemaRegistryBaseUrl],
|
|
137
|
-
};
|
|
138
|
-
if (apiKey && apiSecret) {
|
|
139
|
-
clientConfig.basicAuthCredentials = {
|
|
140
|
-
credentialsSource: "USER_INFO",
|
|
141
|
-
userInfo: `${apiKey}:${apiSecret}`,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
else if (apiKey || apiSecret) {
|
|
145
|
-
const missing = apiKey
|
|
146
|
-
? "SCHEMA_REGISTRY_API_SECRET"
|
|
147
|
-
: "SCHEMA_REGISTRY_API_KEY";
|
|
148
|
-
throw new Error(`Partial credentials: ${missing} not set. Both SCHEMA_REGISTRY_API_KEY and SCHEMA_REGISTRY_API_SECRET are required for Schema Registry authentication.`);
|
|
149
|
-
}
|
|
150
|
-
return new SchemaRegistryClient(clientConfig);
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
/** @inheritdoc */
|
|
154
|
-
async getConsumer(sessionId) {
|
|
155
|
-
// Build the config inline, merging with defaults
|
|
156
|
-
const baseGroupId = this.kafkaConfig["group.id"] || "mcp-confluent";
|
|
157
|
-
const groupId = sessionId ? `${baseGroupId}-${sessionId}` : baseGroupId;
|
|
158
|
-
const consumerConfig = {
|
|
159
|
-
// Spread all user-provided config
|
|
160
|
-
...this.kafkaConfig,
|
|
161
|
-
// Override with our logic
|
|
162
|
-
"group.id": groupId,
|
|
163
|
-
"auto.offset.reset": this.kafkaConfig["auto.offset.reset"] || "earliest",
|
|
164
|
-
"allow.auto.create.topics": this.kafkaConfig["allow.auto.create.topics"] || false,
|
|
165
|
-
"enable.auto.commit": this.kafkaConfig["enable.auto.commit"] || false,
|
|
166
|
-
};
|
|
167
|
-
return this.kafkaClient.get().consumer(consumerConfig);
|
|
168
|
-
}
|
|
169
|
-
/** @inheritdoc */
|
|
170
|
-
getKafkaClient() {
|
|
171
|
-
return this.kafkaClient.get();
|
|
172
|
-
}
|
|
173
|
-
/** @inheritdoc */
|
|
174
|
-
getConfluentCloudFlinkRestClient() {
|
|
175
|
-
return this.confluentCloudFlinkRestClient.get();
|
|
176
|
-
}
|
|
177
|
-
/** @inheritdoc */
|
|
178
|
-
getConfluentCloudRestClient() {
|
|
179
|
-
return this.confluentCloudRestClient.get();
|
|
180
|
-
}
|
|
181
|
-
/** @inheritdoc */
|
|
182
|
-
getConfluentCloudTableflowRestClient() {
|
|
183
|
-
return this.confluentCloudTableflowRestClient.get();
|
|
184
|
-
}
|
|
185
|
-
/** @inheritdoc */
|
|
186
|
-
getConfluentCloudSchemaRegistryRestClient() {
|
|
187
|
-
return this.confluentCloudSchemaRegistryRestClient.get();
|
|
188
|
-
}
|
|
189
|
-
/** @inheritdoc */
|
|
190
|
-
getConfluentCloudKafkaRestClient() {
|
|
191
|
-
return this.confluentCloudKafkaRestClient.get();
|
|
192
|
-
}
|
|
193
|
-
/** @inheritdoc */
|
|
194
|
-
getConfluentCloudTelemetryRestClient() {
|
|
195
|
-
return this.confluentCloudTelemetryRestClient.get();
|
|
196
|
-
}
|
|
197
|
-
/** @inheritdoc */
|
|
198
|
-
async getAdminClient() {
|
|
199
|
-
return this.adminClient.get();
|
|
200
|
-
}
|
|
201
|
-
/** @inheritdoc */
|
|
202
|
-
async getProducer() {
|
|
203
|
-
return this.producer.get();
|
|
204
|
-
}
|
|
205
|
-
/** @inheritdoc */
|
|
206
|
-
async disconnect() {
|
|
207
|
-
await this.adminClient.close();
|
|
208
|
-
await this.producer.close();
|
|
209
|
-
this.kafkaClient.close();
|
|
210
|
-
}
|
|
211
|
-
/** @inheritdoc */
|
|
212
|
-
getSchemaRegistryClient() {
|
|
213
|
-
return this.schemaRegistryClient.get();
|
|
214
|
-
}
|
|
215
|
-
}
|
|
7
|
+
export {};
|
|
216
8
|
//# sourceMappingURL=client-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-manager.js","sourceRoot":"","sources":["../../src/confluent/client-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client-manager.js","sourceRoot":"","sources":["../../src/confluent/client-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { CLIOptions } from "../cli.js";
|
|
2
|
+
import type { MCPServerConfiguration } from "../config/models.js";
|
|
3
|
+
import type { TransportType } from "../mcp/transports/types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Wire shape of the connection-type label on telemetry events. The internal
|
|
6
|
+
* schema discriminator uses `"direct"` and `"oauth"`; the telemetry label
|
|
7
|
+
* remaps the latter to `"ccloud-oauth"` because today's OAuth arm is
|
|
8
|
+
* specifically Confluent Cloud OAuth (PKCE against CCloud Auth0). If a
|
|
9
|
+
* non-CCloud OAuth arm ever lands, {@link buildConfigTelemetry}'s mapping
|
|
10
|
+
* needs to grow.
|
|
11
|
+
*/
|
|
12
|
+
export type ConnectionTelemetryType = "direct" | "ccloud-oauth";
|
|
13
|
+
/**
|
|
14
|
+
* Result of {@link buildConfigTelemetry}. Three orthogonal dimensions captured
|
|
15
|
+
* once at server start and emitted as the payload of `SERVER_START`. They are
|
|
16
|
+
* boot-time invariants, so they don't ride TOOL_CALL events — warehouse joins
|
|
17
|
+
* on `serverSessionId` recover the link when slicing is needed. See #264.
|
|
18
|
+
*/
|
|
19
|
+
export interface ConfigTelemetry {
|
|
20
|
+
/** Which branch of `main()` built the `MCPServerConfiguration`. */
|
|
21
|
+
configSource: "yaml" | "env-vars";
|
|
22
|
+
/**
|
|
23
|
+
* Sorted list of active MCP serving listeners. Inputs are already unique by
|
|
24
|
+
* construction (Zod rejects duplicates on the YAML path; `parseTransportList`
|
|
25
|
+
* dedupes on the CLI path), so this helper does not enforce uniqueness.
|
|
26
|
+
*/
|
|
27
|
+
transports: TransportType[];
|
|
28
|
+
/**
|
|
29
|
+
* Sorted list of each declared connection's wire type. Length equals the
|
|
30
|
+
* connection count; duplicates reflect multiple connections of the same
|
|
31
|
+
* type (relevant once multi-connection lands — today always length 1).
|
|
32
|
+
*/
|
|
33
|
+
connectionTypes: ConnectionTelemetryType[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Derive the {@link ConfigTelemetry} bundle from the inputs already in scope
|
|
37
|
+
* at the end of `main()`'s bootstrap (resolved CLI options, validated
|
|
38
|
+
* `MCPServerConfiguration`, and the resolved list of active transports).
|
|
39
|
+
*/
|
|
40
|
+
export declare function buildConfigTelemetry(cliOptions: CLIOptions, mcpConfig: MCPServerConfiguration, transports: readonly TransportType[]): ConfigTelemetry;
|
|
41
|
+
//# sourceMappingURL=config-telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-telemetry.d.ts","sourceRoot":"","sources":["../../src/confluent/config-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,cAAc,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,YAAY,EAAE,MAAM,GAAG,UAAU,CAAC;IAClC;;;;OAIG;IACH,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B;;;;OAIG;IACH,eAAe,EAAE,uBAAuB,EAAE,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,sBAAsB,EACjC,UAAU,EAAE,SAAS,aAAa,EAAE,GACnC,eAAe,CAYjB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derive the {@link ConfigTelemetry} bundle from the inputs already in scope
|
|
3
|
+
* at the end of `main()`'s bootstrap (resolved CLI options, validated
|
|
4
|
+
* `MCPServerConfiguration`, and the resolved list of active transports).
|
|
5
|
+
*/
|
|
6
|
+
export function buildConfigTelemetry(cliOptions, mcpConfig, transports) {
|
|
7
|
+
const byLocale = (a, b) => a.localeCompare(b);
|
|
8
|
+
const connectionTypes = Object.values(mcpConfig.connections)
|
|
9
|
+
.map((conn) => conn.type === "oauth" ? "ccloud-oauth" : "direct")
|
|
10
|
+
.sort(byLocale);
|
|
11
|
+
return {
|
|
12
|
+
configSource: cliOptions.config ? "yaml" : "env-vars",
|
|
13
|
+
transports: [...transports].sort(byLocale),
|
|
14
|
+
connectionTypes,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=config-telemetry.js.map
|