@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,135 @@
|
|
|
1
|
+
import { BaseToolHandler, READ_ONLY, ToolCategory, } from "../../../../confluent/tools/base-tools.js";
|
|
2
|
+
import { alwaysEnabled } from "../../../../confluent/tools/connection-predicates.js";
|
|
3
|
+
import { buildToolGatingReport, disabledToolGroupKey, } from "../../../../confluent/tools/tool-availability.js";
|
|
4
|
+
import { ToolName } from "../../../../confluent/tools/tool-name.js";
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
const explainDisabledToolsArguments = z.object({
|
|
7
|
+
group_by: z
|
|
8
|
+
.enum(["reason", "category"])
|
|
9
|
+
.default("reason")
|
|
10
|
+
.describe('Axis to bucket disabled tools by. "reason" (default) answers "what config piece would unlock these?" — each bucket is a ToolDisabledReason (MissingKafkaBlock, MissingFlinkBlock, …). "category" answers "which functional area is offline?" — each bucket is a ToolCategory (kafka, flink, schema-registry, …). Flip to "category" when triaging a misconfigured connection by functional area instead of by missing config piece.'),
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* Diagnostic tool that surfaces *why* tools are absent from `tools/list`.
|
|
14
|
+
*
|
|
15
|
+
* The MCP protocol already advertises the enabled tool set via `tools/list`;
|
|
16
|
+
* what it does not surface is the predicate-driven decision behind every
|
|
17
|
+
* absence — which config piece is missing, and which tools each gap would
|
|
18
|
+
* unlock. This handler returns that view.
|
|
19
|
+
*
|
|
20
|
+
* v1 scope (today's release): the server enforces a single configured
|
|
21
|
+
* connection (see `enforceSingleConnectionOnly()` in
|
|
22
|
+
* `src/config/models.ts`), so the output is a flat list of disabled tools
|
|
23
|
+
* grouped by the missing config piece (kafka block, flink block, schema
|
|
24
|
+
* registry block, …). Tools enabled on the active connection are
|
|
25
|
+
* intentionally absent — `tools/list` already advertises them.
|
|
26
|
+
*
|
|
27
|
+
* v2 plan (when multi-connection support lands — issue #151's follow-ups):
|
|
28
|
+
* regrow output around connections. The text body becomes one block per
|
|
29
|
+
* connection (header + per-connection gaps) plus a `Cross-connection
|
|
30
|
+
* deltas` section that surfaces tools enabled on some connections but not
|
|
31
|
+
* others — the canonical "what does connection B need to reach parity with
|
|
32
|
+
* connection A?" view. The structured `_meta` shape mirrors that change;
|
|
33
|
+
* see the {@linkcode ToolGatingReport} JSDoc in `tool-availability.ts` for
|
|
34
|
+
* the exact target type.
|
|
35
|
+
*
|
|
36
|
+
* Until v2 lands, the helper accepts a multi-connection runtime without
|
|
37
|
+
* crashing, but the v1 flatten is *lossy*: a tool whose predicate is
|
|
38
|
+
* enabled on at least one configured connection is reported as enabled
|
|
39
|
+
* (and therefore omitted from `disabledGroups` entirely), and a tool
|
|
40
|
+
* disabled on multiple connections with different reasons is bucketed
|
|
41
|
+
* under the first disabled verdict its iteration produces — the
|
|
42
|
+
* cross-connection asymmetry vanishes from the output. Today's
|
|
43
|
+
* single-connection invariant means neither lossy case can fire in
|
|
44
|
+
* production; this paragraph exists so a future reader does not mistake
|
|
45
|
+
* defensive iteration for parity reporting.
|
|
46
|
+
*
|
|
47
|
+
* Always enabled (predicate is `alwaysEnabled`) so an operator can call it
|
|
48
|
+
* to diagnose a config that left every other tool disabled.
|
|
49
|
+
*
|
|
50
|
+
* The handlers iterable is supplied at construction time via a thunk so
|
|
51
|
+
* this module does not need to import `ToolHandlerRegistry`. Importing the
|
|
52
|
+
* registry from a registered handler would create an ESM cycle, leaving
|
|
53
|
+
* the registry's static initializer running before this class's binding
|
|
54
|
+
* is set. The thunk is invoked at request time, after every module is
|
|
55
|
+
* fully loaded, sidestepping the cycle entirely.
|
|
56
|
+
*/
|
|
57
|
+
export class ExplainDisabledToolsHandler extends BaseToolHandler {
|
|
58
|
+
listHandlers;
|
|
59
|
+
constructor(listHandlers) {
|
|
60
|
+
super();
|
|
61
|
+
this.listHandlers = listHandlers;
|
|
62
|
+
}
|
|
63
|
+
handle(runtime, toolArguments) {
|
|
64
|
+
const { group_by } = explainDisabledToolsArguments.parse(toolArguments ?? {});
|
|
65
|
+
const report = buildToolGatingReport(this.listHandlers(), runtime, group_by);
|
|
66
|
+
return this.createResponse(renderReport(report), false, { ...report });
|
|
67
|
+
}
|
|
68
|
+
getToolConfig() {
|
|
69
|
+
return {
|
|
70
|
+
name: ToolName.EXPLAIN_DISABLED_TOOLS,
|
|
71
|
+
description: 'Call when the user asks why a tool is missing or unavailable (e.g., "why can\'t I list Kafka topics?", "where are the Flink tools?"). Returns disabled tools grouped by the config gap each one is waiting on, so you can tell the user the exact YAML block or field to add. Pass group_by="category" to regroup by functional area (kafka, flink, schema-registry, …) when the user\'s question is framed by what\'s offline rather than by what\'s missing from config. Prefer this over guessing about credentials, network, or auth.',
|
|
72
|
+
inputSchema: explainDisabledToolsArguments.shape,
|
|
73
|
+
annotations: READ_ONLY,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
category = ToolCategory.McpServerDiagnostics;
|
|
77
|
+
predicate = alwaysEnabled;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Render a {@linkcode ToolGatingReport} as the human-readable text body of
|
|
81
|
+
* the tool's response. Format is stable — handler tests pin specific
|
|
82
|
+
* substrings so the AI/script-facing structure does not drift silently.
|
|
83
|
+
*
|
|
84
|
+
* The heading line varies by `report.groupBy`:
|
|
85
|
+
*
|
|
86
|
+
* - `"reason"`: "{disabled} of {total} tools disabled for the following reasons:"
|
|
87
|
+
* - `"category"`: "{disabled} of {total} tools disabled across the following categories:"
|
|
88
|
+
*
|
|
89
|
+
* Body shape is identical for both axes — one header line per bucket
|
|
90
|
+
* followed by indented `- {tool}` bullets, separated by a blank line:
|
|
91
|
+
*
|
|
92
|
+
* {disabled} of {total} tools disabled for the following reasons:
|
|
93
|
+
*
|
|
94
|
+
* {reason or category} ({n}):
|
|
95
|
+
* - {tool}
|
|
96
|
+
* - {tool}
|
|
97
|
+
* …
|
|
98
|
+
*
|
|
99
|
+
* {next bucket} ({n}):
|
|
100
|
+
* - {tool}
|
|
101
|
+
* …
|
|
102
|
+
*
|
|
103
|
+
* {enabled} tools advertised via tools/list.
|
|
104
|
+
*
|
|
105
|
+
* Two-space indent on the bucket header, four-space indent on the bullets.
|
|
106
|
+
*
|
|
107
|
+
* v2 (multi-connection): grow a connection header per per-connection
|
|
108
|
+
* section and an optional `Cross-connection deltas` section. See the
|
|
109
|
+
* handler's class JSDoc for the migration sketch.
|
|
110
|
+
*/
|
|
111
|
+
function renderReport(report) {
|
|
112
|
+
const total = report.enabledCount + report.disabledCount;
|
|
113
|
+
if (report.disabledCount === 0) {
|
|
114
|
+
return `All ${total} registered tools are advertised via tools/list.`;
|
|
115
|
+
}
|
|
116
|
+
const headingTail = report.groupBy === "reason"
|
|
117
|
+
? "for the following reasons"
|
|
118
|
+
: "across the following categories";
|
|
119
|
+
// Each group's render contains its own header line + indented bullets;
|
|
120
|
+
// joining with a blank line separates groups visually so long bullet
|
|
121
|
+
// lists from one group don't bleed into the next.
|
|
122
|
+
return [
|
|
123
|
+
`${report.disabledCount} of ${total} tools disabled ${headingTail}:`,
|
|
124
|
+
"",
|
|
125
|
+
report.disabledGroups.map(renderGroup).join("\n\n"),
|
|
126
|
+
"",
|
|
127
|
+
`${report.enabledCount} tools advertised via tools/list.`,
|
|
128
|
+
].join("\n");
|
|
129
|
+
}
|
|
130
|
+
function renderGroup(group) {
|
|
131
|
+
const header = ` ${disabledToolGroupKey(group)} (${group.tools.length}):`;
|
|
132
|
+
const bullets = group.tools.map((tool) => ` - ${tool}`);
|
|
133
|
+
return [header, ...bullets].join("\n");
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=explain-disabled-tools-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explain-disabled-tools-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CallToolResult } from "../../../../confluent/schema.js";
|
|
2
|
+
import { BaseToolHandler, ToolCategory, ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
3
|
+
import { ServerRuntime } from "../../../../server-runtime.js";
|
|
4
|
+
export declare class GetProductDocPageHandler extends BaseToolHandler {
|
|
5
|
+
private readonly turndown;
|
|
6
|
+
handle(_runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
|
|
7
|
+
private fetchFromDocsConfluent;
|
|
8
|
+
private fetchFromDeveloperConfluent;
|
|
9
|
+
private fetchFromSupportZendesk;
|
|
10
|
+
private fetchFromGatsbyPageData;
|
|
11
|
+
private fetchHtml;
|
|
12
|
+
private toMarkdown;
|
|
13
|
+
private formatResponse;
|
|
14
|
+
getToolConfig(): ToolConfig;
|
|
15
|
+
readonly category = ToolCategory.Docs;
|
|
16
|
+
readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=get-product-doc-page-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-product-doc-page-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/docs/get-product-doc-page-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,UAAU,EACX,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA2BvD,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAItB;IAEG,MAAM,CACV,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;YA8BZ,sBAAsB;YA4BtB,2BAA2B;YA2D3B,uBAAuB;YAyCvB,uBAAuB;YAgCvB,SAAS;IAqBvB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,cAAc;IAWtB,aAAa,IAAI,UAAU;IAU3B,QAAQ,CAAC,QAAQ,qBAAqB;IACtC,QAAQ,CAAC,SAAS,8EAAiB;CACpC"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { nodeFetch } from "../../../../confluent/node-deps.js";
|
|
2
|
+
import { BaseToolHandler, READ_ONLY, ToolCategory, } from "../../../../confluent/tools/base-tools.js";
|
|
3
|
+
import { alwaysEnabled } from "../../../../confluent/tools/connection-predicates.js";
|
|
4
|
+
import { ToolName } from "../../../../confluent/tools/tool-name.js";
|
|
5
|
+
import { logger } from "../../../../logger.js";
|
|
6
|
+
import * as cheerio from "cheerio";
|
|
7
|
+
import TurndownService from "turndown";
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
const ALLOWED_HOSTS = new Set([
|
|
10
|
+
"docs.confluent.io",
|
|
11
|
+
"developer.confluent.io",
|
|
12
|
+
"support.confluent.io",
|
|
13
|
+
]);
|
|
14
|
+
const USER_AGENT = "mcp-confluent/get-product-doc-page";
|
|
15
|
+
const REQUEST_TIMEOUT_MS = 10_000;
|
|
16
|
+
const getProductDocPageArguments = z.object({
|
|
17
|
+
url: z
|
|
18
|
+
.url()
|
|
19
|
+
.describe("Absolute URL of a page under https://docs.confluent.io/, https://developer.confluent.io/, or https://support.confluent.io/. Prefer URLs returned by search-product-docs."),
|
|
20
|
+
});
|
|
21
|
+
export class GetProductDocPageHandler extends BaseToolHandler {
|
|
22
|
+
turndown = new TurndownService({
|
|
23
|
+
headingStyle: "atx",
|
|
24
|
+
codeBlockStyle: "fenced",
|
|
25
|
+
bulletListMarker: "-",
|
|
26
|
+
});
|
|
27
|
+
async handle(_runtime, toolArguments) {
|
|
28
|
+
const { url } = getProductDocPageArguments.parse(toolArguments);
|
|
29
|
+
const parsed = new URL(url);
|
|
30
|
+
if (parsed.protocol !== "https:" ||
|
|
31
|
+
!ALLOWED_HOSTS.has(parsed.hostname)) {
|
|
32
|
+
return this.createResponse(`Hostname '${parsed.hostname}' is not allowed. Only docs.confluent.io, developer.confluent.io, and support.confluent.io are supported.`, true);
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
switch (parsed.hostname) {
|
|
36
|
+
case "docs.confluent.io":
|
|
37
|
+
return await this.fetchFromDocsConfluent(parsed);
|
|
38
|
+
case "developer.confluent.io":
|
|
39
|
+
return await this.fetchFromDeveloperConfluent(parsed);
|
|
40
|
+
case "support.confluent.io":
|
|
41
|
+
return await this.fetchFromSupportZendesk(parsed);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
46
|
+
logger.warn({ url, error: message }, "get-product-doc-page fetch failed");
|
|
47
|
+
return this.createResponse(`Failed to fetch ${url}: ${message}`, true);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Sphinx publishes a .md twin at the same path; HTML scrape is the fallback.
|
|
51
|
+
async fetchFromDocsConfluent(parsed) {
|
|
52
|
+
const mdResponse = await fetchWithTimeout(toMarkdownTwin(parsed), {
|
|
53
|
+
headers: { "user-agent": USER_AGENT, accept: "text/markdown,text/plain" },
|
|
54
|
+
});
|
|
55
|
+
if (mdResponse.ok &&
|
|
56
|
+
(mdResponse.headers.get("content-type") ?? "")
|
|
57
|
+
.toLowerCase()
|
|
58
|
+
.includes("markdown")) {
|
|
59
|
+
const body = (await mdResponse.text()).trim();
|
|
60
|
+
return this.formatResponse(parsed, undefined, body);
|
|
61
|
+
}
|
|
62
|
+
// 404s on docs.confluent.io soft-redirect to /index.html; reject path
|
|
63
|
+
// changes so we don't return the homepage as if it were the requested page.
|
|
64
|
+
const html = await this.fetchHtml(parsed, { rejectRedirect: true });
|
|
65
|
+
const $ = cheerio.load(html);
|
|
66
|
+
const main = $("div.rst-content").first();
|
|
67
|
+
const target = main.length > 0 ? main : $("body");
|
|
68
|
+
return this.formatResponse(parsed, undefined, this.toMarkdown(target.html()));
|
|
69
|
+
}
|
|
70
|
+
// Gatsby site has hashed CSS classes; key off stable data-swiftype-* attributes.
|
|
71
|
+
async fetchFromDeveloperConfluent(parsed) {
|
|
72
|
+
const html = await this.fetchHtml(parsed);
|
|
73
|
+
const $ = cheerio.load(html);
|
|
74
|
+
// <section data-test-id="section"> wraps both content and footer chrome
|
|
75
|
+
// (Cloud promo, newsletter). Real content is 3KB+ text; chrome is < 1KB.
|
|
76
|
+
$('section[data-test-id="section"]').each((_, el) => {
|
|
77
|
+
if ($(el).text().trim().length < 1500)
|
|
78
|
+
$(el).remove();
|
|
79
|
+
});
|
|
80
|
+
const title = $('[data-swiftype-name="title"]').first().text().trim();
|
|
81
|
+
let bodyHtml = null;
|
|
82
|
+
const swiftypeBody = $('[data-swiftype-name="body"]').first();
|
|
83
|
+
if (swiftypeBody.length > 0) {
|
|
84
|
+
swiftypeBody.find('[data-swiftype-index="false"]').remove();
|
|
85
|
+
bodyHtml = swiftypeBody.html();
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const fromPageData = await this.fetchFromGatsbyPageData(parsed);
|
|
89
|
+
if (fromPageData)
|
|
90
|
+
return fromPageData;
|
|
91
|
+
// Quickstart pages have no Swiftype body — content lives in <section> blocks.
|
|
92
|
+
const sections = $('section[data-test-id="section"]');
|
|
93
|
+
if (sections.length > 0) {
|
|
94
|
+
sections.find('[data-swiftype-index="false"]').remove();
|
|
95
|
+
bodyHtml = sections
|
|
96
|
+
.map((_, el) => $.html(el))
|
|
97
|
+
.get()
|
|
98
|
+
.join("\n");
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// Tutorial pages (/confluent-tutorials/...) have neither marker —
|
|
102
|
+
// strip <body> chrome and keep the rest.
|
|
103
|
+
const body = $("body");
|
|
104
|
+
body
|
|
105
|
+
.find('header, footer, nav, script, style, noscript, [data-swiftype-index="false"]')
|
|
106
|
+
.remove();
|
|
107
|
+
const stripped = body.html()?.trim();
|
|
108
|
+
if (stripped)
|
|
109
|
+
bodyHtml = stripped;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (!bodyHtml) {
|
|
113
|
+
return this.createResponse(`Could not locate article body for ${parsed.toString()}. The page structure may have changed.`, true);
|
|
114
|
+
}
|
|
115
|
+
return this.formatResponse(parsed, title || undefined, this.toMarkdown(bodyHtml));
|
|
116
|
+
}
|
|
117
|
+
// Zendesk Help Center: prefer the public JSON API for clean body; HTML scrape is the fallback.
|
|
118
|
+
async fetchFromSupportZendesk(parsed) {
|
|
119
|
+
const articleId = parsed.pathname.match(/\/articles\/(\d+)/)?.[1];
|
|
120
|
+
if (articleId) {
|
|
121
|
+
const apiResponse = await fetchWithTimeout(`https://support.confluent.io/api/v2/help_center/articles/${articleId}.json`, {
|
|
122
|
+
headers: { "user-agent": USER_AGENT, accept: "application/json" },
|
|
123
|
+
});
|
|
124
|
+
if (apiResponse.ok) {
|
|
125
|
+
const { article } = (await apiResponse.json());
|
|
126
|
+
if (article?.body) {
|
|
127
|
+
return this.formatResponse(parsed, article.title, this.toMarkdown(article.body));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const html = await this.fetchHtml(parsed);
|
|
132
|
+
const $ = cheerio.load(html);
|
|
133
|
+
const article = $("article#main-content").first();
|
|
134
|
+
if (article.length === 0) {
|
|
135
|
+
return this.createResponse(`Could not locate article body for ${parsed.toString()}. ` +
|
|
136
|
+
`This URL may be a Help Center index or category page; only article URLs (containing "/articles/<id>") are supported.`, true);
|
|
137
|
+
}
|
|
138
|
+
return this.formatResponse(parsed, undefined, this.toMarkdown(article.html()));
|
|
139
|
+
}
|
|
140
|
+
// CSR pages (e.g. /get-started/<lang>/) expose their real content as JSON
|
|
141
|
+
// at /page-data/<path>/page-data.json instead of in the SSR HTML.
|
|
142
|
+
async fetchFromGatsbyPageData(parsed) {
|
|
143
|
+
const pageDataUrl = `${parsed.origin}/page-data${parsed.pathname.replace(/\/?$/, "/")}page-data.json`;
|
|
144
|
+
const resp = await fetchWithTimeout(pageDataUrl, {
|
|
145
|
+
headers: { "user-agent": USER_AGENT, accept: "application/json" },
|
|
146
|
+
});
|
|
147
|
+
if (!resp.ok)
|
|
148
|
+
return null;
|
|
149
|
+
let data;
|
|
150
|
+
try {
|
|
151
|
+
data = (await resp.json());
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
const ctx = data?.result?.pageContext;
|
|
157
|
+
const cm = ctx?.contentMappings;
|
|
158
|
+
if (!cm || typeof cm !== "object")
|
|
159
|
+
return null;
|
|
160
|
+
// If the URL has a fragment (e.g. #produce-events), return only that section.
|
|
161
|
+
const sections = parsed.hash && cm[parsed.hash] ? [cm[parsed.hash]] : Object.values(cm);
|
|
162
|
+
const html = sections.join("\n");
|
|
163
|
+
if (!html)
|
|
164
|
+
return null;
|
|
165
|
+
const title = ctx?.hero?.title ?? ctx?.seo?.title;
|
|
166
|
+
return this.formatResponse(parsed, title || undefined, this.toMarkdown(html));
|
|
167
|
+
}
|
|
168
|
+
async fetchHtml(parsed, opts) {
|
|
169
|
+
const response = await fetchWithTimeout(parsed.toString(), {
|
|
170
|
+
headers: { "user-agent": USER_AGENT },
|
|
171
|
+
});
|
|
172
|
+
if (!response.ok) {
|
|
173
|
+
throw new Error(`${response.status} ${response.statusText}`);
|
|
174
|
+
}
|
|
175
|
+
if (opts?.rejectRedirect) {
|
|
176
|
+
const finalPath = new URL(response.url || parsed.toString()).pathname;
|
|
177
|
+
if (finalPath !== parsed.pathname) {
|
|
178
|
+
throw new Error(`${parsed.toString()} redirected to ${finalPath}; page may have been moved or removed.`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return response.text();
|
|
182
|
+
}
|
|
183
|
+
toMarkdown(html) {
|
|
184
|
+
return this.turndown.turndown(html ?? "").trim();
|
|
185
|
+
}
|
|
186
|
+
formatResponse(parsed, title, body) {
|
|
187
|
+
const heading = title ? `# ${title}\n\n` : "";
|
|
188
|
+
return this.createResponse(`# Source: ${parsed.toString()}\n\n${heading}${body}`);
|
|
189
|
+
}
|
|
190
|
+
getToolConfig() {
|
|
191
|
+
return {
|
|
192
|
+
name: ToolName.GET_PRODUCT_DOC_PAGE,
|
|
193
|
+
description: "Fetch the full markdown content of a Confluent product documentation page. Accepts URLs under https://docs.confluent.io/, https://developer.confluent.io/, or https://support.confluent.io/. Use this after search-product-docs to read a result's full content.",
|
|
194
|
+
inputSchema: getProductDocPageArguments.shape,
|
|
195
|
+
annotations: READ_ONLY,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
category = ToolCategory.Docs;
|
|
199
|
+
predicate = alwaysEnabled;
|
|
200
|
+
}
|
|
201
|
+
function toMarkdownTwin(parsed) {
|
|
202
|
+
const twin = new URL(parsed.toString());
|
|
203
|
+
if (twin.pathname.endsWith(".html")) {
|
|
204
|
+
twin.pathname = twin.pathname.slice(0, -".html".length) + ".md";
|
|
205
|
+
}
|
|
206
|
+
else if (twin.pathname.endsWith("/")) {
|
|
207
|
+
twin.pathname += "index.md";
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
twin.pathname += ".md";
|
|
211
|
+
}
|
|
212
|
+
return twin.toString();
|
|
213
|
+
}
|
|
214
|
+
// Adds a 10s deadline and re-checks the post-redirect host so a 3xx
|
|
215
|
+
// can't escape ALLOWED_HOSTS. Relabels TimeoutError with URL and budget.
|
|
216
|
+
async function fetchWithTimeout(url, init) {
|
|
217
|
+
try {
|
|
218
|
+
const response = await nodeFetch.fetch(url, {
|
|
219
|
+
...init,
|
|
220
|
+
signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS),
|
|
221
|
+
});
|
|
222
|
+
const finalHost = new URL(response.url || url).hostname;
|
|
223
|
+
if (!ALLOWED_HOSTS.has(finalHost)) {
|
|
224
|
+
throw new Error(`Request to ${url} redirected to disallowed host ${finalHost}`);
|
|
225
|
+
}
|
|
226
|
+
return response;
|
|
227
|
+
}
|
|
228
|
+
catch (err) {
|
|
229
|
+
if (err instanceof Error && err.name === "TimeoutError") {
|
|
230
|
+
throw new Error(`Request to ${url} timed out after ${REQUEST_TIMEOUT_MS}ms`);
|
|
231
|
+
}
|
|
232
|
+
throw err;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=get-product-doc-page-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-product-doc-page-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/docs/get-product-doc-page-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CallToolResult } from "../../../../confluent/schema.js";
|
|
2
|
+
import { BaseToolHandler, ToolCategory, ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
3
|
+
import { ServerRuntime } from "../../../../server-runtime.js";
|
|
4
|
+
export declare class SearchProductDocsHandler extends BaseToolHandler {
|
|
5
|
+
handle(_runtime: ServerRuntime, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
|
|
6
|
+
private searchSwiftype;
|
|
7
|
+
private searchDeveloperProxy;
|
|
8
|
+
/** Zendesk Help Center public search API — no auth, support hits only. */
|
|
9
|
+
private searchSupportZendesk;
|
|
10
|
+
getToolConfig(): ToolConfig;
|
|
11
|
+
readonly category = ToolCategory.Docs;
|
|
12
|
+
readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=search-product-docs-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-product-docs-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/docs/search-product-docs-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,UAAU,EACX,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAwDvD,qBAAa,wBAAyB,SAAQ,eAAe;IACrD,MAAM,CACV,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;YAkDZ,cAAc;YAgCd,oBAAoB;IA4ClC,0EAA0E;YAC5D,oBAAoB;IA6BlC,aAAa,IAAI,UAAU;IAU3B,QAAQ,CAAC,QAAQ,qBAAqB;IAEtC,QAAQ,CAAC,SAAS,8EAAiB;CACpC"}
|