Refactor message handling and remove result limit in vault indexing
This commit is contained in:
+9
-9
@@ -287,14 +287,16 @@ export class ChatView extends ItemView {
|
|||||||
context = context.substring(0, MAX_CONTEXT_LENGTH) + '\n\n... (truncated)';
|
context = context.substring(0, MAX_CONTEXT_LENGTH) + '\n\n... (truncated)';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const systemContent = context
|
||||||
|
? `You are a helpful assistant.\n\nRelevant vault context:\n${context}`
|
||||||
|
: 'You are a helpful assistant.';
|
||||||
const systemMessage: OllamaMessage = {
|
const systemMessage: OllamaMessage = {
|
||||||
role: 'system',
|
role: 'system',
|
||||||
content: 'You are a helpful assistant.',
|
content: systemContent,
|
||||||
};
|
};
|
||||||
const userContent = context ? `${context}\n\n${userMessage}` : userMessage;
|
|
||||||
const userMessageWithContext: OllamaMessage = {
|
const userMessageWithContext: OllamaMessage = {
|
||||||
role: 'user',
|
role: 'user',
|
||||||
content: userContent,
|
content: userMessage,
|
||||||
};
|
};
|
||||||
|
|
||||||
const messages: OllamaMessage[] = [
|
const messages: OllamaMessage[] = [
|
||||||
@@ -439,13 +441,11 @@ export class ChatView extends ItemView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update last message immutably — only if no tool calls were processed
|
// Update assistant message immutably — only if no tool calls were processed
|
||||||
if (toolCalls.length === 0) {
|
if (toolCalls.length === 0) {
|
||||||
const lastMessageIndex = this.messages.length - 1;
|
this.updateMessageById(assistantMessageId, {
|
||||||
if (lastMessageIndex >= 0) {
|
isStreaming: false,
|
||||||
const lastMessage = { ...this.messages[lastMessageIndex], isStreaming: false };
|
});
|
||||||
this.messages = [...this.messages.slice(0, lastMessageIndex), lastMessage];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Limit conversation history to prevent memory issues
|
// Limit conversation history to prevent memory issues
|
||||||
|
|||||||
@@ -102,10 +102,6 @@ class VaultIndexer {
|
|||||||
(result): result is NonNullable<typeof result> => result !== null
|
(result): result is NonNullable<typeof result> => result !== null
|
||||||
);
|
);
|
||||||
results.push(...validResults);
|
results.push(...validResults);
|
||||||
|
|
||||||
if (results.length >= 50) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
|
|||||||
Reference in New Issue
Block a user