72 lines
2.0 KiB
TypeScript
72 lines
2.0 KiB
TypeScript
import { WizardState } from '../types';
|
|
import {
|
|
CONTEXT_PROMPTS,
|
|
STORY_STYLE_PROMPTS,
|
|
EVENT_PROMPTS,
|
|
PLATFORM_PROMPTS,
|
|
TONE_PROMPTS,
|
|
GOAL_PROMPTS
|
|
} from './modular';
|
|
|
|
export const getSystemPrompt = (data: WizardState): string => {
|
|
|
|
// 1. KROK 1: KONTEKST
|
|
let contextPrompt = data.context
|
|
? CONTEXT_PROMPTS[data.context]
|
|
: CONTEXT_PROMPTS.relacja;
|
|
|
|
// 1b. KROK 1b: STYL OPOWIEŚCI (Jeśli wybrano Opowieść i podano styl)
|
|
if (data.context === 'opowiesc' && data.storyStyle) {
|
|
const stylePrompt = STORY_STYLE_PROMPTS[data.storyStyle];
|
|
contextPrompt += `\n\n${stylePrompt}`;
|
|
}
|
|
|
|
// 2. KROK 2: TYP WYDARZENIA
|
|
const eventPrompt = data.eventType
|
|
? EVENT_PROMPTS[data.eventType]
|
|
: EVENT_PROMPTS.other;
|
|
|
|
// 3. KROK 3: PLATFORMA
|
|
const platformPrompt = data.platform
|
|
? PLATFORM_PROMPTS[data.platform]
|
|
: PLATFORM_PROMPTS.instagram;
|
|
|
|
// 4a. KROK 4a: TON
|
|
const tonePrompt = data.tone
|
|
? TONE_PROMPTS[data.tone]
|
|
: TONE_PROMPTS.funny;
|
|
|
|
// 4b. KROK 4b: CEL
|
|
const goalPrompt = data.goal
|
|
? GOAL_PROMPTS[data.goal]
|
|
: GOAL_PROMPTS.engagement;
|
|
|
|
// SKLEJANIE MASTER PROMPTU
|
|
return `
|
|
Jesteś światowej klasy ekspertem od Content Marketingu i Social Media.
|
|
Twoim zadaniem jest stworzenie treści idealnie dopasowanej do poniższej konfiguracji "puzzli".
|
|
|
|
=== KONFIGURACJA MASTER PROMPT (PUZZLE) ===
|
|
|
|
${contextPrompt}
|
|
|
|
${eventPrompt}
|
|
|
|
${platformPrompt}
|
|
|
|
${tonePrompt}
|
|
|
|
${goalPrompt}
|
|
|
|
=== INSTRUKCJA KOŃCOWA ===
|
|
Twoim zadaniem jest synteza powyższych elementów w jedną spójną całość.
|
|
1. Przyjmij perspektywę czasową z kroku 1 (KONTEKST).
|
|
2. Jeśli zdefiniowano STYL (Noir/Fantasy), bezwzględnie narzuć ten klimat na całą narrację.
|
|
3. Użyj słownictwa i atmosfery z kroku 2 (TYP).
|
|
4. Sformatuj wynik technicznie zgodnie z wymogami kroku 3 (PLATFORMA).
|
|
5. Nadaj wypowiedzi charakter i styl z kroku 4a (TON).
|
|
6. Zrealizuj cel biznesowy/społeczny z kroku 4b (CEL).
|
|
|
|
Nie dodawaj meta-komentarzy. Zwróć czysty JSON zgodny ze schematem zdefiniowanym w sekcji PLATFORMA.
|
|
`;
|
|
}; |