@confluentinc/mcp-confluent 1.0.3 → 1.0.5

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.
Files changed (92) hide show
  1. package/README.md +176 -24
  2. package/dist/confluent/client-manager.d.ts +9 -0
  3. package/dist/confluent/client-manager.d.ts.map +1 -1
  4. package/dist/confluent/client-manager.js +22 -0
  5. package/dist/confluent/client-manager.js.map +1 -1
  6. package/dist/confluent/middleware.d.ts +1 -0
  7. package/dist/confluent/middleware.d.ts.map +1 -1
  8. package/dist/confluent/middleware.js.map +1 -1
  9. package/dist/confluent/tools/handlers/environments/read-environment-handler.d.ts.map +1 -1
  10. package/dist/confluent/tools/handlers/environments/read-environment-handler.js +1 -1
  11. package/dist/confluent/tools/handlers/environments/read-environment-handler.js.map +1 -1
  12. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts +11 -0
  13. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.d.ts.map +1 -0
  14. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js +81 -0
  15. package/dist/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.js.map +1 -0
  16. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts +11 -0
  17. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.d.ts.map +1 -0
  18. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js +64 -0
  19. package/dist/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.js.map +1 -0
  20. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts +11 -0
  21. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.d.ts.map +1 -0
  22. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js +74 -0
  23. package/dist/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.js.map +1 -0
  24. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts +11 -0
  25. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.d.ts.map +1 -0
  26. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js +64 -0
  27. package/dist/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.js.map +1 -0
  28. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts +11 -0
  29. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.d.ts.map +1 -0
  30. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js +81 -0
  31. package/dist/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.js.map +1 -0
  32. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts +11 -0
  33. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.d.ts.map +1 -0
  34. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js +65 -0
  35. package/dist/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.js.map +1 -0
  36. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts +11 -0
  37. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.d.ts.map +1 -0
  38. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js +96 -0
  39. package/dist/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.js.map +1 -0
  40. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts +11 -0
  41. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.d.ts.map +1 -0
  42. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js +66 -0
  43. package/dist/confluent/tools/handlers/tableflow/topic/delete-tableflow-topic-handler.js.map +1 -0
  44. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts +11 -0
  45. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.d.ts.map +1 -0
  46. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js +74 -0
  47. package/dist/confluent/tools/handlers/tableflow/topic/list-tableflow-topics-handler.js.map +1 -0
  48. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts +11 -0
  49. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.d.ts.map +1 -0
  50. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js +66 -0
  51. package/dist/confluent/tools/handlers/tableflow/topic/read-tableflow-topic-handler.js.map +1 -0
  52. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts +11 -0
  53. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.d.ts.map +1 -0
  54. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js +104 -0
  55. package/dist/confluent/tools/handlers/tableflow/topic/update-tableflow-topic-handler.js.map +1 -0
  56. package/dist/confluent/tools/tool-factory.d.ts.map +1 -1
  57. package/dist/confluent/tools/tool-factory.js +38 -1
  58. package/dist/confluent/tools/tool-factory.js.map +1 -1
  59. package/dist/confluent/tools/tool-name.d.ts +12 -1
  60. package/dist/confluent/tools/tool-name.d.ts.map +1 -1
  61. package/dist/confluent/tools/tool-name.js +11 -0
  62. package/dist/confluent/tools/tool-name.js.map +1 -1
  63. package/dist/env-schema.d.ts +15 -0
  64. package/dist/env-schema.d.ts.map +1 -1
  65. package/dist/env-schema.js +27 -3
  66. package/dist/env-schema.js.map +1 -1
  67. package/dist/env.d.ts +5 -0
  68. package/dist/env.d.ts.map +1 -1
  69. package/dist/index.js +6 -2
  70. package/dist/index.js.map +1 -1
  71. package/dist/mcp/transports/http.d.ts +4 -3
  72. package/dist/mcp/transports/http.d.ts.map +1 -1
  73. package/dist/mcp/transports/http.js +76 -21
  74. package/dist/mcp/transports/http.js.map +1 -1
  75. package/dist/mcp/transports/manager.d.ts +2 -2
  76. package/dist/mcp/transports/manager.d.ts.map +1 -1
  77. package/dist/mcp/transports/manager.js +10 -10
  78. package/dist/mcp/transports/manager.js.map +1 -1
  79. package/dist/mcp/transports/ping.d.ts +36 -0
  80. package/dist/mcp/transports/ping.d.ts.map +1 -0
  81. package/dist/mcp/transports/ping.js +29 -0
  82. package/dist/mcp/transports/ping.js.map +1 -0
  83. package/dist/mcp/transports/server.d.ts.map +1 -1
  84. package/dist/mcp/transports/server.js +2 -1
  85. package/dist/mcp/transports/server.js.map +1 -1
  86. package/dist/mcp/transports/sse.d.ts +5 -3
  87. package/dist/mcp/transports/sse.d.ts.map +1 -1
  88. package/dist/mcp/transports/sse.js +20 -4
  89. package/dist/mcp/transports/sse.js.map +1 -1
  90. package/dist/print-md-schema.js +1 -1
  91. package/dist/print-md-schema.js.map +1 -1
  92. package/package.json +24 -23
