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
| Parameter | Type |
|---|---|
|
|
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
| Parameter | Type |
|---|---|
|
|
|
Returns
Promise<void>
Implementation of
ChatStorageAdapter.clearMessages
createConversation()
createConversation(
options?:CreateConversationOptions):Promise<StoredConversation>
Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:100
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<StoredConversation>
Implementation of
ChatStorageAdapter.createConversation
createMessage()
createMessage(
options:CreateMessageOptions):Promise<StoredMessage>
Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:147
Parameters
| Parameter | Type |
|---|---|
|
|
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
| Parameter | Type |
|---|---|
|
|
|
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
| Parameter | Type |
|---|---|
|
|
|
Returns
Promise<StoredConversation | null>
Implementation of
ChatStorageAdapter.getConversation
getConversations()
getConversations(
options?:ConversationQueryOptions):Promise<StoredConversation[]>
Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:93
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<StoredConversation[]>
Implementation of
ChatStorageAdapter.getConversations
getMessages()
getMessages(
conversationId:string):Promise<StoredMessage[]>
Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:143
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
Promise<StoredMessage[]>
Implementation of
ChatStorageAdapter.getMessages
observeConversations()
observeConversations(
options?:ConversationQueryOptions):ChatStorageObservable<StoredConversation[]>
Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:116
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
ChatStorageObservable<StoredConversation[]>
Implementation of
ChatStorageAdapter.observeConversations
observeMessages()
observeMessages(
conversationId:string):ChatStorageObservable<StoredMessage[]>
Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:182
Parameters
| Parameter | Type |
|---|---|
|
|
|
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
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
Promise<boolean>
Implementation of
ChatStorageAdapter.updateConversationProject
updateConversationTitle()
updateConversationTitle(
conversationId:string,title:string):Promise<boolean>
Defined in: src/lib/storage/WatermelonChatStorageAdapter.ts:104
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
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
| Parameter | Type |
|---|---|
|
|
|
|
| |
|
|
|
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
| Parameter | Type |
|---|---|
|
|
|
|
|
|
|
|
|
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
| Parameter | Type |
|---|---|
|
|
|
|
|
|
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
| Parameter | Type |
|---|---|
|
|
|
|
|
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 |
|---|
|
|
Parameters
| Parameter | Type |
|---|---|
|
|
( |
Returns
Promise<T>
Implementation of