A React Native app for the ultimate thinking partner.
at main 30 lines 932 B view raw
1import { useEffect } from 'react'; 2import { useAgentStore } from '../stores/agentStore'; 3import { useAuthStore } from '../stores/authStore'; 4 5/** 6 * Hook to manage Co agent initialization and state 7 */ 8export function useAgent() { 9 const agentStore = useAgentStore(); 10 const isConnected = useAuthStore((state) => state.isConnected); 11 12 // Auto-initialize Co when connected 13 useEffect(() => { 14 if (isConnected && !agentStore.coAgent && !agentStore.isInitializingCo) { 15 agentStore.initializeCo('User'); 16 } 17 }, [isConnected, agentStore.coAgent, agentStore.isInitializingCo]); 18 19 return { 20 coAgent: agentStore.coAgent, 21 isInitializingCo: agentStore.isInitializingCo, 22 isRefreshingCo: agentStore.isRefreshingCo, 23 agentError: agentStore.agentError, 24 25 initializeCo: agentStore.initializeCo, 26 refreshCo: agentStore.refreshCo, 27 setAgent: agentStore.setAgent, 28 clearAgent: agentStore.clearAgent, 29 }; 30}