Spaces:
Runtime error
Runtime error
File size: 1,471 Bytes
ef5513c fe2328e 2606dde 1b66f8d 7764421 1b66f8d 67867a9 b2387f6 1b66f8d b2387f6 2606dde 1b66f8d c8d90f4 1b66f8d fe2328e 1b66f8d c8d90f4 1b66f8d 743240e 1b66f8d ef5513c 1b66f8d 67867a9 34857c4 fe2328e 1b66f8d ef5513c 7764421 2606dde 7764421 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
<script lang="ts">
import { goto } from "$app/navigation";
import { base } from "$app/paths";
import ChatWindow from "$lib/components/chat/ChatWindow.svelte";
import { ERROR_MESSAGES, error } from "$lib/stores/errors";
import { pendingMessage } from "$lib/stores/pendingMessage";
import { findCurrentModel } from "$lib/utils/models.js";
export let data;
let loading = false;
async function createConversation(message: string) {
try {
loading = true;
const res = await fetch(`${base}/conversation`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ model: data.settings.activeModel }),
});
if (!res.ok) {
error.set("Error while creating conversation, try again.");
console.error("Error while creating conversation: " + (await res.text()));
return;
}
const { conversationId } = await res.json();
// Ugly hack to use a store as temp storage, feel free to improve ^^
pendingMessage.set(message);
// invalidateAll to update list of conversations
await goto(`${base}/conversation/${conversationId}`, { invalidateAll: true });
} catch (err) {
error.set(ERROR_MESSAGES.default);
console.error(err);
} finally {
loading = false;
}
}
</script>
<ChatWindow
on:message={(ev) => createConversation(ev.detail)}
{loading}
currentModel={findCurrentModel(data.models, data.settings.activeModel)}
models={data.models}
settings={data.settings}
/>
|