Skip to Content
Anuma SDKExpoOverview

Overview

React Native hooks for building AI-powered mobile applications.

The @anuma/sdk/expo package provides React hooks optimized for Expo and React Native environments. These hooks exclude web-only dependencies (like pdfjs-dist) that aren’t compatible with React Native.

Installation & Setup

Before using this package, you must set up polyfills for React Native compatibility. See the polyfills module documentation for complete setup instructions.

Quick setup summary:

pnpm install @anuma/sdk@next web-streams-polyfill react-native-get-random-values @ethersproject/shims buffer

Then create an entrypoint file with all required polyfills. See ai-example-expo  for a complete working example.

Differences from React Package

The Expo package is a lightweight subset of @anuma/sdk/react:

  • No PDF text extraction (pdfjs-dist is web-only)
  • Uses XMLHttpRequest for streaming (fetch streaming isn’t supported in RN)

Authentication

Use @privy-io/expo for authentication in React Native:

import { PrivyProvider, usePrivy } from "@privy-io/expo"; import { useIdentityToken } from "@privy-io/expo"; // Wrap your app with PrivyProvider <PrivyProvider appId="your-app-id" clientId="your-client-id"> <App /> </PrivyProvider>; // Get identity token for API calls const { getIdentityToken } = useIdentityToken();

Quick Start

