@vfarcic/dot-ai
Version:
AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance
174 lines • 4.81 kB
TypeScript
/**
* Version tool for MCP server
*
* Provides comprehensive system status including version information,
* Vector DB connection status, and embedding service capabilities
*
* PRD #343: Kubernetes interactions migrated to plugin system
*/
import { z } from 'zod';
import { Logger } from '../core/error-handling';
import { BaseVisualizationData } from '../core/visualization';
export declare const VERSION_TOOL_NAME = "version";
export declare const VERSION_TOOL_DESCRIPTION = "Get comprehensive system health and diagnostics";
export declare const VERSION_TOOL_INPUT_SCHEMA: {
interaction_id: z.ZodOptional<z.ZodString>;
};
export interface VersionInfo {
version: string;
nodeVersion: string;
platform: string;
arch: string;
}
export interface SystemStatus {
version: VersionInfo;
vectorDB: {
connected: boolean;
url: string;
error?: string;
collections: {
patterns: {
exists: boolean;
documentsCount?: number;
error?: string;
};
policies: {
exists: boolean;
documentsCount?: number;
error?: string;
};
capabilities: {
exists: boolean;
documentsCount?: number;
error?: string;
};
resources: {
exists: boolean;
documentsCount?: number;
error?: string;
};
knowledgeBase: {
exists: boolean;
documentsCount?: number;
error?: string;
};
};
};
embedding: {
available: boolean;
provider: string | null;
model?: string;
dimensions?: number;
reason?: string;
};
aiProvider: {
connected: boolean;
keyConfigured: boolean;
providerType?: string;
modelName?: string;
error?: string;
};
kubernetes: {
connected: boolean;
clusterInfo?: {
endpoint?: string;
version?: string;
context?: string;
};
kubeconfig: string;
error?: string;
errorType?: string;
};
capabilities: {
systemReady: boolean;
vectorDBHealthy: boolean;
collectionAccessible: boolean;
storedCount?: number;
error?: string;
rawError?: string;
lastDiagnosis: string;
};
kyverno: {
installed: boolean;
version?: string;
webhookReady?: boolean;
policyGenerationReady: boolean;
error?: string;
reason?: string;
};
tracing: {
enabled: boolean;
exporterType: string;
endpoint?: string;
serviceName: string;
initialized: boolean;
};
plugins?: {
pluginCount: number;
toolCount: number;
plugins: Array<{
name: string;
version: string;
toolCount: number;
}>;
pendingDiscovery: string[];
backgroundDiscoveryActive: boolean;
};
mcpServers?: {
serverCount: number;
toolCount: number;
servers: Array<{
name: string;
version?: string;
endpoint: string;
attachTo: string[];
toolCount: number;
tools: string[];
}>;
};
}
export interface VersionSessionData extends BaseVisualizationData {
toolName: 'version';
system: SystemStatus;
summary: {
overall: 'healthy' | 'degraded';
patternSearch: string;
capabilityScanning: string;
kubernetesAccess: string;
policyIntentManagement: string;
kyvernoPolicyGeneration: string;
capabilities: string[];
};
timestamp: string;
status: 'success' | 'error';
}
/**
* Get version information from package.json
*/
export declare function getVersionInfo(): VersionInfo;
/**
* Get OpenTelemetry tracing status
*/
export declare function getTracingStatus(): SystemStatus['tracing'];
/**
* Get Kyverno status via plugin (PRD #343)
* PRD #359: Uses unified plugin registry
*/
export declare function getKyvernoStatusViaPlugin(): Promise<SystemStatus['kyverno']>;
/**
* Handle version tool request with comprehensive system diagnostics
*
* PRD #359: Uses unified plugin registry for all K8s interactions
*/
interface VersionToolArgs {
interaction_id?: string;
}
interface VersionToolResponse {
content: Array<{
type: 'text';
text: string;
}>;
}
export declare function handleVersionTool(args: VersionToolArgs | undefined, logger: Logger, requestId: string): Promise<VersionToolResponse>;
export {};
//# sourceMappingURL=version.d.ts.map