package chat import ( "context" "resume-platform/internal/agent" "resume-platform/internal/ai" ) type IMService struct { aiProvider ai.Provider resumeAgent *agent.ResumeAgent } func NewIMService(provider ai.Provider, resumeAgent *agent.ResumeAgent) *IMService { return &IMService{aiProvider: provider, resumeAgent: resumeAgent} } func (s *IMService) GetAIProvider() ai.Provider { return s.aiProvider } func (s *IMService) GetResumeAgent() *agent.ResumeAgent { return s.resumeAgent } func (s *IMService) GenerateWithAgent(ctx context.Context, query string) (string, error) { if s.resumeAgent != nil { return s.resumeAgent.Run(ctx, query) } if s.aiProvider != nil { return s.aiProvider.Generate(ctx, query) } return "", nil }