Skip to Content

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:138 

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

Parameters

ParameterType

conversationId

string

Returns

Promise<void>


createConversation()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:102 

Parameters

ParameterType

options?

CreateConversationOptions

Returns

Promise<StoredConversation>


createMessage()

createMessage(options: CreateMessageOptions): Promise<StoredMessage>

Defined in: src/lib/storage/ChatStorageAdapter.ts:119 

Parameters

ParameterType

options

CreateMessageOptions

Returns

Promise<StoredMessage>


deleteConversation()

deleteConversation(conversationId: string): Promise<boolean>

Defined in: src/lib/storage/ChatStorageAdapter.ts:109 

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

Parameters

ParameterType

conversationId

string

Returns

Promise<boolean>


getAllFiles()

getAllFiles(): Promise<StoredFileWithContext[]>

Defined in: src/lib/storage/ChatStorageAdapter.ts:144 

Returns

Promise<StoredFileWithContext[]>


getConversation()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:98 

Parameters

ParameterType

conversationId

string

Returns

Promise<StoredConversation | null>


getConversations()

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

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

Parameters

ParameterType

options?

ConversationQueryOptions

Returns

Promise<StoredConversation[]>


getMessages()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:117 

Parameters

ParameterType

conversationId

string

Returns

Promise<StoredMessage[]>


observeConversations()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:111 

Parameters

ParameterType

options?

ConversationQueryOptions

Returns

ChatStorageObservable<StoredConversation[]>


observeMessages()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:140 

Parameters

ParameterType

conversationId

string

Returns

ChatStorageObservable<StoredMessage[]>


updateConversationProject()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:106 

Parameters

ParameterType

conversationId

string

projectId

string | null

Returns

Promise<boolean>


updateConversationTitle()

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

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

Parameters

ParameterType

conversationId

string

title

string

Returns

Promise<boolean>


updateMessageChunks()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:127 

Parameters

ParameterType

uniqueId

string

chunks

MessageChunk[]

embeddingModel

string

Returns

Promise<StoredMessage | null>


updateMessageEmbedding()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:121 

Parameters

ParameterType

uniqueId

string

vector

number[]

embeddingModel

string

Returns

Promise<StoredMessage | null>


updateMessageError()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:133 

Parameters

ParameterType

uniqueId

string

error

string

Returns

Promise<StoredMessage | null>


updateMessageFeedback()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:135 

Parameters

ParameterType

uniqueId

string

feedback

MessageFeedback

Returns

Promise<StoredMessage | null>


write()

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

Defined in: src/lib/storage/ChatStorageAdapter.ts:156 

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

T

Parameters

ParameterType

fn

(adapter: ChatStorageAdapter) => Promise<T>

Returns

Promise<T>

Last updated on