Skip to Content
Anuma SDKReactInternalClassesWatermelonChatStorageAdapter

WatermelonChatStorageAdapter

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:69 

Backend-agnostic interface for chat/conversation storage.

The method set mirrors the operations we actually use across the SDK: *Op functions in src/lib/db/chat/operations.ts plus the observe* patterns used by react hooks. Targeted updates (e.g., updateMessageError) are exposed as separate methods rather than a generic update() because several of them have special semantics (encryption bypass for embeddings, unique constraints on feedback, etc).

Implements

Constructors

Constructor

new WatermelonChatStorageAdapter(options: WatermelonChatStorageAdapterOptions): WatermelonChatStorageAdapter

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:74 

Parameters

ParameterType

options

WatermelonChatStorageAdapterOptions

Returns

WatermelonChatStorageAdapter

Methods

clearMessages()

clearMessages(conversationId: string): Promise<void>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:178 

Clears all messages in a conversation (used for the “clear chat” action).

Parameters

ParameterType

conversationId

string

Returns

Promise<void>

Implementation of

ChatStorageAdapter.clearMessages


createConversation()

createConversation(options?: CreateConversationOptions): Promise<StoredConversation>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:100 

Parameters

ParameterType

options?

CreateConversationOptions

Returns

Promise<StoredConversation>

Implementation of

ChatStorageAdapter.createConversation


createMessage()

createMessage(options: CreateMessageOptions): Promise<StoredMessage>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:147 

Parameters

ParameterType

options

CreateMessageOptions

Returns

Promise<StoredMessage>

Implementation of

ChatStorageAdapter.createMessage


deleteConversation()

deleteConversation(conversationId: string): Promise<boolean>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:112 

Soft delete. Implementations are responsible for cascading to messages/media.

Parameters

ParameterType

conversationId

string

Returns

Promise<boolean>

Implementation of

ChatStorageAdapter.deleteConversation


getAllFiles()

getAllFiles(): Promise<StoredFileWithContext[]>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:231 

Returns

Promise<StoredFileWithContext[]>

Implementation of

ChatStorageAdapter.getAllFiles


getConversation()

getConversation(conversationId: string): Promise<StoredConversation | null>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:89 

Parameters

ParameterType

conversationId

string

Returns

Promise<StoredConversation | null>

Implementation of

ChatStorageAdapter.getConversation


getConversations()

getConversations(options?: ConversationQueryOptions): Promise<StoredConversation[]>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:93 

Parameters

ParameterType

options?

ConversationQueryOptions

Returns

Promise<StoredConversation[]>

Implementation of

ChatStorageAdapter.getConversations


getMessages()

getMessages(conversationId: string): Promise<StoredMessage[]>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:143 

Parameters

ParameterType

conversationId

string

Returns

Promise<StoredMessage[]>

Implementation of

ChatStorageAdapter.getMessages


observeConversations()

observeConversations(options?: ConversationQueryOptions): ChatStorageObservable<StoredConversation[]>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:116 

Parameters

ParameterType

options?

ConversationQueryOptions

Returns

ChatStorageObservable<StoredConversation[]>

Implementation of

ChatStorageAdapter.observeConversations


observeMessages()

observeMessages(conversationId: string): ChatStorageObservable<StoredMessage[]>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:182 

Parameters

ParameterType

conversationId

string

Returns

ChatStorageObservable<StoredMessage[]>

Implementation of

ChatStorageAdapter.observeMessages


updateConversationProject()

updateConversationProject(conversationId: string, projectId: string | null): Promise<boolean>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:108 

Parameters

ParameterType

conversationId

string

projectId

string | null

Returns

Promise<boolean>

Implementation of

ChatStorageAdapter.updateConversationProject


updateConversationTitle()

updateConversationTitle(conversationId: string, title: string): Promise<boolean>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:104 

Parameters

ParameterType

conversationId

string

title

string

Returns

Promise<boolean>

Implementation of

ChatStorageAdapter.updateConversationTitle


updateMessageChunks()

updateMessageChunks(uniqueId: string, chunks: MessageChunk[], embeddingModel: string): Promise<StoredMessage | null>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:159 

Parameters

ParameterType

uniqueId

string

chunks

MessageChunk[]

embeddingModel

string

Returns

Promise<StoredMessage | null>

Implementation of

ChatStorageAdapter.updateMessageChunks


updateMessageEmbedding()

updateMessageEmbedding(uniqueId: string, vector: number[], embeddingModel: string): Promise<StoredMessage | null>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:151 

Parameters

ParameterType

uniqueId

string

vector

number[]

embeddingModel

string

Returns

Promise<StoredMessage | null>

Implementation of

ChatStorageAdapter.updateMessageEmbedding


updateMessageError()

updateMessageError(uniqueId: string, error: string): Promise<StoredMessage | null>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:167 

Parameters

ParameterType

uniqueId

string

error

string

Returns

Promise<StoredMessage | null>

Implementation of

ChatStorageAdapter.updateMessageError


updateMessageFeedback()

updateMessageFeedback(uniqueId: string, feedback: MessageFeedback): Promise<StoredMessage | null>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:171 

Parameters

ParameterType

uniqueId

string

feedback

MessageFeedback

Returns

Promise<StoredMessage | null>

Implementation of

ChatStorageAdapter.updateMessageFeedback


write()

write<T>(fn: (adapter: ChatStorageAdapter) => Promise<T>): Promise<T>

Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:243 

WatermelonDB nests database.write() safely: each method we call inside the callback already wraps its own writes, and Watermelon collapses the nesting under a single action. The callback receives the same adapter instance.

Type Parameters

Type Parameter

T

Parameters

ParameterType

fn

(adapter: ChatStorageAdapter) => Promise<T>

Returns

Promise<T>

Implementation of

ChatStorageAdapter.write

Last updated on