1- import { useState } from "react"
2- import { keepPreviousData , useQuery } from "@tanstack/react-query"
3- import { useCallback } from "react"
1+ import { useState , useCallback } from "react"
2+ import { useQuery , keepPreviousData } from "@tanstack/react-query"
3+
44import { useEventSource } from "@/hooks/use-event-source"
55
66import { Run } from "@benchmark/db"
77
88import { getTasks } from "./actions"
9- import { messageSchema , taskEventSchema } from "./schemas"
9+ import { ipcServerMessageSchema } from "./schemas"
1010
1111export const useRunStatus = ( run : Run ) => {
1212 const [ clientId , setClientId ] = useState < string > ( )
@@ -30,7 +30,7 @@ export const useRunStatus = (run: Run) => {
3030 return
3131 }
3232
33- const result = messageSchema . safeParse ( data )
33+ const result = ipcServerMessageSchema . safeParse ( data )
3434
3535 if ( ! result . success ) {
3636 console . log ( `unrecognized messageEvent.data: ${ messageEvent . data } ` )
@@ -39,26 +39,17 @@ export const useRunStatus = (run: Run) => {
3939
4040 const payload = result . data
4141
42- if ( payload . type === "hello " ) {
42+ if ( payload . type === "Ack " ) {
4343 setClientId ( payload . data . clientId as string )
44- } else if ( payload . type === "data" ) {
45- const taskEvent = taskEventSchema . safeParse ( payload . data )
46-
47- if ( ! taskEvent . success ) {
48- console . log ( `unrecognized payload.data` , payload . data , taskEvent . error )
49- return
50- }
51-
52- if ( taskEvent . data . event === "client" ) {
53- console . log ( `client` , taskEvent . data )
54- setRunningTaskId ( taskEvent . data . task . id )
55- } else if ( taskEvent . data . event === "message" ) {
56- // console.log(`message: ${taskEvent.data.message.message.text}`)
57- } else if ( taskEvent . data . event === "taskTokenUsageUpdated" ) {
58- console . log ( `taskTokenUsageUpdated` , taskEvent . data . usage )
59- } else if ( taskEvent . data . event === "taskStarted" ) {
60- setRunningTaskId ( taskEvent . data . task . id )
61- } else if ( taskEvent . data . event === "taskFinished" ) {
44+ } else if ( payload . type === "TaskEvent" ) {
45+ const {
46+ eventName,
47+ data : { task } ,
48+ } = payload . data
49+
50+ if ( eventName === "connect" || eventName === "taskStarted" ) {
51+ setRunningTaskId ( task . id )
52+ } else if ( eventName === "taskFinished" ) {
6253 setRunningTaskId ( undefined )
6354 }
6455 }
0 commit comments