import { useIdentityToken } from "@privy-io/expo"; import { useChat } from "@anuma/sdk/expo"; function ChatScreen() { const { getIdentityToken } = useIdentityToken(); const { isLoading, sendMessage, stop } = useChat({ getToken: getIdentityToken, baseUrl: "https://portal.anuma-dev.ai", onData: (chunk) => { // Handle streaming chunks const content = typeof chunk === "string" ? chunk : chunk.choices?.[0]?.delta?.content || ""; console.log("Received:", content); }, onFinish: () => console.log("Stream finished"), onError: (error) => console.error("Error:", error), }); const handleSend = async () => { await sendMessage({ messages: [{ role: "user", content: [{ type: "text", text: "Hello!" }] }], model: "openai/gpt-4o", }); }; return ( <View> <Button onPress={handleSend} disabled={isLoading} title="Send" /> {isLoading && <Button onPress={stop} title="Stop" />} </View> ); }

Hooks

FunctionDescription
useChatA React hook for managing chat completions with authentication.
useChatStorageA React hook that wraps useChat with automatic message persistence using WatermelonDB.

Other

CachedServerTools

Re-exports CachedServerTools


ChatConversation

Re-exports ChatConversation


ChatMessage

Re-exports ChatMessage


ChatRole

Re-exports ChatRole


chatStorageMigrations

Re-exports chatStorageMigrations


chatStorageSchema

Re-exports chatStorageSchema


clearAllEncryptionKeys

Re-exports clearAllEncryptionKeys


clearEncryptionKey

Re-exports clearEncryptionKey


clearServerToolsCache

Re-exports clearServerToolsCache


CreateConversationOptions

Re-exports CreateConversationOptions


createMemoryEngineTool

Re-exports createMemoryEngineTool


createMemoryVaultTool

Re-exports createMemoryVaultTool


CreateMessageOptions

Re-exports CreateMessageOptions


createVaultFolderOp

Re-exports createVaultFolderOp


CreateVaultFolderOptions

Re-exports CreateVaultFolderOptions


createVaultMemoriesBatchOp

Re-exports createVaultMemoriesBatchOp


createVaultMemoryOp

Re-exports createVaultMemoryOp


CreateVaultMemoryOptions

Re-exports CreateVaultMemoryOptions


DatabaseManager

Re-exports DatabaseManager


DatabaseManagerLogger

Re-exports DatabaseManagerLogger


DatabaseManagerOptions

Re-exports DatabaseManagerOptions


DEFAULT_CACHE_EXPIRATION_MS

Re-exports DEFAULT_CACHE_EXPIRATION_MS


deleteAllVaultMemoriesForUserOp

Re-exports deleteAllVaultMemoriesForUserOp


deleteVaultFolderOp

Re-exports deleteVaultFolderOp


deleteVaultMemoryOp

Re-exports deleteVaultMemoryOp


embedAllMessages

Re-exports embedAllMessages


EmbeddedWalletSignerFn

Re-exports EmbeddedWalletSignerFn


embedMessage

Re-exports embedMessage


ensureDefaultFoldersOp

Re-exports ensureDefaultFoldersOp


FileMetadata

Re-exports FileMetadata


FlushResult

Re-exports FlushResult


generateConversationId

Re-exports generateConversationId


generateEmbedding

Re-exports generateEmbedding


generateEmbeddings

Re-exports generateEmbeddings


getAllVaultFoldersOp

Re-exports getAllVaultFoldersOp


getAllVaultMemoriesOp

Re-exports getAllVaultMemoriesOp


getAllVaultMemoryContentsOp

Re-exports getAllVaultMemoryContentsOp


getCachedServerTools

Re-exports getCachedServerTools


getServerTools

Re-exports getServerTools


getUnfiledVaultMemoriesOp

Re-exports getUnfiledVaultMemoriesOp


getVaultFolderMemoryCountOp

Re-exports getVaultFolderMemoryCountOp


getVaultMemoryOp

Re-exports getVaultMemoryOp


hasEncryptionKey

Re-exports hasEncryptionKey


MemoryEngineEmbeddingOptions

Re-exports MemoryEngineEmbeddingOptions


MemoryEngineResult

Re-exports MemoryEngineResult


MemoryEngineSearchOptions

Re-exports MemoryEngineSearchOptions


MemoryVaultToolOptions

Re-exports MemoryVaultToolOptions


moveMemoriesToFolderOp

Re-exports moveMemoriesToFolderOp


onKeyAvailable

Re-exports onKeyAvailable


PlatformStorage

Re-exports PlatformStorage


queueManager

Re-exports queueManager


QueueManager

Re-exports QueueManager


QueueStatus

Re-exports QueueStatus


requestEncryptionKey

Re-exports requestEncryptionKey


SDK_SCHEMA_VERSION

Re-exports SDK_SCHEMA_VERSION


sdkMigrations

Re-exports sdkMigrations


sdkModelClasses

Re-exports sdkModelClasses


sdkSchema

Re-exports sdkSchema


SearchSource

Re-exports SearchSource


ServerToolsOptions

Re-exports ServerToolsOptions


ServerToolsResponse

Re-exports ServerToolsResponse


SignMessageFn

Re-exports SignMessageFn


StoredChatCompletionUsage

Re-exports StoredChatCompletionUsage


StoredConversation

Re-exports StoredConversation


StoredMessage

Re-exports StoredMessage


StoredMessageWithSimilarity

Re-exports StoredMessageWithSimilarity


StoredVaultFolder

Re-exports StoredVaultFolder


StoredVaultFolderModel

Re-exports StoredVaultFolderModel


StoredVaultMemory

Re-exports StoredVaultMemory


StoredVaultMemoryModel

Re-exports StoredVaultMemoryModel


updateVaultFolderContextOp

Re-exports updateVaultFolderContextOp


updateVaultFolderOp

Re-exports updateVaultFolderOp


UpdateVaultFolderOptions

Re-exports UpdateVaultFolderOptions


updateVaultMemoryEmbeddingOp

Re-exports updateVaultMemoryEmbeddingOp


updateVaultMemoryOp

Re-exports updateVaultMemoryOp


UpdateVaultMemoryOptions

Re-exports UpdateVaultMemoryOptions


useCredits

Re-exports useCredits


UseCreditsOptions

Re-exports UseCreditsOptions


UseCreditsResult

Re-exports UseCreditsResult


useEncryption

Re-exports useEncryption


useModels

Re-exports useModels


UseModelsResult

Re-exports UseModelsResult


VaultFolderOperationsContext

Re-exports VaultFolderOperationsContext


VaultMemoryOperationsContext

Re-exports VaultMemoryOperationsContext


VaultSaveOperation

Re-exports VaultSaveOperation


WalletPoller

Re-exports WalletPoller

Last updated on