function ExecuteScript(strId)
{
  switch (strId)
  {
      case "5gg0Swhlr0g":
        Script1();
        break;
  }
}

function Script1()
{
  const player = GetPlayer();
// You should change the following 3 variables. Make sure that the text is enclosed by quotation marks.
const systemRequest = "תתנהג כאילו שאתה משה, בן 27 ראש צוות לשעבר שיושב כבר שנה בבית בתואנה שהוא לא מרגיש טוב. הסיבה האמיתית היא שאתה כועס על כך שלא קודמת כפי שהובטח לך. חברתך הטובה דינה מנסה לשכנע אותך להתפטר ולפנות לה את התפקיד..ענה על כל שאלה שלה בנפרד ובכנות. אתה תשכתנע להתפטר רק אם היא תשתמש בחברות ביניכם לצורך השכנוע."
 
const userInputVariable = "TextEntry"
const aiOutputVariable = "aiResponse"
const conversationLogVariable = "ConversationLog"

// Retrieve user input
const userEntry = player.GetVar(userInputVariable);
const auth = "Bearer " + player.GetVar("token");

// Initialize or retrieve the conversation log
let conversationLog = player.GetVar(conversationLogVariable) || [];
if (typeof conversationLog === 'string') {
    try {
        conversationLog = JSON.parse(conversationLog);
    } catch (e) {
        console.error("Error parsing conversation log:", e);
        conversationLog = [];
    }
}

function sendRequest() {
    // Add system message to conversation log if it's empty
    if (conversationLog.length === 0) {
        conversationLog.push({ role: "system", content: systemRequest });
    }

    // Add user message to conversation log
    conversationLog.push({ role: "user", content: userEntry });

    fetch("https://api.openai.com/v1/chat/completions", {
        method: 'POST',
        headers: {
            'Authorization': auth,
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            "model": "gpt-4o",
            "messages": conversationLog
        })
    }).then(response => {
        return response.json();
    }).then(data => {
        console.log(data);
        let aiText = data.choices[0].message.content;
        player.SetVar(aiOutputVariable, aiText);
        
        // Add AI response to conversation log
        conversationLog.push({ role: "assistant", content: aiText });
        
        // Log the entire conversation to the console
        console.log("Conversation Log:", conversationLog);

        // Store the conversation log in the Storyline variable
        player.SetVar(conversationLogVariable, JSON.stringify(conversationLog));
    }).catch(error => {
        console.log("Error: " + error);
    });
}

sendRequest();
}

