@@ -105,6 +105,38 @@ async function getUserId() {
105105 return data . user ?. id || null ;
106106}
107107
108+ interface SupabaseSavedRow < T > {
109+ id : string ;
110+ title : string ;
111+ output : T ;
112+ created_at : string ;
113+ }
114+
115+ interface SupabaseChatRow {
116+ id : string ;
117+ title : string ;
118+ created_at : string ;
119+ }
120+
121+ interface SupabaseMessageRow {
122+ id : string ;
123+ chat_id : string ;
124+ role : 'user' | 'assistant' ;
125+ content : string ;
126+ output : AskOutput | null ;
127+ created_at : string ;
128+ }
129+
130+ interface SupabaseSourceRow {
131+ id : string ;
132+ title : string ;
133+ content : string ;
134+ type : 'url' | 'file' | 'text' ;
135+ origin : string | null ;
136+ is_active : boolean ;
137+ created_at : string ;
138+ }
139+
108140export const useSessionStore = create < SessionState > ( ) (
109141 persist (
110142 ( set , get ) => ( {
@@ -374,41 +406,47 @@ export const useSessionStore = create<SessionState>()(
374406 supabase . from ( 'sources' ) . select ( '*' ) . order ( 'created_at' , { ascending : false } ) ,
375407 ] ) ;
376408
377- const chatIds = ( chatsRes . data || [ ] ) . map ( ( c : any ) => c . id ) ;
409+ const chatRows = ( chatsRes . data || [ ] ) as SupabaseChatRow [ ] ;
410+ const chatIds = chatRows . map ( ( c ) => c . id ) ;
378411 const messagesRes = chatIds . length
379412 ? await supabase . from ( 'messages' ) . select ( '*' ) . in ( 'chat_id' , chatIds ) . order ( 'created_at' , { ascending : true } )
380413 : { data : [ ] } ;
381414
382- const serverCases = ( casesRes . data || [ ] ) . map ( ( row : any ) => ( {
415+ const caseRows = ( casesRes . data || [ ] ) as SupabaseSavedRow < GenerateOutput > [ ] ;
416+ const serverCases = caseRows . map ( ( row ) => ( {
383417 id : row . id ,
384418 data : row . output ,
385419 createdAt : toTimestamp ( row . created_at ) ,
386420 title : row . title ,
387421 } ) ) ;
388422
389- const serverAttacks = ( attacksRes . data || [ ] ) . map ( ( row : any ) => ( {
423+ const attackRows = ( attacksRes . data || [ ] ) as SupabaseSavedRow < AttackOutput > [ ] ;
424+ const serverAttacks = attackRows . map ( ( row ) => ( {
390425 id : row . id ,
391426 data : row . output ,
392427 createdAt : toTimestamp ( row . created_at ) ,
393428 title : row . title ,
394429 } ) ) ;
395430
396- const serverBrainstorms = ( brainstormsRes . data || [ ] ) . map ( ( row : any ) => ( {
431+ const brainstormRows = ( brainstormsRes . data || [ ] ) as SupabaseSavedRow < BrainstormOutput > [ ] ;
432+ const serverBrainstorms = brainstormRows . map ( ( row ) => ( {
397433 id : row . id ,
398434 data : row . output ,
399435 createdAt : toTimestamp ( row . created_at ) ,
400436 title : row . title ,
401437 } ) ) ;
402438
403- const serverFactoids = ( factoidsRes . data || [ ] ) . map ( ( row : any ) => ( {
439+ const factoidRows = ( factoidsRes . data || [ ] ) as SupabaseSavedRow < FactoidsOutput > [ ] ;
440+ const serverFactoids = factoidRows . map ( ( row ) => ( {
404441 id : row . id ,
405442 data : row . output ,
406443 createdAt : toTimestamp ( row . created_at ) ,
407444 title : row . title ,
408445 } ) ) ;
409446
410447 const messageMap = new Map < string , Message [ ] > ( ) ;
411- ( messagesRes . data || [ ] ) . forEach ( ( row : any ) => {
448+ const messageRows = ( messagesRes . data || [ ] ) as SupabaseMessageRow [ ] ;
449+ messageRows . forEach ( ( row ) => {
412450 const list = messageMap . get ( row . chat_id ) || [ ] ;
413451 list . push ( {
414452 id : row . id ,
@@ -420,14 +458,15 @@ export const useSessionStore = create<SessionState>()(
420458 messageMap . set ( row . chat_id , list ) ;
421459 } ) ;
422460
423- const serverChats = ( chatsRes . data || [ ] ) . map ( ( row : any ) => ( {
461+ const serverChats = chatRows . map ( ( row ) => ( {
424462 id : row . id ,
425463 title : row . title ,
426464 createdAt : toTimestamp ( row . created_at ) ,
427465 data : messageMap . get ( row . id ) || [ ] ,
428466 } ) ) ;
429467
430- const serverSources = ( sourcesRes . data || [ ] ) . map ( ( row : any ) => ( {
468+ const sourceRows = ( sourcesRes . data || [ ] ) as SupabaseSourceRow [ ] ;
469+ const serverSources = sourceRows . map ( ( row ) => ( {
431470 id : row . id ,
432471 title : row . title ,
433472 content : row . content ,
0 commit comments