UseChatStorageOptions
Defined in: src/expo/useChatStorage.ts:104
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:110
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:241
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:294
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:141
Auto-flush queued operations when key becomes available.
Default
truebaseUrl?
optionalbaseUrl:string
Defined in: src/lib/db/chat/types.ts:247
Base URL for the chat API endpoint
Inherited from
BaseUseChatStorageOptions.baseUrl
conversationId?
optionalconversationId:string
Defined in: src/lib/db/chat/types.ts:239
ID of an existing conversation to load and continue
Inherited from
BaseUseChatStorageOptions.conversationId
database
database:
Database
Defined in: src/lib/db/chat/types.ts:237
WatermelonDB database instance for storing conversations and messages
Inherited from
BaseUseChatStorageOptions.database
defaultConversationTitle?
optionaldefaultConversationTitle:string
Defined in: src/lib/db/chat/types.ts:243
Title for auto-created conversations (default: “New conversation”)
Inherited from
BaseUseChatStorageOptions.defaultConversationTitle
embeddedWalletSigner?
optionalembeddedWalletSigner:EmbeddedWalletSignerFn
Defined in: src/expo/useChatStorage.ts:126
Function for silent signing with Privy embedded wallets.
embeddingModel?
optionalembeddingModel:string
Defined in: src/lib/db/chat/types.ts:299
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:136
Enable the in-memory write queue.
Default
truefileProcessingOptions?
optionalfileProcessingOptions:object
Defined in: src/lib/db/chat/types.ts:271
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:any[] |null
Defined in: src/lib/db/chat/types.ts:267
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:245
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:131
Async function to poll for wallet address during Privy initialization.
Returns
Promise<string | null>
minContentLength?
optionalminContentLength:number
Defined in: src/lib/db/chat/types.ts:305
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:249
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:255
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:253
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:260
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:251
Callback invoked when thinking/reasoning content is received (from <think> tags or API reasoning)
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
void
Inherited from
BaseUseChatStorageOptions.onThinking
serverTools?
optionalserverTools:object
Defined in: src/lib/db/chat/types.ts:285
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:121
Function to sign a message for encryption key derivation.
walletAddress?
optionalwalletAddress:string
Defined in: src/expo/useChatStorage.ts:116
Wallet address for field-level encryption. When provided with signMessage, all sensitive content is encrypted at rest.