@@ -0,0 +1,81 @@
1
+ import { getEnsuredParam } from "../../../../../confluent/helpers.js";
2
+ import { BaseToolHandler, } from "../../../../../confluent/tools/base-tools.js";
3
+ import { ToolName } from "../../../../../confluent/tools/tool-name.js";
4
+ import env from "../../../../../env.js";
5
+ import { wrapAsPathBasedClient } from "openapi-fetch";
6
+ import { z } from "zod";
7
+ const createTableflowCatalogIntegrationArguments = z.object({
8
+ baseUrl: z
9
+ .string()
10
+ .trim()
11
+ .describe("The base url of the Tableflow REST API.")
12
+ .url()
13
+ .default(() => env.CONFLUENT_CLOUD_REST_ENDPOINT ?? "")
14
+ .optional(),
15
+ tableflowCatalogIntegrationConfig: z.object({
16
+ // Required fields
17
+ display_name: z
18
+ .string()
19
+ .describe("The name of the Kafka topic for which Tableflow is enabled."),
20
+ config: z.object({
21
+ kind: z
22
+ .string()
23
+ .default("AwsGlue")
24
+ .describe("The type of the catalog integration."),
25
+ provider_integration_id: z
26
+ .string()
27
+ .describe("The provider integration id."),
28
+ }),
29
+ // Optional fields
30
+ suspended: z
31
+ .boolean()
32
+ .optional()
33
+ .default(false)
34
+ .describe("Indicates whether Tableflow Catalog Integration should be suspended. The API allows setting it only to false i.e resume the Catalog Integration."),
35
+ }),
36
+ });
37
+ export class CreateTableFlowCatalogIntegrationHandler extends BaseToolHandler {
38
+ async handle(clientManager, toolArguments) {
39
+ const { baseUrl, tableflowCatalogIntegrationConfig } = createTableflowCatalogIntegrationArguments.parse(toolArguments);
40
+ const environment_id = getEnsuredParam("KAFKA_ENV_ID", "Environment ID is required");
41
+ const kafka_cluster_id = getEnsuredParam("KAFKA_CLUSTER_ID", "Kafka Cluster ID is required");
42
+ if (baseUrl !== undefined && baseUrl !== "") {
43
+ clientManager.setConfluentCloudTableflowRestEndpoint(baseUrl);
44
+ }
45
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudTableflowRestClient());
46
+ const { data: response, error } = await pathBasedClient["/tableflow/v1/catalog-integrations"].POST({
47
+ body: {
48
+ spec: {
49
+ environment: {
50
+ id: environment_id, // Only include id, as the general environment object also requires readonly and resource_name
51
+ },
52
+ kafka_cluster: {
53
+ id: kafka_cluster_id,
54
+ environment: environment_id,
55
+ },
56
+ ...tableflowCatalogIntegrationConfig,
57
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+ }, // Due to how OpenAPI specification is structured and how generators interpret it, we have to treat it as any, as
59
+ // The most likely culprit for mismatch is the reuse of a single base schema for both input (requestBody) and output (responses) evironment.
60
+ },
61
+ });
62
+ if (error) {
63
+ return this.createResponse(`Failed to create Tableflow Catalog Integration for ${tableflowCatalogIntegrationConfig.display_name}: ${JSON.stringify(error)}`, true);
64
+ }
65
+ return this.createResponse(`Tableflow Catalog Integration ${tableflowCatalogIntegrationConfig.display_name} created: ${JSON.stringify(response)}`);
66
+ }
67
+ getToolConfig() {
68
+ return {
69
+ name: ToolName.CREATE_TABLEFLOW_CATALOG_INTEGRATION,
70
+ description: `Make a request to create a catalog integration.`,
71
+ inputSchema: createTableflowCatalogIntegrationArguments.shape,
72
+ };
73
+ }
74
+ getRequiredEnvVars() {
75
+ return ["TABLEFLOW_API_KEY", "TABLEFLOW_API_SECRET"];
76
+ }
77
+ isConfluentCloudOnly() {
78
+ return true;
79
+ }
80
+ }
81
+ //# sourceMappingURL=create-tableflow-catalog-integration-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-tableflow-catalog-integration-handler.js","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/create-tableflow-catalog-integration-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ClientManager } from "../../../../../confluent/client-manager.js";
2
+ import { CallToolResult } from "../../../../../confluent/schema.js";
3
+ import { BaseToolHandler, ToolConfig } from "../../../../../confluent/tools/base-tools.js";
4
+ import { EnvVar } from "../../../../../env-schema.js";
5
+ export declare class DeleteTableFlowCatalogIntegrationHandler extends BaseToolHandler {
6
+ handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ getRequiredEnvVars(): EnvVar[];
9
+ isConfluentCloudOnly(): boolean;
10
+ }
11
+ //# sourceMappingURL=delete-tableflow-catalog-integration-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-tableflow-catalog-integration-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,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,wCAAyC,SAAQ,eAAe;IACrE,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IA8C1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
@@ -0,0 +1,64 @@
1
+ import { getEnsuredParam } from "../../../../../confluent/helpers.js";
2
+ import { BaseToolHandler, } from "../../../../../confluent/tools/base-tools.js";
3
+ import { ToolName } from "../../../../../confluent/tools/tool-name.js";
4
+ import env from "../../../../../env.js";
5
+ import { wrapAsPathBasedClient } from "openapi-fetch";
6
+ import { z } from "zod";
7
+ const deleteTableflowCatalogIntegrationArguments = z.object({
8
+ baseUrl: z
9
+ .string()
10
+ .trim()
11
+ .describe("The base url of the Tableflow REST API.")
12
+ .url()
13
+ .default(() => env.CONFLUENT_CLOUD_REST_ENDPOINT ?? "")
14
+ .optional(),
15
+ id: z.string().describe("The unique identifier for the catalog integration."),
16
+ environmentId: z
17
+ .string()
18
+ .trim()
19
+ .optional()
20
+ .describe("Scope the operation to the given environment."),
21
+ clusterId: z
22
+ .string()
23
+ .trim()
24
+ .optional()
25
+ .describe("Scope the operation to the give Kafka cluster."),
26
+ });
27
+ export class DeleteTableFlowCatalogIntegrationHandler extends BaseToolHandler {
28
+ async handle(clientManager, toolArguments) {
29
+ const { id, environmentId, clusterId, baseUrl } = deleteTableflowCatalogIntegrationArguments.parse(toolArguments);
30
+ const environment_id = getEnsuredParam("KAFKA_ENV_ID", "Environment ID is required", environmentId);
31
+ const kafka_cluster_id = getEnsuredParam("KAFKA_CLUSTER_ID", "Kafka Cluster ID is required", clusterId);
32
+ if (baseUrl !== undefined && baseUrl !== "") {
33
+ clientManager.setConfluentCloudTableflowRestEndpoint(baseUrl);
34
+ }
35
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudTableflowRestClient());
36
+ const { data: response, error } = await pathBasedClient[`/tableflow/v1/catalog-integrations/${id}?environment=${environment_id}&spec.kafka_cluster=${kafka_cluster_id}`].DELETE({
37
+ params: {
38
+ path: {
39
+ id: id,
40
+ environment_id: environment_id,
41
+ kafka_cluster_id: kafka_cluster_id,
42
+ },
43
+ },
44
+ });
45
+ if (error) {
46
+ return this.createResponse(`Failed to delete Tableflow catalog integration ${id}: ${JSON.stringify(error)}`, true);
47
+ }
48
+ return this.createResponse(`Tableflow catalog integration ${id} deleted: ${JSON.stringify(response)}`);
49
+ }
50
+ getToolConfig() {
51
+ return {
52
+ name: ToolName.DELETE_TABLEFLOW_CATALOG_INTEGRATION,
53
+ description: `Make a request to delete a tableflow catalog integration.`,
54
+ inputSchema: deleteTableflowCatalogIntegrationArguments.shape,
55
+ };
56
+ }
57
+ getRequiredEnvVars() {
58
+ return ["TABLEFLOW_API_KEY", "TABLEFLOW_API_SECRET"];
59
+ }
60
+ isConfluentCloudOnly() {
61
+ return true;
62
+ }
63
+ }
64
+ //# sourceMappingURL=delete-tableflow-catalog-integration-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-tableflow-catalog-integration-handler.js","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/delete-tableflow-catalog-integration-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,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,0CAA0C,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CAAC,yCAAyC,CAAC;SACnD,GAAG,EAAE;SACL,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC;SACtD,QAAQ,EAAE;IACb,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC7E,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,OAAO,wCAAyC,SAAQ,eAAe;IAC3E,KAAK,CAAC,MAAM,CACV,aAA4B,EAC5B,aAAkD;QAElD,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,GAC7C,0CAA0C,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAElE,MAAM,cAAc,GAAG,eAAe,CACpC,cAAc,EACd,4BAA4B,EAC5B,aAAa,CACd,CAAC;QAEF,MAAM,gBAAgB,GAAG,eAAe,CACtC,kBAAkB,EAClB,8BAA8B,EAC9B,SAAS,CACV,CAAC;QAEF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAC5C,aAAa,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,CAAC,oCAAoC,EAAE,CACrD,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CACrD,sCAAsC,EAAE,gBAAgB,cAAc,uBAAuB,gBAAgB,EAAE,CAChH,CAAC,MAAM,CAAC;YACP,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,EAAE,EAAE,EAAE;oBACN,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,gBAAgB;iBACnC;aACF;SACF,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,cAAc,CACxB,kDAAkD,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAChF,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CACxB,iCAAiC,EAAE,aAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAC3E,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,oCAAoC;YACnD,WAAW,EAAE,2DAA2D;YACxE,WAAW,EAAE,0CAA0C,CAAC,KAAK;SAC9D,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;IACvD,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { ClientManager } from "../../../../../confluent/client-manager.js";
2
+ import { CallToolResult } from "../../../../../confluent/schema.js";
3
+ import { BaseToolHandler, ToolConfig } from "../../../../../confluent/tools/base-tools.js";
4
+ import { EnvVar } from "../../../../../env-schema.js";
5
+ export declare class ListTableFlowCatalogIntegrationsHandler extends BaseToolHandler {
6
+ handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ getRequiredEnvVars(): EnvVar[];
9
+ isConfluentCloudOnly(): boolean;
10
+ }
11
+ //# sourceMappingURL=list-tableflow-catalog-integrations-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tableflow-catalog-integrations-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,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;AAuC5C,qBAAa,uCAAwC,SAAQ,eAAe;IACpE,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IA2C1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
@@ -0,0 +1,74 @@
1
+ import { getEnsuredParam } from "../../../../../confluent/helpers.js";
2
+ import { BaseToolHandler, } from "../../../../../confluent/tools/base-tools.js";
3
+ import { ToolName } from "../../../../../confluent/tools/tool-name.js";
4
+ import env from "../../../../../env.js";
5
+ import { wrapAsPathBasedClient } from "openapi-fetch";
6
+ import { z } from "zod";
7
+ const listTableFlowCatalogIntegrationsArguments = z.object({
8
+ baseUrl: z
9
+ .string()
10
+ .trim()
11
+ .describe("The base url of the Tableflow REST API.")
12
+ .url()
13
+ .default(() => env.CONFLUENT_CLOUD_REST_ENDPOINT ?? "")
14
+ .optional(),
15
+ environmentId: z
16
+ .string()
17
+ .trim()
18
+ .optional()
19
+ .describe("The unique identifier for the enviornment this resource belongs to."),
20
+ clusterId: z
21
+ .string()
22
+ .trim()
23
+ .optional()
24
+ .describe("The unique identifier for the Kafka Cluster."),
25
+ pageSize: z
26
+ .string()
27
+ .trim()
28
+ .optional()
29
+ .default("10")
30
+ .describe("The pagination size of collection requests."),
31
+ pageToken: z
32
+ .string()
33
+ .trim()
34
+ .optional()
35
+ .default("0")
36
+ .describe("An opaque pagination token for collection requests."),
37
+ });
38
+ export class ListTableFlowCatalogIntegrationsHandler extends BaseToolHandler {
39
+ async handle(clientManager, toolArguments) {
40
+ const { clusterId, environmentId, baseUrl } = listTableFlowCatalogIntegrationsArguments.parse(toolArguments);
41
+ const environment_id = getEnsuredParam("KAFKA_ENV_ID", "Environment ID is required", environmentId);
42
+ const kafka_cluster_id = getEnsuredParam("KAFKA_CLUSTER_ID", "Kafka Cluster ID is required", clusterId);
43
+ if (baseUrl !== undefined && baseUrl !== "") {
44
+ clientManager.setConfluentCloudTableflowRestEndpoint(baseUrl);
45
+ }
46
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudTableflowRestClient());
47
+ const { data: response, error } = await pathBasedClient[`/tableflow/v1/catalog-integrations?environment=${environment_id}&spec.kafka_cluster=${kafka_cluster_id}`].GET({
48
+ params: {
49
+ path: {
50
+ environment_id: environment_id,
51
+ kafka_cluster_id: kafka_cluster_id,
52
+ },
53
+ },
54
+ });
55
+ if (error) {
56
+ return this.createResponse(`Failed to list Tableflow catalog integrations for ${clusterId}: ${JSON.stringify(error)}`, true);
57
+ }
58
+ return this.createResponse(`Tableflow catalog integrations: ${JSON.stringify(response)}`);
59
+ }
60
+ getToolConfig() {
61
+ return {
62
+ name: ToolName.LIST_TABLEFLOW_CATALOG_INTEGRATIONS,
63
+ description: `Retrieve a sorted, filtered, paginated list of all catalog integrations.`,
64
+ inputSchema: listTableFlowCatalogIntegrationsArguments.shape,
65
+ };
66
+ }
67
+ getRequiredEnvVars() {
68
+ return ["TABLEFLOW_API_KEY", "TABLEFLOW_API_SECRET"];
69
+ }
70
+ isConfluentCloudOnly() {
71
+ return true;
72
+ }
73
+ }
74
+ //# sourceMappingURL=list-tableflow-catalog-integrations-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tableflow-catalog-integrations-handler.js","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/list-tableflow-catalog-integrations-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,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,yCAAyC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CAAC,yCAAyC,CAAC;SACnD,GAAG,EAAE;SACL,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC;SACtD,QAAQ,EAAE;IACb,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,qEAAqE,CACtE;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,qDAAqD,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,OAAO,uCAAwC,SAAQ,eAAe;IAC1E,KAAK,CAAC,MAAM,CACV,aAA4B,EAC5B,aAAkD;QAElD,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,GACzC,yCAAyC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEjE,MAAM,cAAc,GAAG,eAAe,CACpC,cAAc,EACd,4BAA4B,EAC5B,aAAa,CACd,CAAC;QACF,MAAM,gBAAgB,GAAG,eAAe,CACtC,kBAAkB,EAClB,8BAA8B,EAC9B,SAAS,CACV,CAAC;QAEF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAC5C,aAAa,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,CAAC,oCAAoC,EAAE,CACrD,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CACrD,kDAAkD,cAAc,uBAAuB,gBAAgB,EAAE,CAC1G,CAAC,GAAG,CAAC;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,gBAAgB;iBACnC;aACF;SACF,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,cAAc,CACxB,qDAAqD,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAC1F,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CACxB,mCAAmC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAC9D,CAAC;IACJ,CAAC;IACD,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,mCAAmC;YAClD,WAAW,EAAE,0EAA0E;YACvF,WAAW,EAAE,yCAAyC,CAAC,KAAK;SAC7D,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;IACvD,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { ClientManager } from "../../../../../confluent/client-manager.js";
2
+ import { CallToolResult } from "../../../../../confluent/schema.js";
3
+ import { BaseToolHandler, ToolConfig } from "../../../../../confluent/tools/base-tools.js";
4
+ import { EnvVar } from "../../../../../env-schema.js";
5
+ export declare class ReadTableFlowCatalogIntegrationHandler extends BaseToolHandler {
6
+ handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ getRequiredEnvVars(): EnvVar[];
9
+ isConfluentCloudOnly(): boolean;
10
+ }
11
+ //# sourceMappingURL=read-tableflow-catalog-integration-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-tableflow-catalog-integration-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,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,sCAAuC,SAAQ,eAAe;IACnE,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IA8C1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
@@ -0,0 +1,64 @@
1
+ import { getEnsuredParam } from "../../../../../confluent/helpers.js";
2
+ import { BaseToolHandler, } from "../../../../../confluent/tools/base-tools.js";
3
+ import { ToolName } from "../../../../../confluent/tools/tool-name.js";
4
+ import env from "../../../../../env.js";
5
+ import { wrapAsPathBasedClient } from "openapi-fetch";
6
+ import { z } from "zod";
7
+ const readTableflowCatalogIntegrationArguments = z.object({
8
+ baseUrl: z
9
+ .string()
10
+ .trim()
11
+ .describe("The base url of the Tableflow REST API.")
12
+ .url()
13
+ .default(() => env.CONFLUENT_CLOUD_REST_ENDPOINT ?? "")
14
+ .optional(),
15
+ id: z.string().describe("The unique identifier for the catalog integration."),
16
+ environmentId: z
17
+ .string()
18
+ .trim()
19
+ .optional()
20
+ .describe("Scope the operation to the given environment."),
21
+ clusterId: z
22
+ .string()
23
+ .trim()
24
+ .optional()
25
+ .describe("Scope the operation to the give Kafka cluster."),
26
+ });
27
+ export class ReadTableFlowCatalogIntegrationHandler extends BaseToolHandler {
28
+ async handle(clientManager, toolArguments) {
29
+ const { id, environmentId, clusterId, baseUrl } = readTableflowCatalogIntegrationArguments.parse(toolArguments);
30
+ const environment_id = getEnsuredParam("KAFKA_ENV_ID", "Environment ID is required", environmentId);
31
+ const kafka_cluster_id = getEnsuredParam("KAFKA_CLUSTER_ID", "Kafka Cluster ID is required", clusterId);
32
+ if (baseUrl !== undefined && baseUrl !== "") {
33
+ clientManager.setConfluentCloudTableflowRestEndpoint(baseUrl);
34
+ }
35
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudTableflowRestClient());
36
+ const { data: response, error } = await pathBasedClient[`/tableflow/v1/catalog-integrations/${id}?environment=${environment_id}&spec.kafka_cluster=${kafka_cluster_id}`].GET({
37
+ params: {
38
+ path: {
39
+ id: id,
40
+ environment_id: environment_id,
41
+ kafka_cluster_id: kafka_cluster_id,
42
+ },
43
+ },
44
+ });
45
+ if (error) {
46
+ return this.createResponse(`Failed to read Tableflow catalog integration ${id}: ${JSON.stringify(error)}`, true);
47
+ }
48
+ return this.createResponse(`Tableflow catalog integration: ${JSON.stringify(response)}`);
49
+ }
50
+ getToolConfig() {
51
+ return {
52
+ name: ToolName.READ_TABLEFLOW_CATALOG_INTEGRATION,
53
+ description: `Make a request to read a catalog integration.`,
54
+ inputSchema: readTableflowCatalogIntegrationArguments.shape,
55
+ };
56
+ }
57
+ getRequiredEnvVars() {
58
+ return ["TABLEFLOW_API_KEY", "TABLEFLOW_API_SECRET"];
59
+ }
60
+ isConfluentCloudOnly() {
61
+ return true;
62
+ }
63
+ }
64
+ //# sourceMappingURL=read-tableflow-catalog-integration-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-tableflow-catalog-integration-handler.js","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/read-tableflow-catalog-integration-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,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,wCAAwC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CAAC,yCAAyC,CAAC;SACnD,GAAG,EAAE;SACL,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC;SACtD,QAAQ,EAAE;IACb,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC7E,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,OAAO,sCAAuC,SAAQ,eAAe;IACzE,KAAK,CAAC,MAAM,CACV,aAA4B,EAC5B,aAAkD;QAElD,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,GAC7C,wCAAwC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAEhE,MAAM,cAAc,GAAG,eAAe,CACpC,cAAc,EACd,4BAA4B,EAC5B,aAAa,CACd,CAAC;QAEF,MAAM,gBAAgB,GAAG,eAAe,CACtC,kBAAkB,EAClB,8BAA8B,EAC9B,SAAS,CACV,CAAC;QAEF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAC5C,aAAa,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,CAAC,oCAAoC,EAAE,CACrD,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CACrD,sCAAsC,EAAE,gBAAgB,cAAc,uBAAuB,gBAAgB,EAAE,CAChH,CAAC,GAAG,CAAC;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,EAAE,EAAE,EAAE;oBACN,cAAc,EAAE,cAAc;oBAC9B,gBAAgB,EAAE,gBAAgB;iBACnC;aACF;SACF,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,cAAc,CACxB,gDAAgD,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAC9E,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CACxB,kCAAkC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,kCAAkC;YACjD,WAAW,EAAE,+CAA+C;YAC5D,WAAW,EAAE,wCAAwC,CAAC,KAAK;SAC5D,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;IACvD,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { ClientManager } from "../../../../../confluent/client-manager.js";
2
+ import { CallToolResult } from "../../../../../confluent/schema.js";
3
+ import { BaseToolHandler, ToolConfig } from "../../../../../confluent/tools/base-tools.js";
4
+ import { EnvVar } from "../../../../../env-schema.js";
5
+ export declare class UpdateTableFlowCatalogIntegrationHandler extends BaseToolHandler {
6
+ handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ getRequiredEnvVars(): EnvVar[];
9
+ isConfluentCloudOnly(): boolean;
10
+ }
11
+ //# sourceMappingURL=update-tableflow-catalog-integration-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-tableflow-catalog-integration-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.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;AAgD5C,qBAAa,wCAAyC,SAAQ,eAAe;IACrE,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IAqC1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
@@ -0,0 +1,81 @@
1
+ import { BaseToolHandler, } from "../../../../../confluent/tools/base-tools.js";
2
+ import { ToolName } from "../../../../../confluent/tools/tool-name.js";
3
+ import env from "../../../../../env.js";
4
+ import { wrapAsPathBasedClient } from "openapi-fetch";
5
+ import { z } from "zod";
6
+ const updateTableflowCatalogIntegrationArguments = z.object({
7
+ baseUrl: z
8
+ .string()
9
+ .trim()
10
+ .describe("The base url of the Tableflow REST API.")
11
+ .url()
12
+ .default(() => env.CONFLUENT_CLOUD_REST_ENDPOINT ?? "")
13
+ .optional(),
14
+ tableflowCatalogIntegrationConfig: z.object({
15
+ // Required fields
16
+ display_name: z
17
+ .string()
18
+ .describe("The name of the Kafka topic for which Tableflow is enabled."),
19
+ environment: z.object({
20
+ id: z
21
+ .string()
22
+ .describe("The unique identifier for the environment this resource belongs to."),
23
+ }),
24
+ kafka_cluster: z.object({
25
+ id: z.string().describe("ID of the referred resource"),
26
+ environment: z
27
+ .string()
28
+ .describe("Environment of the referred resource, if env-scoped"),
29
+ }),
30
+ config: z.object({
31
+ kind: z
32
+ .string()
33
+ .default("AwsGlue")
34
+ .describe("The type of the catalog integration. AwsGlue, Snowflake"),
35
+ }),
36
+ // Optional fields
37
+ suspended: z
38
+ .boolean()
39
+ .optional()
40
+ .default(false)
41
+ .describe("Indicates whether Tableflow Catalog Integration should be suspended. The API allows setting it only to false i.e resume the Catalog Integration."),
42
+ }),
43
+ });
44
+ export class UpdateTableFlowCatalogIntegrationHandler extends BaseToolHandler {
45
+ async handle(clientManager, toolArguments) {
46
+ const { baseUrl, tableflowCatalogIntegrationConfig } = updateTableflowCatalogIntegrationArguments.parse(toolArguments);
47
+ if (baseUrl !== undefined && baseUrl !== "") {
48
+ clientManager.setConfluentCloudTableflowRestEndpoint(baseUrl);
49
+ }
50
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudTableflowRestClient());
51
+ const { environment, ...restOfTableflowCatalogIntegrationConfig } = tableflowCatalogIntegrationConfig;
52
+ const { data: response, error } = await pathBasedClient["/tableflow/v1/catalog-integrations"].POST({
53
+ body: {
54
+ spec: {
55
+ ...restOfTableflowCatalogIntegrationConfig,
56
+ environment: { id: environment.id }, // Only include id, as the general environment as requires readonly and resource_name
57
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+ }, // Due to how OpenAPI specification is structured and how generators interpret it, we have to treat it as any, as
59
+ // The most likely culprit for mismatch is the reuse of a single base schema for both input (requestBody) and output (responses) evironment.
60
+ },
61
+ });
62
+ if (error) {
63
+ return this.createResponse(`Failed to update Tableflow Catalog Integration for ${tableflowCatalogIntegrationConfig.display_name}: ${JSON.stringify(error)}`, true);
64
+ }
65
+ return this.createResponse(`Tableflow Catalog Integration ${tableflowCatalogIntegrationConfig.display_name} updated: ${JSON.stringify(response)}`);
66
+ }
67
+ getToolConfig() {
68
+ return {
69
+ name: ToolName.UPDATE_TABLEFLOW_CATALOG_INTEGRATION,
70
+ description: `Make a request to update a catalog integration.`,
71
+ inputSchema: updateTableflowCatalogIntegrationArguments.shape,
72
+ };
73
+ }
74
+ getRequiredEnvVars() {
75
+ return ["TABLEFLOW_API_KEY", "TABLEFLOW_API_SECRET"];
76
+ }
77
+ isConfluentCloudOnly() {
78
+ return true;
79
+ }
80
+ }
81
+ //# sourceMappingURL=update-tableflow-catalog-integration-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-tableflow-catalog-integration-handler.js","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/catalog/update-tableflow-catalog-integration-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ClientManager } from "../../../../confluent/client-manager.js";
2
+ import { CallToolResult } from "../../../../confluent/schema.js";
3
+ import { BaseToolHandler, ToolConfig } from "../../../../confluent/tools/base-tools.js";
4
+ import { EnvVar } from "../../../../env-schema.js";
5
+ export declare class ListTableFlowRegionsHandler extends BaseToolHandler {
6
+ handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ getRequiredEnvVars(): EnvVar[];
9
+ isConfluentCloudOnly(): boolean;
10
+ }
11
+ //# sourceMappingURL=list-tableflow-regions-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tableflow-regions-handler.d.ts","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.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;AAgC5C,qBAAa,2BAA4B,SAAQ,eAAe;IACxD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IA+B1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}
@@ -0,0 +1,65 @@
1
+ import { BaseToolHandler, } from "../../../../confluent/tools/base-tools.js";
2
+ import { ToolName } from "../../../../confluent/tools/tool-name.js";
3
+ import env from "../../../../env.js";
4
+ import { wrapAsPathBasedClient } from "openapi-fetch";
5
+ import { z } from "zod";
6
+ const listTableFlowRegionsArguments = z.object({
7
+ baseUrl: z
8
+ .string()
9
+ .trim()
10
+ .describe("The base url of the Tableflow REST API.")
11
+ .url()
12
+ .default(() => env.CONFLUENT_CLOUD_REST_ENDPOINT ?? "")
13
+ .optional(),
14
+ cloud: z
15
+ .string()
16
+ .trim()
17
+ .optional()
18
+ .describe("Filter the results by exact match for cloud."),
19
+ pageSize: z
20
+ .string()
21
+ .trim()
22
+ .optional()
23
+ .default("10")
24
+ .describe("The pagination size of collection requests."),
25
+ pageToken: z
26
+ .string()
27
+ .trim()
28
+ .optional()
29
+ .default("0")
30
+ .describe("An opaque pagination token for collection requests."),
31
+ });
32
+ export class ListTableFlowRegionsHandler extends BaseToolHandler {
33
+ async handle(clientManager, toolArguments) {
34
+ const { cloud, baseUrl } = listTableFlowRegionsArguments.parse(toolArguments);
35
+ if (baseUrl !== undefined && baseUrl !== "") {
36
+ clientManager.setConfluentCloudTableflowRestEndpoint(baseUrl);
37
+ }
38
+ const pathBasedClient = wrapAsPathBasedClient(clientManager.getConfluentCloudTableflowRestClient());
39
+ const { data: response, error } = await pathBasedClient[`/tableflow/v1/regions?cloud=${cloud}`].GET({
40
+ params: {
41
+ path: {
42
+ cloud: cloud,
43
+ },
44
+ },
45
+ });
46
+ if (error) {
47
+ return this.createResponse(`Failed to list Tableflow regions for ${cloud}: ${JSON.stringify(error)}`, true);
48
+ }
49
+ return this.createResponse(`Tableflow Regions: ${JSON.stringify(response)}`);
50
+ }
51
+ getToolConfig() {
52
+ return {
53
+ name: ToolName.LIST_TABLEFLOW_REGIONS,
54
+ description: `Retrieve a sorted, filtered, paginated list of all tableflow regions.`,
55
+ inputSchema: listTableFlowRegionsArguments.shape,
56
+ };
57
+ }
58
+ getRequiredEnvVars() {
59
+ return ["TABLEFLOW_API_KEY", "TABLEFLOW_API_SECRET"];
60
+ }
61
+ isConfluentCloudOnly() {
62
+ return true;
63
+ }
64
+ }
65
+ //# sourceMappingURL=list-tableflow-regions-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tableflow-regions-handler.js","sourceRoot":"","sources":["../../../../../src/confluent/tools/handlers/tableflow/list-tableflow-regions-handler.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,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CAAC,yCAAyC,CAAC;SACnD,GAAG,EAAE;SACL,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC;SACtD,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,qDAAqD,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,OAAO,2BAA4B,SAAQ,eAAe;IAC9D,KAAK,CAAC,MAAM,CACV,aAA4B,EAC5B,aAAkD;QAElD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GACtB,6BAA6B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAErD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAC5C,aAAa,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,eAAe,GAAG,qBAAqB,CAC3C,aAAa,CAAC,oCAAoC,EAAE,CACrD,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CACrD,+BAA+B,KAAK,EAAE,CACvC,CAAC,GAAG,CAAC;YACJ,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,KAAK,EAAE,KAAK;iBACb;aACF;SACF,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,cAAc,CACxB,yCAAyC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAC1E,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CACxB,sBAAsB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CACjD,CAAC;IACJ,CAAC;IACD,aAAa;QACX,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,sBAAsB;YACrC,WAAW,EAAE,uEAAuE;YACpF,WAAW,EAAE,6BAA6B,CAAC,KAAK;SACjD,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;IACvD,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { ClientManager } from "../../../../../confluent/client-manager.js";
2
+ import { CallToolResult } from "../../../../../confluent/schema.js";
3
+ import { BaseToolHandler, ToolConfig } from "../../../../../confluent/tools/base-tools.js";
4
+ import { EnvVar } from "../../../../../env-schema.js";
5
+ export declare class CreateTableFlowTopicHandler extends BaseToolHandler {
6
+ handle(clientManager: ClientManager, toolArguments: Record<string, unknown> | undefined): Promise<CallToolResult>;
7
+ getToolConfig(): ToolConfig;
8
+ getRequiredEnvVars(): EnvVar[];
9
+ isConfluentCloudOnly(): boolean;
10
+ }
11
+ //# sourceMappingURL=create-tableflow-topic-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-tableflow-topic-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/confluent/tools/handlers/tableflow/topic/create-tableflow-topic-handler.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;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA2D5C,qBAAa,2BAA4B,SAAQ,eAAe;IACxD,MAAM,CACV,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,cAAc,CAAC;IAkD1B,aAAa,IAAI,UAAU;IAQ3B,kBAAkB,IAAI,MAAM,EAAE;IAI9B,oBAAoB,IAAI,OAAO;CAGhC"}