import requests from "./request.js"; class Chat{ constructor(uiManager){ this.uiManager = uiManager; } async chat(){ let payload = { "model": this.uiManager.initializer.model, "prompt": this.uiManager.userP.innerText.trim(), "convId": this.uiManager.initializer.convId, "system": this.uiManager.initializer.systemPrompt, "temperature": 0.7, "top_p": 0.9, "webSearch": this.uiManager.webSearch }; try { if(this.uiManager.initializer.convId==null){ await this.uiManager.initializer.createConv(); payload["convId"] = this.uiManager.initializer.convId; } this.uiManager.textBox.value=''; this.uiManager.sendBtn.disabled = true; const response = await requests.request('POST','/completions',{"Content-Type": "application/json"},JSON.stringify(payload),true); for await (const chunk of response){ this.uiManager.aiP.innerHTML+=chunk; this.uiManager.renderSymbols.renderAll(this.uiManager.aiP) }; } catch (error) { this.uiManager.sendBtn.disabled = false; this.uiManager.aiP.innerHTML+= `${error}`; return } this.uiManager.renderSymbols.renderCode(this.uiManager.aiP); if(this.uiManager.initializer.convTitle==null){ this.uiManager.initializer.convTitle = this.uiManager.userP.innerText.substring(0,23); this.uiManager.addChat(); } this.uiManager.sendBtn.disabled = false; } } export default Chat