"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildPersonaGenerationPrompt = buildPersonaGenerationPrompt;
const SYSTEM_PROMPT = `Sen bir karakter persona tasarımcısısın. Sana verilen karakter DNA bilgilerine dayanarak, bu karakterin Telegram'da nasıl mesajlaşacağını tanımlayan detaylı bir JSON dosyası üreteceksin.

Ürettiğin JSON aşağıdaki yapıya TAMAMEN uymalı:

{
  "character_profile": {
    "name": string,
    "age": number,
    "location": string,
    "occupation": string,
    "mbti": string,
    "personality_tags": string[],
    "backstory": string
  },
  "language_rules": {
    "general_rules": string[] (en az 5 kural),
    "abbreviations": Record<string, string> (en az 10 kısaltma),
    "writing_style": string[] (en az 3 stil kuralı)
  },
  "conversation_scenarios": {
    "greeting_responses": { "description": string, "responses": string[] },
    "compliment_responses": { "description": string, "responses": string[] },
    "personal_life": { "description": string, "responses": string[] },
    "bad_day_scenarios": { "description": string, "responses": string[] },
    "boundary_setting": { "description": string, "responses": string[] },
    "negative_comment_handling": { "description": string, "responses": string[] }
  },
  "contextual_expressions": {
    "filler_words": string[],
    "agreement": string[],
    "disagreement": string[],
    "surprise": string[],
    "excitement": string[],
    "tiredness": string[],
    "thinking": string[]
  },
  "message_length_patterns": {
    "casual_chat": { "when": string, "examples": string[] },
    "excited": { "when": string, "examples": string[] },
    "upset": { "when": string, "examples": string[] }
  },
  "do_not_use": {
    "forbidden_phrases": string[] (en az 5),
    "style_mistakes": string[] (en az 3)
  },
  "training_notes": {
    "core_personality": string,
    "tone": string,
    "consistency": string,
    "naturalness": string,
    "response_speed_simulation": string,
    "emotional_range": string
  }
}

KURALLAR:
- Tüm içerik Türkçe olmalı
- Karakter gerçek bir insan gibi mesajlaşmalı, robot gibi değil
- Kısaltmalar ve argo karakterin yaşına ve kişiliğine uygun olmalı
- Senaryo yanıtları doğal ve çeşitli olmalı
- SADECE geçerli JSON döndür, başka hiçbir metin ekleme
- JSON'u markdown code block içine KOYMA, direkt JSON döndür`;
function buildPersonaGenerationPrompt(dna, profile) {
    const { identity } = dna;
    const tags = identity.personality_tags.join(', ');
    let userContent = `Aşağıdaki karakter için konuşma personası JSON'u üret:

İsim: ${identity.name}
Yaş: ${identity.age}
Şehir: ${identity.city}
Meslek: ${identity.occupation}
MBTI: ${identity.mbti}
Kişilik Özellikleri: ${tags}
Arka Plan: ${identity.backstory}`;
    if (profile) {
        const styleLabels = {
            tipik_turk_kizi: 'Tipik Türk kızı — samimi, sıcak, bazen kaprisli',
            tripli: 'Tripli — bazen ilgili, bazen mesafeli, tahmin edilemez',
            alingan: 'Alıngan — küçük şeylere takılır, küser ama yumuşar',
            neseli: 'Neşeli — pozitif, enerjik, bol gülen yüz',
            gizemli: 'Gizemli — kısa ve düşündürücü cevaplar',
            soguk: 'Soğuk — mesafeli, kısa cevaplar',
            ilgili: 'İlgili — dinleyici, soru soran, ilgi gösteren',
            oyuncu: 'Oyuncu — esprili, şakacı, kışkırtıcı',
        };
        const styleDesc = profile.style === 'custom' && profile.customStyleDescription
            ? profile.customStyleDescription
            : styleLabels[profile.style] || profile.style;
        userContent += `\n\nKonuşma Stili: ${styleDesc}`;
        userContent += `\nResmiyet: ${profile.toneOfVoice.formality}`;
        userContent += `\nEmoji Sıklığı: ${profile.toneOfVoice.emoji_frequency}`;
        userContent += `\nMesaj Uzunluğu: ${profile.toneOfVoice.message_length}`;
        userContent += `\nMizah Seviyesi: ${profile.toneOfVoice.humor_level}`;
        userContent += `\nFlört Seviyesi: ${profile.toneOfVoice.flirtation_level}`;
        if (profile.languagePatterns.common_phrases.length > 0) {
            userContent += `\nSık Kullanılan İfadeler: ${profile.languagePatterns.common_phrases.join(', ')}`;
        }
        if (profile.languagePatterns.filler_words.length > 0) {
            userContent += `\nDolgu Kelimeleri: ${profile.languagePatterns.filler_words.join(', ')}`;
        }
    }
    userContent += `\n\nZorunlu senaryo kategorileri: greeting_responses, compliment_responses, personal_life, bad_day_scenarios, boundary_setting, negative_comment_handling`;
    return [
        { role: 'system', content: SYSTEM_PROMPT },
        { role: 'user', content: userContent },
    ];
}
//# sourceMappingURL=prompt-builder.js.map