/** * useAddMemory Hook * Hook for adding memories with loading/error state */ import type { Message, CreateMemoryResponse } from '../types'; interface AddMemoryState { isAdding: boolean; error: Error | null; lastResult: CreateMemoryResponse | null; isQueued: boolean; } interface UseAddMemoryResult extends AddMemoryState { /** * Add a memory * @param content - String or array of messages * @param options - Optional user ID, metadata, etc. */ add: (content: string | Message[], options?: { userId?: string; metadata?: Record; agentId?: string; teamId?: string; sessionId?: string; conversationId?: string; }) => Promise; /** Reset error and result state */ reset: () => void; } /** * Hook for adding memories with state management * * @example * ```tsx * function AddMemoryForm() { * const { add, isAdding, error, lastResult, isQueued } = useAddMemory(); * const [text, setText] = useState(''); * * const handleSubmit = async () => { * const result = await add(text); * if (result) { * setText(''); * Alert.alert('Success', `Created ${result.memories_created} memories`); * } * }; * * return ( * * *