@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
|
@@ -3,41 +3,81 @@ export const OAUTH_CALLBACK_PORT = 26640;
|
|
|
3
3
|
export const OAUTH_CALLBACK_PATH = "/gateway/v1/callback-local-mcp-docs";
|
|
4
4
|
const OAUTH_CALLBACK_URL = `http://${OAUTH_CALLBACK_HOST}:${OAUTH_CALLBACK_PORT}${OAUTH_CALLBACK_PATH}`;
|
|
5
5
|
const OAUTH_SCOPES = "email openid offline_access";
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* The Confluent Cloud base domain per Auth0 environment. Every CCloud REST
|
|
8
|
+
* surface this server reaches is the same domain with a different prefix
|
|
9
|
+
* (`api.`, `api.telemetry.`, regional `flink.<region>.<cloud>.`), so the base
|
|
10
|
+
* domain is the single source of truth and each surface's URL is derived from
|
|
11
|
+
* it (see the `get*UrlForEnv` helpers below). `devel`/`stag` are
|
|
12
|
+
* internal-dev-only; a wrong derived URL there is a one-line fix here.
|
|
13
|
+
*/
|
|
14
|
+
const CCLOUD_DOMAINS = {
|
|
15
|
+
devel: "devel.cpdev.cloud",
|
|
16
|
+
stag: "stag.cpdev.cloud",
|
|
17
|
+
prod: "confluent.cloud",
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Per-environment Auth0 login identity. These are the only values that do NOT
|
|
21
|
+
* derive from {@link CCLOUD_DOMAINS}: login lives on a separate domain family
|
|
22
|
+
* (`login.confluent.io` / `login-stag.confluent-dev.io`) and the client ids are
|
|
23
|
+
* opaque Auth0 application identifiers.
|
|
24
|
+
*/
|
|
25
|
+
const AUTH0_CLIENTS = {
|
|
7
26
|
devel: {
|
|
8
27
|
clientId: "D8DV9ee7XrKX4ncAc6vJtBFgIzTMNgoY",
|
|
9
28
|
domain: "login.confluent-dev.io",
|
|
10
|
-
apiUrl: "https://devel.cpdev.cloud",
|
|
11
|
-
cloudRestUrl: "https://api.devel.cpdev.cloud",
|
|
12
|
-
callbackUrl: OAUTH_CALLBACK_URL,
|
|
13
|
-
scopes: OAUTH_SCOPES,
|
|
14
29
|
},
|
|
15
30
|
stag: {
|
|
16
31
|
clientId: "adtjckxmHbjddhNK36PvcXIDDbrJUMDH",
|
|
17
32
|
domain: "login-stag.confluent-dev.io",
|
|
18
|
-
apiUrl: "https://stag.cpdev.cloud",
|
|
19
|
-
cloudRestUrl: "https://api.stag.cpdev.cloud",
|
|
20
|
-
callbackUrl: OAUTH_CALLBACK_URL,
|
|
21
|
-
scopes: OAUTH_SCOPES,
|
|
22
33
|
},
|
|
23
34
|
prod: {
|
|
24
35
|
clientId: "cZ0wejEDJLNocYDJ54mAmGK21klrv21h",
|
|
25
36
|
domain: "login.confluent.io",
|
|
26
|
-
apiUrl: "https://confluent.cloud",
|
|
27
|
-
cloudRestUrl: "https://api.confluent.cloud",
|
|
28
|
-
callbackUrl: OAUTH_CALLBACK_URL,
|
|
29
|
-
scopes: OAUTH_SCOPES,
|
|
30
37
|
},
|
|
31
38
|
};
|
|
32
|
-
|
|
33
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Returns the Confluent Cloud session/login API base URL (no `api.` prefix) for
|
|
41
|
+
* the given Auth0 environment — the host that serves `/api/sessions` and
|
|
42
|
+
* `/api/access_tokens` during the token-exchange chain.
|
|
43
|
+
*/
|
|
44
|
+
export function getApiUrlForEnv(environment) {
|
|
45
|
+
return `https://${CCLOUD_DOMAINS[environment]}`;
|
|
34
46
|
}
|
|
35
47
|
/**
|
|
36
|
-
* Returns the Confluent Cloud REST API base URL for the given
|
|
37
|
-
* Used by {@link OAuthClientManager} to derive the cloud
|
|
38
|
-
* the OAuth path doesn't carry an explicit
|
|
48
|
+
* Returns the Confluent Cloud REST API base URL (`api.` prefix) for the given
|
|
49
|
+
* Auth0 environment. Used by {@link OAuthClientManager} to derive the cloud
|
|
50
|
+
* surface's base URL when the OAuth path doesn't carry an explicit
|
|
51
|
+
* `confluent_cloud.endpoint`.
|
|
39
52
|
*/
|
|
40
53
|
export function getCloudRestUrlForEnv(environment) {
|
|
41
|
-
return
|
|
54
|
+
return `https://api.${CCLOUD_DOMAINS[environment]}`;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Returns the Confluent Cloud Telemetry REST API base URL
|
|
58
|
+
* (`api.telemetry.` prefix) for the given Auth0 environment. Used by
|
|
59
|
+
* {@link OAuthClientManager} to point the telemetry/metrics surface at the
|
|
60
|
+
* right host under OAuth.
|
|
61
|
+
*/
|
|
62
|
+
export function getTelemetryRestUrlForEnv(environment) {
|
|
63
|
+
return `https://api.telemetry.${CCLOUD_DOMAINS[environment]}`;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Returns the regional Confluent Cloud Flink REST API base URL
|
|
67
|
+
* (`flink.<region>.<cloud>.` prefix) for the given Auth0 environment. Unlike
|
|
68
|
+
* the cloud/telemetry surfaces, the Flink host is regional, so {@link
|
|
69
|
+
* OAuthClientManager} can only build this per call once it has resolved the
|
|
70
|
+
* compute pool's `cloud` + `region` (via `GET /fcpm/v2/compute-pools/{id}`).
|
|
71
|
+
*/
|
|
72
|
+
export function getFlinkRestUrlForRegion(environment, cloud, region) {
|
|
73
|
+
return `https://flink.${region}.${cloud.toLowerCase()}.${CCLOUD_DOMAINS[environment]}`;
|
|
74
|
+
}
|
|
75
|
+
export function getAuth0Config(environment) {
|
|
76
|
+
return {
|
|
77
|
+
...AUTH0_CLIENTS[environment],
|
|
78
|
+
apiUrl: getApiUrlForEnv(environment),
|
|
79
|
+
callbackUrl: OAUTH_CALLBACK_URL,
|
|
80
|
+
scopes: OAUTH_SCOPES,
|
|
81
|
+
};
|
|
42
82
|
}
|
|
43
83
|
//# sourceMappingURL=auth0-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth0-config.js","sourceRoot":"","sources":["../../../src/confluent/oauth/auth0-config.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AACzE,MAAM,kBAAkB,GAAG,UAAU,mBAAmB,IAAI,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;AACxG,MAAM,YAAY,GAAG,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"auth0-config.js","sourceRoot":"","sources":["../../../src/confluent/oauth/auth0-config.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AACzE,MAAM,kBAAkB,GAAG,UAAU,mBAAmB,IAAI,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;AACxG,MAAM,YAAY,GAAG,6BAA6B,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,cAAc,GAAqC;IACvD,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,iBAAiB;CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,aAAa,GAGf;IACF,KAAK,EAAE;QACL,QAAQ,EAAE,kCAAkC;QAC5C,MAAM,EAAE,wBAAwB;KACjC;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,kCAAkC;QAC5C,MAAM,EAAE,6BAA6B;KACtC;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,kCAAkC;QAC5C,MAAM,EAAE,oBAAoB;KAC7B;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,WAA6B;IAC3D,OAAO,WAAW,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAA6B;IACjE,OAAO,eAAe,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAA6B;IAE7B,OAAO,yBAAyB,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,WAA6B,EAC7B,KAAa,EACb,MAAc;IAEd,OAAO,iBAAiB,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,WAA6B;IAC1D,OAAO;QACL,GAAG,aAAa,CAAC,WAAW,CAAC;QAC7B,MAAM,EAAE,eAAe,CAAC,WAAW,CAAC;QACpC,WAAW,EAAE,kBAAkB;QAC/B,MAAM,EAAE,YAAY;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Render the OAuth success page. The `copiedPath` and `streamPath` placeholders
|
|
3
|
+
* in the template are replaced with the same constants the server registers
|
|
4
|
+
* its handlers under, so the page and server can't drift on path naming.
|
|
5
|
+
*/
|
|
6
|
+
export declare function renderSuccessPage(opts: {
|
|
7
|
+
copiedPath: string;
|
|
8
|
+
streamPath: string;
|
|
9
|
+
}): string;
|
|
2
10
|
export declare function renderErrorPage(message: string): string;
|
|
3
11
|
/** Test-only: reset the module-level template cache. */
|
|
4
12
|
export declare function _resetCallbackPageCacheForTests(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback-pages.d.ts","sourceRoot":"","sources":["../../../src/confluent/oauth/callback-pages.ts"],"names":[],"mappings":"AAuCA,wBAAgB,iBAAiB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"callback-pages.d.ts","sourceRoot":"","sources":["../../../src/confluent/oauth/callback-pages.ts"],"names":[],"mappings":"AAuCA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAOT;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED,wDAAwD;AACxD,wBAAgB,+BAA+B,IAAI,IAAI,CAGtD"}
|
|
@@ -6,7 +6,7 @@ const PARTIALS = {
|
|
|
6
6
|
"{#include logo/}": "logo.html",
|
|
7
7
|
};
|
|
8
8
|
const TEMPLATES_DIR_URL = new URL("../../../assets/oauth-templates/", import.meta.url);
|
|
9
|
-
let
|
|
9
|
+
let cachedSuccessTemplate;
|
|
10
10
|
let cachedFailureTemplate;
|
|
11
11
|
function readTemplate(fileName) {
|
|
12
12
|
return fs.readFileSync(new URL(fileName, TEMPLATES_DIR_URL), "utf-8");
|
|
@@ -22,9 +22,18 @@ function escapeHtml(value) {
|
|
|
22
22
|
.replaceAll('"', """)
|
|
23
23
|
.replaceAll("'", "'");
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Render the OAuth success page. The `copiedPath` and `streamPath` placeholders
|
|
27
|
+
* in the template are replaced with the same constants the server registers
|
|
28
|
+
* its handlers under, so the page and server can't drift on path naming.
|
|
29
|
+
*/
|
|
30
|
+
export function renderSuccessPage(opts) {
|
|
31
|
+
cachedSuccessTemplate ??= inlinePartials(readTemplate(SUCCESS_TEMPLATE_FILE));
|
|
32
|
+
// Replacer-function form so `$&`, `$$`, etc. in path values are taken literally
|
|
33
|
+
// rather than processed as String.prototype.replace substitution patterns.
|
|
34
|
+
return cachedSuccessTemplate
|
|
35
|
+
.replaceAll("{{copiedPath}}", () => opts.copiedPath)
|
|
36
|
+
.replaceAll("{{streamPath}}", () => opts.streamPath);
|
|
28
37
|
}
|
|
29
38
|
export function renderErrorPage(message) {
|
|
30
39
|
cachedFailureTemplate ??= inlinePartials(readTemplate(FAILURE_TEMPLATE_FILE));
|
|
@@ -32,7 +41,7 @@ export function renderErrorPage(message) {
|
|
|
32
41
|
}
|
|
33
42
|
/** Test-only: reset the module-level template cache. */
|
|
34
43
|
export function _resetCallbackPageCacheForTests() {
|
|
35
|
-
|
|
44
|
+
cachedSuccessTemplate = undefined;
|
|
36
45
|
cachedFailureTemplate = undefined;
|
|
37
46
|
}
|
|
38
47
|
//# sourceMappingURL=callback-pages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback-pages.js","sourceRoot":"","sources":["../../../src/confluent/oauth/callback-pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEjD,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AACtD,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAM,QAAQ,GAA2B;IACvC,oBAAoB,EAAE,aAAa;IACnC,kBAAkB,EAAE,WAAW;CAChC,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,kCAAkC,EAClC,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;AAEF,IAAI,
|
|
1
|
+
{"version":3,"file":"callback-pages.js","sourceRoot":"","sources":["../../../src/confluent/oauth/callback-pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEjD,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AACtD,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAM,QAAQ,GAA2B;IACvC,oBAAoB,EAAE,aAAa;IACnC,kBAAkB,EAAE,WAAW;CAChC,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,kCAAkC,EAClC,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;AAEF,IAAI,qBAAyC,CAAC;AAC9C,IAAI,qBAAyC,CAAC;AAE9C,SAAS,YAAY,CAAC,QAAgB;IACpC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC7B,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,EAChD,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;SACzB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAGjC;IACC,qBAAqB,KAAK,cAAc,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC9E,gFAAgF;IAChF,2EAA2E;IAC3E,OAAO,qBAAqB;SACzB,UAAU,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;SACnD,UAAU,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,qBAAqB,KAAK,cAAc,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC9E,OAAO,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,+BAA+B;IAC7C,qBAAqB,GAAG,SAAS,CAAC;IAClC,qBAAqB,GAAG,SAAS,CAAC;AACpC,CAAC"}
|
|
@@ -2,8 +2,27 @@ import { type TokenChainResult } from "../../confluent/oauth/token-chain.js";
|
|
|
2
2
|
import type { Auth0Config } from "../../confluent/oauth/types.js";
|
|
3
3
|
/** Maximum time to wait for the user to complete the browser PKCE flow. */
|
|
4
4
|
export declare const PKCE_LOGIN_TIMEOUT_MS = 120000;
|
|
5
|
+
/** Path the success page POSTs to when the user copies the install hint. */
|
|
6
|
+
export declare const SKILLS_HINT_COPIED_PATH = "/skills-hint-copied";
|
|
7
|
+
/**
|
|
8
|
+
* Path the success page opens an EventSource to. The open connection is what
|
|
9
|
+
* keeps the callback server alive past the OAuth redirect: as long as the page
|
|
10
|
+
* is in a tab, the stream is connected and beacons land on a live listener.
|
|
11
|
+
* When the tab closes, the stream disconnects and the server tears down.
|
|
12
|
+
*/
|
|
13
|
+
export declare const SKILLS_HINT_STREAM_PATH = "/skills-hint-stream";
|
|
14
|
+
/**
|
|
15
|
+
* Safety cap on how long the callback server can stay bound after a successful
|
|
16
|
+
* auth. The stream-disconnect path is the normal closer; this is just the
|
|
17
|
+
* "user left the tab open and walked away" backstop. Kept tight (60s) because
|
|
18
|
+
* a lingering listener will collide with the next PKCE attempt — if a token
|
|
19
|
+
* refresh fails non-transiently inside this window and triggers a fresh login,
|
|
20
|
+
* the second attempt errors with `port_in_use` when in fact it's this same
|
|
21
|
+
* session's leftover listener still holding the port.
|
|
22
|
+
*/
|
|
23
|
+
export declare const SUCCESS_PAGE_MAX_LIFETIME_MS = 60000;
|
|
5
24
|
/** Reasons a PKCE login can fail. Carried on {@link PkceLoginError}. */
|
|
6
|
-
export type PkceLoginFailureReason = "timeout" | "user_aborted" | "port_in_use" | "auth0_unreachable" | "configuration";
|
|
25
|
+
export type PkceLoginFailureReason = "timeout" | "user_aborted" | "port_in_use" | "auth0_unreachable" | "callback_server_error" | "configuration";
|
|
7
26
|
/** Structured error so callers can react to the cause of a failed PKCE login. */
|
|
8
27
|
export declare class PkceLoginError extends Error {
|
|
9
28
|
readonly reason: PkceLoginFailureReason;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkce-login.d.ts","sourceRoot":"","sources":["../../../src/confluent/oauth/pkce-login.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"pkce-login.d.ts","sourceRoot":"","sources":["../../../src/confluent/oauth/pkce-login.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAIjE,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAE7C,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAEnD,wEAAwE;AACxE,MAAM,MAAM,sBAAsB,GAC9B,SAAS,GACT,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,uBAAuB,GACvB,eAAe,CAAC;AAEpB,iFAAiF;AACjF,qBAAa,cAAe,SAAQ,KAAK;aAErB,MAAM,EAAE,sBAAsB;gBAA9B,MAAM,EAAE,sBAAsB,EAC9C,OAAO,EAAE,MAAM;CAKlB;AAwBD;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,gBAAgB,CAAC,CA2P3B"}
|
|
@@ -3,9 +3,29 @@ import { OAUTH_CALLBACK_HOST, OAUTH_CALLBACK_PATH, OAUTH_CALLBACK_PORT, } from "
|
|
|
3
3
|
import { renderErrorPage, renderSuccessPage, } from "../../confluent/oauth/callback-pages.js";
|
|
4
4
|
import { generateCodeChallenge, generateCodeVerifier, generateOpaqueToken, } from "../../confluent/oauth/crypto-utils.js";
|
|
5
5
|
import { executeFullTokenChain, } from "../../confluent/oauth/token-chain.js";
|
|
6
|
+
import { TelemetryEvent, TelemetryService } from "../../confluent/telemetry.js";
|
|
6
7
|
import { logger } from "../../logger.js";
|
|
7
8
|
/** Maximum time to wait for the user to complete the browser PKCE flow. */
|
|
8
9
|
export const PKCE_LOGIN_TIMEOUT_MS = 120_000;
|
|
10
|
+
/** Path the success page POSTs to when the user copies the install hint. */
|
|
11
|
+
export const SKILLS_HINT_COPIED_PATH = "/skills-hint-copied";
|
|
12
|
+
/**
|
|
13
|
+
* Path the success page opens an EventSource to. The open connection is what
|
|
14
|
+
* keeps the callback server alive past the OAuth redirect: as long as the page
|
|
15
|
+
* is in a tab, the stream is connected and beacons land on a live listener.
|
|
16
|
+
* When the tab closes, the stream disconnects and the server tears down.
|
|
17
|
+
*/
|
|
18
|
+
export const SKILLS_HINT_STREAM_PATH = "/skills-hint-stream";
|
|
19
|
+
/**
|
|
20
|
+
* Safety cap on how long the callback server can stay bound after a successful
|
|
21
|
+
* auth. The stream-disconnect path is the normal closer; this is just the
|
|
22
|
+
* "user left the tab open and walked away" backstop. Kept tight (60s) because
|
|
23
|
+
* a lingering listener will collide with the next PKCE attempt — if a token
|
|
24
|
+
* refresh fails non-transiently inside this window and triggers a fresh login,
|
|
25
|
+
* the second attempt errors with `port_in_use` when in fact it's this same
|
|
26
|
+
* session's leftover listener still holding the port.
|
|
27
|
+
*/
|
|
28
|
+
export const SUCCESS_PAGE_MAX_LIFETIME_MS = 60_000;
|
|
9
29
|
/** Structured error so callers can react to the cause of a failed PKCE login. */
|
|
10
30
|
export class PkceLoginError extends Error {
|
|
11
31
|
reason;
|
|
@@ -62,9 +82,78 @@ export async function runPkceLogin(auth0Config, signal) {
|
|
|
62
82
|
resolveCode = resolve;
|
|
63
83
|
rejectFlow = reject;
|
|
64
84
|
});
|
|
85
|
+
// Tracks whether the success page was served. After success, the server's
|
|
86
|
+
// lifetime is driven by the success page's EventSource: it stays bound while
|
|
87
|
+
// the tab is open and closes when the stream disconnects (or when the safety
|
|
88
|
+
// timer fires).
|
|
89
|
+
let successServed = false;
|
|
90
|
+
let serverClosed = false;
|
|
91
|
+
let lifetimeTimer;
|
|
92
|
+
const streamClients = new Set();
|
|
93
|
+
const closeServerOnce = () => {
|
|
94
|
+
if (serverClosed || !bound)
|
|
95
|
+
return;
|
|
96
|
+
serverClosed = true;
|
|
97
|
+
if (lifetimeTimer) {
|
|
98
|
+
clearTimeout(lifetimeTimer);
|
|
99
|
+
lifetimeTimer = undefined;
|
|
100
|
+
}
|
|
101
|
+
for (const client of streamClients)
|
|
102
|
+
client.end();
|
|
103
|
+
streamClients.clear();
|
|
104
|
+
server.close();
|
|
105
|
+
};
|
|
65
106
|
const server = nodeHttp.createServer((req, res) => {
|
|
66
107
|
const reqUrl = req.url ?? "";
|
|
67
108
|
const parsed = new URL(reqUrl, "http://127.0.0.1");
|
|
109
|
+
if (parsed.pathname === SKILLS_HINT_COPIED_PATH) {
|
|
110
|
+
// Only reachable once we've served the success page. Anything earlier
|
|
111
|
+
// would be a stray request on localhost, not a copy of the install hint.
|
|
112
|
+
if (!successServed) {
|
|
113
|
+
res.writeHead(404);
|
|
114
|
+
res.end();
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (req.method !== "POST") {
|
|
118
|
+
res.writeHead(405, { Allow: "POST" });
|
|
119
|
+
res.end();
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
TelemetryService.getInstance().track(TelemetryEvent.AGENT_SKILLS_HINT_COPIED, {});
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
logger.warn({ err }, "Failed to track agent-skills hint copied event");
|
|
127
|
+
}
|
|
128
|
+
res.writeHead(204);
|
|
129
|
+
res.end();
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (parsed.pathname === SKILLS_HINT_STREAM_PATH) {
|
|
133
|
+
// Same gate as the beacon: the stream only makes sense once the success
|
|
134
|
+
// page has been served. Pre-auth requests get a 404.
|
|
135
|
+
if (!successServed) {
|
|
136
|
+
res.writeHead(404);
|
|
137
|
+
res.end();
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
res.writeHead(200, {
|
|
141
|
+
"Content-Type": "text/event-stream",
|
|
142
|
+
"Cache-Control": "no-cache",
|
|
143
|
+
Connection: "keep-alive",
|
|
144
|
+
});
|
|
145
|
+
// Flush headers so the browser considers the EventSource "open".
|
|
146
|
+
res.write(": connected\n\n");
|
|
147
|
+
streamClients.add(res);
|
|
148
|
+
req.on("close", () => {
|
|
149
|
+
streamClients.delete(res);
|
|
150
|
+
// When the last tab closes and auth already succeeded, the listener
|
|
151
|
+
// has no further reason to exist.
|
|
152
|
+
if (successServed && streamClients.size === 0)
|
|
153
|
+
closeServerOnce();
|
|
154
|
+
});
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
68
157
|
if (parsed.pathname !== OAUTH_CALLBACK_PATH) {
|
|
69
158
|
sendHtml(res, 404, renderErrorPage("Not found"));
|
|
70
159
|
return;
|
|
@@ -85,7 +174,11 @@ export async function runPkceLogin(auth0Config, signal) {
|
|
|
85
174
|
sendHtml(res, 400, renderErrorPage("Missing authorization code"));
|
|
86
175
|
return;
|
|
87
176
|
}
|
|
88
|
-
sendHtml(res, 200, renderSuccessPage(
|
|
177
|
+
sendHtml(res, 200, renderSuccessPage({
|
|
178
|
+
copiedPath: SKILLS_HINT_COPIED_PATH,
|
|
179
|
+
streamPath: SKILLS_HINT_STREAM_PATH,
|
|
180
|
+
}));
|
|
181
|
+
successServed = true;
|
|
89
182
|
resolveCode(code);
|
|
90
183
|
});
|
|
91
184
|
let bound = false;
|
|
@@ -102,10 +195,12 @@ export async function runPkceLogin(auth0Config, signal) {
|
|
|
102
195
|
server.listen(OAUTH_CALLBACK_PORT, OAUTH_CALLBACK_HOST, () => {
|
|
103
196
|
bound = true;
|
|
104
197
|
server.off("error", onBindError);
|
|
105
|
-
//
|
|
106
|
-
//
|
|
198
|
+
// Post-bind socket errors must reject the in-flight flow, not just warn: if the listener
|
|
199
|
+
// dies mid-callback (EMFILE, broken TLS upgrade, etc.) the user would otherwise hang on
|
|
200
|
+
// `codePromise` until `PKCE_LOGIN_TIMEOUT_MS` (minutes) instead of failing fast.
|
|
107
201
|
server.on("error", (err) => {
|
|
108
202
|
logger.warn({ err }, "PKCE callback server post-bind error");
|
|
203
|
+
rejectFlow(new PkceLoginError("callback_server_error", `PKCE callback listener errored after bind: ${err.message}`));
|
|
109
204
|
});
|
|
110
205
|
resolve();
|
|
111
206
|
});
|
|
@@ -126,11 +221,13 @@ export async function runPkceLogin(auth0Config, signal) {
|
|
|
126
221
|
let authCode;
|
|
127
222
|
try {
|
|
128
223
|
await Promise.race([bindResult, abortPromise]);
|
|
224
|
+
const authUrl = buildAuthorizationUrl(auth0Config, codeChallenge, state);
|
|
225
|
+
// log the URL so users whose default browser misbehaves can open it manually. safe to log:
|
|
226
|
+
// the URL carries only the one-time PKCE code_challenge + state, both bound to this single
|
|
227
|
+
// login attempt and discarded once the callback resolves.
|
|
228
|
+
logger.info({ authUrl }, "Opening Auth0 authorization URL");
|
|
129
229
|
try {
|
|
130
|
-
await Promise.race([
|
|
131
|
-
nodeOpen.open(buildAuthorizationUrl(auth0Config, codeChallenge, state)),
|
|
132
|
-
abortPromise,
|
|
133
|
-
]);
|
|
230
|
+
await Promise.race([nodeOpen.open(authUrl), abortPromise]);
|
|
134
231
|
}
|
|
135
232
|
catch (err) {
|
|
136
233
|
// Preserve user_aborted from the race; wrap any other open() failure.
|
|
@@ -147,8 +244,20 @@ export async function runPkceLogin(auth0Config, signal) {
|
|
|
147
244
|
signal.removeEventListener("abort", abortListener);
|
|
148
245
|
}
|
|
149
246
|
clearTimeout(timer);
|
|
150
|
-
if (bound)
|
|
151
|
-
|
|
247
|
+
if (bound) {
|
|
248
|
+
if (successServed) {
|
|
249
|
+
// The success page's EventSource keeps the listener alive while the
|
|
250
|
+
// browser tab is open; stream-disconnect calls closeServerOnce. The
|
|
251
|
+
// timer + unref'd server are the "tab left open" backstop so this
|
|
252
|
+
// listener can never keep the process alive on its own.
|
|
253
|
+
server.unref?.();
|
|
254
|
+
lifetimeTimer = setTimeout(closeServerOnce, SUCCESS_PAGE_MAX_LIFETIME_MS);
|
|
255
|
+
lifetimeTimer.unref?.();
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
closeServerOnce();
|
|
259
|
+
}
|
|
260
|
+
}
|
|
152
261
|
}
|
|
153
262
|
logger.info("PKCE auth code received; exchanging for token chain");
|
|
154
263
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkce-login.js","sourceRoot":"","sources":["../../../src/confluent/oauth/pkce-login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,qBAAqB,GAEtB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"pkce-login.js","sourceRoot":"","sources":["../../../src/confluent/oauth/pkce-login.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,8 @@ export type Auth0Environment = "devel" | "stag" | "prod";
|
|
|
2
2
|
export interface Auth0Config {
|
|
3
3
|
clientId: string;
|
|
4
4
|
domain: string;
|
|
5
|
+
/** Confluent Cloud session/login API base URL (no `api.` prefix, e.g. https://confluent.cloud for prod). Used by the token-exchange chain. */
|
|
5
6
|
apiUrl: string;
|
|
6
|
-
/** Confluent Cloud REST API base URL for this environment (e.g. https://api.confluent.cloud for prod). */
|
|
7
|
-
cloudRestUrl: string;
|
|
8
7
|
callbackUrl: string;
|
|
9
8
|
scopes: string;
|
|
10
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/confluent/oauth/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/confluent/oauth/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,8IAA8I;IAC9I,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,6BAA6B,EAAE,MAAM,CAAC;IACtC,uFAAuF;IACvF,yBAAyB,EAAE,MAAM,CAAC;IAElC,iFAAiF;IACjF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,qBAAqB,EAAE,MAAM,CAAC;IAE9B,qFAAqF;IACrF,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,CAAC;IAE3B,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -20,15 +20,15 @@
|
|
|
20
20
|
*/
|
|
21
21
|
import type { KafkaJS } from "@confluentinc/kafka-javascript";
|
|
22
22
|
import { SchemaRegistryClient } from "@confluentinc/schemaregistry";
|
|
23
|
-
import { BaseClientManager } from "../confluent/base-client-manager.js";
|
|
23
|
+
import { BaseClientManager, type ConsumerBuildOptions } from "../confluent/base-client-manager.js";
|
|
24
24
|
import type { ConfluentRestClient } from "../confluent/client-manager.js";
|
|
25
25
|
import { OAuthHolder } from "../confluent/oauth/oauth-holder.js";
|
|
26
26
|
import type { Auth0Environment } from "../confluent/oauth/types.js";
|
|
27
27
|
/**
|
|
28
28
|
* Bearer-auth client manager. Wires every REST surface to the OAuth holder's
|
|
29
|
-
* tokens — control plane (cloud / tableflow
|
|
29
|
+
* tokens — control plane (cloud / tableflow) reads
|
|
30
30
|
* {@link OAuthHolder.getControlPlaneToken}; data plane (flink / schema-registry
|
|
31
|
-
* REST / kafka REST) reads {@link OAuthHolder.getDataPlaneToken}. Cloud REST URL
|
|
31
|
+
* REST / kafka REST / telemetry) reads {@link OAuthHolder.getDataPlaneToken}. Cloud REST URL
|
|
32
32
|
* is auto-derived from the CCloud env. Native Kafka clients (admin, producer,
|
|
33
33
|
* consumer) are built fresh per call against bootstrap endpoints resolved
|
|
34
34
|
* via the cmk REST API; SASL/OAUTHBEARER is configured via librdkafka's
|
|
@@ -38,6 +38,7 @@ import type { Auth0Environment } from "../confluent/oauth/types.js";
|
|
|
38
38
|
export declare class OAuthClientManager extends BaseClientManager {
|
|
39
39
|
private readonly holder;
|
|
40
40
|
private readonly kafkaDebug;
|
|
41
|
+
private readonly env;
|
|
41
42
|
/**
|
|
42
43
|
* @param kafkaDebug Optional librdkafka `debug` contexts string, threaded
|
|
43
44
|
* through to every native Kafka client built by this manager. Sourced
|
|
@@ -50,13 +51,15 @@ export declare class OAuthClientManager extends BaseClientManager {
|
|
|
50
51
|
/** @inheritdoc */
|
|
51
52
|
getConfluentCloudKafkaRestClient(clusterId?: string, envId?: string): Promise<ConfluentRestClient>;
|
|
52
53
|
/** @inheritdoc */
|
|
54
|
+
getFlinkRestClient(computePoolId?: string, envId?: string): Promise<ConfluentRestClient>;
|
|
55
|
+
/** @inheritdoc */
|
|
53
56
|
getSchemaRegistryRestClient(envId?: string): Promise<ConfluentRestClient>;
|
|
54
57
|
/** @inheritdoc */
|
|
55
58
|
getKafkaAdminClient(clusterId?: string, envId?: string): Promise<KafkaJS.Admin>;
|
|
56
59
|
/** @inheritdoc */
|
|
57
60
|
getKafkaProducer(clusterId?: string, envId?: string): Promise<KafkaJS.Producer>;
|
|
58
61
|
/** @inheritdoc */
|
|
59
|
-
buildKafkaConsumer(
|
|
62
|
+
buildKafkaConsumer(opts?: ConsumerBuildOptions): Promise<KafkaJS.Consumer>;
|
|
60
63
|
/** @inheritdoc */
|
|
61
64
|
disconnect(): Promise<void>;
|
|
62
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-client-manager.d.ts","sourceRoot":"","sources":["../../src/confluent/oauth-client-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"oauth-client-manager.d.ts","sourceRoot":"","sources":["../../src/confluent/oauth-client-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAkB5E,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqBtE;;;;;;;;;;GAUG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmB;IAEvC;;;;;OAKG;gBACS,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM;IA+B3E,kBAAkB;IACZ,0BAA0B,CAC9B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC;IA0BhC,kBAAkB;IACZ,gCAAgC,CACpC,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;IAoB/B,kBAAkB;IACZ,kBAAkB,CACtB,aAAa,CAAC,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;IA0B/B,kBAAkB;IACZ,2BAA2B,CAC/B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC;IA0B/B,kBAAkB;IACZ,mBAAmB,CACvB,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IAuBzB,kBAAkB;IACZ,gBAAgB,CACpB,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAQ5B,kBAAkB;IACZ,kBAAkB,CACtB,IAAI,CAAC,EAAE,oBAAoB,GAC1B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAe5B,kBAAkB;IACZ,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,kBAAkB;YAiBZ,qBAAqB;CAuDpC"}
|
|
@@ -19,19 +19,19 @@
|
|
|
19
19
|
* SDK client per call.
|
|
20
20
|
*/
|
|
21
21
|
import { SchemaRegistryClient } from "@confluentinc/schemaregistry";
|
|
22
|
-
import { BaseClientManager } from "../confluent/base-client-manager.js";
|
|
22
|
+
import { BaseClientManager, } from "../confluent/base-client-manager.js";
|
|
23
23
|
import { createAuthMiddleware, } from "../confluent/middleware.js";
|
|
24
24
|
import { kafkaDeps } from "../confluent/node-deps.js";
|
|
25
|
-
import { resolveKafkaBootstrap, resolveKafkaRestEndpoint, resolveSchemaRegistryClusterId, resolveSchemaRegistryEndpoint, } from "../confluent/oauth-resource-resolvers.js";
|
|
26
|
-
import { getCloudRestUrlForEnv } from "../confluent/oauth/auth0-config.js";
|
|
25
|
+
import { resolveFlinkComputePoolRegion, resolveKafkaBootstrap, resolveKafkaRestEndpoint, resolveSchemaRegistryClusterId, resolveSchemaRegistryEndpoint, } from "../confluent/oauth-resource-resolvers.js";
|
|
26
|
+
import { getCloudRestUrlForEnv, getFlinkRestUrlForRegion, getTelemetryRestUrlForEnv, } from "../confluent/oauth/auth0-config.js";
|
|
27
27
|
import { kafkaLogger } from "../logger.js";
|
|
28
28
|
import createClient from "openapi-fetch";
|
|
29
29
|
import { DATA_PLANE_TOKEN_LIFETIME_MS } from "./oauth/token-lifetimes.js";
|
|
30
30
|
/**
|
|
31
31
|
* Bearer-auth client manager. Wires every REST surface to the OAuth holder's
|
|
32
|
-
* tokens — control plane (cloud / tableflow
|
|
32
|
+
* tokens — control plane (cloud / tableflow) reads
|
|
33
33
|
* {@link OAuthHolder.getControlPlaneToken}; data plane (flink / schema-registry
|
|
34
|
-
* REST / kafka REST) reads {@link OAuthHolder.getDataPlaneToken}. Cloud REST URL
|
|
34
|
+
* REST / kafka REST / telemetry) reads {@link OAuthHolder.getDataPlaneToken}. Cloud REST URL
|
|
35
35
|
* is auto-derived from the CCloud env. Native Kafka clients (admin, producer,
|
|
36
36
|
* consumer) are built fresh per call against bootstrap endpoints resolved
|
|
37
37
|
* via the cmk REST API; SASL/OAUTHBEARER is configured via librdkafka's
|
|
@@ -41,6 +41,7 @@ import { DATA_PLANE_TOKEN_LIFETIME_MS } from "./oauth/token-lifetimes.js";
|
|
|
41
41
|
export class OAuthClientManager extends BaseClientManager {
|
|
42
42
|
holder;
|
|
43
43
|
kafkaDebug;
|
|
44
|
+
env;
|
|
44
45
|
/**
|
|
45
46
|
* @param kafkaDebug Optional librdkafka `debug` contexts string, threaded
|
|
46
47
|
* through to every native Kafka client built by this manager. Sourced
|
|
@@ -57,12 +58,12 @@ export class OAuthClientManager extends BaseClientManager {
|
|
|
57
58
|
flink: undefined,
|
|
58
59
|
schemaRegistry: undefined,
|
|
59
60
|
kafka: undefined,
|
|
60
|
-
telemetry:
|
|
61
|
+
telemetry: getTelemetryRestUrlForEnv(env),
|
|
61
62
|
},
|
|
62
63
|
auth: {
|
|
63
64
|
cloud: { type: "oauth", getToken: cpToken },
|
|
64
65
|
tableflow: { type: "oauth", getToken: cpToken },
|
|
65
|
-
telemetry: { type: "oauth", getToken:
|
|
66
|
+
telemetry: { type: "oauth", getToken: dpToken },
|
|
66
67
|
flink: { type: "oauth", getToken: dpToken },
|
|
67
68
|
schemaRegistry: { type: "oauth", getToken: dpToken },
|
|
68
69
|
kafka: { type: "oauth", getToken: dpToken },
|
|
@@ -70,6 +71,7 @@ export class OAuthClientManager extends BaseClientManager {
|
|
|
70
71
|
});
|
|
71
72
|
this.holder = holder;
|
|
72
73
|
this.kafkaDebug = kafkaDebug;
|
|
74
|
+
this.env = env;
|
|
73
75
|
// Eager construction: surface the cloud REST client at startup so a bad
|
|
74
76
|
// endpoint or middleware wiring fails fast rather than at first tool call.
|
|
75
77
|
this.getConfluentCloudRestClient();
|
|
@@ -115,6 +117,26 @@ export class OAuthClientManager extends BaseClientManager {
|
|
|
115
117
|
return client;
|
|
116
118
|
}
|
|
117
119
|
/** @inheritdoc */
|
|
120
|
+
async getFlinkRestClient(computePoolId, envId) {
|
|
121
|
+
this.requireDataPlaneToken();
|
|
122
|
+
if (!computePoolId || !envId) {
|
|
123
|
+
throw new Error("computePoolId and environmentId are required under OAuth for Flink access. " +
|
|
124
|
+
"Discover the environment via list-environments, then call list-compute-pools " +
|
|
125
|
+
"with environmentId to discover the compute pool id (lfcp-...).");
|
|
126
|
+
}
|
|
127
|
+
// The Flink REST host is regional, so resolve the compute pool's cloud +
|
|
128
|
+
// region and derive the per-call base URL from the Auth0 env's base domain.
|
|
129
|
+
const { cloud, region } = await resolveFlinkComputePoolRegion(this.getConfluentCloudRestClient(), computePoolId, envId);
|
|
130
|
+
const baseUrl = getFlinkRestUrlForRegion(this.env, cloud, region);
|
|
131
|
+
const auth = {
|
|
132
|
+
type: "oauth",
|
|
133
|
+
getToken: () => this.holder.getDataPlaneToken(),
|
|
134
|
+
};
|
|
135
|
+
const client = createClient({ baseUrl });
|
|
136
|
+
client.use(createAuthMiddleware(auth));
|
|
137
|
+
return client;
|
|
138
|
+
}
|
|
139
|
+
/** @inheritdoc */
|
|
118
140
|
async getSchemaRegistryRestClient(envId) {
|
|
119
141
|
this.requireDataPlaneToken();
|
|
120
142
|
if (!envId) {
|
|
@@ -171,15 +193,15 @@ export class OAuthClientManager extends BaseClientManager {
|
|
|
171
193
|
return producer;
|
|
172
194
|
}
|
|
173
195
|
/** @inheritdoc */
|
|
174
|
-
async buildKafkaConsumer(
|
|
175
|
-
this.requireClusterArgs(clusterId, envId);
|
|
176
|
-
const kafka = await this.buildOAuthKafkaClient(clusterId, envId);
|
|
196
|
+
async buildKafkaConsumer(opts) {
|
|
197
|
+
this.requireClusterArgs(opts?.clusterId, opts?.envId);
|
|
198
|
+
const kafka = await this.buildOAuthKafkaClient(opts.clusterId, opts.envId);
|
|
177
199
|
return kafka.consumer({
|
|
178
200
|
kafkaJS: {
|
|
179
|
-
groupId: groupId ?? "mcp-confluent",
|
|
201
|
+
groupId: opts?.groupId ?? "mcp-confluent",
|
|
180
202
|
autoCommit: false,
|
|
181
|
-
fromBeginning: true,
|
|
182
203
|
},
|
|
204
|
+
"auto.offset.reset": opts?.offsetReset ?? "earliest",
|
|
183
205
|
});
|
|
184
206
|
}
|
|
185
207
|
/** @inheritdoc */
|