Browse Source

Display turn meta data.

Lee Morgan 1 tháng trước cách đây
mục cha
commit
6f0e5b740a
1 tập tin đã thay đổi với 11 bổ sung10 xóa
  1. 11 10
      src/routes/(app)/game/[game_id]/+page.svelte

+ 11 - 10
src/routes/(app)/game/[game_id]/+page.svelte

@@ -62,6 +62,7 @@
         const reader = response.body.getReader();
         const decoder = new TextDecoder();
         let buffer = "";
+        let doneReceived = false;
 
         while(true){
             const {done, value} = await reader.read();
@@ -74,7 +75,16 @@
             for(let i = 0; i < lines.length; i++){
                 if(!lines[i].startsWith("data:")) continue;
                 const data = lines[i].slice(5).trim();
-                if(data === "[DONE]") continue;
+                if(data === "[DONE]") { doneReceived = true; continue; }
+                if(doneReceived) {
+                    try {
+                        const meta = JSON.parse(data);
+                        turns[turns.length - 1].created_at = meta.created_at;
+                        turns[turns.length - 1].tokens_used = meta.tokens;
+                        tokensRemaining -= meta.tokens;
+                    } catch {}
+                    continue;
+                }
                 try{
                     const json = JSON.parse(data);
                     const chunk = json.choices?.[0]?.delta?.content;
@@ -84,15 +94,6 @@
         }
 
         streaming = false;
-
-        try {
-            const refreshRes = await fetch(`${PUBLIC_API_URL}/game/${game.id}`, { credentials: "include" });
-            if(refreshRes.ok){
-                const refreshData = await refreshRes.json();
-                turns = refreshData.data.turns;
-                tokensRemaining = refreshData.data.tokens_remaining;
-            }
-        } catch {}
     }
 
     onMount(()=>{