UseChatStorageOptions
Defined in: src/expo/useChatStorage.ts:199
Options for useChatStorage hook (Expo version)
Uses the base options without React-specific features (no local chat, no tools).
Extends
BaseUseChatStorageOptions
Properties
apiType?
optionalapiType:ApiType
Defined in: src/expo/useChatStorage.ts:205
Which API endpoint to use. Default: “responses”
- “responses”: OpenAI Responses API (supports thinking, reasoning, conversations)
- “completions”: OpenAI Chat Completions API (wider model compatibility)
autoCreateConversation?
optionalautoCreateConversation:boolean
Defined in: src/lib/db/chat/types.ts:303
Automatically create a new conversation if none is set (default: true)
Inherited from
BaseUseChatStorageOptions.autoCreateConversation
autoEmbedMessages?
optionalautoEmbedMessages:boolean
Defined in: src/lib/db/chat/types.ts:361
Automatically generate embeddings for messages after saving. Enables semantic search over past conversations via searchMessages().
Default
trueInherited from
BaseUseChatStorageOptions.autoEmbedMessages
autoFlushOnKeyAvailable?
optionalautoFlushOnKeyAvailable:boolean
Defined in: src/expo/useChatStorage.ts:236
Auto-flush queued operations when key becomes available.
Default
truebaseUrl?
optionalbaseUrl:string
Defined in: src/lib/db/chat/types.ts:309
Base URL for the chat API endpoint
Inherited from
BaseUseChatStorageOptions.baseUrl
conversationId?
optionalconversationId:string
Defined in: src/lib/db/chat/types.ts:301
ID of an existing conversation to load and continue
Inherited from
BaseUseChatStorageOptions.conversationId
database
database:
Database
Defined in: src/lib/db/chat/types.ts:299
WatermelonDB database instance for storing conversations and messages
Inherited from
BaseUseChatStorageOptions.database
defaultConversationTitle?
optionaldefaultConversationTitle:string
Defined in: src/lib/db/chat/types.ts:305
Title for auto-created conversations (default: “New conversation”)
Inherited from
BaseUseChatStorageOptions.defaultConversationTitle
embeddedWalletSigner?
optionalembeddedWalletSigner:EmbeddedWalletSignerFn
Defined in: src/expo/useChatStorage.ts:221
Function for silent signing with Privy embedded wallets.
embeddingModel?
optionalembeddingModel:string
Defined in: src/lib/db/chat/types.ts:366
Embedding model to use when autoEmbedMessages is enabled.
Default
DEFAULT_API_EMBEDDING_MODELInherited from
BaseUseChatStorageOptions.embeddingModel
enableQueue?
optionalenableQueue:boolean
Defined in: src/expo/useChatStorage.ts:231
Enable the in-memory write queue.
Default
truefileProcessingOptions?
optionalfileProcessingOptions:object
Defined in: src/lib/db/chat/types.ts:338
Options for file preprocessing behavior
keepOriginalFiles?
optionalkeepOriginalFiles:boolean
Whether to keep original file attachments (default: true)
maxFileSizeBytes?
optionalmaxFileSizeBytes:number
Max file size to process in bytes (default: 10MB)
onError()?
optionalonError: (fileName:string,error:Error) =>void
Callback for errors (non-fatal)
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
void
onProgress()?
optionalonProgress: (current:number,total:number,fileName:string) =>void
Callback for progress updates
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
|
|
|
Returns
void
Inherited from
BaseUseChatStorageOptions.fileProcessingOptions
fileProcessors?
optionalfileProcessors:FileProcessor[] |null
Defined in: src/lib/db/chat/types.ts:334
File preprocessors to use for automatic text extraction.
- undefined (default): Use all built-in processors (PDF, Excel, Word)
- null or []: Disable preprocessing
- FileProcessor[]: Use specific processors
Inherited from
BaseUseChatStorageOptions.fileProcessors
getToken()?
optionalgetToken: () =>Promise<string|null>
Defined in: src/lib/db/chat/types.ts:307
Function to retrieve the auth token for API requests
Returns
Promise<string | null>
Inherited from
BaseUseChatStorageOptions.getToken
getWalletAddress()?
optionalgetWalletAddress: () =>Promise<string|null>
Defined in: src/expo/useChatStorage.ts:226
Async function to poll for wallet address during Privy initialization.
Returns
Promise<string | null>
mcpR2Domain?
optionalmcpR2Domain:string
Defined in: src/lib/db/chat/types.ts:378
R2 domain for identifying MCP-generated image URLs. When set, enables OPFS caching of generated images. Defaults to the hardcoded MCP_R2_DOMAIN from clientConfig.
Inherited from
BaseUseChatStorageOptions.mcpR2Domain
minContentLength?
optionalminContentLength:number
Defined in: src/lib/db/chat/types.ts:372
Minimum content length required to generate embeddings. Messages shorter than this are skipped as they provide limited semantic value.
Default
10Inherited from
BaseUseChatStorageOptions.minContentLength
onData()?
optionalonData: (chunk:string) =>void
Defined in: src/lib/db/chat/types.ts:311
Callback invoked with each streamed response chunk
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
void
Inherited from
BaseUseChatStorageOptions.onData
onError()?
optionalonError: (error:Error) =>void
Defined in: src/lib/db/chat/types.ts:317
Callback invoked when an error occurs during the request
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
void
Inherited from
BaseUseChatStorageOptions.onError
onFinish()?
optionalonFinish: (response:LlmapiResponseResponse) =>void
Defined in: src/lib/db/chat/types.ts:315
Callback invoked when the response completes successfully
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
void
Inherited from
BaseUseChatStorageOptions.onFinish
onServerToolCall()?
optionalonServerToolCall: (toolCall:ServerToolCallEvent) =>void
Defined in: src/lib/db/chat/types.ts:322
Callback invoked when a server-side tool (MCP) is called during streaming. Use this to show activity indicators like “Searching…” in the UI.
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
void
Inherited from
BaseUseChatStorageOptions.onServerToolCall
onThinking()?
optionalonThinking: (chunk:string) =>void
Defined in: src/lib/db/chat/types.ts:313
Callback invoked when thinking/reasoning content is received (from <think> tags or API reasoning)
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
void
Inherited from
BaseUseChatStorageOptions.onThinking
onToolCallArgumentsDelta()?
optionalonToolCallArgumentsDelta: (event:ToolCallArgumentsDeltaEvent) =>void
Defined in: src/lib/db/chat/types.ts:327
Called with partial tool call arguments as they stream in. Use for live preview of artifacts (HTML, slides) being generated.
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
void
Inherited from
BaseUseChatStorageOptions.onToolCallArgumentsDelta
serverTools?
optionalserverTools:object
Defined in: src/lib/db/chat/types.ts:352
Configuration for server-side tools fetching and caching. Server tools are fetched from /api/v1/tools and cached in localStorage.
cacheExpirationMs?
optionalcacheExpirationMs:number
Cache expiration time in milliseconds (default: 86400000 = 1 day)
Inherited from
BaseUseChatStorageOptions.serverTools
signMessage?
optionalsignMessage:SignMessageFn
Defined in: src/expo/useChatStorage.ts:216
Function to sign a message for encryption key derivation.
walletAddress?
optionalwalletAddress:string
Defined in: src/expo/useChatStorage.ts:211
Wallet address for field-level encryption. When provided with signMessage, all sensitive content is encrypted at rest.