A React Native app for the ultimate thinking partner.
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}