@vfarcic/dot-ai
Version:
AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance
69 lines • 2.19 kB
TypeScript
/**
* Query Tool - Natural Language Cluster Intelligence
*
* Provides natural language query interface to discover and understand
* cluster capabilities and resources.
*
* PRD #291: Cluster Query Tool - Natural Language Cluster Intelligence
*/
import { z } from 'zod';
import { PluginManager } from '../core/plugin-manager';
import { CachedVisualization } from '../core/visualization';
export declare const QUERY_TOOL_NAME = "query";
export declare const QUERY_TOOL_DESCRIPTION = "Natural language query interface for Kubernetes cluster intelligence. Ask any questions about your cluster resources, capabilities, and status in plain English. Examples: \"What databases are running?\", \"Describe the nginx deployment\", \"Show me pods in the kube-system namespace\", \"What operators are installed?\", \"Is my-postgres healthy?\"";
export declare const QUERY_TOOL_INPUT_SCHEMA: {
intent: z.ZodString;
interaction_id: z.ZodOptional<z.ZodString>;
};
export interface QueryInput {
intent: string;
interaction_id?: string;
}
export interface QuerySessionData {
toolName: 'query';
intent: string;
summary: string;
toolsUsed: string[];
iterations: number;
toolCallsExecuted: Array<{
tool: string;
input: unknown;
output: unknown;
}>;
cachedVisualization?: CachedVisualization;
}
export interface QueryOutput {
success: boolean;
summary: string;
toolsUsed: string[];
iterations: number;
sessionId?: string;
visualizationUrl?: string;
agentInstructions: string;
error?: {
code: string;
message: string;
};
content?: Array<{
type: string;
text: string;
}>;
}
/**
* Main query tool handler
*
* PRD #343: When pluginManager is provided, kubectl tools are routed through
* the plugin system instead of local execution.
*/
interface QueryToolArgs {
intent?: string;
interaction_id?: string;
}
export declare function handleQueryTool(args: QueryToolArgs, pluginManager?: PluginManager): Promise<QueryOutput | {
content: Array<{
type: string;
text: string;
}>;
}>;
export {};
//# sourceMappingURL=query.d.ts.map