From 2af9953fa8275f808bf3bb12124efa5ff9076725 Mon Sep 17 00:00:00 2001 From: Ariel Weinberger Date: Wed, 16 Jul 2025 14:58:38 -0500 Subject: [PATCH] fix svelte complaint --- .../components/studio/chat/thinking.svelte | 1 - src/lib/components/studio/chatWrapper.svelte | 50 ++----------------- svelte.config.js | 3 +- tsconfig.json | 7 +-- 4 files changed, 6 insertions(+), 55 deletions(-) diff --git a/src/lib/components/studio/chat/thinking.svelte b/src/lib/components/studio/chat/thinking.svelte index eee87e076..c60e42660 100644 --- a/src/lib/components/studio/chat/thinking.svelte +++ b/src/lib/components/studio/chat/thinking.svelte @@ -2,7 +2,6 @@ import { Typography, ShimmerText } from '@appwrite.io/pink-svelte'; import { IconChevronDown, IconChevronUp } from '@appwrite.io/pink-icons-svelte'; import { Icon } from '@appwrite.io/pink-svelte'; - import type { ImagineUIDataParts } from '$shared-types'; let { diff --git a/src/lib/components/studio/chatWrapper.svelte b/src/lib/components/studio/chatWrapper.svelte index 8e697976f..1b9b49a11 100644 --- a/src/lib/components/studio/chatWrapper.svelte +++ b/src/lib/components/studio/chatWrapper.svelte @@ -8,11 +8,9 @@ getChatWidthFromPrefs, saveImagineProjectPrefs } from '$lib/helpers/studioLayout.js'; - import { createStreamParser } from '$lib/components/studio/chat/parser.js'; import { sdk } from '$lib/stores/sdk.js'; import { isSmallViewport } from '$lib/stores/viewport'; import { previewFrameRef } from '$routes/(console)/project-[region]-[project]/store'; - import { queue } from './chat/queue.svelte'; $effect(() => { if ($isSmallViewport || page.params.artifact) { @@ -94,10 +92,7 @@ } } - const parser = createStreamParser(); - - async function getConversation(artifactId: string) { - parser.reset(); + async function getOrCreateConversation(artifactId: string) { const { conversations } = await sdk .forProject(page.params.region, page.params.project) .imagine.listConversations(artifactId); @@ -113,51 +108,12 @@ $effect(() => { if (page.params.artifact && $conversation.data?.artifactId !== page.params.artifact) { - getConversation(page.params.artifact); - } - }); - - conversation.subscribe(async (convo) => { - if (!convo.data) return; - const { messages } = await sdk - .forProject(page.params.region, page.params.project) - .imagine.listMessages(convo.data.artifactId, convo.data.$id); - - for (const message of messages) { - const from = message.role === 'assistant' ? 'system' : 'user'; - queue.forceListStatus(message.$id, 'done'); - parser.chunk(message.content, from, { - group: message.$id - }); - parser.end(); - } - }); - parser.on('complete', async (action) => { - if (action.type !== 'file') { - queue.enqueue(action.group, action); - return; - } - const job = queue.lists[action.group]?.find((item) => item.data.id === action.id); - if (job) - queue.update(action.group, job.id, { - data: action, - status: 'done' - }); - }); - parser.on('update', async (action) => { - if (action.type !== 'file') return; - const job = queue.lists[action.group]?.find((item) => item.data.id === action.id); - if (job) { - queue.update(action.group, job.id, { - data: action - }); - } else { - queue.enqueue(action.group, action); + getOrCreateConversation(page.params.artifact); } }); - + {#if !$isSmallViewport && ($showChat || isResizing)}