@confluentinc/mcp-confluent 1.0.1 → 1.0.2
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 +277 -25
- package/dist/cli.d.ts +42 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +203 -30
- package/dist/cli.js.map +1 -1
- package/dist/confluent/client-manager.d.ts +31 -11
- package/dist/confluent/client-manager.d.ts.map +1 -1
- package/dist/confluent/client-manager.js +69 -32
- package/dist/confluent/client-manager.js.map +1 -1
- package/dist/confluent/helpers.d.ts +2 -2
- package/dist/confluent/helpers.d.ts.map +1 -1
- package/dist/confluent/helpers.js +1 -1
- package/dist/confluent/helpers.js.map +1 -1
- package/dist/confluent/middleware.d.ts +12 -11
- package/dist/confluent/middleware.d.ts.map +1 -1
- package/dist/confluent/middleware.js +6 -37
- package/dist/confluent/middleware.js.map +1 -1
- package/dist/confluent/schema-registry-helper.d.ts +134 -0
- package/dist/confluent/schema-registry-helper.d.ts.map +1 -0
- package/dist/confluent/schema-registry-helper.js +202 -0
- package/dist/confluent/schema-registry-helper.js.map +1 -0
- package/dist/confluent/schema.d.ts.map +1 -1
- package/dist/confluent/schema.js +1 -3
- package/dist/confluent/schema.js.map +1 -1
- package/dist/confluent/tools/base-tools.d.ts +43 -2
- package/dist/confluent/tools/base-tools.d.ts.map +1 -1
- package/dist/confluent/tools/base-tools.js +17 -0
- package/dist/confluent/tools/base-tools.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic.d.ts +3 -0
- 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 +7 -1
- 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 -0
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js +7 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts +3 -0
- package/dist/confluent/tools/handlers/catalog/delete-tag.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.js +7 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag.js.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts +3 -0
- package/dist/confluent/tools/handlers/catalog/list-tags.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/catalog/list-tags.js +7 -1
- 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 -0
- 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 +7 -1
- 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 +31 -28
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js +11 -4
- package/dist/confluent/tools/handlers/clusters/list-clusters-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/connect/create-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js +12 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js +7 -1
- package/dist/confluent/tools/handlers/connect/delete-connector-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.d.ts +3 -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 +7 -1
- package/dist/confluent/tools/handlers/connect/list-connectors-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.js +7 -1
- package/dist/confluent/tools/handlers/connect/read-connectors-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts +19 -16
- package/dist/confluent/tools/handlers/environments/list-environments-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js +11 -4
- package/dist/confluent/tools/handlers/environments/list-environments-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js +11 -4
- package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/create-flink-statement-handler.d.ts +3 -0
- 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 +9 -3
- 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 +3 -0
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js +7 -1
- package/dist/confluent/tools/handlers/flink/delete-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.d.ts +3 -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 +9 -3
- package/dist/confluent/tools/handlers/flink/list-flink-statements-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts +3 -0
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js +7 -1
- package/dist/confluent/tools/handlers/flink/read-flink-statement-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts +3 -0
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config.js +7 -1
- 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 +117 -0
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js +177 -0
- package/dist/confluent/tools/handlers/kafka/consume-kafka-messages-handler.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts +2 -0
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler.js +4 -1
- 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 -0
- 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 -0
- package/dist/confluent/tools/handlers/kafka/delete-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts +16 -0
- package/dist/confluent/tools/handlers/kafka/get-topic-config.d.ts.map +1 -0
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js +67 -0
- package/dist/confluent/tools/handlers/kafka/get-topic-config.js.map +1 -0
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.d.ts +2 -0
- 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 -0
- package/dist/confluent/tools/handlers/kafka/list-topics-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.d.ts +30 -0
- 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 +117 -7
- package/dist/confluent/tools/handlers/kafka/produce-kafka-message-handler.js.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts +2 -0
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.d.ts.map +1 -1
- package/dist/confluent/tools/handlers/schema/list-schemas-handler.js +4 -1
- 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 -0
- 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 +7 -1
- 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 -0
- 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 +7 -1
- package/dist/confluent/tools/handlers/search/search-topics-by-name-handler.js.map +1 -1
- package/dist/confluent/tools/tool-factory.d.ts.map +1 -1
- package/dist/confluent/tools/tool-factory.js +8 -4
- package/dist/confluent/tools/tool-factory.js.map +1 -1
- package/dist/confluent/tools/tool-name.d.ts +3 -1
- package/dist/confluent/tools/tool-name.d.ts.map +1 -1
- package/dist/confluent/tools/tool-name.js +2 -0
- package/dist/confluent/tools/tool-name.js.map +1 -1
- package/dist/env-schema.d.ts +37 -30
- package/dist/env-schema.d.ts.map +1 -1
- package/dist/env-schema.js +31 -12
- package/dist/env-schema.js.map +1 -1
- package/dist/env.d.ts +11 -9
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +7 -7
- package/dist/env.js.map +1 -1
- package/dist/index.js +95 -28
- package/dist/index.js.map +1 -1
- package/dist/lazy.d.ts.map +1 -1
- package/dist/lazy.js +7 -6
- package/dist/lazy.js.map +1 -1
- package/dist/logger.d.ts +13 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +61 -0
- package/dist/logger.js.map +1 -0
- package/dist/mcp/transports/http.d.ts +12 -0
- package/dist/mcp/transports/http.d.ts.map +1 -0
- package/dist/mcp/transports/http.js +127 -0
- package/dist/mcp/transports/http.js.map +1 -0
- package/dist/mcp/transports/index.d.ts +7 -0
- package/dist/mcp/transports/index.d.ts.map +1 -0
- package/dist/mcp/transports/index.js +7 -0
- package/dist/mcp/transports/index.js.map +1 -0
- package/dist/mcp/transports/manager.d.ts +12 -0
- package/dist/mcp/transports/manager.d.ts.map +1 -0
- package/dist/mcp/transports/manager.js +86 -0
- package/dist/mcp/transports/manager.js.map +1 -0
- package/dist/mcp/transports/server.d.ts +12 -0
- package/dist/mcp/transports/server.d.ts.map +1 -0
- package/dist/mcp/transports/server.js +87 -0
- package/dist/mcp/transports/server.js.map +1 -0
- package/dist/mcp/transports/sse.d.ts +12 -0
- package/dist/mcp/transports/sse.d.ts.map +1 -0
- package/dist/mcp/transports/sse.js +110 -0
- package/dist/mcp/transports/sse.js.map +1 -0
- package/dist/mcp/transports/stdio.d.ts +9 -0
- package/dist/mcp/transports/stdio.d.ts.map +1 -0
- package/dist/mcp/transports/stdio.js +17 -0
- package/dist/mcp/transports/stdio.js.map +1 -0
- package/dist/mcp/transports/types.d.ts +14 -0
- package/dist/mcp/transports/types.d.ts.map +1 -0
- package/dist/mcp/transports/types.js +7 -0
- package/dist/mcp/transports/types.js.map +1 -0
- package/dist/print-md-schema.d.ts +5 -0
- package/dist/print-md-schema.d.ts.map +1 -1
- package/dist/print-md-schema.js +6 -0
- package/dist/print-md-schema.js.map +1 -1
- package/package.json +31 -18
- package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.js +0 -47
- package/dist/confluent/tools/handlers/catalog/add-tag-to-topic.js.map +0 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.js +0 -47
- package/dist/confluent/tools/handlers/catalog/add-tags-to-topic copy.js.map +0 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.js +0 -52
- package/dist/confluent/tools/handlers/catalog/create-topic-tags copy.js.map +0 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/delete-tag copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag copy.js +0 -42
- package/dist/confluent/tools/handlers/catalog/delete-tag copy.js.map +0 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.js +0 -56
- package/dist/confluent/tools/handlers/catalog/delete-tag-for-entity.js.map +0 -1
- package/dist/confluent/tools/handlers/catalog/list-.d.ts +0 -8
- package/dist/confluent/tools/handlers/catalog/list-.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/catalog/list-.js +0 -35
- package/dist/confluent/tools/handlers/catalog/list-.js.map +0 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/connect/create-connector-handler copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/connect/create-connector-handler copy.js +0 -84
- package/dist/confluent/tools/handlers/connect/create-connector-handler copy.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-tags-for-topics.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/create-tags-for-topics.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-tags-for-topics.js +0 -52
- package/dist/confluent/tools/handlers/entity/create-tags-for-topics.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topic-tags.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/create-topic-tags.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topic-tags.js +0 -52
- package/dist/confluent/tools/handlers/entity/create-topic-tags.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topicc-tags.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/create-topicc-tags.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topicc-tags.js +0 -52
- package/dist/confluent/tools/handlers/entity/create-topicc-tags.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topics-tags.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/create-topics-tags.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/create-topics-tags.js +0 -52
- package/dist/confluent/tools/handlers/entity/create-topics-tags.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.js +0 -39
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler copy.js.map +0 -1
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.d.ts +0 -8
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.js +0 -39
- package/dist/confluent/tools/handlers/entity/topics-with-tags-handler.js.map +0 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.d.ts +0 -14
- package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.js +0 -61
- package/dist/confluent/tools/handlers/kafka/alter-topic-config copy.js.map +0 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.js +0 -28
- package/dist/confluent/tools/handlers/kafka/create-topics-handler copy.js.map +0 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.d.ts +0 -8
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.js +0 -45
- package/dist/confluent/tools/handlers/search/search-topic-by-tag-handler copy.js.map +0 -1
- package/dist/confluent/tools/handlers/search/topics-with-tags-handler.d.ts +0 -8
- package/dist/confluent/tools/handlers/search/topics-with-tags-handler.d.ts.map +0 -1
- package/dist/confluent/tools/handlers/search/topics-with-tags-handler.js +0 -39
- package/dist/confluent/tools/handlers/search/topics-with-tags-handler.js.map +0 -1
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { Middleware } from "openapi-fetch";
|
|
2
|
+
export interface ConfluentEndpoints {
|
|
3
|
+
cloud?: string;
|
|
4
|
+
flink?: string;
|
|
5
|
+
schemaRegistry?: string;
|
|
6
|
+
kafka?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ConfluentAuth {
|
|
9
|
+
apiKey: string;
|
|
10
|
+
apiSecret: string;
|
|
11
|
+
}
|
|
2
12
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* This middleware intercepts each request and adds an Authorization header
|
|
6
|
-
* using the Flink API key and secret from the environment variables.
|
|
7
|
-
*
|
|
8
|
-
* @param {Object} request - The request object.
|
|
9
|
-
* @returns {Object} The modified request object with the Authorization header.
|
|
13
|
+
* Creates a middleware that adds Authorization header using the provided auth credentials
|
|
10
14
|
*/
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const confluentCloudAuthMiddleware: Middleware;
|
|
13
|
-
export declare const confluentCloudSchemaRegistryAuthMiddleware: Middleware;
|
|
14
|
-
export declare const confluentCloudKafkaAuthMiddleware: Middleware;
|
|
15
|
+
export declare const createAuthMiddleware: (auth: ConfluentAuth) => Middleware;
|
|
15
16
|
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,aAAa,KAAG,UASzD,CAAC"}
|
|
@@ -1,43 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { logger } from "../logger.js";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* This middleware intercepts each request and adds an Authorization header
|
|
6
|
-
* using the Flink API key and secret from the environment variables.
|
|
7
|
-
*
|
|
8
|
-
* @param {Object} request - The request object.
|
|
9
|
-
* @returns {Object} The modified request object with the Authorization header.
|
|
3
|
+
* Creates a middleware that adds Authorization header using the provided auth credentials
|
|
10
4
|
*/
|
|
11
|
-
export const
|
|
5
|
+
export const createAuthMiddleware = (auth) => ({
|
|
12
6
|
async onRequest({ request }) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
request.headers.set("Authorization", `Basic ${Buffer.from(`${env.FLINK_API_KEY}:${env.FLINK_API_SECRET}`).toString("base64")}`);
|
|
7
|
+
logger.debug({ request }, "Processing request");
|
|
8
|
+
request.headers.set("Authorization", `Basic ${Buffer.from(`${auth.apiKey}:${auth.apiSecret}`).toString("base64")}`);
|
|
16
9
|
return request;
|
|
17
10
|
},
|
|
18
|
-
};
|
|
19
|
-
export const confluentCloudAuthMiddleware = {
|
|
20
|
-
async onRequest({ request }) {
|
|
21
|
-
console.error(`${JSON.stringify(request)}`);
|
|
22
|
-
// add Authorization header to every request
|
|
23
|
-
request.headers.set("Authorization", `Basic ${Buffer.from(`${env.CONFLUENT_CLOUD_API_KEY}:${env.CONFLUENT_CLOUD_API_SECRET}`).toString("base64")}`);
|
|
24
|
-
return request;
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
export const confluentCloudSchemaRegistryAuthMiddleware = {
|
|
28
|
-
async onRequest({ request }) {
|
|
29
|
-
console.error(`${JSON.stringify(request)}`);
|
|
30
|
-
// add Authorization header to every request
|
|
31
|
-
request.headers.set("Authorization", `Basic ${Buffer.from(`${env.SCHEMA_REGISTRY_API_KEY}:${env.SCHEMA_REGISTRY_API_SECRET}`).toString("base64")}`);
|
|
32
|
-
return request;
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
export const confluentCloudKafkaAuthMiddleware = {
|
|
36
|
-
async onRequest({ request }) {
|
|
37
|
-
console.error(`${JSON.stringify(request)}`);
|
|
38
|
-
// add Authorization header to every request
|
|
39
|
-
request.headers.set("Authorization", `Basic ${Buffer.from(`${env.KAFKA_API_KEY}:${env.KAFKA_API_SECRET}`).toString("base64")}`);
|
|
40
|
-
return request;
|
|
41
|
-
},
|
|
42
|
-
};
|
|
11
|
+
});
|
|
43
12
|
//# sourceMappingURL=middleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/confluent/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAexC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAmB,EAAc,EAAE,CAAC,CAAC;IACxE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE;QACzB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,GAAG,CACjB,eAAe,EACf,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAC9E,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides helper functions for working with Confluent Schema Registry.
|
|
3
|
+
* It handles schema registration, serialization, and deserialization of messages
|
|
4
|
+
* using various schema formats (AVRO, JSON, PROTOBUF).
|
|
5
|
+
*/
|
|
6
|
+
import { Deserializer, SchemaRegistryClient, SerdeType, Serializer } from "@confluentinc/schemaregistry";
|
|
7
|
+
/**
|
|
8
|
+
* Supported schema types for Confluent Schema Registry.
|
|
9
|
+
* AVRO: Apache Avro binary format with schema evolution support
|
|
10
|
+
* JSON: JSON Schema format with validation
|
|
11
|
+
* PROTOBUF: Protocol Buffers format with backward compatibility
|
|
12
|
+
*/
|
|
13
|
+
export type SchemaType = "AVRO" | "JSON" | "PROTOBUF";
|
|
14
|
+
/**
|
|
15
|
+
* Common options for schema registry operations.
|
|
16
|
+
* These options control how schemas are registered and used for serialization.
|
|
17
|
+
*/
|
|
18
|
+
export interface SchemaRegistryOptions {
|
|
19
|
+
useSchemaRegistry?: boolean;
|
|
20
|
+
schemaType?: SchemaType;
|
|
21
|
+
schema?: string;
|
|
22
|
+
subject?: string;
|
|
23
|
+
normalize?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Options for message serialization/deserialization.
|
|
27
|
+
* Includes the message payload and schema registry configuration.
|
|
28
|
+
*/
|
|
29
|
+
export type MessageOptions = {
|
|
30
|
+
message: Buffer | object | string;
|
|
31
|
+
useSchemaRegistry?: boolean;
|
|
32
|
+
schemaType?: SchemaType;
|
|
33
|
+
schema?: string;
|
|
34
|
+
subject?: string;
|
|
35
|
+
normalize?: boolean;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Result of checking if a schema is needed for a message.
|
|
39
|
+
* Can indicate:
|
|
40
|
+
* - A schema is needed and provides the latest schema details
|
|
41
|
+
* - No schema exists and needs to be provided
|
|
42
|
+
* - No schema action is needed
|
|
43
|
+
*/
|
|
44
|
+
export type SchemaCheckResult = {
|
|
45
|
+
type: "schema-needed";
|
|
46
|
+
latestSchema: string;
|
|
47
|
+
subject: string;
|
|
48
|
+
schemaType: string;
|
|
49
|
+
} | {
|
|
50
|
+
type: "no-schema";
|
|
51
|
+
subject: string;
|
|
52
|
+
} | null;
|
|
53
|
+
/**
|
|
54
|
+
* Creates and returns the appropriate serializer instance based on schema type.
|
|
55
|
+
* The serializer is configured to use either a specific schema ID or the latest version.
|
|
56
|
+
*
|
|
57
|
+
* @param schemaType - The type of schema (AVRO, JSON, PROTOBUF)
|
|
58
|
+
* @param registry - The schema registry client instance
|
|
59
|
+
* @param serdeType - Whether this is for key or value serialization
|
|
60
|
+
* @param schemaId - Optional schema ID to use for serialization
|
|
61
|
+
* @returns The appropriate Serializer instance
|
|
62
|
+
* @throws Error if the schema type is unknown or unsupported
|
|
63
|
+
*/
|
|
64
|
+
export declare function getSerializer(schemaType: SchemaType | undefined, registry: SchemaRegistryClient, serdeType: SerdeType, schemaId?: number): Serializer;
|
|
65
|
+
/**
|
|
66
|
+
* Creates and returns the appropriate deserializer instance based on schema type.
|
|
67
|
+
* The deserializer is configured to handle schema evolution and compatibility.
|
|
68
|
+
*
|
|
69
|
+
* @param schemaType - The type of schema (AVRO, JSON, PROTOBUF)
|
|
70
|
+
* @param registry - The schema registry client instance
|
|
71
|
+
* @param serdeType - Whether this is for key or value deserialization
|
|
72
|
+
* @returns The appropriate Deserializer instance
|
|
73
|
+
* @throws Error if the schema type is unknown or unsupported
|
|
74
|
+
*/
|
|
75
|
+
export declare function getDeserializer(schemaType: SchemaType | undefined, registry: SchemaRegistryClient, serdeType: SerdeType): Deserializer;
|
|
76
|
+
/**
|
|
77
|
+
* Checks if a schema is needed for the given message options.
|
|
78
|
+
* This function determines if:
|
|
79
|
+
* 1. A schema is already registered and should be used
|
|
80
|
+
* 2. No schema exists and needs to be provided
|
|
81
|
+
* 3. No schema action is needed
|
|
82
|
+
*
|
|
83
|
+
* @param topicName - The Kafka topic name
|
|
84
|
+
* @param options - The message options including schema, type, and payload
|
|
85
|
+
* @param serdeType - Whether this is for key or value serialization
|
|
86
|
+
* @param registry - The schema registry client instance (if used)
|
|
87
|
+
* @returns An object describing the schema state, or null if no schema action is needed
|
|
88
|
+
*/
|
|
89
|
+
export declare function checkSchemaNeeded(topicName: string, options: MessageOptions, serdeType: SerdeType, registry: SchemaRegistryClient | undefined): Promise<SchemaCheckResult>;
|
|
90
|
+
/**
|
|
91
|
+
* Fetches the latest schema string and schema type for a given subject from the schema registry.
|
|
92
|
+
* Handles 404 errors gracefully by returning null when no schema exists.
|
|
93
|
+
*
|
|
94
|
+
* @param registry - The schema registry client instance
|
|
95
|
+
* @param subject - The subject to look up in the registry
|
|
96
|
+
* @returns An object with the latest schema string and schema type, or null if not found
|
|
97
|
+
* @throws Error if there's an unexpected error from the registry
|
|
98
|
+
*/
|
|
99
|
+
export declare function getLatestSchemaIfExists(registry: SchemaRegistryClient, subject: string): Promise<{
|
|
100
|
+
schema: string;
|
|
101
|
+
schemaType: SchemaType;
|
|
102
|
+
} | null>;
|
|
103
|
+
/**
|
|
104
|
+
* Serializes a message using the provided options and schema registry configuration.
|
|
105
|
+
* This function:
|
|
106
|
+
* 1. Registers the schema if provided
|
|
107
|
+
* 2. Validates the message type
|
|
108
|
+
* 3. Creates the appropriate serializer
|
|
109
|
+
* 4. Serializes the message
|
|
110
|
+
*
|
|
111
|
+
* @param topicName - The Kafka topic name
|
|
112
|
+
* @param options - The message options including schema, type, and payload
|
|
113
|
+
* @param serdeType - Whether this is for key or value serialization
|
|
114
|
+
* @param registry - The schema registry client instance (if used)
|
|
115
|
+
* @returns The serialized message as a Buffer or string
|
|
116
|
+
* @throws Error if serialization fails, schema registration fails, or message type is invalid
|
|
117
|
+
*/
|
|
118
|
+
export declare function serializeMessage(topicName: string, options: MessageOptions, serdeType: SerdeType, registry: SchemaRegistryClient | undefined): Promise<Buffer | string>;
|
|
119
|
+
/**
|
|
120
|
+
* Deserializes a message using Schema Registry.
|
|
121
|
+
* This function:
|
|
122
|
+
* 1. Creates the appropriate deserializer
|
|
123
|
+
* 2. Deserializes the message using the schema from the registry
|
|
124
|
+
*
|
|
125
|
+
* @param topic - The Kafka topic name
|
|
126
|
+
* @param message - The message buffer to deserialize
|
|
127
|
+
* @param schemaType - The schema type (AVRO, JSON, PROTOBUF)
|
|
128
|
+
* @param registry - The schema registry client
|
|
129
|
+
* @param serdeType - Whether this is key or value
|
|
130
|
+
* @returns The deserialized object
|
|
131
|
+
* @throws Error if deserialization fails
|
|
132
|
+
*/
|
|
133
|
+
export declare function deserializeMessage(topic: string, message: Buffer, schemaType: SchemaType, registry: SchemaRegistryClient, serdeType: SerdeType): Promise<unknown>;
|
|
134
|
+
//# sourceMappingURL=schema-registry-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-registry-helper.d.ts","sourceRoot":"","sources":["../../src/confluent/schema-registry-helper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,YAAY,EAMZ,oBAAoB,EACpB,SAAS,EACT,UAAU,EAEX,MAAM,8BAA8B,CAAC;AAGtC;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtC,IAAI,CAAC;AAET;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CAkBZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,SAAS,GACnB,YAAY,CAed;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,oBAAoB,GAAG,SAAS,GACzC,OAAO,CAAC,iBAAiB,CAAC,CAoB5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CAAC,CAiB5D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,oBAAoB,GAAG,SAAS,GACzC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAgE1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,OAAO,CAAC,CAOlB"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides helper functions for working with Confluent Schema Registry.
|
|
3
|
+
* It handles schema registration, serialization, and deserialization of messages
|
|
4
|
+
* using various schema formats (AVRO, JSON, PROTOBUF).
|
|
5
|
+
*/
|
|
6
|
+
import { AvroDeserializer, AvroSerializer, JsonDeserializer, JsonSerializer, ProtobufDeserializer, ProtobufSerializer, SerdeType, } from "@confluentinc/schemaregistry";
|
|
7
|
+
import { logger } from "../logger.js";
|
|
8
|
+
/**
|
|
9
|
+
* Creates and returns the appropriate serializer instance based on schema type.
|
|
10
|
+
* The serializer is configured to use either a specific schema ID or the latest version.
|
|
11
|
+
*
|
|
12
|
+
* @param schemaType - The type of schema (AVRO, JSON, PROTOBUF)
|
|
13
|
+
* @param registry - The schema registry client instance
|
|
14
|
+
* @param serdeType - Whether this is for key or value serialization
|
|
15
|
+
* @param schemaId - Optional schema ID to use for serialization
|
|
16
|
+
* @returns The appropriate Serializer instance
|
|
17
|
+
* @throws Error if the schema type is unknown or unsupported
|
|
18
|
+
*/
|
|
19
|
+
export function getSerializer(schemaType, registry, serdeType, schemaId) {
|
|
20
|
+
const serializerConfig = typeof schemaId === "number"
|
|
21
|
+
? { useSchemaId: schemaId }
|
|
22
|
+
: { useLatestVersion: true };
|
|
23
|
+
const serializers = {
|
|
24
|
+
AVRO: () => new AvroSerializer(registry, serdeType, serializerConfig),
|
|
25
|
+
JSON: () => new JsonSerializer(registry, serdeType, serializerConfig),
|
|
26
|
+
PROTOBUF: () => new ProtobufSerializer(registry, serdeType, serializerConfig),
|
|
27
|
+
};
|
|
28
|
+
if (!schemaType || !(schemaType in serializers)) {
|
|
29
|
+
throw new Error(`Unknown schemaType: ${schemaType}`);
|
|
30
|
+
}
|
|
31
|
+
return serializers[schemaType]();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Creates and returns the appropriate deserializer instance based on schema type.
|
|
35
|
+
* The deserializer is configured to handle schema evolution and compatibility.
|
|
36
|
+
*
|
|
37
|
+
* @param schemaType - The type of schema (AVRO, JSON, PROTOBUF)
|
|
38
|
+
* @param registry - The schema registry client instance
|
|
39
|
+
* @param serdeType - Whether this is for key or value deserialization
|
|
40
|
+
* @returns The appropriate Deserializer instance
|
|
41
|
+
* @throws Error if the schema type is unknown or unsupported
|
|
42
|
+
*/
|
|
43
|
+
export function getDeserializer(schemaType, registry, serdeType) {
|
|
44
|
+
const deserializerConfig = {};
|
|
45
|
+
const deserializers = {
|
|
46
|
+
AVRO: () => new AvroDeserializer(registry, serdeType, deserializerConfig),
|
|
47
|
+
JSON: () => new JsonDeserializer(registry, serdeType, deserializerConfig),
|
|
48
|
+
PROTOBUF: () => new ProtobufDeserializer(registry, serdeType, deserializerConfig),
|
|
49
|
+
};
|
|
50
|
+
if (!schemaType || !(schemaType in deserializers)) {
|
|
51
|
+
throw new Error(`Unknown schemaType: ${schemaType}`);
|
|
52
|
+
}
|
|
53
|
+
return deserializers[schemaType]();
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Checks if a schema is needed for the given message options.
|
|
57
|
+
* This function determines if:
|
|
58
|
+
* 1. A schema is already registered and should be used
|
|
59
|
+
* 2. No schema exists and needs to be provided
|
|
60
|
+
* 3. No schema action is needed
|
|
61
|
+
*
|
|
62
|
+
* @param topicName - The Kafka topic name
|
|
63
|
+
* @param options - The message options including schema, type, and payload
|
|
64
|
+
* @param serdeType - Whether this is for key or value serialization
|
|
65
|
+
* @param registry - The schema registry client instance (if used)
|
|
66
|
+
* @returns An object describing the schema state, or null if no schema action is needed
|
|
67
|
+
*/
|
|
68
|
+
export async function checkSchemaNeeded(topicName, options, serdeType, registry) {
|
|
69
|
+
if (options.useSchemaRegistry && !options.schema) {
|
|
70
|
+
const subject = options.subject ||
|
|
71
|
+
`${topicName}-${serdeType === SerdeType.KEY ? "key" : "value"}`;
|
|
72
|
+
const latest = registry
|
|
73
|
+
? await getLatestSchemaIfExists(registry, subject)
|
|
74
|
+
: null;
|
|
75
|
+
if (latest) {
|
|
76
|
+
return {
|
|
77
|
+
type: "schema-needed",
|
|
78
|
+
latestSchema: latest.schema,
|
|
79
|
+
subject,
|
|
80
|
+
schemaType: latest.schemaType,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return { type: "no-schema", subject };
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Fetches the latest schema string and schema type for a given subject from the schema registry.
|
|
91
|
+
* Handles 404 errors gracefully by returning null when no schema exists.
|
|
92
|
+
*
|
|
93
|
+
* @param registry - The schema registry client instance
|
|
94
|
+
* @param subject - The subject to look up in the registry
|
|
95
|
+
* @returns An object with the latest schema string and schema type, or null if not found
|
|
96
|
+
* @throws Error if there's an unexpected error from the registry
|
|
97
|
+
*/
|
|
98
|
+
export async function getLatestSchemaIfExists(registry, subject) {
|
|
99
|
+
try {
|
|
100
|
+
const latest = await registry.getLatestSchemaMetadata(subject);
|
|
101
|
+
// The docs say that when no schemaType is supplied, it's assumed to be AVRO
|
|
102
|
+
const schemaType = (latest.schemaType || "AVRO");
|
|
103
|
+
return { schema: latest.schema, schemaType };
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
if (err &&
|
|
107
|
+
typeof err === "object" &&
|
|
108
|
+
"status" in err &&
|
|
109
|
+
err.status === 404) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
throw err;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Serializes a message using the provided options and schema registry configuration.
|
|
117
|
+
* This function:
|
|
118
|
+
* 1. Registers the schema if provided
|
|
119
|
+
* 2. Validates the message type
|
|
120
|
+
* 3. Creates the appropriate serializer
|
|
121
|
+
* 4. Serializes the message
|
|
122
|
+
*
|
|
123
|
+
* @param topicName - The Kafka topic name
|
|
124
|
+
* @param options - The message options including schema, type, and payload
|
|
125
|
+
* @param serdeType - Whether this is for key or value serialization
|
|
126
|
+
* @param registry - The schema registry client instance (if used)
|
|
127
|
+
* @returns The serialized message as a Buffer or string
|
|
128
|
+
* @throws Error if serialization fails, schema registration fails, or message type is invalid
|
|
129
|
+
*/
|
|
130
|
+
export async function serializeMessage(topicName, options, serdeType, registry) {
|
|
131
|
+
if (!options.useSchemaRegistry) {
|
|
132
|
+
if (typeof options.message !== "string") {
|
|
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");
|
|
144
|
+
}
|
|
145
|
+
// Default subject naming
|
|
146
|
+
const subject = options.subject ||
|
|
147
|
+
`${topicName}-${serdeType === SerdeType.KEY ? "key" : "value"}`;
|
|
148
|
+
let schemaId;
|
|
149
|
+
// Register schema if provided
|
|
150
|
+
if (options.schema) {
|
|
151
|
+
try {
|
|
152
|
+
schemaId = await registry.register(subject, {
|
|
153
|
+
schema: options.schema,
|
|
154
|
+
schemaType: options.schemaType,
|
|
155
|
+
}, options.normalize);
|
|
156
|
+
}
|
|
157
|
+
catch (err) {
|
|
158
|
+
throw new Error(`Failed to register schema for subject '${subject}': ${err}`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// Validate message type
|
|
162
|
+
if (typeof options.message !== "object" || options.message === null) {
|
|
163
|
+
throw new Error("When using schema registry, message must be an object matching the schema.");
|
|
164
|
+
}
|
|
165
|
+
let serializer;
|
|
166
|
+
try {
|
|
167
|
+
serializer = getSerializer(options.schemaType, registry, serdeType, schemaId);
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
throw new Error(`Failed to get serializer: ${err}`);
|
|
171
|
+
}
|
|
172
|
+
try {
|
|
173
|
+
return await serializer.serialize(topicName, options.message);
|
|
174
|
+
}
|
|
175
|
+
catch (err) {
|
|
176
|
+
throw new Error(`Failed to serialize message for subject '${subject}': ${err}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Deserializes a message using Schema Registry.
|
|
181
|
+
* This function:
|
|
182
|
+
* 1. Creates the appropriate deserializer
|
|
183
|
+
* 2. Deserializes the message using the schema from the registry
|
|
184
|
+
*
|
|
185
|
+
* @param topic - The Kafka topic name
|
|
186
|
+
* @param message - The message buffer to deserialize
|
|
187
|
+
* @param schemaType - The schema type (AVRO, JSON, PROTOBUF)
|
|
188
|
+
* @param registry - The schema registry client
|
|
189
|
+
* @param serdeType - Whether this is key or value
|
|
190
|
+
* @returns The deserialized object
|
|
191
|
+
* @throws Error if deserialization fails
|
|
192
|
+
*/
|
|
193
|
+
export async function deserializeMessage(topic, message, schemaType, registry, serdeType) {
|
|
194
|
+
try {
|
|
195
|
+
const deserializer = getDeserializer(schemaType, registry, serdeType);
|
|
196
|
+
return await deserializer.deserialize(topic, message);
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
throw new Error(`Failed to deserialize message: ${err}`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=schema-registry-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-registry-helper.js","sourceRoot":"","sources":["../../src/confluent/schema-registry-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/confluent/schema.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/confluent/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
package/dist/confluent/schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/confluent/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/confluent/schema.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +1,38 @@
|
|
|
1
1
|
import { ClientManager } from "../../confluent/client-manager.js";
|
|
2
2
|
import { CallToolResult } from "../../confluent/schema.js";
|
|
3
3
|
import { ToolName } from "../../confluent/tools/tool-name.js";
|
|
4
|
+
import { EnvVar } from "../../env-schema.js";
|
|
4
5
|
import { ZodRawShape } from "zod";
|
|
5
6
|
export interface ToolHandler {
|
|
6
|
-
handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult> | CallToolResult;
|
|
7
|
+
handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined, sessionId?: string): Promise<CallToolResult> | CallToolResult;
|
|
7
8
|
getToolConfig(): ToolConfig;
|
|
9
|
+
/**
|
|
10
|
+
* Returns an array of environment variables required for this tool to function.
|
|
11
|
+
*
|
|
12
|
+
* This method is used to conditionally enable/disable tools based on the availability
|
|
13
|
+
* of required environment variables. Tools will be disabled if any of their required
|
|
14
|
+
* environment variables are not set.
|
|
15
|
+
*
|
|
16
|
+
*
|
|
17
|
+
* Example:
|
|
18
|
+
* ```typescript
|
|
19
|
+
* getRequiredEnvVars(): EnvVar[] {
|
|
20
|
+
* return [
|
|
21
|
+
* "KAFKA_API_KEY",
|
|
22
|
+
* "KAFKA_API_SECRET",
|
|
23
|
+
* "BOOTSTRAP_SERVERS"
|
|
24
|
+
* ];
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @returns Array of environment variable names required by this tool
|
|
29
|
+
*/
|
|
30
|
+
getRequiredEnvVars(): EnvVar[];
|
|
31
|
+
/**
|
|
32
|
+
* Returns true if this tool can only be used with Confluent Cloud REST APIs.
|
|
33
|
+
* Override in subclasses for cloud-only tools.
|
|
34
|
+
*/
|
|
35
|
+
isConfluentCloudOnly(): boolean;
|
|
8
36
|
}
|
|
9
37
|
export interface ToolConfig {
|
|
10
38
|
name: ToolName;
|
|
@@ -12,8 +40,21 @@ export interface ToolConfig {
|
|
|
12
40
|
inputSchema: ZodRawShape;
|
|
13
41
|
}
|
|
14
42
|
export declare abstract class BaseToolHandler implements ToolHandler {
|
|
15
|
-
abstract handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult> | CallToolResult;
|
|
43
|
+
abstract handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined, sessionId?: string): Promise<CallToolResult> | CallToolResult;
|
|
16
44
|
abstract getToolConfig(): ToolConfig;
|
|
45
|
+
/**
|
|
46
|
+
* Default implementation that returns an empty array, indicating no environment
|
|
47
|
+
* variables are required. Override this method in your tool handler if the tool
|
|
48
|
+
* requires specific environment variables to function.
|
|
49
|
+
*
|
|
50
|
+
* @returns Empty array by default
|
|
51
|
+
*/
|
|
52
|
+
getRequiredEnvVars(): EnvVar[];
|
|
53
|
+
/**
|
|
54
|
+
* Default implementation returns false, indicating the tool is not Confluent Cloud only.
|
|
55
|
+
* Override in subclasses for cloud-only tools.
|
|
56
|
+
*/
|
|
57
|
+
isConfluentCloudOnly(): boolean;
|
|
17
58
|
createResponse(message: string, isError?: boolean, _meta?: Record<string, unknown>): CallToolResult;
|
|
18
59
|
}
|
|
19
60
|
//# sourceMappingURL=base-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-tools.d.ts","sourceRoot":"","sources":["../../../src/confluent/tools/base-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"base-tools.d.ts","sourceRoot":"","sources":["../../../src/confluent/tools/base-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAElC,MAAM,WAAW,WAAW;IAC1B,MAAM,CACJ,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAClD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;IAE5C,aAAa,IAAI,UAAU,CAAC;IAE5B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,oBAAoB,IAAI,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,8BAAsB,eAAgB,YAAW,WAAW;IAC1D,QAAQ,CAAC,MAAM,CACb,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAClD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAE3C,QAAQ,CAAC,aAAa,IAAI,UAAU;IAEpC;;;;;;OAMG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAI/B,cAAc,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,EACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,cAAc;CAalB"}
|
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
export class BaseToolHandler {
|
|
2
|
+
/**
|
|
3
|
+
* Default implementation that returns an empty array, indicating no environment
|
|
4
|
+
* variables are required. Override this method in your tool handler if the tool
|
|
5
|
+
* requires specific environment variables to function.
|
|
6
|
+
*
|
|
7
|
+
* @returns Empty array by default
|
|
8
|
+
*/
|
|
9
|
+
getRequiredEnvVars() {
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Default implementation returns false, indicating the tool is not Confluent Cloud only.
|
|
14
|
+
* Override in subclasses for cloud-only tools.
|
|
15
|
+
*/
|
|
16
|
+
isConfluentCloudOnly() {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
2
19
|
createResponse(message, isError = false, _meta) {
|
|
3
20
|
const response = {
|
|
4
21
|
content: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-tools.js","sourceRoot":"","sources":["../../../src/confluent/tools/base-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-tools.js","sourceRoot":"","sources":["../../../src/confluent/tools/base-tools.ts"],"names":[],"mappings":"AAmDA,MAAM,OAAgB,eAAe;IASnC;;;;;;OAMG;IACH,kBAAkB;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACH,oBAAoB;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CACZ,OAAe,EACf,UAAmB,KAAK,EACxB,KAA+B;QAE/B,MAAM,QAAQ,GAAmB;YAC/B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;iBACd;aACF;YACD,OAAO,EAAE,OAAO;YAChB,KAAK,EAAE,KAAK;SACb,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { ClientManager } from "../../../../confluent/client-manager.js";
|
|
2
2
|
import { CallToolResult } from "../../../../confluent/schema.js";
|
|
3
3
|
import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
4
|
+
import { EnvVar } from "../../../../env-schema.js";
|
|
4
5
|
export declare class AddTagToTopicHandler extends BaseToolHandler {
|
|
5
6
|
handle(clientManager: ClientManager, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
|
|
6
7
|
getToolConfig(): ToolConfig;
|
|
8
|
+
getRequiredEnvVars(): EnvVar[];
|
|
9
|
+
isConfluentCloudOnly(): boolean;
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=add-tags-to-topic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-tags-to-topic.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/catalog/add-tags-to-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"add-tags-to-topic.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/catalog/add-tags-to-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA4B5C,qBAAa,oBAAqB,SAAQ,eAAe;IACjD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IA6B1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
|
|
@@ -8,7 +8,7 @@ const addTagToTopicArguments = z.object({
|
|
|
8
8
|
.string()
|
|
9
9
|
.describe("The base URL of the Schema Registry REST API.")
|
|
10
10
|
.url()
|
|
11
|
-
.default(env.SCHEMA_REGISTRY_ENDPOINT ?? "")
|
|
11
|
+
.default(() => env.SCHEMA_REGISTRY_ENDPOINT ?? "")
|
|
12
12
|
.optional(),
|
|
13
13
|
tagAssignments: z
|
|
14
14
|
.array(z.object({
|
|
@@ -43,5 +43,11 @@ export class AddTagToTopicHandler extends BaseToolHandler {
|
|
|
43
43
|
inputSchema: addTagToTopicArguments.shape,
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
|
+
getRequiredEnvVars() {
|
|
47
|
+
return ["SCHEMA_REGISTRY_API_KEY", "SCHEMA_REGISTRY_API_SECRET"];
|
|
48
|
+
}
|
|
49
|
+
isConfluentCloudOnly() {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
46
52
|
}
|
|
47
53
|
//# sourceMappingURL=add-tags-to-topic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-tags-to-topic.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/catalog/add-tags-to-topic.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,GAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"add-tags-to-topic.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/catalog/add-tags-to-topic.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,GAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CAAC,+CAA+C,CAAC;SACzD,GAAG,EAAE;SACL,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC;SACjD,QAAQ,EAAE;IACb,cAAc,EAAE,CAAC;SACd,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,CACP,mFAAmF,QAAQ,CAAC,qBAAqB,oDAAoD,CACtK;QACH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KAC3D,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,oCAAoC,CAAC;CAClD,CAAC,CAAC;AAEH,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IACvD,KAAK,CAAC,MAAM,CACV,aAA4B,EAC5B,aAAsC;QAEtC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAC/B,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAC5C,aAAa,CAAC,uCAAuC,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,CAAC,yCAAyC,EAAE,CAC1D,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CACrD,yBAAyB,CAC1B,CAAC,IAAI,CAAC;YACL,IAAI,EAAE,cAAc;SACrB,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,cAAc,CACxB,yBAAyB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAChD,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CACxB,8BAA8B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CACzD,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,iBAAiB;YAChC,WAAW,EAAE,0DAA0D;YACvE,WAAW,EAAE,sBAAsB,CAAC,KAAK;SAC1C,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,CAAC;IACnE,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { ClientManager } from "../../../../confluent/client-manager.js";
|
|
2
2
|
import { CallToolResult } from "../../../../confluent/schema.js";
|
|
3
3
|
import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
|
|
4
|
+
import { EnvVar } from "../../../../env-schema.js";
|
|
4
5
|
export declare class CreateTopicTagsHandler extends BaseToolHandler {
|
|
5
6
|
handle(clientManager: ClientManager, toolArguments: Record<string, unknown>): Promise<CallToolResult>;
|
|
6
7
|
getToolConfig(): ToolConfig;
|
|
8
|
+
getRequiredEnvVars(): EnvVar[];
|
|
9
|
+
isConfluentCloudOnly(): boolean;
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=create-topic-tags.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-topic-tags.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/catalog/create-topic-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-topic-tags.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/catalog/create-topic-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,UAAU,EACX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA0B5C,qBAAa,sBAAuB,SAAQ,eAAe;IACnD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC;IAkC1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
|