Support exclude paths in manual context management (#774)
This commit is contained in:
@@ -39,10 +39,10 @@ export function registerContextPathsHandlers() {
|
||||
const results: ContextPathResults = {
|
||||
contextPaths: [],
|
||||
smartContextAutoIncludes: [],
|
||||
excludePaths: [],
|
||||
};
|
||||
const { contextPaths, smartContextAutoIncludes } = validateChatContext(
|
||||
app.chatContext,
|
||||
);
|
||||
const { contextPaths, smartContextAutoIncludes, excludePaths } =
|
||||
validateChatContext(app.chatContext);
|
||||
for (const contextPath of contextPaths) {
|
||||
const { formattedOutput, files } = await extractCodebase({
|
||||
appPath,
|
||||
@@ -76,6 +76,23 @@ export function registerContextPathsHandlers() {
|
||||
tokens: totalTokens,
|
||||
});
|
||||
}
|
||||
|
||||
for (const excludePath of excludePaths || []) {
|
||||
const { formattedOutput, files } = await extractCodebase({
|
||||
appPath,
|
||||
chatContext: {
|
||||
contextPaths: [excludePath],
|
||||
smartContextAutoIncludes: [],
|
||||
},
|
||||
});
|
||||
const totalTokens = estimateTokens(formattedOutput);
|
||||
|
||||
results.excludePaths.push({
|
||||
...excludePath,
|
||||
files: files.length,
|
||||
tokens: totalTokens,
|
||||
});
|
||||
}
|
||||
return results;
|
||||
},
|
||||
);
|
||||
|
||||
@@ -8,6 +8,7 @@ export function validateChatContext(chatContext: unknown): AppChatContext {
|
||||
return {
|
||||
contextPaths: [],
|
||||
smartContextAutoIncludes: [],
|
||||
excludePaths: [],
|
||||
};
|
||||
}
|
||||
|
||||
@@ -20,6 +21,7 @@ export function validateChatContext(chatContext: unknown): AppChatContext {
|
||||
return {
|
||||
contextPaths: [],
|
||||
smartContextAutoIncludes: [],
|
||||
excludePaths: [],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user