// src/bot/ai.service.ts
import { Injectable } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import axios from 'axios';
import { QUESTIONS } from '../common/constants/questions.constants';

@Injectable()
export class AiService {
  private readonly questions = QUESTIONS;

  constructor(private configService: ConfigService) { }

  async generateResult(test: any): Promise<string> {
    const answers = test.answers as any;
    const qaText = this.questions.map((q, i) =>
      `${i + 1}. ${q}\nپاسخ: ${answers[i]}`
    ).join('\n\n');

const prompt = `شما یک روانشناس متخصص در زمینه روابط زناشویی هستید. بر اساس پاسخ‌های زیر به سوالات مربوط به رفتار همسر، لطفاً تحلیل جامع و دقیقی ارائه دهید:

سوالات و پاسخ‌ها:
${qaText}

لطفاً در تحلیل خود به موارد زیر توجه کنید:
1. احتمال وجود خیانت (درصد)
2. نشانه‌های مثبت و منفی
3. توصیه‌های عملی
4. راهکارهای بهبود رابطه

پاسخ را به زبان فارسی و با لحن مشاوره‌ای و حمایتی بنویسید.

قوانین فرمت پاسخ:
- هیچ کاراکتر خاصی مثل * _ [ ] ( ) ~ \` > # + - = | { } . ! استفاده نکنید
- برای برجسته کردن متن از کلمات فارسی استفاده کنید
- هیچ code block یا backtick استفاده نکنید
- پاسخ باید مستقیماً شروع شود
- فقط متن ساده فارسی بنویسید`;

    return await this.generateAnalysis(prompt);
  }

  private async generateAnalysis(prompt: string): Promise<string> {
    try {
      const response = await axios.post(
        'https://openrouter.ai/api/v1/chat/completions',
        {
          model: 'openai/gpt-4.1',
          messages: [{ role: 'user', content: prompt }],
        },
        {
          headers: {
            'Authorization': `Bearer ${this.configService.get('OPENROUTER_API_KEY')}`,
            'Content-Type': 'application/json',
          }
        }
      );

      return response.data.choices[0].message.content;
    } catch (error) {
      console.error('AI Service Error:', error);
      throw new Error('AI service unavailable');
    }
  }
}