UNPKG

woaru

Version:

Universal Project Setup Autopilot - Analyze and automatically configure development tools for ANY programming language

387 lines โ€ข 13.7 kB
import { z } from 'zod'; /** * ๐Ÿ›ก๏ธ WOARU Schema Validation - KI-freundliche Regelwelt * * Zod Schema Definitions fรผr alle WOARU Konfigurationsdateien * Teil der "KI-freundlichen Regelwelt" - strikte Typen fรผr AI-Assistenten */ /** * ๐Ÿ”ง Tools Database Package Configuration Schema */ export declare const ToolPackageSchema: z.ZodObject<{ description: z.ZodString; packages: z.ZodArray<z.ZodString>; configs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>; configFiles: z.ZodOptional<z.ZodArray<z.ZodString>>; metadata: z.ZodOptional<z.ZodObject<{ priority: z.ZodOptional<z.ZodNumber>; compatibility: z.ZodOptional<z.ZodArray<z.ZodString>>; lastUpdated: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>; /** * ๐Ÿ—๏ธ Framework Configuration Schema */ export declare const FrameworkSchema: z.ZodObject<{ name: z.ZodString; detectionFiles: z.ZodOptional<z.ZodArray<z.ZodString>>; detectionPackages: z.ZodOptional<z.ZodArray<z.ZodString>>; recommendedTools: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>; specificPackages: z.ZodOptional<z.ZodArray<z.ZodString>>; metadata: z.ZodOptional<z.ZodObject<{ version: z.ZodOptional<z.ZodString>; popularity: z.ZodOptional<z.ZodNumber>; maintainedStatus: z.ZodOptional<z.ZodEnum<{ active: "active"; maintenance: "maintenance"; deprecated: "deprecated"; }>>; }, z.core.$strip>>; }, z.core.$strip>; /** * ๐Ÿ“Š Tools Database Metadata Schema */ export declare const ToolsDatabaseMetadataSchema: z.ZodObject<{ updateFrequency: z.ZodEnum<{ daily: "daily"; weekly: "weekly"; monthly: "monthly"; }>; sources: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; url: z.ZodString; type: z.ZodEnum<{ npm: "npm"; github: "github"; pypi: "pypi"; nuget: "nuget"; maven: "maven"; other: "other"; }>; }, z.core.$strip>>>; lastDataUpdate: z.ZodOptional<z.ZodString>; totalTools: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>; /** * ๐Ÿ—„๏ธ Complete Tools Database Schema */ export declare const ToolsDatabaseSchema: z.ZodObject<{ version: z.ZodString; lastUpdated: z.ZodString; categories: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{ description: z.ZodString; packages: z.ZodArray<z.ZodString>; configs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>; configFiles: z.ZodOptional<z.ZodArray<z.ZodString>>; metadata: z.ZodOptional<z.ZodObject<{ priority: z.ZodOptional<z.ZodNumber>; compatibility: z.ZodOptional<z.ZodArray<z.ZodString>>; lastUpdated: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>>>; frameworks: z.ZodRecord<z.ZodString, z.ZodObject<{ name: z.ZodString; detectionFiles: z.ZodOptional<z.ZodArray<z.ZodString>>; detectionPackages: z.ZodOptional<z.ZodArray<z.ZodString>>; recommendedTools: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>; specificPackages: z.ZodOptional<z.ZodArray<z.ZodString>>; metadata: z.ZodOptional<z.ZodObject<{ version: z.ZodOptional<z.ZodString>; popularity: z.ZodOptional<z.ZodNumber>; maintainedStatus: z.ZodOptional<z.ZodEnum<{ active: "active"; maintenance: "maintenance"; deprecated: "deprecated"; }>>; }, z.core.$strip>>; }, z.core.$strip>>; metadata: z.ZodOptional<z.ZodObject<{ updateFrequency: z.ZodEnum<{ daily: "daily"; weekly: "weekly"; monthly: "monthly"; }>; sources: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; url: z.ZodString; type: z.ZodEnum<{ npm: "npm"; github: "github"; pypi: "pypi"; nuget: "nuget"; maven: "maven"; other: "other"; }>; }, z.core.$strip>>>; lastDataUpdate: z.ZodOptional<z.ZodString>; totalTools: z.ZodOptional<z.ZodNumber>; }, z.core.$strip>>; }, z.core.$strip>; /** * ๐Ÿ‘ค User Configuration Schema */ export declare const UserConfigSchema: z.ZodObject<{ language: z.ZodOptional<z.ZodEnum<{ de: "de"; en: "en"; }>>; preferences: z.ZodOptional<z.ZodObject<{ theme: z.ZodOptional<z.ZodEnum<{ dark: "dark"; light: "light"; auto: "auto"; }>>; verbosity: z.ZodOptional<z.ZodEnum<{ quiet: "quiet"; normal: "normal"; verbose: "verbose"; }>>; autoUpdate: z.ZodOptional<z.ZodBoolean>; telemetry: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>>; lastModified: z.ZodOptional<z.ZodString>; version: z.ZodOptional<z.ZodString>; }, z.core.$strip>; /** * ๐Ÿ“„ Template Configuration Schema */ export declare const TemplateConfigSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; version: z.ZodString; author: z.ZodOptional<z.ZodString>; files: z.ZodArray<z.ZodObject<{ path: z.ZodString; content: z.ZodString; executable: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>>; variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{ description: z.ZodString; default: z.ZodOptional<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodBoolean]>>; required: z.ZodOptional<z.ZodBoolean>; type: z.ZodOptional<z.ZodEnum<{ string: "string"; number: "number"; boolean: "boolean"; }>>; }, z.core.$strip>>>; metadata: z.ZodOptional<z.ZodObject<{ category: z.ZodOptional<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; license: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; }, z.core.$strip>; /** * ๐Ÿ›ก๏ธ WOARU AI Configuration Schema (Zod) * * Diese Schemas validieren die Struktur der ai_config.json und stellen sicher, * dass alle Konfigurationen den definierten Regeln entsprechen. * * Teil der "KI-freundlichen Regelwelt" - garantiert konsistente Datenstrukturen. */ export declare const ProviderTypeSchema: z.ZodEnum<{ openai: "openai"; anthropic: "anthropic"; google: "google"; "custom-ollama": "custom-ollama"; "azure-openai": "azure-openai"; }>; export declare const LLMProviderConfigSchema: z.ZodObject<{ id: z.ZodString; providerType: z.ZodEnum<{ openai: "openai"; anthropic: "anthropic"; google: "google"; "custom-ollama": "custom-ollama"; "azure-openai": "azure-openai"; }>; apiKeyEnvVar: z.ZodString; baseUrl: z.ZodString; model: z.ZodString; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; bodyTemplate: z.ZodString; timeout: z.ZodOptional<z.ZodNumber>; maxTokens: z.ZodOptional<z.ZodNumber>; temperature: z.ZodOptional<z.ZodNumber>; enabled: z.ZodBoolean; }, z.core.$strip>; export declare const AIReviewConfigSchema: z.ZodObject<{ providers: z.ZodArray<z.ZodObject<{ id: z.ZodString; providerType: z.ZodEnum<{ openai: "openai"; anthropic: "anthropic"; google: "google"; "custom-ollama": "custom-ollama"; "azure-openai": "azure-openai"; }>; apiKeyEnvVar: z.ZodString; baseUrl: z.ZodString; model: z.ZodString; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; bodyTemplate: z.ZodString; timeout: z.ZodOptional<z.ZodNumber>; maxTokens: z.ZodOptional<z.ZodNumber>; temperature: z.ZodOptional<z.ZodNumber>; enabled: z.ZodBoolean; }, z.core.$strip>>; parallelRequests: z.ZodBoolean; consensusMode: z.ZodBoolean; minConsensusCount: z.ZodNumber; tokenLimit: z.ZodNumber; costThreshold: z.ZodNumber; }, z.core.$strip>; export declare const ConfigMetadataSchema: z.ZodObject<{ created: z.ZodString; description: z.ZodString; lastModified: z.ZodOptional<z.ZodString>; version: z.ZodOptional<z.ZodString>; }, z.core.$strip>; export declare const AIConfigFileSchema: z.ZodObject<{ _metadata: z.ZodObject<{ created: z.ZodString; description: z.ZodString; lastModified: z.ZodOptional<z.ZodString>; version: z.ZodOptional<z.ZodString>; }, z.core.$strip>; multi_ai_review_enabled: z.ZodBoolean; primary_review_provider_id: z.ZodNullable<z.ZodString>; }, z.core.$catchall<z.ZodUnion<readonly [z.ZodObject<{ id: z.ZodString; providerType: z.ZodEnum<{ openai: "openai"; anthropic: "anthropic"; google: "google"; "custom-ollama": "custom-ollama"; "azure-openai": "azure-openai"; }>; apiKeyEnvVar: z.ZodString; baseUrl: z.ZodString; model: z.ZodString; headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; bodyTemplate: z.ZodString; timeout: z.ZodOptional<z.ZodNumber>; maxTokens: z.ZodOptional<z.ZodNumber>; temperature: z.ZodOptional<z.ZodNumber>; enabled: z.ZodBoolean; }, z.core.$strip>, z.ZodUnknown]>>>; export declare const ToolConfigSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; category: z.ZodString; language: z.ZodString; homepage: z.ZodOptional<z.ZodString>; installation: z.ZodOptional<z.ZodObject<{ npm: z.ZodOptional<z.ZodString>; pip: z.ZodOptional<z.ZodString>; cargo: z.ZodOptional<z.ZodString>; go: z.ZodOptional<z.ZodString>; manual: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; filePatterns: z.ZodOptional<z.ZodArray<z.ZodString>>; commands: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; priority: z.ZodOptional<z.ZodNumber>; enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>; export declare const LegacyToolsDatabaseSchema: z.ZodRecord<z.ZodString, z.ZodObject<{ name: z.ZodString; description: z.ZodString; category: z.ZodString; language: z.ZodString; homepage: z.ZodOptional<z.ZodString>; installation: z.ZodOptional<z.ZodObject<{ npm: z.ZodOptional<z.ZodString>; pip: z.ZodOptional<z.ZodString>; cargo: z.ZodOptional<z.ZodString>; go: z.ZodOptional<z.ZodString>; manual: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; configuration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; filePatterns: z.ZodOptional<z.ZodArray<z.ZodString>>; commands: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; priority: z.ZodOptional<z.ZodNumber>; enabled: z.ZodOptional<z.ZodBoolean>; }, z.core.$strip>>; export type LLMProviderConfig = z.infer<typeof LLMProviderConfigSchema>; export type AIReviewConfig = z.infer<typeof AIReviewConfigSchema>; export type ConfigMetadata = z.infer<typeof ConfigMetadataSchema>; export type AIConfigFile = z.infer<typeof AIConfigFileSchema>; export type ToolConfig = z.infer<typeof ToolConfigSchema>; export type SchemaToolsDatabase = z.infer<typeof LegacyToolsDatabaseSchema>; export type ToolPackage = z.infer<typeof ToolPackageSchema>; export type Framework = z.infer<typeof FrameworkSchema>; export type ToolsDatabaseMetadata = z.infer<typeof ToolsDatabaseMetadataSchema>; export type CompleteToolsDatabase = z.infer<typeof ToolsDatabaseSchema>; export type UserConfig = z.infer<typeof UserConfigSchema>; export type TemplateConfig = z.infer<typeof TemplateConfigSchema>; /** * ๐ŸŽฏ Schema Validation Utilities */ export declare class SchemaValidator { /** * Validiert eine AI-Konfigurationsdatei gegen das Schema */ static validateAIConfig(data: unknown): { success: boolean; data?: AIConfigFile; errors?: string[]; }; /** * Validiert eine Tools-Datenbank gegen das Schema (Legacy) */ static validateToolsDatabase(data: unknown): { success: boolean; data?: SchemaToolsDatabase; errors?: string[]; }; /** * ๐Ÿ—„๏ธ Validiert die vollstรคndige Tools-Datenbank (Neue Struktur) */ static validateCompleteToolsDatabase(data: unknown): { success: boolean; data?: CompleteToolsDatabase; errors?: string[]; }; /** * ๐Ÿ‘ค Validiert User-Konfiguration */ static validateUserConfig(data: unknown): { success: boolean; data?: UserConfig; errors?: string[]; }; /** * ๐Ÿ“„ Validiert Template-Konfiguration */ static validateTemplateConfig(data: unknown): { success: boolean; data?: TemplateConfig; errors?: string[]; }; /** * ๐Ÿ”ง Validiert einzelnes Tool-Package */ static validateToolPackage(data: unknown): { success: boolean; data?: ToolPackage; errors?: string[]; }; /** * ๐Ÿ—๏ธ Validiert Framework-Konfiguration */ static validateFramework(data: unknown): { success: boolean; data?: Framework; errors?: string[]; }; /** * Validiert eine einzelne Provider-Konfiguration */ static validateProviderConfig(data: unknown): { success: boolean; data?: LLMProviderConfig; errors?: string[]; }; } //# sourceMappingURL=ai-config.schema.d.ts.map