@confluentinc/mcp-confluent 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +180 -78
- package/assets/oauth-templates/callback-success.html +80 -0
- package/assets/oauth-templates/styles.html +101 -40
- package/config.example.yaml +36 -7
- package/config.oauth.example.yaml +14 -1
- package/dist/config/env-config.d.ts +9 -3
- package/dist/config/env-config.d.ts.map +1 -1
- package/dist/config/env-config.js +20 -34
- package/dist/config/env-config.js.map +1 -1
- package/dist/config/models.d.ts +108 -13
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +54 -37
- package/dist/config/models.js.map +1 -1
- package/dist/confluent/base-client-manager.d.ts +36 -1
- package/dist/confluent/base-client-manager.d.ts.map +1 -1
- package/dist/confluent/base-client-manager.js +4 -0
- package/dist/confluent/base-client-manager.js.map +1 -1
- package/dist/confluent/client-manager.d.ts +14 -0
- package/dist/confluent/client-manager.d.ts.map +1 -1
- package/dist/confluent/direct-client-manager.d.ts +2 -2
- package/dist/confluent/direct-client-manager.d.ts.map +1 -1
- package/dist/confluent/direct-client-manager.js +25 -17
- package/dist/confluent/direct-client-manager.js.map +1 -1
- package/dist/confluent/node-deps.d.ts +1 -0
- package/dist/confluent/node-deps.d.ts.map +1 -1
- package/dist/confluent/node-deps.js +7 -1
- package/dist/confluent/node-deps.js.map +1 -1
- package/dist/confluent/oauth/auth0-config.d.ts +26 -4
- package/dist/confluent/oauth/auth0-config.d.ts.map +1 -1
- package/dist/confluent/oauth/auth0-config.js +59 -19
- package/dist/confluent/oauth/auth0-config.js.map +1 -1
- package/dist/confluent/oauth/callback-pages.d.ts +9 -1
- package/dist/confluent/oauth/callback-pages.d.ts.map +1 -1
- package/dist/confluent/oauth/callback-pages.js +14 -5
- package/dist/confluent/oauth/callback-pages.js.map +1 -1
- package/dist/confluent/oauth/pkce-login.d.ts +20 -1
- package/dist/confluent/oauth/pkce-login.d.ts.map +1 -1
- package/dist/confluent/oauth/pkce-login.js +118 -9
- package/dist/confluent/oauth/pkce-login.js.map +1 -1
- package/dist/confluent/oauth/types.d.ts +1 -2
- package/dist/confluent/oauth/types.d.ts.map +1 -1
- package/dist/confluent/oauth-client-manager.d.ts +7 -4
- package/dist/confluent/oauth-client-manager.d.ts.map +1 -1
- package/dist/confluent/oauth-client-manager.js +34 -12
- package/dist/confluent/oauth-client-manager.js.map +1 -1
- package/dist/confluent/oauth-resource-resolvers.d.ts +11 -0
- package/dist/confluent/oauth-resource-resolvers.d.ts.map +1 -1
- package/dist/confluent/oauth-resource-resolvers.js +24 -0
- package/dist/confluent/oauth-resource-resolvers.js.map +1 -1
- package/dist/confluent/schema-registry-helper.d.ts +119 -16
- package/dist/confluent/schema-registry-helper.d.ts.map +1 -1
- package/dist/confluent/schema-registry-helper.js +303 -49
- package/dist/confluent/schema-registry-helper.js.map +1 -1
- package/dist/confluent/telemetry.d.ts +7 -1
- package/dist/confluent/telemetry.d.ts.map +1 -1
- package/dist/confluent/telemetry.js +6 -0
- package/dist/confluent/telemetry.js.map +1 -1
- package/dist/confluent/tools/base-tools.d.ts +207 -21
- package/dist/confluent/tools/base-tools.d.ts.map +1 -1
- package/dist/confluent/tools/base-tools.js +259 -20
- package/dist/confluent/tools/base-tools.js.map +1 -1
- package/dist/confluent/tools/cluster-arg-resolvers.d.ts +21 -0
- package/dist/confluent/tools/cluster-arg-resolvers.d.ts.map +1 -1
- package/dist/confluent/tools/cluster-arg-resolvers.js +45 -0
- package/dist/confluent/tools/cluster-arg-resolvers.js.map +1 -1
- package/dist/confluent/tools/connection-predicates.d.ts +83 -12
- package/dist/confluent/tools/connection-predicates.d.ts.map +1 -1
- package/dist/confluent/tools/connection-predicates.js +85 -11
- package/dist/confluent/tools/connection-predicates.js.map +1 -1
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js +37 -4
- package/dist/confluent/tools/handlers/billing/list-billing-costs-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +3 -3
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js +11 -6
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts +3 -3
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +11 -6
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +3 -3
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.js +11 -6
- package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +4 -4
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.js +16 -7
- package/dist/confluent/tools/handlers/catalog/list-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts +3 -3
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js +11 -6
- package/dist/confluent/tools/handlers/catalog/remove-tag-from-entity.js.map +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +3 -2
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts +22 -9
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.js +35 -11
- package/dist/confluent/tools/handlers/connect/connect-tool-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/{read-connectors-handler.d.ts → get-connector-config-handler.d.ts} +2 -3
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/get-connector-config-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js +65 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-recommendations-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js +130 -0
- package/dist/confluent/tools/handlers/connect/get-connector-error-summary-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js +269 -0
- package/dist/confluent/tools/handlers/connect/get-connector-logs-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/get-connector-offsets-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js +43 -0
- package/dist/confluent/tools/handlers/connect/get-connector-status-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/get-connector-tasks-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.js +1 -2
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/pause-connector-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/restart-connector-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.js +34 -0
- package/dist/confluent/tools/handlers/connect/resume-connector-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts +9 -0
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js +43 -0
- package/dist/confluent/tools/handlers/connect/update-connector-config-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts +42 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.js +297 -0
- package/dist/confluent/tools/handlers/diagnostics/config-help-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.d.ts +31 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.js +116 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-configured-connection-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.d.ts +52 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.js +114 -0
- package/dist/confluent/tools/handlers/diagnostics/describe-fields.js.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts +21 -43
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js +105 -78
- package/dist/confluent/tools/handlers/diagnostics/explain-disabled-tools-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.d.ts +27 -0
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.js +93 -0
- package/dist/confluent/tools/handlers/diagnostics/list-configured-connections-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js +2 -1
- package/dist/confluent/tools/handlers/docs/get-product-doc-page-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js +2 -1
- package/dist/confluent/tools/handlers/docs/search-product-docs-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +8 -7
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js +8 -7
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js +3 -2
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts +16 -2
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js +4 -4
- package/dist/confluent/tools/handlers/flink/catalog/catalog-resolver.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js +43 -30
- package/dist/confluent/tools/handlers/flink/catalog/describe-table-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js +43 -30
- package/dist/confluent/tools/handlers/flink/catalog/get-table-info-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js +18 -11
- package/dist/confluent/tools/handlers/flink/catalog/list-catalogs-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js +23 -16
- package/dist/confluent/tools/handlers/flink/catalog/list-databases-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js +23 -16
- package/dist/confluent/tools/handlers/flink/catalog/list-tables-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js +27 -22
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +20 -12
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js +20 -12
- package/dist/confluent/tools/handlers/flink/diagnostics/check-health-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js +20 -18
- package/dist/confluent/tools/handlers/flink/diagnostics/detect-issues-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js +24 -22
- package/dist/confluent/tools/handlers/flink/diagnostics/query-profiler-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts +15 -1
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.js +133 -57
- package/dist/confluent/tools/handlers/flink/flink-sql-helper.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts +29 -7
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.js +38 -8
- package/dist/confluent/tools/handlers/flink/flink-tool-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js +20 -12
- package/dist/confluent/tools/handlers/flink/get-flink-exceptions-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/{read-flink-statement-handler.d.ts → get-flink-statement-results-handler.d.ts} +2 -2
- package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/flink/{read-flink-statement-handler.js → get-flink-statement-results-handler.js} +30 -22
- package/dist/confluent/tools/handlers/flink/get-flink-statement-results-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.d.ts +10 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.js +118 -0
- package/dist/confluent/tools/handlers/flink/list-compute-pools-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js +19 -18
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +2 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +3 -2
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts +223 -28
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +832 -68
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/consumer-group-enums.d.ts +48 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-enums.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-enums.js +84 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-enums.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.d.ts +54 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.js +89 -0
- package/dist/confluent/tools/handlers/kafka/consumer-group-helpers.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +14 -4
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js +3 -2
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts +64 -0
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js +140 -0
- package/dist/confluent/tools/handlers/kafka/describe-consumer-group-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts +73 -0
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js +337 -0
- package/dist/confluent/tools/handlers/kafka/get-consumer-group-lag-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts +43 -0
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js +123 -0
- package/dist/confluent/tools/handlers/kafka/get-partition-offsets-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +2 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js +3 -2
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts +45 -0
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js +86 -0
- package/dist/confluent/tools/handlers/kafka/list-consumer-groups-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js +3 -2
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts +54 -0
- package/dist/confluent/tools/handlers/kafka/partition-watermarks.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/partition-watermarks.js +56 -0
- package/dist/confluent/tools/handlers/kafka/partition-watermarks.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +13 -5
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js +145 -47
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts +18 -0
- package/dist/confluent/tools/handlers/kafka/topic-metadata.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/topic-metadata.js +18 -0
- package/dist/confluent/tools/handlers/kafka/topic-metadata.js.map +1 -0
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js +5 -4
- package/dist/confluent/tools/handlers/metrics/list-metrics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js +8 -5
- package/dist/confluent/tools/handlers/metrics/query-metrics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js +4 -2
- package/dist/confluent/tools/handlers/organizations/list-organizations-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts +10 -0
- package/dist/confluent/tools/handlers/schema/create-schema-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/schema/create-schema-handler.js +76 -0
- package/dist/confluent/tools/handlers/schema/create-schema-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.js +3 -2
- package/dist/confluent/tools/handlers/schema/delete-schema-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +2 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +3 -2
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js +11 -6
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts +3 -3
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js +11 -6
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js +1 -1
- package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js +2 -3
- package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts +17 -11
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js +19 -15
- package/dist/confluent/tools/handlers/tableflow/tableflow-tool-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js +2 -2
- package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js +1 -1
- package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -1
- package/dist/confluent/tools/tool-availability.d.ts +84 -36
- package/dist/confluent/tools/tool-availability.d.ts.map +1 -1
- package/dist/confluent/tools/tool-availability.js +106 -65
- package/dist/confluent/tools/tool-availability.js.map +1 -1
- package/dist/confluent/tools/tool-metadata-handler.d.ts +51 -0
- package/dist/confluent/tools/tool-metadata-handler.d.ts.map +1 -0
- package/dist/confluent/tools/tool-metadata-handler.js +61 -0
- package/dist/confluent/tools/tool-metadata-handler.js.map +1 -0
- package/dist/confluent/tools/tool-name.d.ts +22 -3
- package/dist/confluent/tools/tool-name.d.ts.map +1 -1
- package/dist/confluent/tools/tool-name.js +21 -2
- package/dist/confluent/tools/tool-name.js.map +1 -1
- package/dist/confluent/tools/tool-registry.d.ts +1 -2
- package/dist/confluent/tools/tool-registry.d.ts.map +1 -1
- package/dist/confluent/tools/tool-registry.js +60 -7
- package/dist/confluent/tools/tool-registry.js.map +1 -1
- package/dist/env-schema.d.ts +1 -1
- package/dist/env-schema.d.ts.map +1 -1
- package/dist/env-schema.js +10 -12
- package/dist/env-schema.js.map +1 -1
- package/dist/env.d.ts +1 -1
- package/dist/index.d.ts +54 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +78 -301
- package/dist/index.js.map +1 -1
- package/dist/lazy.d.ts +4 -2
- package/dist/lazy.d.ts.map +1 -1
- package/dist/lazy.js +27 -12
- package/dist/lazy.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +9 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/preflight.d.ts +33 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +68 -0
- package/dist/preflight.js.map +1 -0
- package/dist/server-main.d.ts +98 -0
- package/dist/server-main.d.ts.map +1 -0
- package/dist/server-main.js +383 -0
- package/dist/server-main.js.map +1 -0
- package/dist/server-runtime.d.ts +20 -5
- package/dist/server-runtime.d.ts.map +1 -1
- package/dist/server-runtime.js +45 -28
- package/dist/server-runtime.js.map +1 -1
- package/dist/utils/quote-join-ids.d.ts +9 -0
- package/dist/utils/quote-join-ids.d.ts.map +1 -0
- package/dist/utils/quote-join-ids.js +11 -0
- package/dist/utils/quote-join-ids.js.map +1 -0
- package/package.json +33 -34
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.js +0 -54
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +0 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,321 +1,98 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { DisplayedCommandLineUsageError, getFilteredToolNames, getPackageVersion, loadDotEnvFile, parseCliArgs, } from "./cli.js";
|
|
3
|
-
import { buildConfigFromEnvAndCli, loadConfigFromYaml, } from "./config/index.js";
|
|
4
|
-
import { buildConfigTelemetry } from "./confluent/config-telemetry.js";
|
|
5
|
-
import { buildConfig, fs, path } from "./confluent/node-deps.js";
|
|
6
|
-
import { TelemetryEvent, TelemetryService } from "./confluent/telemetry.js";
|
|
7
|
-
import { groupDisabledToolsByReason } from "./confluent/tools/tool-availability.js";
|
|
8
|
-
import { ToolName } from "./confluent/tools/tool-name.js";
|
|
9
|
-
import { ToolHandlerRegistry } from "./confluent/tools/tool-registry.js";
|
|
10
|
-
import { initEnv } from "./env.js";
|
|
11
|
-
import { logger, setLogLevel } from "./logger.js";
|
|
12
|
-
import { generateApiKey, TransportManager } from "./mcp/transports/index.js";
|
|
13
|
-
import { ServerRuntime } from "./server-runtime.js";
|
|
14
2
|
/**
|
|
15
|
-
*
|
|
16
|
-
* and which connections satisfy each tool's service requirements.
|
|
17
|
-
**/
|
|
18
|
-
export function getToolHandlersToRegister(filteredToolNames, runtime) {
|
|
19
|
-
const toolHandlers = new Map();
|
|
20
|
-
const knownIds = new Set(Object.keys(runtime.config.connections));
|
|
21
|
-
// Pass 1: drop tools excluded by the allow/block list (logged per-tool —
|
|
22
|
-
// the reason is config-driven, not predicate-driven, so it doesn't fold
|
|
23
|
-
// into the grouped warning emitted later).
|
|
24
|
-
const candidates = [];
|
|
25
|
-
for (const toolName of Object.values(ToolName)) {
|
|
26
|
-
if (!filteredToolNames.includes(toolName)) {
|
|
27
|
-
logger.warn(`Tool ${toolName} disabled due to allow/block list rules`);
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
candidates.push([toolName, ToolHandlerRegistry.getToolHandler(toolName)]);
|
|
31
|
-
}
|
|
32
|
-
// Pass 2: register tools that are enabled on at least one connection.
|
|
33
|
-
for (const [toolName, handler] of candidates) {
|
|
34
|
-
const enabledIds = handler.enabledConnectionIds(runtime);
|
|
35
|
-
const unknownIds = enabledIds.filter((id) => !knownIds.has(id));
|
|
36
|
-
if (unknownIds.length > 0) {
|
|
37
|
-
throw new Error(`Tool ${toolName}: enabledConnectionIds() returned unknown connection ID(s): ${unknownIds.join(", ")}`);
|
|
38
|
-
}
|
|
39
|
-
if (enabledIds.length > 0) {
|
|
40
|
-
toolHandlers.set(toolName, handler);
|
|
41
|
-
logger.info(`Tool ${toolName} enabled`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// Pass 3: emit one grouped warning per (connectionId, reason) for tools
|
|
45
|
-
// that are fully disabled — readers see the missing config piece and the
|
|
46
|
-
// list of all tools blocked by it in a single line, rather than one
|
|
47
|
-
// line per tool.
|
|
48
|
-
for (const group of groupDisabledToolsByReason(candidates, runtime)) {
|
|
49
|
-
logger.warn(`Tools disabled on connection '${group.connectionId}' — ${group.reason}: ${group.toolNames.join(", ")}`);
|
|
50
|
-
}
|
|
51
|
-
// Raise an error if no tools are enabled, as the server would be non-functional without any tools.
|
|
52
|
-
if (toolHandlers.size === 0) {
|
|
53
|
-
throw new Error("No tools enabled. Please check your configuration and environment variables.");
|
|
54
|
-
}
|
|
55
|
-
return toolHandlers;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Resolve the Segment write key handed to `TelemetryService.initialize`.
|
|
3
|
+
* Preflight shim — the package's `bin` entry point.
|
|
59
4
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* at release time). On unpacked / dev builds the build-time value is empty,
|
|
63
|
-
* so an absent YAML field produces an empty-string fallback that
|
|
64
|
-
* `TelemetryService` treats as "no key supplied" — analytics stays off.
|
|
5
|
+
* WHY THIS IS A SEPARATE FILE (and not just a check at the top of the real
|
|
6
|
+
* entry, `server-main.ts`):
|
|
65
7
|
*
|
|
66
|
-
*
|
|
67
|
-
* the
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
console.log(apiKey);
|
|
77
|
-
console.log("=".repeat(64));
|
|
78
|
-
console.log("\nAdd this to your .env file:");
|
|
79
|
-
console.log(`MCP_API_KEY=${apiKey}\n`);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Bootstrap a starter `config.yaml` in the current working directory by
|
|
83
|
-
* copying one of the bundled example templates, then ensure the new file
|
|
84
|
-
* is listed in `<cwd>/.gitignore` so credentials filled in later don't
|
|
85
|
-
* slip into git.
|
|
8
|
+
* The server's module graph uses syntax that newer Node parses but older Node
|
|
9
|
+
* does not — most notably the JSON import attribute `import pkg from
|
|
10
|
+
* "../package.json" with { type: "json" }` in cli.ts. In ESM, the *entire*
|
|
11
|
+
* static import graph is parsed and instantiated before a single statement
|
|
12
|
+
* runs. So on an unsupported old runtime, `server-main.ts` → `cli.ts` blows up
|
|
13
|
+
* with a raw `SyntaxError` pointing at a line deep inside our dist output —
|
|
14
|
+
* before any code of ours could run, and therefore before any version check
|
|
15
|
+
* we placed inside the server could fire. That is exactly what issue #455
|
|
16
|
+
* reported: `npx mcp-confluent` dumping an inscrutable parser stack trace
|
|
17
|
+
* instead of "you need a newer Node".
|
|
86
18
|
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
19
|
+
* The only way to win this race is to make the FIRST module Node loads contain
|
|
20
|
+
* nothing it can't parse, do the version check there, and reach the real
|
|
21
|
+
* server only through a *dynamic* `import()` — which defers parsing of the
|
|
22
|
+
* modern-syntax graph until after the gate has passed (or bailed with a clear
|
|
23
|
+
* message). This file, and the `preflight.ts` it statically imports, are
|
|
24
|
+
* deliberately written in syntax that parses back to very old Node so the
|
|
25
|
+
* friendly error survives where the server graph cannot.
|
|
90
26
|
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
27
|
+
* If you're a new dev wondering why this indirection exists at all: it's the
|
|
28
|
+
* difference between a user seeing "mcp-confluent requires Node.js 22.19.0 or
|
|
29
|
+
* newer" and a user seeing a JSON-import-attribute parse error from a file
|
|
30
|
+
* they've never heard of. Don't fold this back into server-main.ts. See issue
|
|
31
|
+
* #455 for the original report.
|
|
96
32
|
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
33
|
+
* This protection depends on the build staying a transpile (tsc emits one .js
|
|
34
|
+
* per .ts, preserving the dynamic-import boundary), NOT a bundle. A bundler
|
|
35
|
+
* that inlined the server graph into this entry file would drag the
|
|
36
|
+
* modern-syntax imports back into the first-parsed module and silently undo
|
|
37
|
+
* everything above. If you ever add a bundling step, keep this shim (and
|
|
38
|
+
* preflight.ts) out of it.
|
|
101
39
|
*/
|
|
102
|
-
|
|
103
|
-
const sourceFileName = oauth
|
|
104
|
-
? "config.oauth.example.yaml"
|
|
105
|
-
: "config.example.yaml";
|
|
106
|
-
const flagName = oauth ? "init-oauth-config" : "init-config";
|
|
107
|
-
const sourceUrl = new URL(`../${sourceFileName}`, import.meta.url);
|
|
108
|
-
const destPath = path.resolve("config.yaml");
|
|
109
|
-
const contents = fs.readFileSync(sourceUrl, "utf-8");
|
|
110
|
-
try {
|
|
111
|
-
fs.writeFileSync(destPath, contents, { flag: "wx" });
|
|
112
|
-
}
|
|
113
|
-
catch (err) {
|
|
114
|
-
if (err.code === "EEXIST") {
|
|
115
|
-
throw new Error(`config.yaml already exists at ${destPath}. ` +
|
|
116
|
-
`Remove or rename it before running --${flagName}.`);
|
|
117
|
-
}
|
|
118
|
-
throw err;
|
|
119
|
-
}
|
|
120
|
-
const gitignoreNote = ensureGitignoreEntry(destPath);
|
|
121
|
-
console.log(`wrote ./config.yaml (${gitignoreNote})`);
|
|
122
|
-
// OAuth has no credentials to edit; the bundled template is already
|
|
123
|
-
// runnable as-is. The api-key template, by contrast, ships placeholder
|
|
124
|
-
// values the user must fill in before the server can connect.
|
|
125
|
-
console.log(oauth
|
|
126
|
-
? `Next: run with --config ./config.yaml`
|
|
127
|
-
: `Next: edit credentials in config.yaml and run with --config ./config.yaml`);
|
|
128
|
-
}
|
|
40
|
+
import { MINIMUM_NODE_VERSION, nodeVersionError } from "./preflight.js";
|
|
129
41
|
/**
|
|
130
|
-
*
|
|
131
|
-
* Creates the gitignore if missing; appends idempotently if present (matching
|
|
132
|
-
* trimmed lines verbatim — `*.yaml` globs or `/config.yaml` anchors are not
|
|
133
|
-
* recognized, so a user who already wrote either form will see a duplicate
|
|
134
|
-
* `config.yaml` entry, which is harmless).
|
|
42
|
+
* Gate on the Node.js runtime version, then hand off to the real server entry.
|
|
135
43
|
*
|
|
136
|
-
*
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
if (!fs.existsSync(gitignorePath)) {
|
|
143
|
-
fs.writeFileSync(gitignorePath, `${fileName}\n`);
|
|
144
|
-
return "added to .gitignore";
|
|
145
|
-
}
|
|
146
|
-
const existing = fs.readFileSync(gitignorePath, "utf-8");
|
|
147
|
-
const alreadyListed = existing
|
|
148
|
-
.split("\n")
|
|
149
|
-
.some((line) => line.trim() === fileName);
|
|
150
|
-
if (alreadyListed) {
|
|
151
|
-
return ".gitignore already excludes it";
|
|
152
|
-
}
|
|
153
|
-
const prefix = existing.length > 0 && !existing.endsWith("\n") ? "\n" : "";
|
|
154
|
-
fs.appendFileSync(gitignorePath, `${prefix}${fileName}\n`);
|
|
155
|
-
return "added to .gitignore";
|
|
156
|
-
}
|
|
157
|
-
export function outputToolList(filteredToolNames) {
|
|
158
|
-
const MAX_DESC_LENGTH = 120;
|
|
159
|
-
filteredToolNames.forEach((toolName) => {
|
|
160
|
-
const config = ToolHandlerRegistry.getToolConfig(toolName);
|
|
161
|
-
let desc = config.description.replaceAll(/\s+/g, " ").trim();
|
|
162
|
-
if (desc.length > MAX_DESC_LENGTH) {
|
|
163
|
-
desc = desc.slice(0, MAX_DESC_LENGTH - 3) + "...";
|
|
164
|
-
}
|
|
165
|
-
console.log(`\x1b[32m${config.name}\x1b[0m: ${desc}`);
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Dispatch the CLI's mutually-exclusive early-exit modes — generate-key,
|
|
170
|
-
* init-config, init-oauth-config, and list-tools — before the server
|
|
171
|
-
* bootstrap begins. Returns `{ handled: false }` when none apply, in
|
|
172
|
-
* which case the caller continues with normal startup.
|
|
44
|
+
* Returns early (after printing the upgrade message and calling `exit(1)`) on an
|
|
45
|
+
* unsupported runtime; otherwise dynamically imports `server-main.ts`, which
|
|
46
|
+
* starts the server as a side effect of its own module-load (`await main()`).
|
|
47
|
+
* The dynamic import is load-bearing, not stylistic — it is what keeps the
|
|
48
|
+
* modern-syntax server graph from being parsed on a runtime that can't parse it
|
|
49
|
+
* (see the file-level comment above).
|
|
173
50
|
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
51
|
+
* `exit` and `loadAndRunServer` are injected (defaulting to the real primitives)
|
|
52
|
+
* so the dispatch is unit-testable without spawning a subprocess or stubbing
|
|
53
|
+
* `process.exit`. The callback both loads and runs the server because importing
|
|
54
|
+
* `server-main.ts` triggers its top-level `await main()`.
|
|
55
|
+
*
|
|
56
|
+
* A failure to load or start the server (a rejected dynamic import, a throw from
|
|
57
|
+
* `main()`) is caught here and turned into `console.error` + `exit(1)` rather
|
|
58
|
+
* than allowed to propagate: the module-level trigger discards this promise, so
|
|
59
|
+
* a rejection would otherwise surface as an unhandled rejection with
|
|
60
|
+
* nondeterministic exit behavior.
|
|
177
61
|
*/
|
|
178
|
-
export function
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
return { handled: true, exitCode: 0 };
|
|
192
|
-
}
|
|
193
|
-
return { handled: false };
|
|
194
|
-
}
|
|
195
|
-
function runOutputInitConfig(oauth) {
|
|
62
|
+
export async function bootstrap({ currentVersion = process.versions.node, exit = (code) => process.exit(code),
|
|
63
|
+
// Relative specifier, not the `@src/*` alias used elsewhere: this is the
|
|
64
|
+
// published `bin`, and its one runtime handoff shouldn't depend on tsc-alias
|
|
65
|
+
// having rewritten a *dynamic* `import()` at build time.
|
|
66
|
+
loadAndRunServer = () => import("./server-main.js"), } = {}) {
|
|
67
|
+
const versionError = nodeVersionError(currentVersion, MINIMUM_NODE_VERSION);
|
|
68
|
+
if (versionError) {
|
|
69
|
+
// Whoops! User is on an old Node. Print the specific version issue message and exit(1).
|
|
70
|
+
console.error(versionError);
|
|
71
|
+
exit(1);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// All good — load and invoke the real server entry (the module-level await main() over in server-main.ts).
|
|
196
75
|
try {
|
|
197
|
-
|
|
198
|
-
return { handled: true, exitCode: 0 };
|
|
76
|
+
await loadAndRunServer();
|
|
199
77
|
}
|
|
200
78
|
catch (error) {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
return { handled: true, exitCode: 1, stderr: `${flag} failed: ${msg}` };
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
async function main() {
|
|
207
|
-
try {
|
|
208
|
-
// Parse command line arguments.(NO LONGER LOADS ENV VARS FROM -e file!)
|
|
209
|
-
const cliOptions = parseCliArgs(process.argv);
|
|
210
|
-
const earlyExit = handleEarlyExits(cliOptions);
|
|
211
|
-
if (earlyExit.handled) {
|
|
212
|
-
if (earlyExit.exitCode === 1) {
|
|
213
|
-
console.error(earlyExit.stderr);
|
|
214
|
-
}
|
|
215
|
-
process.exit(earlyExit.exitCode);
|
|
216
|
-
}
|
|
217
|
-
const filteredToolNames = getFilteredToolNames(cliOptions.allowTools ?? [], cliOptions.blockTools ?? []);
|
|
218
|
-
if (cliOptions.envFile) {
|
|
219
|
-
loadDotEnvFile(cliOptions.envFile);
|
|
220
|
-
}
|
|
221
|
-
// Convert our known env vars into a typed Environment obj.
|
|
222
|
-
const env = initEnv();
|
|
223
|
-
let mcpConfig;
|
|
224
|
-
// Load and validate configuration — from YAML file if --config provided, else from env vars + CLI overrides.
|
|
225
|
-
if (cliOptions.config) {
|
|
226
|
-
mcpConfig = loadConfigFromYaml(cliOptions.config, process.env);
|
|
227
|
-
}
|
|
228
|
-
else {
|
|
229
|
-
mcpConfig = buildConfigFromEnvAndCli(env, {
|
|
230
|
-
disableAuth: cliOptions.disableAuth,
|
|
231
|
-
allowedHosts: cliOptions.allowedHosts,
|
|
232
|
-
kafkaConfig: cliOptions.kafkaConfig,
|
|
233
|
-
oauth: cliOptions.oauth,
|
|
234
|
-
ccloudEnv: cliOptions.ccloudEnv,
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
setLogLevel(mcpConfig.server.log_level);
|
|
238
|
-
// Transport selection: YAML config is authoritative when --config is used;
|
|
239
|
-
// CLI flag (or its default) is used on the env-var path.
|
|
240
|
-
const transports = cliOptions.config
|
|
241
|
-
? mcpConfig.server.transports
|
|
242
|
-
: cliOptions.transports;
|
|
243
|
-
// DO_NOT_TRACK is a cross-tool user preference (consoledonottrack.com);
|
|
244
|
-
// the env var acts as a floor so it is honored even when --config is used.
|
|
245
|
-
TelemetryService.initialize({
|
|
246
|
-
doNotTrack: mcpConfig.server.do_not_track || env.DO_NOT_TRACK,
|
|
247
|
-
writeKey: resolveTelemetryWriteKey(mcpConfig),
|
|
248
|
-
});
|
|
249
|
-
const telemetry = TelemetryService.getInstance();
|
|
250
|
-
logger.info(`${mcpConfig.getConnectionNames().length} connections loaded successfully`);
|
|
251
|
-
const runtime = ServerRuntime.fromConfig(mcpConfig);
|
|
252
|
-
const serverVersion = getPackageVersion();
|
|
253
|
-
telemetry.setCommonProperties({ serverVersion });
|
|
254
|
-
const toolHandlers = getToolHandlersToRegister(filteredToolNames, runtime);
|
|
255
|
-
logger.info({ enabledTools: [...toolHandlers.keys()] }, `${toolHandlers.size} tool(s) enabled`);
|
|
256
|
-
// Warn if auth is disabled
|
|
257
|
-
if (mcpConfig.server.auth.disabled) {
|
|
258
|
-
logger.warn("Authentication is DISABLED for HTTP/SSE transports. " +
|
|
259
|
-
"This should only be used in development environments.");
|
|
260
|
-
}
|
|
261
|
-
const transportManager = new TransportManager({
|
|
262
|
-
disableAuth: mcpConfig.server.auth.disabled,
|
|
263
|
-
allowedHosts: mcpConfig.server.auth.allowed_hosts,
|
|
264
|
-
apiKey: mcpConfig.server.auth.api_key,
|
|
265
|
-
});
|
|
266
|
-
const serverOptions = {
|
|
267
|
-
serverVersion,
|
|
268
|
-
toolHandlers,
|
|
269
|
-
runtime,
|
|
270
|
-
track: (props) => telemetry.track(TelemetryEvent.TOOL_CALL, {
|
|
271
|
-
...props,
|
|
272
|
-
}),
|
|
273
|
-
};
|
|
274
|
-
// Start all transports with a single call
|
|
275
|
-
logger.info(`Starting transports: ${transports.join(", ")}`);
|
|
276
|
-
await transportManager.start({
|
|
277
|
-
serverOptions,
|
|
278
|
-
types: transports,
|
|
279
|
-
http: {
|
|
280
|
-
port: mcpConfig.server.http.port,
|
|
281
|
-
host: mcpConfig.server.http.host,
|
|
282
|
-
mcpEndpointPath: mcpConfig.server.http.mcp_endpoint,
|
|
283
|
-
sseEndpointPath: mcpConfig.server.http.sse_endpoint,
|
|
284
|
-
sseMessageEndpointPath: mcpConfig.server.http.sse_message_endpoint,
|
|
285
|
-
},
|
|
286
|
-
});
|
|
287
|
-
// Boot-time invariants (config source, active transports, connection
|
|
288
|
-
// types) ride this one-shot event rather than every TOOL_CALL — they
|
|
289
|
-
// don't change after startup, so duplicating them per tool call buys
|
|
290
|
-
// nothing. Warehouse queries join SERVER_START to TOOL_CALL on
|
|
291
|
-
// `serverSessionId` (a common property) when slicing is needed.
|
|
292
|
-
telemetry.track(TelemetryEvent.SERVER_START, {
|
|
293
|
-
...buildConfigTelemetry(cliOptions, mcpConfig, transports),
|
|
294
|
-
});
|
|
295
|
-
// Set up cleanup handlers
|
|
296
|
-
const performCleanup = async () => {
|
|
297
|
-
logger.info("Shutting down...");
|
|
298
|
-
await telemetry.shutdown();
|
|
299
|
-
await transportManager.stop();
|
|
300
|
-
// shutdown() is race-safe with an in-flight bootstrap.
|
|
301
|
-
runtime.oauthHolder?.shutdown();
|
|
302
|
-
await runtime.clientManager.disconnect();
|
|
303
|
-
process.exit(0);
|
|
304
|
-
};
|
|
305
|
-
process.on("SIGINT", performCleanup);
|
|
306
|
-
process.on("SIGTERM", performCleanup);
|
|
307
|
-
process.on("SIGQUIT", performCleanup);
|
|
308
|
-
process.on("SIGUSR2", performCleanup);
|
|
309
|
-
}
|
|
310
|
-
catch (error) {
|
|
311
|
-
if (error instanceof DisplayedCommandLineUsageError) {
|
|
312
|
-
process.exit(0);
|
|
313
|
-
}
|
|
314
|
-
logger.error({ err: error }, "Error starting server");
|
|
315
|
-
process.exit(1);
|
|
79
|
+
console.error(error);
|
|
80
|
+
exit(1);
|
|
316
81
|
}
|
|
317
82
|
}
|
|
83
|
+
// Call `bootstrap()` directly, NOT `await bootstrap()`. Top-level await is
|
|
84
|
+
// itself modern syntax that older Node fails to *parse* — using it here would
|
|
85
|
+
// reintroduce the very parse-time crash this shim exists to prevent, defeating
|
|
86
|
+
// the whole point. `bootstrap()` does its own awaiting internally and handles
|
|
87
|
+
// its own failures (see its docstring), then the process stays alive on the
|
|
88
|
+
// transports the server starts. The `.catch` is a final backstop: any
|
|
89
|
+
// unforeseen rejection still exits deterministically rather than becoming an
|
|
90
|
+
// unhandled promise rejection. (`.catch` + arrow parse fine on ancient Node;
|
|
91
|
+
// only top-level await does not.)
|
|
318
92
|
if (process.env.NODE_ENV !== "test") {
|
|
319
|
-
|
|
93
|
+
bootstrap().catch((error) => {
|
|
94
|
+
console.error(error);
|
|
95
|
+
process.exit(1);
|
|
96
|
+
});
|
|
320
97
|
}
|
|
321
98
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC9B,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EACtC,IAAI,GAAG,CAAC,IAAY,EAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AACjD,yEAAyE;AACzE,6EAA6E;AAC7E,yDAAyD;AACzD,gBAAgB,GAAG,GAAqB,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAKnE,EAAE;IACJ,MAAM,YAAY,GAAG,gBAAgB,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;IAC5E,IAAI,YAAY,EAAE,CAAC;QACjB,wFAAwF;QACxF,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,CAAC,CAAC;QACR,OAAO;IACT,CAAC;IAED,2GAA2G;IAC3G,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,4EAA4E;AAC5E,sEAAsE;AACtE,6EAA6E;AAC7E,6EAA6E;AAC7E,kCAAkC;AAClC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;IACpC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/lazy.d.ts
CHANGED
|
@@ -56,8 +56,10 @@ export declare class AsyncLazy<T> {
|
|
|
56
56
|
*/
|
|
57
57
|
get(): Promise<T>;
|
|
58
58
|
/**
|
|
59
|
-
* Closes and cleans up the lazy-loaded instance if it exists
|
|
60
|
-
* If a closeHandler was provided, it will be called with the instance
|
|
59
|
+
* Closes and cleans up the lazy-loaded instance if it exists.
|
|
60
|
+
* If a closeHandler was provided, it will be called with the instance.
|
|
61
|
+
* The instance and any cached initialization promise are reset afterward,
|
|
62
|
+
* so the next get() rebuilds.
|
|
61
63
|
* @returns A promise that resolves when the cleanup is complete
|
|
62
64
|
*/
|
|
63
65
|
close(): Promise<void>;
|
package/dist/lazy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,qBAAa,IAAI,CAAC,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAgB;IAEhC,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAwB;IAEtD;;;;OAIG;gBACS,QAAQ,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI;IAKnE;;;;OAIG;IACH,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,qBAAa,IAAI,CAAC,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAgB;IAEhC,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAwB;IAEtD;;;;OAIG;gBACS,QAAQ,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI;IAKnE;;;;OAIG;IACH,GAAG,IAAI,CAAC;IAcR;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAYd;AAED;;;;GAIG;AACH,qBAAa,SAAS,CAAC,CAAC;IACtB,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAgB;IAEhC,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAiC;IAE/D,iGAAiG;IACjG,OAAO,CAAC,qBAAqB,CAA2B;IAExD;;;;OAIG;gBAED,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;IAM/C;;;;OAIG;IACG,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;IAqBvB;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAa7B"}
|
package/dist/lazy.js
CHANGED
|
@@ -26,12 +26,14 @@ export class Lazy {
|
|
|
26
26
|
* @throws If the supplier function fails to initialize the value
|
|
27
27
|
*/
|
|
28
28
|
get() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
if (this.instance === undefined) {
|
|
30
|
+
try {
|
|
31
|
+
this.instance = this.supplier();
|
|
32
|
+
logger.debug(`Lazy instance created with type ${this.instance?.constructor.name || typeof this.instance}`);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
throw new Error(`Failed to initialize lazy instance: ${error}`);
|
|
36
|
+
}
|
|
35
37
|
}
|
|
36
38
|
return this.instance;
|
|
37
39
|
}
|
|
@@ -41,7 +43,7 @@ export class Lazy {
|
|
|
41
43
|
* The instance is set to undefined after cleanup.
|
|
42
44
|
*/
|
|
43
45
|
close() {
|
|
44
|
-
if (this.instance) {
|
|
46
|
+
if (this.instance !== undefined) {
|
|
45
47
|
if (this.closeHandler) {
|
|
46
48
|
logger.debug(`Initiating close handler for lazy instance of type ${typeof this.instance}`);
|
|
47
49
|
this.closeHandler(this.instance);
|
|
@@ -80,27 +82,40 @@ export class AsyncLazy {
|
|
|
80
82
|
* @throws If the supplier function fails to initialize the value
|
|
81
83
|
*/
|
|
82
84
|
async get() {
|
|
83
|
-
if (
|
|
85
|
+
if (this.instance === undefined) {
|
|
84
86
|
if (!this.initializationPromise) {
|
|
85
87
|
this.initializationPromise = this.supplier();
|
|
86
88
|
}
|
|
87
|
-
|
|
89
|
+
try {
|
|
90
|
+
this.instance = await this.initializationPromise;
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
// A rejected supplier must leave the wrapper retryable: clear the
|
|
94
|
+
// cached promise so the next get() re-invokes the supplier rather
|
|
95
|
+
// than re-awaiting the same rejection forever.
|
|
96
|
+
this.initializationPromise = null;
|
|
97
|
+
throw error;
|
|
98
|
+
}
|
|
88
99
|
}
|
|
89
100
|
logger.debug(`Async Lazy instance created with type ${this.instance?.constructor.name || typeof this.instance}`);
|
|
90
101
|
return this.instance;
|
|
91
102
|
}
|
|
92
103
|
/**
|
|
93
|
-
* Closes and cleans up the lazy-loaded instance if it exists
|
|
94
|
-
* If a closeHandler was provided, it will be called with the instance
|
|
104
|
+
* Closes and cleans up the lazy-loaded instance if it exists.
|
|
105
|
+
* If a closeHandler was provided, it will be called with the instance.
|
|
106
|
+
* The instance and any cached initialization promise are reset afterward,
|
|
107
|
+
* so the next get() rebuilds.
|
|
95
108
|
* @returns A promise that resolves when the cleanup is complete
|
|
96
109
|
*/
|
|
97
110
|
async close() {
|
|
98
|
-
if (this.instance) {
|
|
111
|
+
if (this.instance !== undefined) {
|
|
99
112
|
if (this.closeHandler) {
|
|
100
113
|
logger.debug(`Initiating close handler for lazy instance of type ${typeof this.instance}`);
|
|
101
114
|
await this.closeHandler(this.instance);
|
|
102
115
|
logger.debug(`Lazy instance closed with type ${typeof this.instance}`);
|
|
103
116
|
}
|
|
117
|
+
this.instance = undefined;
|
|
118
|
+
this.initializationPromise = null;
|
|
104
119
|
}
|
|
105
120
|
}
|
|
106
121
|
}
|
package/dist/lazy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,OAAO,IAAI;IACf,qDAAqD;IAC7C,QAAQ,CAAgB;IAEhC,6DAA6D;IAC5C,QAAQ,CAAU;IAEnC,4DAA4D;IAC3C,YAAY,CAAyB;IAEtD;;;;OAIG;IACH,YAAY,QAAiB,EAAE,YAAoC;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,GAAG;QACD,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,mFAAmF;IACnF,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,mFAAmF;IACnF,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;CAC7B;AAED,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAI3D,MAAM,WAAW,sBAAsB;IACrC,kEAAkE;IAClE,aAAa,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzC,qEAAqE;IACrE,OAAO,EAAE,aAAa,CAAC;IACvB,yDAAyD;IACzD,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,+FAA+F;AAC/F,wBAAgB,eAAe,CAAC,EAC9B,aAAa,EACb,YAAY,EACZ,OAAO,EACP,KAAiB,GAClB,EAAE,sBAAsB,GAAG,SAAS,CAkEpC"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
import { alwaysEnabled } from "../confluent/tools/connection-predicates.js";
|
|
3
2
|
const noopTrack = () => { };
|
|
4
3
|
/** Builds a fresh {@link McpServer} with every supplied {@linkcode ToolHandler} registered. */
|
|
5
4
|
export function createMcpServer({ serverVersion, toolHandlers, runtime, track = noopTrack, }) {
|
|
@@ -8,11 +7,12 @@ export function createMcpServer({ serverVersion, toolHandlers, runtime, track =
|
|
|
8
7
|
version: serverVersion,
|
|
9
8
|
});
|
|
10
9
|
toolHandlers.forEach((handler, name) => {
|
|
11
|
-
const config = handler.
|
|
10
|
+
const config = handler.getRegisteredToolConfig(runtime);
|
|
12
11
|
srv.registerTool(name, {
|
|
13
12
|
description: config.description,
|
|
14
13
|
inputSchema: config.inputSchema,
|
|
15
14
|
annotations: config.annotations,
|
|
15
|
+
_meta: { category: handler.category },
|
|
16
16
|
}, async (args, context) => {
|
|
17
17
|
const startTime = Date.now();
|
|
18
18
|
// per-instance lookup so concurrent HTTP sessions don't clobber each other's telemetry
|
|
@@ -23,10 +23,14 @@ export function createMcpServer({ serverVersion, toolHandlers, runtime, track =
|
|
|
23
23
|
clientVersion: clientInfo?.version,
|
|
24
24
|
};
|
|
25
25
|
try {
|
|
26
|
-
//
|
|
27
|
-
//
|
|
26
|
+
// Launch the browser OAuth login flow only when this call actually
|
|
27
|
+
// routes to the OAuth connection — not merely because an OAuth
|
|
28
|
+
// connection exists somewhere in the config. A call targeting a
|
|
29
|
+
// local/direct connection in a mixed setup needs no login.
|
|
30
|
+
const targetConnectionId = handler.resolvedTargetConnectionId(runtime, args);
|
|
28
31
|
if (runtime.oauthHolder !== undefined &&
|
|
29
|
-
|
|
32
|
+
targetConnectionId !== undefined &&
|
|
33
|
+
runtime.config.connections[targetConnectionId]?.type === "oauth") {
|
|
30
34
|
await runtime.oauthHolder.ensureLoggedIn();
|
|
31
35
|
}
|
|
32
36
|
const result = await handler.handle(runtime, args, context?.sessionId);
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBpE,MAAM,SAAS,GAAkB,GAAG,EAAE,GAAE,CAAC,CAAC;AAa1C,+FAA+F;AAC/F,MAAM,UAAU,eAAe,CAAC,EAC9B,aAAa,EACb,YAAY,EACZ,OAAO,EACP,KAAK,GAAG,SAAS,GACM;IACvB,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC;QACxB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;IAEH,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAExD,GAAG,CAAC,YAAY,CACd,IAAI,EACJ;YACE,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;SACtC,EACD,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,uFAAuF;YACvF,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG;gBAChB,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,UAAU,EAAE,IAAI;gBAC5B,aAAa,EAAE,UAAU,EAAE,OAAO;aACnC,CAAC;YACF,IAAI,CAAC;gBACH,mEAAmE;gBACnE,+DAA+D;gBAC/D,gEAAgE;gBAChE,2DAA2D;gBAC3D,MAAM,kBAAkB,GAAG,OAAO,CAAC,0BAA0B,CAC3D,OAAO,EACP,IAAI,CACL,CAAC;gBACF,IACE,OAAO,CAAC,WAAW,KAAK,SAAS;oBACjC,kBAAkB,KAAK,SAAS;oBAChC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,KAAK,OAAO,EAChE,CAAC;oBACD,MAAM,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC7C,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CACjC,OAAO,EACP,IAAI,EACJ,OAAO,EAAE,SAAS,CACnB,CAAC;gBACF,KAAK,CAAC;oBACJ,GAAG,SAAS;oBACZ,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;iBAC7C,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC;oBACJ,GAAG,SAAS;oBACZ,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,MAAM,EAAE,OAAO;iBAChB,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimum full Node.js version (major.minor.patch) the server supports. Kept in
|
|
3
|
+
* lockstep with the `engines.node` field in package.json.
|
|
4
|
+
*
|
|
5
|
+
* A full version, not just a major, because the floor is dictated by a
|
|
6
|
+
* transitive dependency: undici (via cheerio) declares `engines.node
|
|
7
|
+
* >=22.19.0` and, at load time, destructures `markAsUncloneable` from
|
|
8
|
+
* `node:worker_threads` — an export that only exists from Node 22.10.0 onward.
|
|
9
|
+
* On an older 22.x (e.g. 22.0.0) undici crashes with a cryptic
|
|
10
|
+
* `webidl.util.markAsUncloneable is not a function` deep in its cache module,
|
|
11
|
+
* which is exactly the inscrutable-crash-instead-of-clear-message failure the
|
|
12
|
+
* preflight shim (src/index.ts) exists to prevent (issue #455). A major-only
|
|
13
|
+
* gate waved those runtimes straight into that crash, so the gate compares the
|
|
14
|
+
* full version. Bump this in step with undici's `engines.node` floor.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MINIMUM_NODE_VERSION = "22.19.0";
|
|
17
|
+
/**
|
|
18
|
+
* Return a human-readable error message when `currentVersion` is older than
|
|
19
|
+
* `minimumVersion`, otherwise `undefined`.
|
|
20
|
+
*
|
|
21
|
+
* Pure (no I/O) so the version gate is exhaustively unit-testable by passing
|
|
22
|
+
* `process.versions.node`-shaped strings directly. A leading "v" is tolerated.
|
|
23
|
+
* An unparseable version is treated as unsupported rather than waved through —
|
|
24
|
+
* we would rather show the upgrade message than hand control to a runtime we
|
|
25
|
+
* could not identify.
|
|
26
|
+
*
|
|
27
|
+
* Authored in syntax that parses on very old Node (no optional chaining, no
|
|
28
|
+
* import attributes): this module sits in the shim's static import graph, so a
|
|
29
|
+
* parse error here would reintroduce the very cryptic crash the shim exists to
|
|
30
|
+
* prevent.
|
|
31
|
+
*/
|
|
32
|
+
export declare function nodeVersionError(currentVersion: string, minimumVersion: string): string | undefined;
|
|
33
|
+
//# sourceMappingURL=preflight.d.ts.map
|