@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,23 +3,33 @@
|
|
|
3
3
|
* It handles schema registration, serialization, and deserialization of messages
|
|
4
4
|
* using various schema formats (AVRO, JSON, PROTOBUF).
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { createFileRegistry, createMutableRegistry, fromBinary, fromJson, } from "@bufbuild/protobuf";
|
|
7
|
+
import { FileDescriptorProtoSchema, FileDescriptorSetSchema, } from "@bufbuild/protobuf/wkt";
|
|
8
|
+
import { AvroDeserializer, AvroSerializer, HeaderSchemaIdSerializer, JsonDeserializer, JsonSerializer, ProtobufDeserializer, ProtobufSerializer, SchemaId, SerdeType, } from "@confluentinc/schemaregistry";
|
|
7
9
|
import { logger } from "../logger.js";
|
|
10
|
+
import protobuf from "protobufjs";
|
|
11
|
+
import descriptor from "protobufjs/ext/descriptor/index.js";
|
|
8
12
|
/**
|
|
9
13
|
* Creates and returns the appropriate serializer instance based on schema type.
|
|
10
|
-
*
|
|
14
|
+
*
|
|
15
|
+
* This is a pure factory: it maps a {@link SchemaType} to its serializer
|
|
16
|
+
* constructor and forwards the caller-built {@link SerializerConfig}. The
|
|
17
|
+
* format-specific *decisions* — schema-id vs. use-latest for AVRO/JSON, plus the descriptor registry for PROTOBUF — live
|
|
18
|
+
* with the callers ({@link serializeMessage}, {@link serializeProtobufMessage}),
|
|
19
|
+
* which is why the config arrives ready-made. For PROTOBUF the descriptor
|
|
20
|
+
* registry rides inside the config as its optional `registry` field
|
|
21
|
+
* (`ProtobufSerializerConfig = SerializerConfig & { registry?: MutableRegistry }`).
|
|
11
22
|
*
|
|
12
23
|
* @param schemaType - The type of schema (AVRO, JSON, PROTOBUF)
|
|
13
24
|
* @param registry - The schema registry client instance
|
|
14
25
|
* @param serdeType - Whether this is for key or value serialization
|
|
15
|
-
* @param
|
|
26
|
+
* @param serializerConfig - The serializer configuration to forward (use-latest,
|
|
27
|
+
* use-schema-id, the optional `schemaIdLocation` header serializer, and/or the
|
|
28
|
+
* PROTOBUF descriptor registry)
|
|
16
29
|
* @returns The appropriate Serializer instance
|
|
17
30
|
* @throws Error if the schema type is unknown or unsupported
|
|
18
31
|
*/
|
|
19
|
-
export function getSerializer(schemaType, registry, serdeType,
|
|
20
|
-
const serializerConfig = typeof schemaId === "number"
|
|
21
|
-
? { useSchemaId: schemaId }
|
|
22
|
-
: { useLatestVersion: true };
|
|
32
|
+
export function getSerializer(schemaType, registry, serdeType, serializerConfig) {
|
|
23
33
|
const serializers = {
|
|
24
34
|
AVRO: () => new AvroSerializer(registry, serdeType, serializerConfig),
|
|
25
35
|
JSON: () => new JsonSerializer(registry, serdeType, serializerConfig),
|
|
@@ -72,15 +82,7 @@ export async function checkSchemaNeeded(topicName, options, serdeType, registry)
|
|
|
72
82
|
const latest = registry
|
|
73
83
|
? await getLatestSchemaIfExists(registry, subject)
|
|
74
84
|
: null;
|
|
75
|
-
if (latest) {
|
|
76
|
-
return {
|
|
77
|
-
type: "schema-needed",
|
|
78
|
-
latestSchema: latest.schema,
|
|
79
|
-
subject,
|
|
80
|
-
schemaType: latest.schemaType,
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
85
|
+
if (!latest) {
|
|
84
86
|
return { type: "no-schema", subject };
|
|
85
87
|
}
|
|
86
88
|
}
|
|
@@ -112,6 +114,161 @@ export async function getLatestSchemaIfExists(registry, subject) {
|
|
|
112
114
|
throw err;
|
|
113
115
|
}
|
|
114
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Fetches the latest registered schema for a subject and asserts it matches the
|
|
119
|
+
* requested schema type. Without this guard a use-latest produce against a
|
|
120
|
+
* subject registered with a different format fails deep inside the serializer
|
|
121
|
+
* with an opaque parse/decode error (e.g. an AvroSerializer trying to parse a
|
|
122
|
+
* JSON schema string, or the Protobuf path base64-decoding an Avro schema);
|
|
123
|
+
* surfacing the mismatch here gives the caller an actionable message instead.
|
|
124
|
+
*
|
|
125
|
+
* @param registry - The schema registry client instance
|
|
126
|
+
* @param subject - The resolved Schema Registry subject
|
|
127
|
+
* @param expected - The schema type the caller asked to produce with
|
|
128
|
+
* @returns The latest schema string and (matching) schema type
|
|
129
|
+
* @throws Error if no schema is registered for the subject, or the registered
|
|
130
|
+
* schema type differs from `expected`
|
|
131
|
+
*/
|
|
132
|
+
export async function getLatestSchemaOfTypeOrThrow(registry, subject, expected) {
|
|
133
|
+
const latest = await getLatestSchemaIfExists(registry, subject);
|
|
134
|
+
if (!latest) {
|
|
135
|
+
throw new Error(`No ${expected} schema registered for subject '${subject}', and none provided.`);
|
|
136
|
+
}
|
|
137
|
+
if (latest.schemaType !== expected) {
|
|
138
|
+
throw new Error(`Subject '${subject}' is registered as ${latest.schemaType}, but the requested schemaType is ${expected}. ` +
|
|
139
|
+
`Use the matching schemaType, or produce to a different subject.`);
|
|
140
|
+
}
|
|
141
|
+
return latest;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Builds a `@bufbuild/protobuf` descriptor registry from raw `.proto` schema text.
|
|
145
|
+
*
|
|
146
|
+
* The `@confluentinc/schemaregistry` ProtobufSerializer encodes locally against
|
|
147
|
+
* a descriptor registry, so we parse the `.proto` text with protobufjs, export
|
|
148
|
+
* it to a canonical `FileDescriptorSet` (the standard `google.protobuf` wire
|
|
149
|
+
* format), and read that into a registry. This is the path used when the caller
|
|
150
|
+
* supplies the schema on a produce.
|
|
151
|
+
*
|
|
152
|
+
* @param protoText - The `.proto` schema definition (proto3)
|
|
153
|
+
* @returns A mutable descriptor registry the serializer can consume
|
|
154
|
+
* @throws Error if the `.proto` text cannot be parsed
|
|
155
|
+
*/
|
|
156
|
+
export function protobufRegistryFromProto(protoText) {
|
|
157
|
+
try {
|
|
158
|
+
const root = protobuf.parse(protoText, { keepCase: true }).root;
|
|
159
|
+
root.resolveAll();
|
|
160
|
+
// protobufjs/ext/descriptor exposes FileDescriptorSet and augments Root with
|
|
161
|
+
// toDescriptor at runtime, but v8's bundled types no longer declare either on
|
|
162
|
+
// the exported shape, so narrow both locally.
|
|
163
|
+
const FileDescriptorSet = descriptor.FileDescriptorSet;
|
|
164
|
+
const toDescriptor = root.toDescriptor;
|
|
165
|
+
const fileDescriptorSet = toDescriptor.call(root, "proto3");
|
|
166
|
+
const bytes = FileDescriptorSet.encode(fileDescriptorSet).finish();
|
|
167
|
+
return createMutableRegistry(createFileRegistry(fromBinary(FileDescriptorSetSchema, bytes)));
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
throw new Error(`Failed to parse Protobuf schema: ${err instanceof Error ? err.message : String(err)}`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Serialize a message when Schema Registry is not in use: a string passes
|
|
175
|
+
* through verbatim, anything else is JSON-encoded. Warns on a non-string
|
|
176
|
+
* payload, which a schema-bearing topic will likely reject.
|
|
177
|
+
*/
|
|
178
|
+
function serializeWithoutSchemaRegistry(message) {
|
|
179
|
+
if (typeof message !== "string") {
|
|
180
|
+
logger.warn("Warning: Sending non-string message without schema registry. This may fail if the topic expects a schema.");
|
|
181
|
+
}
|
|
182
|
+
return typeof message === "string" ? message : JSON.stringify(message);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Validate the preconditions for Schema Registry serialization, narrowing
|
|
186
|
+
* `registry` to non-undefined for the caller. Throws an actionable error when
|
|
187
|
+
* the schema type is missing, no registry client is configured, or header
|
|
188
|
+
* mode was requested without a record-header accumulator. The
|
|
189
|
+
* HeaderSchemaIdSerializer writes the schema-id header into the headers object
|
|
190
|
+
* it's handed; with no accumulator the library otherwise throws a cryptic
|
|
191
|
+
* "Missing Headers", so fail fast here instead.
|
|
192
|
+
*/
|
|
193
|
+
function assertSchemaRegistrySerializable(options, registry, recordHeaders) {
|
|
194
|
+
if (!options.schemaType) {
|
|
195
|
+
throw new Error("schemaType is required when useSchemaRegistry is true");
|
|
196
|
+
}
|
|
197
|
+
if (!registry) {
|
|
198
|
+
throw new Error("Schema Registry client is required for serialization");
|
|
199
|
+
}
|
|
200
|
+
if (options.schemaIdLocation === "header" && !recordHeaders) {
|
|
201
|
+
throw new Error("schemaIdLocation 'header' requires a record-header accumulator to write the schema-id header into.");
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Register the caller-supplied schema under `subject` and return its assigned
|
|
206
|
+
* id, or undefined when no schema was supplied (the use-latest path). Wraps a
|
|
207
|
+
* registration failure in a subject-scoped error.
|
|
208
|
+
*/
|
|
209
|
+
async function registerSchemaIfProvided(registry, subject, options) {
|
|
210
|
+
if (!options.schema) {
|
|
211
|
+
return undefined;
|
|
212
|
+
}
|
|
213
|
+
try {
|
|
214
|
+
return await registry.register(subject, {
|
|
215
|
+
schema: options.schema,
|
|
216
|
+
schemaType: options.schemaType,
|
|
217
|
+
}, options.normalize);
|
|
218
|
+
}
|
|
219
|
+
catch (err) {
|
|
220
|
+
throw new Error(`Failed to register schema for subject '${subject}': ${err}`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Builds a descriptor registry from a Protobuf schema as stored in Schema
|
|
225
|
+
* Registry — a base64-encoded `FileDescriptorProto` (the "serialized" format
|
|
226
|
+
* this SDK reads/writes). Used on the use-latest produce path, where the schema
|
|
227
|
+
* was previously registered by the serializer rather than supplied as text.
|
|
228
|
+
*
|
|
229
|
+
* @param serializedSchema - base64-encoded `FileDescriptorProto`
|
|
230
|
+
* @returns A mutable descriptor registry the serializer can consume
|
|
231
|
+
* @throws Error if the stored schema cannot be decoded
|
|
232
|
+
*/
|
|
233
|
+
export function protobufRegistryFromSerialized(serializedSchema) {
|
|
234
|
+
try {
|
|
235
|
+
const fileDescriptorProto = fromBinary(FileDescriptorProtoSchema, Buffer.from(serializedSchema, "base64"));
|
|
236
|
+
// Single self-contained file: no external dependencies to resolve.
|
|
237
|
+
return createMutableRegistry(createFileRegistry(fileDescriptorProto, () => undefined));
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
throw new Error(`Failed to decode registered Protobuf schema: ${err instanceof Error ? err.message : String(err)}`);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Converts a plain JS payload into a typed `@bufbuild/protobuf` message (carrying
|
|
245
|
+
* the `$typeName` the ProtobufSerializer requires) using a descriptor registry.
|
|
246
|
+
*
|
|
247
|
+
* @param registry - Descriptor registry containing the target message type
|
|
248
|
+
* @param messageName - Fully-qualified message type name (e.g. `com.example.User`)
|
|
249
|
+
* @param payload - The payload to encode. Keys may use either the proto field
|
|
250
|
+
* name (`user_id`) or its auto-generated camelCase JSON name (`userId`):
|
|
251
|
+
* `fromJson` accepts both and maps them onto the same field. Keys that match
|
|
252
|
+
* neither are rejected as unknown fields.
|
|
253
|
+
* @returns The typed protobuf message
|
|
254
|
+
* @throws Error if `messageName` does not match a message in the registry (the
|
|
255
|
+
* error lists the available names)
|
|
256
|
+
*/
|
|
257
|
+
export function protobufMessageFrom(registry, messageName, payload) {
|
|
258
|
+
const messageDesc = registry.getMessage(messageName);
|
|
259
|
+
if (!messageDesc) {
|
|
260
|
+
const available = [];
|
|
261
|
+
for (const type of registry) {
|
|
262
|
+
if (type.kind === "message") {
|
|
263
|
+
available.push(type.typeName);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
throw new Error(`Protobuf message type '${messageName}' not found in schema. ` +
|
|
267
|
+
`Available message types: ${available.join(", ") || "(none)"}. ` +
|
|
268
|
+
`Provide the fully-qualified name including the package (e.g. com.example.User).`);
|
|
269
|
+
}
|
|
270
|
+
return fromJson(messageDesc, payload);
|
|
271
|
+
}
|
|
115
272
|
/**
|
|
116
273
|
* Serializes a message using the provided options and schema registry configuration.
|
|
117
274
|
* This function:
|
|
@@ -124,58 +281,133 @@ export async function getLatestSchemaIfExists(registry, subject) {
|
|
|
124
281
|
* @param options - The message options including schema, type, and payload
|
|
125
282
|
* @param serdeType - Whether this is for key or value serialization
|
|
126
283
|
* @param registry - The schema registry client instance (if used)
|
|
284
|
+
* @param recordHeaders - Mutable record-header accumulator. Required for
|
|
285
|
+
* `schemaIdLocation: "header"`, where the serializer writes the schema-id
|
|
286
|
+
* header into it; ignored by the payload format and the raw (non-registry) path.
|
|
127
287
|
* @returns The serialized message as a Buffer or string
|
|
128
288
|
* @throws Error if serialization fails, schema registration fails, or message type is invalid
|
|
129
289
|
*/
|
|
130
|
-
export async function serializeMessage(topicName, options, serdeType, registry) {
|
|
290
|
+
export async function serializeMessage(topicName, options, serdeType, registry, recordHeaders) {
|
|
131
291
|
if (!options.useSchemaRegistry) {
|
|
132
|
-
|
|
133
|
-
logger.warn("Warning: Sending non-string message without schema registry. This may fail if the topic expects a schema.");
|
|
134
|
-
}
|
|
135
|
-
return typeof options.message === "string"
|
|
136
|
-
? options.message
|
|
137
|
-
: JSON.stringify(options.message);
|
|
138
|
-
}
|
|
139
|
-
if (!options.schemaType) {
|
|
140
|
-
throw new Error("schemaType is required when useSchemaRegistry is true");
|
|
141
|
-
}
|
|
142
|
-
if (!registry) {
|
|
143
|
-
throw new Error("Schema Registry client is required for serialization");
|
|
292
|
+
return serializeWithoutSchemaRegistry(options.message);
|
|
144
293
|
}
|
|
145
|
-
|
|
294
|
+
assertSchemaRegistrySerializable(options, registry, recordHeaders);
|
|
146
295
|
const subject = options.subject ||
|
|
147
296
|
`${topicName}-${serdeType === SerdeType.KEY ? "key" : "value"}`;
|
|
148
|
-
|
|
149
|
-
//
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
297
|
+
const schemaId = await registerSchemaIfProvided(registry, subject, options);
|
|
298
|
+
// Protobuf takes a separate path: the serializer encodes locally against a
|
|
299
|
+
// @bufbuild/protobuf descriptor and registers/looks up the schema itself in
|
|
300
|
+
// the "serialized" (base64 FileDescriptorProto) format that the deserializer
|
|
301
|
+
// reads back. Registering raw .proto text here (the Avro/JSON path) would
|
|
302
|
+
// produce bytes that fail to deserialize, so we don't reuse it.
|
|
303
|
+
if (options.schemaType === "PROTOBUF") {
|
|
304
|
+
return serializeProtobufMessage(topicName, subject, options, serdeType, registry);
|
|
305
|
+
}
|
|
306
|
+
// Primitives (number/boolean/string) are valid payloads for top-level
|
|
307
|
+
// primitive schemas (e.g. Avro "long"); only null/undefined is rejected here
|
|
308
|
+
// because the serializer refuses it with a cryptic "message is empty". Every
|
|
309
|
+
// other shape is validated against the actual schema by the serializer.
|
|
310
|
+
// Validate the payload before any registry lookup below.
|
|
311
|
+
if (options.message === null || options.message === undefined) {
|
|
312
|
+
throw new Error("When using schema registry, a non-null message payload is required.");
|
|
313
|
+
}
|
|
314
|
+
// Use-latest path (no schema supplied): confirm the registered schema is the
|
|
315
|
+
// requested type so a mismatch fails with an actionable message here rather
|
|
316
|
+
// than as an opaque parse error inside the serializer's lazy useLatestVersion
|
|
317
|
+
// fetch.
|
|
318
|
+
if (schemaId === undefined && options.schemaType) {
|
|
319
|
+
await getLatestSchemaOfTypeOrThrow(registry, subject, options.schemaType);
|
|
160
320
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
321
|
+
const serializerConfig = typeof schemaId === "number"
|
|
322
|
+
? { useSchemaId: schemaId }
|
|
323
|
+
: { useLatestVersion: true };
|
|
324
|
+
if (options.schemaIdLocation === "header") {
|
|
325
|
+
serializerConfig.schemaIdSerializer = HeaderSchemaIdSerializer;
|
|
164
326
|
}
|
|
165
327
|
let serializer;
|
|
166
328
|
try {
|
|
167
|
-
serializer = getSerializer(options.schemaType, registry, serdeType,
|
|
329
|
+
serializer = getSerializer(options.schemaType, registry, serdeType, serializerConfig);
|
|
168
330
|
}
|
|
169
331
|
catch (err) {
|
|
170
332
|
throw new Error(`Failed to get serializer: ${err}`);
|
|
171
333
|
}
|
|
172
334
|
try {
|
|
173
|
-
return await serializer.serialize(topicName, options.message);
|
|
335
|
+
return await serializer.serialize(topicName, options.message, recordHeaders);
|
|
174
336
|
}
|
|
175
337
|
catch (err) {
|
|
176
338
|
throw new Error(`Failed to serialize message for subject '${subject}': ${err}`);
|
|
177
339
|
}
|
|
178
340
|
}
|
|
341
|
+
/**
|
|
342
|
+
* Serializes a Protobuf payload, registering or looking up the schema in the
|
|
343
|
+
* format the SDK's deserializer can read back.
|
|
344
|
+
*
|
|
345
|
+
* - When no schema is supplied (use-latest), the previously-registered schema is
|
|
346
|
+
* fetched, its descriptor rebuilt from the stored serialized form, and the
|
|
347
|
+
* serializer uses the latest version.
|
|
348
|
+
*
|
|
349
|
+
* The payload is always converted into a typed `@bufbuild/protobuf` message
|
|
350
|
+
* (carrying `$typeName`) before serialization.
|
|
351
|
+
*
|
|
352
|
+
* @param topicName - The Kafka topic name
|
|
353
|
+
* @param subject - The resolved Schema Registry subject
|
|
354
|
+
* @param options - The message options (must have `schemaType === "PROTOBUF"`)
|
|
355
|
+
* @param registry - The schema registry client
|
|
356
|
+
* @returns The serialized message bytes
|
|
357
|
+
* @throws Error if `messageName` is missing, the schema is unavailable, or
|
|
358
|
+
* serialization fails
|
|
359
|
+
*/
|
|
360
|
+
async function serializeProtobufMessage(topicName, subject, options, serdeType, registry) {
|
|
361
|
+
if (!options.messageName) {
|
|
362
|
+
throw new Error("messageName is required when schemaType is PROTOBUF (e.g. com.example.User).");
|
|
363
|
+
}
|
|
364
|
+
// Header schema-id mode isn't supported for PROTOBUF yet, so reject it
|
|
365
|
+
// explicitly: otherwise the produce would silently fall back to the payload
|
|
366
|
+
// wire format and write a message that doesn't match what the caller asked
|
|
367
|
+
// for. Header support for AVRO/JSON landed in #607; protobuf parity is a
|
|
368
|
+
// separate follow-up in #633.
|
|
369
|
+
if (options.schemaIdLocation === "header") {
|
|
370
|
+
throw new Error("schemaIdLocation 'header' is not supported for PROTOBUF yet; use the default payload format.");
|
|
371
|
+
}
|
|
372
|
+
let protobufRegistry;
|
|
373
|
+
let serializerConfig;
|
|
374
|
+
if (options.schema) {
|
|
375
|
+
// Provide path: the serializer registers the schema in the binary format
|
|
376
|
+
// the deserializer expects. subjectNameStrategy overrides TopicNameStrategy
|
|
377
|
+
// so the serializer uses the caller-resolved subject instead of deriving
|
|
378
|
+
// one from the topic name.
|
|
379
|
+
protobufRegistry = protobufRegistryFromProto(options.schema);
|
|
380
|
+
serializerConfig = {
|
|
381
|
+
normalizeSchemas: Boolean(options.normalize),
|
|
382
|
+
autoRegisterSchemas: true,
|
|
383
|
+
subjectNameStrategy: () => subject,
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
else {
|
|
387
|
+
// Use-latest path: rebuild the descriptor from the stored serialized schema.
|
|
388
|
+
const latest = await getLatestSchemaOfTypeOrThrow(registry, subject, "PROTOBUF");
|
|
389
|
+
protobufRegistry = protobufRegistryFromSerialized(latest.schema);
|
|
390
|
+
serializerConfig = {
|
|
391
|
+
useLatestVersion: true,
|
|
392
|
+
subjectNameStrategy: () => subject,
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
const message = protobufMessageFrom(protobufRegistry, options.messageName, options.message);
|
|
396
|
+
// The descriptor registry rides inside the config: ProtobufSerializer reads
|
|
397
|
+
// its optional `registry` field to encode locally. getSerializer forwards the
|
|
398
|
+
// whole config, so PROTOBUF flows through the same factory as AVRO/JSON.
|
|
399
|
+
const protobufConfig = {
|
|
400
|
+
...serializerConfig,
|
|
401
|
+
registry: protobufRegistry,
|
|
402
|
+
};
|
|
403
|
+
const serializer = getSerializer("PROTOBUF", registry, serdeType, protobufConfig);
|
|
404
|
+
try {
|
|
405
|
+
return await serializer.serialize(topicName, message);
|
|
406
|
+
}
|
|
407
|
+
catch (err) {
|
|
408
|
+
throw new Error(`Failed to serialize message for subject '${subject}': ${err instanceof Error ? err.message : String(err)}`);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
179
411
|
/**
|
|
180
412
|
* Deserializes a message using Schema Registry.
|
|
181
413
|
* This function:
|
|
@@ -187,16 +419,38 @@ export async function serializeMessage(topicName, options, serdeType, registry)
|
|
|
187
419
|
* @param schemaType - The schema type (AVRO, JSON, PROTOBUF)
|
|
188
420
|
* @param registry - The schema registry client
|
|
189
421
|
* @param serdeType - Whether this is key or value
|
|
422
|
+
* @param headers - Raw record headers. When present, the default dual
|
|
423
|
+
* deserializer reads a header-located schema ID (__value_schema_id /
|
|
424
|
+
* __key_schema_id) before falling back to the magic-byte prefix.
|
|
190
425
|
* @returns The deserialized object
|
|
191
426
|
* @throws Error if deserialization fails
|
|
192
427
|
*/
|
|
193
|
-
export async function deserializeMessage(topic, message, schemaType, registry, serdeType) {
|
|
428
|
+
export async function deserializeMessage(topic, message, schemaType, registry, serdeType, headers) {
|
|
194
429
|
try {
|
|
195
430
|
const deserializer = getDeserializer(schemaType, registry, serdeType);
|
|
196
|
-
return await deserializer.deserialize(topic, message);
|
|
431
|
+
return await deserializer.deserialize(topic, message, headers);
|
|
197
432
|
}
|
|
198
433
|
catch (err) {
|
|
199
434
|
throw new Error(`Failed to deserialize message: ${err}`);
|
|
200
435
|
}
|
|
201
436
|
}
|
|
437
|
+
/**
|
|
438
|
+
* Decode a header-located schema-id record-header value into its canonical
|
|
439
|
+
* schema GUID string. The header wire format (written by the serde library's
|
|
440
|
+
* HeaderSchemaIdSerializer) is MAGIC_BYTE_V1 followed by the 16-byte GUID; the
|
|
441
|
+
* schema type only governs the Protobuf message-index tail that the GUID read
|
|
442
|
+
* ignores, so a fixed type is safe here. Returns null when the bytes aren't a
|
|
443
|
+
* recognizable GUID header (e.g. a payload-format magic-byte-0 buffer, or
|
|
444
|
+
* garbage), letting the caller fall back to echoing the raw value.
|
|
445
|
+
*/
|
|
446
|
+
export function decodeSchemaGuidHeader(headerValue) {
|
|
447
|
+
try {
|
|
448
|
+
const schemaId = new SchemaId("AVRO");
|
|
449
|
+
schemaId.fromBytes(headerValue);
|
|
450
|
+
return schemaId.guid ?? null;
|
|
451
|
+
}
|
|
452
|
+
catch {
|
|
453
|
+
return null;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
202
456
|
//# sourceMappingURL=schema-registry-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-registry-helper.js","sourceRoot":"","sources":["../../src/confluent/schema-registry-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,EAChB,cAAc,EAGd,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAElB,SAAS,GAGV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-registry-helper.js","sourceRoot":"","sources":["../../src/confluent/schema-registry-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,QAAQ,GAET,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,gBAAgB,EAChB,cAAc,EAGd,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAElB,QAAQ,EAER,SAAS,GAGV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAmE5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,aAAa,CAC3B,UAAkC,EAClC,QAA8B,EAC9B,SAAoB,EACpB,gBAAkC;IAElC,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC;QACrE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC;QACrE,QAAQ,EAAE,GAAG,EAAE,CACb,IAAI,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC;KAChE,CAAC;IAEF,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAClC,QAA8B,EAC9B,SAAoB;IAEpB,MAAM,kBAAkB,GAAuB,EAAE,CAAC;IAElD,MAAM,aAAa,GAAG;QACpB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,kBAAkB,CAAC;QACzE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,kBAAkB,CAAC;QACzE,QAAQ,EAAE,GAAG,EAAE,CACb,IAAI,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,kBAAkB,CAAC;KACpE,CAAC;IAEF,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,aAAa,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EACjB,OAAuB,EACvB,SAAoB,EACpB,QAA0C;IAE1C,IAAI,OAAO,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACjD,MAAM,OAAO,GACX,OAAO,CAAC,OAAO;YACf,GAAG,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,QAAQ;YACrB,CAAC,CAAC,MAAM,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAA8B,EAC9B,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC/D,4EAA4E;QAC5E,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAe,CAAC;QAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAO,EAAE,UAAU,EAAE,CAAC;IAChD,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IACE,GAAG;YACH,OAAO,GAAG,KAAK,QAAQ;YACvB,QAAQ,IAAI,GAAG;YACd,GAA2B,CAAC,MAAM,KAAK,GAAG,EAC3C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,QAA8B,EAC9B,OAAe,EACf,QAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,MAAM,QAAQ,mCAAmC,OAAO,uBAAuB,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,sBAAsB,MAAM,CAAC,UAAU,qCAAqC,QAAQ,IAAI;YACzG,iEAAiE,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,6EAA6E;QAC7E,8EAA8E;QAC9E,8CAA8C;QAC9C,MAAM,iBAAiB,GACrB,UAKD,CAAC,iBAAiB,CAAC;QACpB,MAAM,YAAY,GAChB,IAKD,CAAC,YAAY,CAAC;QACf,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnE,OAAO,qBAAqB,CAC1B,kBAAkB,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC,CAC/D,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACvF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,8BAA8B,CACrC,OAAkC;IAElC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CACT,2GAA2G,CAC5G,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gCAAgC,CACvC,OAAuB,EACvB,QAA0C,EAC1C,aAAmC;IAEnC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,wBAAwB,CACrC,QAA8B,EAC9B,OAAe,EACf,OAAuB;IAEvB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAC5B,OAAO,EACP;YACE,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,EACD,OAAO,CAAC,SAAS,CAClB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,0CAA0C,OAAO,MAAM,GAAG,EAAE,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,8BAA8B,CAC5C,gBAAwB;IAExB,IAAI,CAAC;QACH,MAAM,mBAAmB,GAAG,UAAU,CACpC,yBAAyB,EACzB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CACxC,CAAC;QACF,mEAAmE;QACnE,OAAO,qBAAqB,CAC1B,kBAAkB,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CACzD,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,gDAAgD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACnG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAyB,EACzB,WAAmB,EACnB,OAAe;IAEf,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CACb,0BAA0B,WAAW,yBAAyB;YAC5D,4BAA4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,IAAI;YAChE,iFAAiF,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,EAAE,OAAyC,CAAC,CAAC;AAC1E,CAAC;AACD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,OAAuB,EACvB,SAAoB,EACpB,QAA0C,EAC1C,aAAwB;IAExB,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC/B,OAAO,8BAA8B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IACD,gCAAgC,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEnE,MAAM,OAAO,GACX,OAAO,CAAC,OAAO;QACf,GAAG,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE5E,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,gEAAgE;IAChE,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACtC,OAAO,wBAAwB,CAC7B,SAAS,EACT,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,6EAA6E;IAC7E,6EAA6E;IAC7E,wEAAwE;IACxE,yDAAyD;IACzD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,SAAS;IACT,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACjD,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,gBAAgB,GACpB,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC3B,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACjC,IAAI,OAAO,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC1C,gBAAgB,CAAC,kBAAkB,GAAG,wBAAwB,CAAC;IACjE,CAAC;IAED,IAAI,UAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,UAAU,GAAG,aAAa,CACxB,OAAO,CAAC,UAAU,EAClB,QAAQ,EACR,SAAS,EACT,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,SAAS,CAC/B,SAAS,EACT,OAAO,CAAC,OAAO,EACf,aAAa,CACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4CAA4C,OAAO,MAAM,GAAG,EAAE,CAC/D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,UAAU,wBAAwB,CACrC,SAAiB,EACjB,OAAe,EACf,OAAuB,EACvB,SAAoB,EACpB,QAA8B;IAE9B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,2EAA2E;IAC3E,yEAAyE;IACzE,8BAA8B;IAC9B,IAAI,OAAO,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IAED,IAAI,gBAAiC,CAAC;IACtC,IAAI,gBAAkC,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,yEAAyE;QACzE,4EAA4E;QAC5E,yEAAyE;QACzE,2BAA2B;QAC3B,gBAAgB,GAAG,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,gBAAgB,GAAG;YACjB,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YAC5C,mBAAmB,EAAE,IAAI;YACzB,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO;SACnC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C,QAAQ,EACR,OAAO,EACP,UAAU,CACX,CAAC;QACF,gBAAgB,GAAG,8BAA8B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjE,gBAAgB,GAAG;YACjB,gBAAgB,EAAE,IAAI;YACtB,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,CACjC,gBAAgB,EAChB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,OAAiB,CAC1B,CAAC;IAEF,4EAA4E;IAC5E,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,cAAc,GAA6B;QAC/C,GAAG,gBAAgB;QACnB,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;IACF,MAAM,UAAU,GAAG,aAAa,CAC9B,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,CACf,CAAC;IACF,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4CAA4C,OAAO,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5G,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAa,EACb,OAAe,EACf,UAAsB,EACtB,QAA8B,EAC9B,SAAoB,EACpB,OAAkB;IAElB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtE,OAAO,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -12,7 +12,13 @@ export declare enum TelemetryEvent {
|
|
|
12
12
|
* Emitted once per terminal OAuth PKCE login attempt (success or failure).
|
|
13
13
|
* Refresh-token rotations are not tracked here.
|
|
14
14
|
*/
|
|
15
|
-
CCLOUD_AUTHENTICATION = "CCloud Authentication"
|
|
15
|
+
CCLOUD_AUTHENTICATION = "CCloud Authentication",
|
|
16
|
+
/**
|
|
17
|
+
* Emitted when the user clicks "Copy" on the agent-skills install hint shown
|
|
18
|
+
* on the OAuth success page. Fired by a same-origin beacon from the callback
|
|
19
|
+
* page to the local callback server.
|
|
20
|
+
*/
|
|
21
|
+
AGENT_SKILLS_HINT_COPIED = "Agent Skills Hint Copied"
|
|
16
22
|
}
|
|
17
23
|
/**
|
|
18
24
|
* Inputs to {@link TelemetryService.initialize}. `writeKey` is whatever the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/confluent/telemetry.ts"],"names":[],"mappings":"AAIA,oBAAY,cAAc;IACxB;;;OAGG;IACH,YAAY,iBAAiB;IAC7B;;OAEG;IACH,SAAS,cAAc;IACvB;;;OAGG;IACH,qBAAqB,0BAA0B;
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/confluent/telemetry.ts"],"names":[],"mappings":"AAIA,oBAAY,cAAc;IACxB;;;OAGG;IACH,YAAY,iBAAiB;IAC7B;;OAEG;IACH,SAAS,cAAc;IACvB;;;OAGG;IACH,qBAAqB,0BAA0B;IAC/C;;;;OAIG;IACH,wBAAwB,6BAA6B;CACtD;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAsC1E,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IACtD,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAA0B;IAElD,OAAO;IAoBP;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IASnD,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAStC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASvE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKzD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
|
|
@@ -17,6 +17,12 @@ export var TelemetryEvent;
|
|
|
17
17
|
* Refresh-token rotations are not tracked here.
|
|
18
18
|
*/
|
|
19
19
|
TelemetryEvent["CCLOUD_AUTHENTICATION"] = "CCloud Authentication";
|
|
20
|
+
/**
|
|
21
|
+
* Emitted when the user clicks "Copy" on the agent-skills install hint shown
|
|
22
|
+
* on the OAuth success page. Fired by a same-origin beacon from the callback
|
|
23
|
+
* page to the local callback server.
|
|
24
|
+
*/
|
|
25
|
+
TelemetryEvent["AGENT_SKILLS_HINT_COPIED"] = "Agent Skills Hint Copied";
|
|
20
26
|
})(TelemetryEvent || (TelemetryEvent = {}));
|
|
21
27
|
export const FALLBACK_MACHINE_ID = "00000000-0000-0000-0000-000000000000";
|
|
22
28
|
const CONFIG_DIR = ".mcp-confluent";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/confluent/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/confluent/telemetry.ts"],"names":[],"mappings":"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"}
|