package openai import "github.com/jobs-scraper/internal/domain" // JobAnalysisService defines the interface for job analysis services type JobAnalysisService interface { // AnalyzeJobDescription analyzes a job description against a CV AnalyzeJobDescription(cv string, jobDesc domain.JobDescription) (*JobAnalysisResult, error) } // CVService defines the interface for CV-related services type CVService interface { // GenerateCV creates a tailored CV based on a job description GenerateCV(originalCV string, jobDesc domain.JobDescription) (string, error) // GenerateCoverLetter creates a cover letter based on CV and job description GenerateCoverLetter(cv string, jobDesc domain.JobDescription, companyName string) (string, error) } // AIService combines all AI-related services type AIService interface { JobAnalysisService CVService } // Ensure OpenAIService implements AIService var _ AIService = (*OpenAIService)(nil)