feat(FN-2012): merge fusion/fn-2012
This commit is contained in:
@@ -36,6 +36,8 @@ export interface ChatStoreEvents {
|
||||
"chat:session:deleted": [sessionId: string];
|
||||
/** Emitted when a message is added to a session */
|
||||
"chat:message:added": [message: ChatMessage];
|
||||
/** Emitted when a message is deleted from a session */
|
||||
"chat:message:deleted": [messageId: string];
|
||||
}
|
||||
|
||||
// ── ChatStore Class ─────────────────────────────────────────────────
|
||||
@@ -374,4 +376,20 @@ export class ChatStore extends EventEmitter<ChatStoreEvents> {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a message by ID.
|
||||
*
|
||||
* @param id - Message ID
|
||||
* @returns true if deleted, false if not found
|
||||
*/
|
||||
deleteMessage(id: string): boolean {
|
||||
const existing = this.getMessage(id);
|
||||
if (!existing) return false;
|
||||
|
||||
this.db.prepare("DELETE FROM chat_messages WHERE id = ?").run(id);
|
||||
this.db.bumpLastModified();
|
||||
this.emit("chat:message:deleted", id);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user