- Introduced LLMTool interface for LLM providers, defining methods for text generation and health checks.
- Created PromptGeneratorTool interface for generating database-specific prompts, including SQL to natural language and vice versa.
- Implemented FileStorageTool and MetadataStoreTool interfaces for file operations and metadata persistence, respectively.
- Defined core types including DatabaseType, QueryHash, and QueryMetric to support optimization flows.
- Established exception handling with specific error classes for query validation, LLM provider issues, and optimization errors.
- Added data models for optimization metadata and results, supporting serialization and versioning.