show reasoning in frontend
This commit is contained in:
+13
-8
@@ -195,8 +195,9 @@ export function createRepositories(db, config) {
|
||||
insertChatMessage: db.prepare("INSERT INTO chat_messages (chat_id, role, content, model_name, retry_variants, retry_active_index, retry_retries_used, retry_prompt_message_id, delivery_status, error_message, parent_message_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"),
|
||||
updateChatMessageDelivery: db.prepare("UPDATE chat_messages SET delivery_status = ?, error_message = ? WHERE id = ? AND chat_id = ?"),
|
||||
updateChatMessageSources: db.prepare("UPDATE chat_messages SET sources = ? WHERE id = ? AND chat_id = ?"),
|
||||
updateChatMessageThinking: db.prepare("UPDATE chat_messages SET thinking = ? WHERE id = ? AND chat_id = ?"),
|
||||
getChatMessages: db.prepare(`
|
||||
SELECT sources, id, role, content, model_name, retry_variants, retry_active_index, retry_retries_used, retry_prompt_message_id, delivery_status, error_message, parent_message_id, created_at
|
||||
SELECT thinking, sources, id, role, content, model_name, retry_variants, retry_active_index, retry_retries_used, retry_prompt_message_id, delivery_status, error_message, parent_message_id, created_at
|
||||
FROM chat_messages
|
||||
WHERE chat_id = ?
|
||||
ORDER BY id
|
||||
@@ -236,7 +237,7 @@ export function createRepositories(db, config) {
|
||||
JOIN branch child ON child.parent_message_id = parent.id
|
||||
)
|
||||
SELECT id, role, content, model_name, retry_variants, retry_active_index, retry_retries_used,
|
||||
retry_prompt_message_id, delivery_status, error_message, parent_message_id, created_at, sources
|
||||
retry_prompt_message_id, delivery_status, error_message, parent_message_id, created_at, sources, thinking
|
||||
FROM branch
|
||||
WHERE delivery_status = 'complete'
|
||||
ORDER BY id
|
||||
@@ -252,7 +253,7 @@ export function createRepositories(db, config) {
|
||||
JOIN branch child ON child.parent_message_id = parent.id
|
||||
)
|
||||
SELECT id, role, content, model_name, retry_variants, retry_active_index, retry_retries_used,
|
||||
retry_prompt_message_id, delivery_status, error_message, parent_message_id, created_at, sources
|
||||
retry_prompt_message_id, delivery_status, error_message, parent_message_id, created_at, sources, thinking
|
||||
FROM branch ORDER BY id
|
||||
`),
|
||||
getSiblingChatMessages: db.prepare(`
|
||||
@@ -271,13 +272,13 @@ export function createRepositories(db, config) {
|
||||
SELECT cm.* FROM chat_messages cm JOIN descendants d ON d.id = cm.id ORDER BY cm.id DESC LIMIT 1
|
||||
`),
|
||||
getChatMessageById: db.prepare(`
|
||||
SELECT sources, id, role, content, model_name, retry_variants, retry_active_index, retry_retries_used, retry_prompt_message_id, delivery_status, error_message, parent_message_id, created_at
|
||||
SELECT thinking, sources, id, role, content, model_name, retry_variants, retry_active_index, retry_retries_used, retry_prompt_message_id, delivery_status, error_message, parent_message_id, created_at
|
||||
FROM chat_messages
|
||||
WHERE id = ?
|
||||
AND chat_id = ?
|
||||
`),
|
||||
getChatMessageByIndex: db.prepare(`
|
||||
SELECT sources, id, role, content, model_name, retry_variants, retry_active_index, retry_retries_used, retry_prompt_message_id, delivery_status, error_message, parent_message_id, created_at
|
||||
SELECT thinking, sources, id, role, content, model_name, retry_variants, retry_active_index, retry_retries_used, retry_prompt_message_id, delivery_status, error_message, parent_message_id, created_at
|
||||
FROM chat_messages
|
||||
WHERE chat_id = ?
|
||||
ORDER BY id
|
||||
@@ -738,7 +739,7 @@ export function createRepositories(db, config) {
|
||||
return statements.deleteUser.run(username);
|
||||
});
|
||||
|
||||
const completeChatTurnTransaction = db.transaction((chatId, userMessageId, assistantContent, retryState, modelName, sources) => {
|
||||
const completeChatTurnTransaction = db.transaction((chatId, userMessageId, assistantContent, retryState, modelName, sources, thinking) => {
|
||||
const assistantResult = statements.insertChatMessage.run(
|
||||
chatId,
|
||||
"bot",
|
||||
@@ -754,6 +755,7 @@ export function createRepositories(db, config) {
|
||||
);
|
||||
statements.updateChatMessageDelivery.run("complete", null, userMessageId, chatId);
|
||||
if (sources) statements.updateChatMessageSources.run(JSON.stringify(sources), assistantResult.lastInsertRowid, chatId);
|
||||
if (thinking) statements.updateChatMessageThinking.run(thinking, assistantResult.lastInsertRowid, chatId);
|
||||
statements.setChatActiveLeafById.run(assistantResult.lastInsertRowid, chatId);
|
||||
return assistantResult;
|
||||
});
|
||||
@@ -866,6 +868,7 @@ export function createRepositories(db, config) {
|
||||
);
|
||||
if (message.sourceId != null) importedMessageIds.set(message.sourceId, Number(result.lastInsertRowid));
|
||||
if (message.sources) statements.updateChatMessageSources.run(JSON.stringify(message.sources), result.lastInsertRowid, chatId);
|
||||
if (message.thinking) statements.updateChatMessageThinking.run(message.thinking, result.lastInsertRowid, chatId);
|
||||
}
|
||||
statements.updateChatGenerationSettings.run(
|
||||
chat.preferred_model ?? null,
|
||||
@@ -1015,8 +1018,10 @@ export function createRepositories(db, config) {
|
||||
insertBranchChatMessageTransaction(chatId, role, content, retryState, modelName, deliveryStatus, errorMessage, parentMessageId),
|
||||
updateChatMessageDelivery: (chatId, messageId, deliveryStatus, errorMessage = null) =>
|
||||
statements.updateChatMessageDelivery.run(deliveryStatus, errorMessage, messageId, chatId),
|
||||
completeChatTurn: (chatId, userMessageId, assistantContent, retryState, modelName = null, sources = null) =>
|
||||
completeChatTurnTransaction(chatId, userMessageId, assistantContent, retryState, modelName, sources),
|
||||
completeChatTurn: (chatId, userMessageId, assistantContent, retryState, modelName = null, sources = null, thinking = null) =>
|
||||
completeChatTurnTransaction(chatId, userMessageId, assistantContent, retryState, modelName, sources, thinking),
|
||||
updateChatMessageThinking: (chatId, messageId, thinking) =>
|
||||
statements.updateChatMessageThinking.run(thinking, messageId, chatId),
|
||||
updateChatMessageSources: (chatId, messageId, sources) =>
|
||||
statements.updateChatMessageSources.run(JSON.stringify(sources), messageId, chatId),
|
||||
failChatTurn: (chatId, userMessageId, errorMessage, parentMessageId = null) =>
|
||||
|
||||
@@ -274,6 +274,7 @@ export function runMigrations(db, {dropLegacyChats = true} = {}) {
|
||||
|
||||
const chatMessageColumns = db.prepare("PRAGMA table_info(chat_messages)").all();
|
||||
ensureColumn("chat_messages", chatMessageColumns, "sources", "ALTER TABLE chat_messages ADD COLUMN sources TEXT");
|
||||
ensureColumn("chat_messages", chatMessageColumns, "thinking", "ALTER TABLE chat_messages ADD COLUMN thinking TEXT");
|
||||
const hadParentMessageId = chatMessageColumns.some((column) => column.name === "parent_message_id");
|
||||
ensureColumn("chat_messages", chatMessageColumns, "model_name", "ALTER TABLE chat_messages ADD COLUMN model_name TEXT");
|
||||
ensureColumn("chat_messages", chatMessageColumns, "retry_variants", "ALTER TABLE chat_messages ADD COLUMN retry_variants TEXT");
|
||||
|
||||
Reference in New Issue
Block a user