import { CallToolResult } from "../../../../confluent/schema.js"; import { BaseToolHandler, ToolCategory, ToolConfig } from "../../../../confluent/tools/base-tools.js"; import { ServerRuntime } from "../../../../server-runtime.js"; import { z } from "zod"; export declare const describeConsumerGroupArgs: z.ZodObject<{ groupId: z.ZodString; cluster_id: z.ZodOptional; environment_id: z.ZodOptional; }, z.core.$strip>; /** One topic/partition pair from a member's assignment. Deliberately narrower * than the upstream {@link KafkaJS} `TopicPartition` — that type carries * optional `error` and `leaderEpoch` fields which aren't meaningful for a * consumer-group member assignment payload, so the handler strips them so * callers see exactly the two-field shape the issue spec promised. */ export type AssignedPartition = { topic: string; partition: number; }; /** Per-member entry on the response. `groupInstanceId` is present only when * the upstream {@link MemberDescription} carries it (static membership). */ export type DescribeConsumerGroupMember = { memberId: string; clientId: string; clientHost: string; groupInstanceId?: string; assignment: AssignedPartition[]; }; /** Coordinator entry on the response. `rack` is present only when the * upstream {@link KafkaJS} `Node` carries it. */ export type DescribeConsumerGroupCoordinator = { id: number; host: string; port: number; rack?: string; }; /** * Wire-format response payload. `Record` compatibility lets * it thread cleanly through MCP's `structuredContent` channel without a * boundary cast at the call site. * * Deliberately omits the raw `memberAssignment` / `memberMetadata` Buffer * fields the upstream {@link MemberDescription} carries — they're * librdkafka's protocol-level encoded form and useless to an LLM caller. * Each member's {@link AssignedPartition}[] on `assignment` is the * equivalent information in a callable shape, narrower than the upstream * {@link KafkaJS} `TopicPartition` (no `error` / `leaderEpoch` fields). */ export type DescribeConsumerGroupResponse = { groupId: string; state: string; type: string; protocol: string; partitionAssignor: string; isSimpleConsumerGroup: boolean; coordinator: DescribeConsumerGroupCoordinator; members: DescribeConsumerGroupMember[]; } & Record; export declare class DescribeConsumerGroupHandler extends BaseToolHandler { readonly category = ToolCategory.Kafka; readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate; getToolConfig(): ToolConfig; handle(runtime: ServerRuntime, toolArguments: Record): Promise; } //# sourceMappingURL=describe-consumer-group-handler.d.ts.map