ChatStorageAdapter
Defined in: src/lib/storage/ChatStorageAdapter.ts:95
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).
Methods
clearMessages()
clearMessages(
conversationId:string):Promise<void>
Defined in: src/lib/storage/ChatStorageAdapter.ts:142
Clears all messages in a conversation (used for the “clear chat” action).
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
Promise<void>
createConversation()
createConversation(
options?:CreateConversationOptions):Promise<StoredConversation>
Defined in: src/lib/storage/ChatStorageAdapter.ts:102
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<StoredConversation>
createMessage()
createMessage(
options:CreateMessageOptions):Promise<StoredMessage>
Defined in: src/lib/storage/ChatStorageAdapter.ts:123
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<StoredMessage>
deleteConversation()
deleteConversation(
conversationId:string):Promise<boolean>
Defined in: src/lib/storage/ChatStorageAdapter.ts:113
Soft delete. Implementations are responsible for cascading to messages/media.
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
Promise<boolean>
getAllFiles()
getAllFiles():
Promise<StoredFileWithContext[]>
Defined in: src/lib/storage/ChatStorageAdapter.ts:148
Returns
Promise<StoredFileWithContext[]>
getConversation()
getConversation(
conversationId:string):Promise<StoredConversation|null>
Defined in: src/lib/storage/ChatStorageAdapter.ts:98
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
Promise<StoredConversation | null>
getConversations()
getConversations(
options?:ConversationQueryOptions):Promise<StoredConversation[]>
Defined in: src/lib/storage/ChatStorageAdapter.ts:100
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<StoredConversation[]>
getMessages()
getMessages(
conversationId:string):Promise<StoredMessage[]>
Defined in: src/lib/storage/ChatStorageAdapter.ts:121
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
Promise<StoredMessage[]>
observeConversations()
observeConversations(
options?:ConversationQueryOptions):ChatStorageObservable<StoredConversation[]>
Defined in: src/lib/storage/ChatStorageAdapter.ts:115
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
ChatStorageObservable<StoredConversation[]>
observeMessages()
observeMessages(
conversationId:string):ChatStorageObservable<StoredMessage[]>
Defined in: src/lib/storage/ChatStorageAdapter.ts:144
Parameters
| Parameter | Type |
|---|---|
|
|
|
Returns
ChatStorageObservable<StoredMessage[]>
updateConversationPinned()
updateConversationPinned(
conversationId:string,pinned:boolean):Promise<boolean>
Defined in: src/lib/storage/ChatStorageAdapter.ts:110
Pin or unpin a conversation. Pinning stamps pinnedAt; list queries are
NOT reordered — consumers sort pinned chats first using pinnedAt.
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
Promise<boolean>
updateConversationProject()
updateConversationProject(
conversationId:string,projectId:string|null):Promise<boolean>
Defined in: src/lib/storage/ChatStorageAdapter.ts:106
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
Promise<boolean>
updateConversationTitle()
updateConversationTitle(
conversationId:string,title:string):Promise<boolean>
Defined in: src/lib/storage/ChatStorageAdapter.ts:104
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
Promise<boolean>
updateMessageChunks()
updateMessageChunks(
uniqueId:string,chunks:MessageChunk[],embeddingModel:string):Promise<StoredMessage|null>
Defined in: src/lib/storage/ChatStorageAdapter.ts:131
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
| |
|
|
|
Returns
Promise<StoredMessage | null>
updateMessageEmbedding()
updateMessageEmbedding(
uniqueId:string,vector:number[],embeddingModel:string):Promise<StoredMessage|null>
Defined in: src/lib/storage/ChatStorageAdapter.ts:125
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
|
|
|
Returns
Promise<StoredMessage | null>
updateMessageError()
updateMessageError(
uniqueId:string,error:string):Promise<StoredMessage|null>
Defined in: src/lib/storage/ChatStorageAdapter.ts:137
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
Promise<StoredMessage | null>
updateMessageFeedback()
updateMessageFeedback(
uniqueId:string,feedback:MessageFeedback):Promise<StoredMessage|null>
Defined in: src/lib/storage/ChatStorageAdapter.ts:139
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
Returns
Promise<StoredMessage | null>
write()
write<
T>(fn: (adapter:ChatStorageAdapter) =>Promise<T>):Promise<T>
Defined in: src/lib/storage/ChatStorageAdapter.ts:160
Run a set of mutations inside a single write transaction. Any mutation calls made on the adapter inside the callback are grouped into one atomic write on backends that support it.
On backends without transaction support, this may fall back to sequential writes. Implementations must document the guarantee they provide.
Type Parameters
| Type Parameter |
|---|
|
|
Parameters
| Parameter | Type |
|---|---|
|
|
( |
Returns
Promise<T>