AutorÃa | Ultima modificación | Ver Log |
define("block_openai_chat/lib",["exports"],(function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0;var questionString="Ask a question...",errorString="An error occurred! Please try again later.";_exports.init=data=>{const blockId=data.blockId,api_type=data.api_type,persistConvo=data.persistConvo;"assistant"===api_type&&(chatData=localStorage.getItem("block_openai_chat_data"),chatData?(chatData=JSON.parse(chatData),chatData[blockId]&&chatData[blockId].threadId&&"1"===persistConvo?fetch("".concat(M.cfg.wwwroot,"/blocks/openai_chat/api/thread.php?thread_id=").concat(chatData[blockId].threadId)).then((response=>response.json())).then((data=>{for(let message of data)addToChatLog("user"===message.role?"user":"bot",message.message)})).catch((error=>{chatData[blockId]={},localStorage.setItem("block_openai_chat_data",JSON.stringify(chatData))})):chatData[blockId]={}):chatData={[blockId]:{}},localStorage.setItem("block_openai_chat_data",JSON.stringify(chatData))),window.addEven
tListener("resize",(event=>{event.stopImmediatePropagation()}),!0),document.querySelector("#openai_input").addEventListener("keyup",(e=>{13===e.which&&""!==e.target.value&&(addToChatLog("user",e.target.value),createCompletion(e.target.value,blockId,api_type),e.target.value="")})),document.querySelector(".block_openai_chat #go").addEventListener("click",(e=>{const input=document.querySelector("#openai_input");""!==input.value&&(addToChatLog("user",input.value),createCompletion(input.value,blockId,api_type),input.value="")})),document.querySelector(".block_openai_chat #refresh").addEventListener("click",(e=>{clearHistory(blockId)})),document.querySelector(".block_openai_chat #popout").addEventListener("click",(e=>{document.querySelector(".drawer.drawer-right")&&(document.querySelector(".drawer.drawer-right").style.zIndex="1041"),document.querySelector(".block_openai_chat").classList.toggle("expanded")})),require(["core/str"],(function(str){str.get_strings([{key:"askaquestion",component:"block_openai_chat"},{ke
y:"erroroccurred",component:"block_openai_chat"}]).then((results=>{questionString=results[0],errorString=results[1]}))}))};const addToChatLog=(type,message)=>{let messageContainer=document.querySelector("#openai_chat_log");const messageElem=document.createElement("div");messageElem.classList.add("openai_message");for(let className of type.split(" "))messageElem.classList.add(className);const messageText=document.createElement("span");messageText.innerHTML=message,messageElem.append(messageText),messageContainer.append(messageElem),messageText.offsetWidth&&(messageElem.style.width=messageText.offsetWidth+40+"px"),messageContainer.scrollTop=messageContainer.scrollHeight,messageContainer.closest(".block_openai_chat > div").scrollTop=messageContainer.scrollHeight},clearHistory=blockId=>{chatData=localStorage.getItem("block_openai_chat_data"),chatData&&(chatData=JSON.parse(chatData),chatData[blockId]&&(chatData[blockId]={},localStorage.setItem("block_openai_chat_data",JSON.stringify(chatData)))),document.querySel
ector("#openai_chat_log").innerHTML=""},createCompletion=(message,blockId,api_type)=>{let chatData,threadId=null;"assistant"===api_type&&(chatData=localStorage.getItem("block_openai_chat_data"),chatData?(chatData=JSON.parse(chatData),chatData[blockId]&&(threadId=chatData[blockId].threadId||null)):chatData={[blockId]:{}});const history=buildTranscript();document.querySelector(".block_openai_chat #control_bar").classList.add("disabled"),document.querySelector("#openai_input").classList.remove("error"),document.querySelector("#openai_input").placeholder=questionString,document.querySelector("#openai_input").blur(),addToChatLog("bot loading","..."),fetch("".concat(M.cfg.wwwroot,"/blocks/openai_chat/api/completion.php"),{method:"POST",body:JSON.stringify({message:message,history:history,blockId:blockId,threadId:threadId})}).then((response=>{let messageContainer=document.querySelector("#openai_chat_log");if(messageContainer.removeChild(messageContainer.lastElementChild),document.querySelector(".block_openai_chat #
control_bar").classList.remove("disabled"),response.ok)return response.json();throw Error(response.statusText)})).then((data=>{try{addToChatLog("bot",data.message),data.thread_id&&(chatData[blockId].threadId=data.thread_id,localStorage.setItem("block_openai_chat_data",JSON.stringify(chatData)))}catch(error){console.log(error),addToChatLog("bot",data.error.message)}document.querySelector("#openai_input").focus()})).catch((error=>{console.log(error),document.querySelector("#openai_input").classList.add("error"),document.querySelector("#openai_input").placeholder=errorString}))},buildTranscript=()=>{let transcript=[];return document.querySelectorAll(".openai_message").forEach(((message,index)=>{if(index===document.querySelectorAll(".openai_message").length-1)return;let user=userName;message.classList.contains("bot")&&(user=assistantName),transcript.push({user:user,message:message.innerText})})),transcript}}));
//# sourceMappingURL=lib.min.js.map