feat: enhanced Code Context and Project Summary Features (#1191)
* fix: docker prod env variable fix * lint and typecheck * removed hardcoded tag * better summary generation * improved summary generation for context optimization * remove think tags from the generation
This commit is contained in:
@@ -7,7 +7,7 @@ import { PromptLibrary } from '~/lib/common/prompt-library';
|
||||
import { allowedHTMLElements } from '~/utils/markdown';
|
||||
import { LLMManager } from '~/lib/modules/llm/manager';
|
||||
import { createScopedLogger } from '~/utils/logger';
|
||||
import { createFilesContext, extractPropertiesFromMessage, simplifyBoltActions } from './utils';
|
||||
import { createFilesContext, extractPropertiesFromMessage } from './utils';
|
||||
import { getFilePaths } from './select-context';
|
||||
|
||||
export type Messages = Message[];
|
||||
@@ -27,6 +27,7 @@ export async function streamText(props: {
|
||||
contextOptimization?: boolean;
|
||||
contextFiles?: FileMap;
|
||||
summary?: string;
|
||||
messageSliceId?: number;
|
||||
}) {
|
||||
const {
|
||||
messages,
|
||||
@@ -51,10 +52,8 @@ export async function streamText(props: {
|
||||
return { ...message, content };
|
||||
} else if (message.role == 'assistant') {
|
||||
let content = message.content;
|
||||
|
||||
if (contextOptimization) {
|
||||
content = simplifyBoltActions(content);
|
||||
}
|
||||
content = content.replace(/<div class=\\"__boltThought__\\">.*?<\/div>/s, '');
|
||||
content = content.replace(/<think>.*?<\/think>/s, '');
|
||||
|
||||
return { ...message, content };
|
||||
}
|
||||
@@ -110,7 +109,7 @@ Below are all the files present in the project:
|
||||
${filePaths.join('\n')}
|
||||
---
|
||||
|
||||
Below is the context loaded into context buffer for you to have knowledge of and might need changes to fullfill current user request.
|
||||
Below is the artifact containing the context loaded into context buffer for you to have knowledge of and might need changes to fullfill current user request.
|
||||
CONTEXT BUFFER:
|
||||
---
|
||||
${codeContext}
|
||||
@@ -126,10 +125,14 @@ ${props.summary}
|
||||
---
|
||||
`;
|
||||
|
||||
const lastMessage = processedMessages.pop();
|
||||
if (props.messageSliceId) {
|
||||
processedMessages = processedMessages.slice(props.messageSliceId);
|
||||
} else {
|
||||
const lastMessage = processedMessages.pop();
|
||||
|
||||
if (lastMessage) {
|
||||
processedMessages = [lastMessage];
|
||||
if (lastMessage) {
|
||||
processedMessages = [lastMessage];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user