perf: read conversation lists in the readonly worker and diff activity history saves

conversations:list-summaries and conversations:get run on the readonly query worker. Activity history replace validates and serializes only changed records; a new activity-history:update IPC writes one record. Adds npm run perf:main.
This commit is contained in:
mesalogo
2026-10-03 05:53:10 +08:00
parent 169941ceda
commit 3c31f0b499
13 changed files with 908 additions and 56 deletions
+6 -1
View File
@@ -31,7 +31,12 @@ if (kind === 'knowledge') {
handlers = {
readStoryGraph: ([name, input, projectId], signal) => database.readStoryGraph(
name as Parameters<AssistantDatabase['readStoryGraph']>[0], input, projectId as string | undefined, signal),
searchConversations: ([query]) => database.searchConversations(query as string)
searchConversations: ([query]) => database.searchConversations(query as string),
// Several statements each: read them from one snapshot.
listConversationSummaries: ([detailIds]) => database.readSnapshot(() =>
database.listConversationSummaries(detailIds as string[])),
getConversation: ([conversationId]) => database.readSnapshot(() =>
database.getConversation(conversationId as string))
}
}