@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 @@
|
|
|
1
|
+
{"version":3,"file":"config-telemetry.js","sourceRoot":"","sources":["../../src/confluent/config-telemetry.ts"],"names":[],"mappings":"AAqCA;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAsB,EACtB,SAAiC,EACjC,UAAoC;IAEpC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;SACzD,GAAG,CAA0B,CAAC,IAAI,EAAE,EAAE,CACrC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAClD;SACA,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClB,OAAO;QACL,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;QACrD,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1C,eAAe;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Direct (api-key) client manager — adds a native Kafka client to the
|
|
3
|
+
* REST/Schema-Registry surfaces inherited from {@link BaseClientManager}.
|
|
4
|
+
*/
|
|
5
|
+
import { GlobalConfig, KafkaJS } from "@confluentinc/kafka-javascript";
|
|
6
|
+
import { type DirectConnectionConfig } from "../config/models.js";
|
|
7
|
+
import { BaseClientManager, type BaseClientManagerConfig, type ConsumerBuildOptions } from "../confluent/base-client-manager.js";
|
|
8
|
+
import { type ClientManager } from "../confluent/client-manager.js";
|
|
9
|
+
export interface DirectClientManagerConfig extends BaseClientManagerConfig {
|
|
10
|
+
kafka: GlobalConfig;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Direct API-key client manager. Adds a native Kafka client (admin, producer, consumer)
|
|
14
|
+
* authenticated via SASL/PLAIN on top of the REST clients in {@link BaseClientManager}.
|
|
15
|
+
*/
|
|
16
|
+
export declare class DirectClientManager extends BaseClientManager implements ClientManager {
|
|
17
|
+
private readonly kafkaConfig;
|
|
18
|
+
private readonly kafkaClient;
|
|
19
|
+
private readonly adminClient;
|
|
20
|
+
private readonly producer;
|
|
21
|
+
constructor(config: DirectClientManagerConfig);
|
|
22
|
+
/** @inheritdoc */
|
|
23
|
+
getConsumer(sessionId?: string): Promise<KafkaJS.Consumer>;
|
|
24
|
+
/** @inheritdoc */
|
|
25
|
+
getKafkaClient(): KafkaJS.Kafka;
|
|
26
|
+
/** @inheritdoc */
|
|
27
|
+
getAdminClient(): Promise<KafkaJS.Admin>;
|
|
28
|
+
/** @inheritdoc */
|
|
29
|
+
getProducer(): Promise<KafkaJS.Producer>;
|
|
30
|
+
/** @inheritdoc */
|
|
31
|
+
getKafkaAdminClient(_clusterId?: string, _envId?: string): Promise<KafkaJS.Admin>;
|
|
32
|
+
/** @inheritdoc */
|
|
33
|
+
getKafkaProducer(_clusterId?: string, _envId?: string): Promise<KafkaJS.Producer>;
|
|
34
|
+
/** @inheritdoc */
|
|
35
|
+
buildKafkaConsumer(opts?: ConsumerBuildOptions): Promise<KafkaJS.Consumer>;
|
|
36
|
+
/** @inheritdoc */
|
|
37
|
+
disconnect(): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Constructs a {@link DirectClientManager} from a single direct connection config.
|
|
41
|
+
*/
|
|
42
|
+
export declare function constructDirectClientManager(conn: DirectConnectionConfig): DirectClientManager;
|
|
43
|
+
//# sourceMappingURL=direct-client-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-client-manager.d.ts","sourceRoot":"","sources":["../../src/confluent/direct-client-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAKtE,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,mBACX,SAAQ,iBACR,YAAW,aAAa;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;gBAE3C,MAAM,EAAE,yBAAyB;IAkC7C,kBAAkB;IACZ,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAIhE,kBAAkB;IAClB,cAAc,IAAI,OAAO,CAAC,KAAK;IAI/B,kBAAkB;IACZ,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IAI9C,kBAAkB;IACZ,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAI9C,kBAAkB;IACZ,mBAAmB,CACvB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IAIzB,kBAAkB;IACZ,gBAAgB,CACpB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAI5B,kBAAkB;IACZ,kBAAkB,CACtB,IAAI,CAAC,EAAE,oBAAoB,GAC1B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IA0B5B,kBAAkB;IACZ,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAKlC;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,sBAAsB,GAC3B,mBAAmB,CAqDrB"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Direct (api-key) client manager — adds a native Kafka client to the
|
|
3
|
+
* REST/Schema-Registry surfaces inherited from {@link BaseClientManager}.
|
|
4
|
+
*/
|
|
5
|
+
import { CONFLUENT_CLOUD_DEFAULT_ENDPOINT, } from "../config/models.js";
|
|
6
|
+
import { BaseClientManager, } from "../confluent/base-client-manager.js";
|
|
7
|
+
import { kafkaDeps } from "../confluent/node-deps.js";
|
|
8
|
+
import { AsyncLazy, Lazy } from "../lazy.js";
|
|
9
|
+
import { kafkaLogger, logger } from "../logger.js";
|
|
10
|
+
/**
|
|
11
|
+
* Direct API-key client manager. Adds a native Kafka client (admin, producer, consumer)
|
|
12
|
+
* authenticated via SASL/PLAIN on top of the REST clients in {@link BaseClientManager}.
|
|
13
|
+
*/
|
|
14
|
+
export class DirectClientManager extends BaseClientManager {
|
|
15
|
+
kafkaConfig;
|
|
16
|
+
kafkaClient;
|
|
17
|
+
adminClient;
|
|
18
|
+
producer;
|
|
19
|
+
constructor(config) {
|
|
20
|
+
super(config);
|
|
21
|
+
this.kafkaConfig = config.kafka;
|
|
22
|
+
this.kafkaClient = new Lazy(() => new kafkaDeps.Kafka({
|
|
23
|
+
...this.kafkaConfig,
|
|
24
|
+
kafkaJS: {
|
|
25
|
+
logger: kafkaLogger,
|
|
26
|
+
// 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
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
|
+
},
|
|
29
|
+
}));
|
|
30
|
+
this.adminClient = new AsyncLazy(async () => {
|
|
31
|
+
logger.info("Connecting Kafka Admin");
|
|
32
|
+
const admin = this.kafkaClient.get().admin();
|
|
33
|
+
await admin.connect();
|
|
34
|
+
return admin;
|
|
35
|
+
}, (admin) => admin.disconnect());
|
|
36
|
+
this.producer = new AsyncLazy(async () => {
|
|
37
|
+
logger.info("Connecting Kafka Producer");
|
|
38
|
+
const producer = this.kafkaClient.get().producer();
|
|
39
|
+
await producer.connect();
|
|
40
|
+
return producer;
|
|
41
|
+
}, (producer) => producer.disconnect());
|
|
42
|
+
}
|
|
43
|
+
/** @inheritdoc */
|
|
44
|
+
async getConsumer(sessionId) {
|
|
45
|
+
return this.buildKafkaConsumer({ groupId: sessionId });
|
|
46
|
+
}
|
|
47
|
+
/** @inheritdoc */
|
|
48
|
+
getKafkaClient() {
|
|
49
|
+
return this.kafkaClient.get();
|
|
50
|
+
}
|
|
51
|
+
/** @inheritdoc */
|
|
52
|
+
async getAdminClient() {
|
|
53
|
+
return this.adminClient.get();
|
|
54
|
+
}
|
|
55
|
+
/** @inheritdoc */
|
|
56
|
+
async getProducer() {
|
|
57
|
+
return this.producer.get();
|
|
58
|
+
}
|
|
59
|
+
/** @inheritdoc */
|
|
60
|
+
async getKafkaAdminClient(_clusterId, _envId) {
|
|
61
|
+
return this.getAdminClient();
|
|
62
|
+
}
|
|
63
|
+
/** @inheritdoc */
|
|
64
|
+
async getKafkaProducer(_clusterId, _envId) {
|
|
65
|
+
return this.getProducer();
|
|
66
|
+
}
|
|
67
|
+
/** @inheritdoc */
|
|
68
|
+
async buildKafkaConsumer(opts) {
|
|
69
|
+
const baseGroupId = this.kafkaConfig["group.id"] || "mcp-confluent";
|
|
70
|
+
const groupId = opts?.groupId
|
|
71
|
+
? `${baseGroupId}-${opts.groupId}`
|
|
72
|
+
: baseGroupId;
|
|
73
|
+
const offsetReset = opts?.offsetReset ?? this.kafkaConfig["auto.offset.reset"] ?? "earliest";
|
|
74
|
+
const consumerConfig = {
|
|
75
|
+
...this.kafkaConfig,
|
|
76
|
+
"group.id": groupId,
|
|
77
|
+
"auto.offset.reset": offsetReset,
|
|
78
|
+
// The consume-messages tool is a read-only snapshot; never a topic
|
|
79
|
+
// creator. Hardcode auto-create off so a typo'd topic name can't
|
|
80
|
+
// silently bring a topic into existence via librdkafka's
|
|
81
|
+
// default-`true` for this setting.
|
|
82
|
+
"allow.auto.create.topics": false,
|
|
83
|
+
// Same hardcode-rather-than-honor logic: this tool is a snapshot
|
|
84
|
+
// read, not a stream resumption. Committing offsets back would
|
|
85
|
+
// silently shift the start position for the next call — not part
|
|
86
|
+
// of the tool contract.
|
|
87
|
+
"enable.auto.commit": false,
|
|
88
|
+
};
|
|
89
|
+
return this.kafkaClient.get().consumer(consumerConfig);
|
|
90
|
+
}
|
|
91
|
+
/** @inheritdoc */
|
|
92
|
+
async disconnect() {
|
|
93
|
+
await this.adminClient.close();
|
|
94
|
+
await this.producer.close();
|
|
95
|
+
this.kafkaClient.close();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Constructs a {@link DirectClientManager} from a single direct connection config.
|
|
100
|
+
*/
|
|
101
|
+
export function constructDirectClientManager(conn) {
|
|
102
|
+
const kafkaClientConfig = {
|
|
103
|
+
"client.id": "mcp-confluent",
|
|
104
|
+
...(conn.kafka?.bootstrap_servers && {
|
|
105
|
+
"bootstrap.servers": conn.kafka.bootstrap_servers,
|
|
106
|
+
}),
|
|
107
|
+
...(conn.kafka?.auth
|
|
108
|
+
? {
|
|
109
|
+
"security.protocol": "sasl_ssl",
|
|
110
|
+
"sasl.mechanisms": "PLAIN",
|
|
111
|
+
"sasl.username": conn.kafka.auth.key,
|
|
112
|
+
"sasl.password": conn.kafka.auth.secret,
|
|
113
|
+
}
|
|
114
|
+
: {}),
|
|
115
|
+
...conn.kafka?.extra_properties,
|
|
116
|
+
};
|
|
117
|
+
return new DirectClientManager({
|
|
118
|
+
kafka: kafkaClientConfig,
|
|
119
|
+
endpoints: {
|
|
120
|
+
cloud: conn.confluent_cloud?.endpoint ?? CONFLUENT_CLOUD_DEFAULT_ENDPOINT,
|
|
121
|
+
flink: conn.flink?.endpoint,
|
|
122
|
+
schemaRegistry: conn.schema_registry?.endpoint,
|
|
123
|
+
kafka: conn.kafka?.rest_endpoint,
|
|
124
|
+
telemetry: conn.telemetry?.endpoint,
|
|
125
|
+
},
|
|
126
|
+
auth: {
|
|
127
|
+
cloud: {
|
|
128
|
+
apiKey: conn.confluent_cloud?.auth.key,
|
|
129
|
+
apiSecret: conn.confluent_cloud?.auth.secret,
|
|
130
|
+
},
|
|
131
|
+
tableflow: {
|
|
132
|
+
apiKey: conn.tableflow?.auth.key,
|
|
133
|
+
apiSecret: conn.tableflow?.auth.secret,
|
|
134
|
+
},
|
|
135
|
+
flink: {
|
|
136
|
+
apiKey: conn.flink?.auth.key,
|
|
137
|
+
apiSecret: conn.flink?.auth.secret,
|
|
138
|
+
},
|
|
139
|
+
schemaRegistry: {
|
|
140
|
+
apiKey: conn.schema_registry?.auth?.key,
|
|
141
|
+
apiSecret: conn.schema_registry?.auth?.secret,
|
|
142
|
+
},
|
|
143
|
+
kafka: {
|
|
144
|
+
apiKey: conn.kafka?.auth?.key,
|
|
145
|
+
apiSecret: conn.kafka?.auth?.secret,
|
|
146
|
+
},
|
|
147
|
+
telemetry: {
|
|
148
|
+
apiKey: conn.telemetry?.auth.key,
|
|
149
|
+
apiSecret: conn.telemetry?.auth.secret,
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=direct-client-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-client-manager.js","sourceRoot":"","sources":["../../src/confluent/direct-client-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,46 @@
|
|
|
1
1
|
import { Middleware } from "openapi-fetch";
|
|
2
|
+
/**
|
|
3
|
+
* Thrown by the bearer middleware when the token getter returns undefined —
|
|
4
|
+
* typically because OAuth bootstrap has not completed (or has been cleared by
|
|
5
|
+
* shutdown) at the moment a request is about to be sent. Surfaces a clear
|
|
6
|
+
* message for callers; tool handlers can catch it explicitly to return
|
|
7
|
+
* `{ isError: true }` instead of letting it propagate as a protocol-level
|
|
8
|
+
* error from the MCP transport.
|
|
9
|
+
*/
|
|
10
|
+
export declare class BearerTokenUnavailableError extends Error {
|
|
11
|
+
constructor(message: string);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Build a {@link Middleware} that attaches `Authorization: Bearer <token>`
|
|
15
|
+
* read from `getToken()` and sets a `User-Agent` header containing this
|
|
16
|
+
* package's version. The closure is supplied by the caller; this middleware
|
|
17
|
+
* has no knowledge of where the token comes from or when it expires. Throws
|
|
18
|
+
* {@link BearerTokenUnavailableError} when `getToken` returns `undefined`.
|
|
19
|
+
*/
|
|
20
|
+
export declare const createBearerMiddleware: (getToken: () => string | undefined) => Middleware;
|
|
2
21
|
export interface ConfluentEndpoints {
|
|
3
22
|
cloud?: string;
|
|
4
|
-
tableflow?: string;
|
|
5
23
|
flink?: string;
|
|
6
24
|
schemaRegistry?: string;
|
|
7
25
|
kafka?: string;
|
|
8
26
|
telemetry?: string;
|
|
9
27
|
}
|
|
10
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Discriminated union over the two authentication shapes the middleware
|
|
30
|
+
* understands. The `api_key` variant's `type` field is optional so existing
|
|
31
|
+
* call sites that pass `{ apiKey, apiSecret }` keep working.
|
|
32
|
+
*/
|
|
33
|
+
export type ConfluentAuth = {
|
|
34
|
+
type?: "api_key";
|
|
11
35
|
apiKey?: string;
|
|
12
36
|
apiSecret?: string;
|
|
13
|
-
}
|
|
37
|
+
} | {
|
|
38
|
+
type: "oauth";
|
|
39
|
+
getToken: () => string | undefined;
|
|
40
|
+
};
|
|
14
41
|
/**
|
|
15
|
-
* Creates a middleware that
|
|
42
|
+
* Creates a middleware that attaches an Authorization header. Dispatches on
|
|
43
|
+
* the `type` discriminator: `oauth` → bearer; `api_key` (or unset) → Basic.
|
|
16
44
|
*/
|
|
17
45
|
export declare const createAuthMiddleware: (auth: ConfluentAuth) => Middleware;
|
|
18
46
|
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C;;;;;;;GAOG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,MAAM,GAAG,SAAS,KACjC,UAYD,CAAC;AAEH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,aAAa,KAAG,UAK1D,CAAC"}
|
|
@@ -1,9 +1,53 @@
|
|
|
1
1
|
import { logger } from "../logger.js";
|
|
2
2
|
import pkg from "../../package.json" with { type: "json" };
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Thrown by the bearer middleware when the token getter returns undefined —
|
|
5
|
+
* typically because OAuth bootstrap has not completed (or has been cleared by
|
|
6
|
+
* shutdown) at the moment a request is about to be sent. Surfaces a clear
|
|
7
|
+
* message for callers; tool handlers can catch it explicitly to return
|
|
8
|
+
* `{ isError: true }` instead of letting it propagate as a protocol-level
|
|
9
|
+
* error from the MCP transport.
|
|
5
10
|
*/
|
|
6
|
-
export
|
|
11
|
+
export class BearerTokenUnavailableError extends Error {
|
|
12
|
+
constructor(message) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.name = "BearerTokenUnavailableError";
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Build a {@link Middleware} that attaches `Authorization: Bearer <token>`
|
|
19
|
+
* read from `getToken()` and sets a `User-Agent` header containing this
|
|
20
|
+
* package's version. The closure is supplied by the caller; this middleware
|
|
21
|
+
* has no knowledge of where the token comes from or when it expires. Throws
|
|
22
|
+
* {@link BearerTokenUnavailableError} when `getToken` returns `undefined`.
|
|
23
|
+
*/
|
|
24
|
+
export const createBearerMiddleware = (getToken) => ({
|
|
25
|
+
async onRequest({ request }) {
|
|
26
|
+
const token = getToken();
|
|
27
|
+
if (!token) {
|
|
28
|
+
throw new BearerTokenUnavailableError("OAuth token is not currently available.");
|
|
29
|
+
}
|
|
30
|
+
request.headers.set("Authorization", `Bearer ${token}`);
|
|
31
|
+
request.headers.set("User-Agent", `mcp-confluent-local/${pkg.version}`);
|
|
32
|
+
return request;
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Creates a middleware that attaches an Authorization header. Dispatches on
|
|
37
|
+
* the `type` discriminator: `oauth` → bearer; `api_key` (or unset) → Basic.
|
|
38
|
+
*/
|
|
39
|
+
export const createAuthMiddleware = (auth) => {
|
|
40
|
+
if (auth.type === "oauth") {
|
|
41
|
+
return createBearerMiddleware(auth.getToken);
|
|
42
|
+
}
|
|
43
|
+
return createApiKeyMiddleware(auth);
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Original Basic-auth middleware, unchanged from before the discriminated
|
|
47
|
+
* union was introduced. Extracted to a named factory so {@link createAuthMiddleware}
|
|
48
|
+
* can dispatch to it without inlining its body.
|
|
49
|
+
*/
|
|
50
|
+
const createApiKeyMiddleware = (auth) => ({
|
|
7
51
|
async onRequest({ request }) {
|
|
8
52
|
logger.debug({ request }, "Processing request");
|
|
9
53
|
if (auth.apiKey && auth.apiSecret) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAAkC,EACtB,EAAE,CAAC,CAAC;IAChB,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE;QACzB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,2BAA2B,CACnC,yCAAyC,CAC1C,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC,CAAC;AAmBH;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAmB,EAAc,EAAE;IACtE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,CAAC,IAG/B,EAAc,EAAE,CAAC,CAAC;IACjB,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE;QACzB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,OAAO,CAAC,GAAG,CACjB,eAAe,EACf,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAC9E,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YACrD,MAAM,CAAC,IAAI,CACT,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,EAC3D,wBAAwB,OAAO,oCAAoC,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
+
import { KafkaJS } from "@confluentinc/kafka-javascript";
|
|
2
|
+
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
|
|
3
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
1
4
|
import { Analytics } from "@segment/analytics-node";
|
|
2
|
-
import
|
|
5
|
+
import * as dotenv from "dotenv";
|
|
6
|
+
import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
7
|
+
import { createServer as httpCreateServer } from "node:http";
|
|
3
8
|
import { arch, homedir, platform, release } from "node:os";
|
|
4
9
|
export declare const buildConfig: {
|
|
5
10
|
TELEMETRY_WRITE_KEY: string;
|
|
6
11
|
};
|
|
12
|
+
export declare const dotenvLib: {
|
|
13
|
+
config: typeof dotenv.config;
|
|
14
|
+
};
|
|
7
15
|
export declare const fs: {
|
|
16
|
+
existsSync: typeof existsSync;
|
|
8
17
|
readFileSync: typeof readFileSync;
|
|
9
18
|
writeFileSync: typeof writeFileSync;
|
|
19
|
+
appendFileSync: typeof appendFileSync;
|
|
10
20
|
mkdirSync: typeof mkdirSync;
|
|
11
21
|
};
|
|
12
22
|
export declare const os: {
|
|
@@ -17,47 +27,31 @@ export declare const os: {
|
|
|
17
27
|
};
|
|
18
28
|
export declare const path: {
|
|
19
29
|
join: (...paths: string[]) => string;
|
|
30
|
+
resolve: (...paths: string[]) => string;
|
|
31
|
+
dirname: (path: string) => string;
|
|
32
|
+
basename: (path: string, suffix?: string) => string;
|
|
20
33
|
};
|
|
21
34
|
export declare const segment: {
|
|
22
35
|
Analytics: typeof Analytics;
|
|
23
36
|
};
|
|
24
|
-
export declare const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
SCHEMA_REGISTRY_API_KEY?: string | undefined;
|
|
44
|
-
SCHEMA_REGISTRY_API_SECRET?: string | undefined;
|
|
45
|
-
TABLEFLOW_API_KEY?: string | undefined;
|
|
46
|
-
TABLEFLOW_API_SECRET?: string | undefined;
|
|
47
|
-
FLINK_ENV_ID?: string | undefined;
|
|
48
|
-
FLINK_ORG_ID?: string | undefined;
|
|
49
|
-
FLINK_REST_ENDPOINT?: string | undefined;
|
|
50
|
-
FLINK_COMPUTE_POOL_ID?: string | undefined;
|
|
51
|
-
FLINK_ENV_NAME?: string | undefined;
|
|
52
|
-
FLINK_DATABASE_NAME?: string | undefined;
|
|
53
|
-
KAFKA_CLUSTER_ID?: string | undefined;
|
|
54
|
-
KAFKA_ENV_ID?: string | undefined;
|
|
55
|
-
CONFLUENT_CLOUD_REST_ENDPOINT?: string | undefined;
|
|
56
|
-
SCHEMA_REGISTRY_ENDPOINT?: string | undefined;
|
|
57
|
-
KAFKA_REST_ENDPOINT?: string | undefined;
|
|
58
|
-
TELEMETRY_ENDPOINT?: string | undefined;
|
|
59
|
-
TELEMETRY_API_KEY?: string | undefined;
|
|
60
|
-
TELEMETRY_API_SECRET?: string | undefined;
|
|
61
|
-
};
|
|
37
|
+
export declare const nodeFetch: {
|
|
38
|
+
fetch: typeof fetch;
|
|
39
|
+
};
|
|
40
|
+
export declare const nodeCrypto: {
|
|
41
|
+
randomBytes: (size: number) => Buffer;
|
|
42
|
+
randomUUID: () => string;
|
|
43
|
+
};
|
|
44
|
+
export declare const nodeHttp: {
|
|
45
|
+
createServer: typeof httpCreateServer;
|
|
46
|
+
};
|
|
47
|
+
export declare const nodeOpen: {
|
|
48
|
+
open: (target: string) => Promise<void>;
|
|
49
|
+
};
|
|
50
|
+
export declare const sdkTransports: {
|
|
51
|
+
StreamableHTTPServerTransport: typeof StreamableHTTPServerTransport;
|
|
52
|
+
SSEServerTransport: typeof SSEServerTransport;
|
|
53
|
+
};
|
|
54
|
+
export declare const kafkaDeps: {
|
|
55
|
+
Kafka: typeof KafkaJS.Kafka;
|
|
62
56
|
};
|
|
63
57
|
//# sourceMappingURL=node-deps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-deps.d.ts","sourceRoot":"","sources":["../../src/confluent/node-deps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-deps.d.ts","sourceRoot":"","sources":["../../src/confluent/node-deps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EACL,cAAc,EACd,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAG3D,eAAO,MAAM,WAAW;;CAA0B,CAAC;AACnD,eAAO,MAAM,SAAS;;CAA4B,CAAC;AACnD,eAAO,MAAM,EAAE;;;;;;CAMd,CAAC;AACF,eAAO,MAAM,EAAE;;;;;CAAuC,CAAC;AACvD,eAAO,MAAM,IAAI;;;;;CAAuC,CAAC;AACzD,eAAO,MAAM,OAAO;;CAAgB,CAAC;AACrC,eAAO,MAAM,SAAS;;CAA8B,CAAC;AAIrD,eAAO,MAAM,UAAU;wBACD,MAAM,KAAG,MAAM;sBACnB,MAAM;CACvB,CAAC;AACF,eAAO,MAAM,QAAQ;;CAAqC,CAAC;AAG3D,eAAO,MAAM,QAAQ;mBACE,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;CAQ5C,CAAC;AACF,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAGF,eAAO,MAAM,SAAS;;CAA2B,CAAC"}
|
|
@@ -1,14 +1,55 @@
|
|
|
1
|
-
// Wrappers for easier stubbing in tests
|
|
1
|
+
// Wrappers for easier stubbing in tests — ESM live bindings can't be stubbed at runtime,
|
|
2
|
+
// but property access on these namespace objects can be (via `vi.spyOn`).
|
|
3
|
+
import { KafkaJS } from "@confluentinc/kafka-javascript";
|
|
4
|
+
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
|
|
5
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
2
6
|
import { Analytics } from "@segment/analytics-node";
|
|
3
7
|
import { TELEMETRY_WRITE_KEY } from "../build-config.js";
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
8
|
+
import * as dotenv from "dotenv";
|
|
9
|
+
import { randomBytes, randomUUID } from "node:crypto";
|
|
10
|
+
import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync, } from "node:fs";
|
|
11
|
+
import { createServer as httpCreateServer } from "node:http";
|
|
6
12
|
import { arch, homedir, platform, release } from "node:os";
|
|
7
|
-
import { join } from "node:path";
|
|
13
|
+
import { basename, dirname, join, resolve } from "node:path";
|
|
8
14
|
export const buildConfig = { TELEMETRY_WRITE_KEY };
|
|
9
|
-
export const
|
|
15
|
+
export const dotenvLib = { config: dotenv.config };
|
|
16
|
+
export const fs = {
|
|
17
|
+
existsSync,
|
|
18
|
+
readFileSync,
|
|
19
|
+
writeFileSync,
|
|
20
|
+
appendFileSync,
|
|
21
|
+
mkdirSync,
|
|
22
|
+
};
|
|
10
23
|
export const os = { homedir, platform, release, arch };
|
|
11
|
-
export const path = { join };
|
|
24
|
+
export const path = { join, resolve, dirname, basename };
|
|
12
25
|
export const segment = { Analytics };
|
|
13
|
-
export const
|
|
26
|
+
export const nodeFetch = { fetch: globalThis.fetch };
|
|
27
|
+
// Wrapped as a single-signature arrow so spies don't have to disambiguate
|
|
28
|
+
// between the sync and callback overloads of the underlying `node:crypto`
|
|
29
|
+
// `randomBytes`. The codebase only uses the sync form.
|
|
30
|
+
export const nodeCrypto = {
|
|
31
|
+
randomBytes: (size) => randomBytes(size),
|
|
32
|
+
randomUUID: () => randomUUID(),
|
|
33
|
+
};
|
|
34
|
+
export const nodeHttp = { createServer: httpCreateServer };
|
|
35
|
+
// `open` is loaded lazily so non-OAuth runs don't pay the import cost (it
|
|
36
|
+
// pulls in is-wsl, default-browser, etc.).
|
|
37
|
+
export const nodeOpen = {
|
|
38
|
+
open: async (target) => {
|
|
39
|
+
// skip during integration test runs: playwright drives auth headlessly, so a system-browser
|
|
40
|
+
// open is redundant and would race on the OAuth callback port.
|
|
41
|
+
// eslint-disable-next-line no-restricted-syntax -- localized test seam, not a config read
|
|
42
|
+
if (process.env.INTEGRATION_TEST === "1")
|
|
43
|
+
return;
|
|
44
|
+
const { default: open } = await import("open");
|
|
45
|
+
await open(target);
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
export const sdkTransports = {
|
|
49
|
+
StreamableHTTPServerTransport,
|
|
50
|
+
SSEServerTransport,
|
|
51
|
+
};
|
|
52
|
+
// KafkaJS constructor wrapped so tests can spy on `kafkaDeps.Kafka` and return
|
|
53
|
+
// a mock Kafka instance without needing vi.mock on the external module.
|
|
54
|
+
export const kafkaDeps = { Kafka: KafkaJS.Kafka };
|
|
14
55
|
//# sourceMappingURL=node-deps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-deps.js","sourceRoot":"","sources":["../../src/confluent/node-deps.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"node-deps.js","sourceRoot":"","sources":["../../src/confluent/node-deps.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,0EAA0E;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,cAAc,EACd,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE7D,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,mBAAmB,EAAE,CAAC;AACnD,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AACnD,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,UAAU;IACV,YAAY;IACZ,aAAa;IACb,cAAc;IACd,SAAS;CACV,CAAC;AACF,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACvD,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACzD,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;AACrD,0EAA0E;AAC1E,0EAA0E;AAC1E,uDAAuD;AACvD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;IACxD,UAAU,EAAE,GAAW,EAAE,CAAC,UAAU,EAAE;CACvC,CAAC;AACF,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAC3D,0EAA0E;AAC1E,2CAA2C;AAC3C,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,KAAK,EAAE,MAAc,EAAiB,EAAE;QAC5C,4FAA4F;QAC5F,+DAA+D;QAC/D,0FAA0F;QAC1F,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG;YAAE,OAAO;QACjD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;CACF,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,6BAA6B;IAC7B,kBAAkB;CACnB,CAAC;AACF,+EAA+E;AAC/E,wEAAwE;AACxE,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { type AuthErrors } from "../../confluent/oauth/errors.js";
|
|
2
|
+
import type { Auth0Config, ConfluentTokenSet } from "../../confluent/oauth/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Owns one user's Confluent OAuth lifecycle — token state plus the
|
|
5
|
+
* transformations that advance it. Internal state advances via atomic
|
|
6
|
+
* transform functions under {@link AuthContext.updateTokens} so each step is
|
|
7
|
+
* atomic and no caller mutates the token set directly.
|
|
8
|
+
*/
|
|
9
|
+
export declare class AuthContext {
|
|
10
|
+
private readonly auth0Config;
|
|
11
|
+
private internalTokens;
|
|
12
|
+
private cleared;
|
|
13
|
+
private refreshTimer;
|
|
14
|
+
private inflightRefresh;
|
|
15
|
+
private errors;
|
|
16
|
+
private failedRefreshAttempts;
|
|
17
|
+
private constructor();
|
|
18
|
+
/** Runs the auth code → CP → DP chain and wraps the result in a context. */
|
|
19
|
+
static newFromInitialLogin(auth0Config: Auth0Config, authCode: string, codeVerifier: string): Promise<AuthContext>;
|
|
20
|
+
/** Build a context from an already-acquired token set. */
|
|
21
|
+
static fromTokens(auth0Config: Auth0Config, tokens: ConfluentTokenSet): AuthContext;
|
|
22
|
+
/** Opaque access token — stable across refreshes. */
|
|
23
|
+
get accessToken(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Current control-plane bearer token, or `undefined` if the context is
|
|
26
|
+
* cleared or the CP token has expired. Call this immediately before each
|
|
27
|
+
* API request — don't cache the returned string across awaits.
|
|
28
|
+
*/
|
|
29
|
+
getControlPlaneToken(): string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Current data-plane bearer token, or `undefined` if the context is
|
|
32
|
+
* cleared or the DP token has expired. Same usage guidance as
|
|
33
|
+
* {@link getControlPlaneToken}.
|
|
34
|
+
*/
|
|
35
|
+
getDataPlaneToken(): string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Readonly view of current auth-lifecycle errors. Consumers check this to decide
|
|
38
|
+
* whether to prompt re-auth (when a non-transient error has been flagged).
|
|
39
|
+
*/
|
|
40
|
+
getErrors(): Readonly<AuthErrors>;
|
|
41
|
+
/** True when the refresh token is no longer usable (expired or cleared). */
|
|
42
|
+
refreshTokenExpired(now?: number): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Pure predicate: should the refresh loop call `refresh()` on this context
|
|
45
|
+
* right now? True when the refresh token is still live, no non-transient
|
|
46
|
+
* error has been recorded, and the CP token is within the refresh window.
|
|
47
|
+
*/
|
|
48
|
+
shouldAttemptRefresh(now?: number): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Rotate the refresh token, then derive new CP and DP tokens. The rotated
|
|
51
|
+
* refresh token is persisted before the CP/DP leg so a phase-2 failure
|
|
52
|
+
* leaves the context with a valid (fresh) refresh token. The next scheduler
|
|
53
|
+
* tick still re-rotates (we don't cache the id_token across ticks), but the
|
|
54
|
+
* session isn't bricked by a partial failure.
|
|
55
|
+
*
|
|
56
|
+
* Single-flight: concurrent callers (e.g., the refresh loop + an explicit
|
|
57
|
+
* tool-triggered call) await the same in-flight promise. Refresh tokens are
|
|
58
|
+
* single-use, so overlapping calls would burn the same token.
|
|
59
|
+
*/
|
|
60
|
+
refresh(): Promise<void>;
|
|
61
|
+
private doRefresh;
|
|
62
|
+
/**
|
|
63
|
+
* Records a refresh failure on the context. A failure is transient unless
|
|
64
|
+
* its message matches a known-permanent signal, or the consecutive failure
|
|
65
|
+
* counter hits {@link MAX_CONSECUTIVE_TRANSIENT_FAILURES}. A non-transient
|
|
66
|
+
* record flips `shouldAttemptRefresh` to `false` until the context is
|
|
67
|
+
* cleared / re-authenticated.
|
|
68
|
+
*/
|
|
69
|
+
private recordRefreshError;
|
|
70
|
+
/**
|
|
71
|
+
* Mark this context as cleared — subsequent `refresh()` is a no-op, any
|
|
72
|
+
* running refresh loop is stopped, and the accessors (`getControlPlaneToken`,
|
|
73
|
+
* `getDataPlaneToken`) return `undefined`. Internal state is not exposed to
|
|
74
|
+
* consumers, so no field scrubbing is needed.
|
|
75
|
+
*/
|
|
76
|
+
clear(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Starts a background loop that refreshes the CP/DP token pair just before
|
|
79
|
+
* the CP token expires. The loop self-reschedules: each fire sets the next
|
|
80
|
+
* `setTimeout` at `controlPlaneExpiresAt - REFRESH_WINDOW_MS` from the
|
|
81
|
+
* post-refresh state, so the schedule tracks the actual token expiry.
|
|
82
|
+
*/
|
|
83
|
+
startRefreshLoop(): void;
|
|
84
|
+
private scheduleNextRefresh;
|
|
85
|
+
/** Stops the background refresh loop. Safe to call even if not started. */
|
|
86
|
+
stopRefreshLoop(): void;
|
|
87
|
+
/**
|
|
88
|
+
* Applies a named transform to the token set. Each transform returns a
|
|
89
|
+
* whole new {@link ConfluentTokenSet}; callers never mutate the state
|
|
90
|
+
* directly.
|
|
91
|
+
*/
|
|
92
|
+
private updateTokens;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=auth-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-context.d.ts","sourceRoot":"","sources":["../../../src/confluent/oauth/auth-context.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,UAAU,EAEhB,MAAM,gCAAgC,CAAC;AAcxC,OAAO,KAAK,EACV,WAAW,EAEX,iBAAiB,EAGlB,MAAM,+BAA+B,CAAC;AAkBvC;;;;;GAKG;AACH,qBAAa,WAAW;IASpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAR9B,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,qBAAqB,CAAK;IAElC,OAAO;IAOP,4EAA4E;WAC/D,mBAAmB,CAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC;IAqBvB,0DAA0D;IAC1D,MAAM,CAAC,UAAU,CACf,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,iBAAiB,GACxB,WAAW;IAId,qDAAqD;IACrD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;;OAIG;IACH,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAO1C;;;;OAIG;IACH,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAMvC;;;OAGG;IACH,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC;IAIjC,4EAA4E;IAC5E,mBAAmB,CAAC,GAAG,GAAE,MAAmB,GAAG,OAAO;IAQtD;;;;OAIG;IACH,oBAAoB,CAAC,GAAG,GAAE,MAAmB,GAAG,OAAO;IASvD;;;;;;;;;;OAUG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAYhB,SAAS;IAiFvB;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;OAKG;IACH,gBAAgB,IAAI,IAAI;IAexB,OAAO,CAAC,mBAAmB;IAqD3B,2EAA2E;IAC3E,eAAe,IAAI,IAAI;IAQvB;;;;OAIG;IACH,OAAO,CAAC,YAAY;CAMrB"}
|