auto-git:
[change] main.js
This commit is contained in:
16
main.js
16
main.js
@@ -1238,6 +1238,7 @@ async function runLLMCommitRewrite(folderObj, win) {
|
|||||||
debug(`[runLLMCommitRewrite] Rewrite already in progress for ${folderPath}, skipping.`);
|
debug(`[runLLMCommitRewrite] Rewrite already in progress for ${folderPath}, skipping.`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
debug(`[runLLMCommitRewrite] Starting rewrite for ${folderPath}, ${hashes.length} commits.`);
|
||||||
|
|
||||||
const originalBirthday = folders[idx].firstCandidateBirthday;
|
const originalBirthday = folders[idx].firstCandidateBirthday;
|
||||||
|
|
||||||
@@ -1248,12 +1249,17 @@ async function runLLMCommitRewrite(folderObj, win) {
|
|||||||
|
|
||||||
let error;
|
let error;
|
||||||
try {
|
try {
|
||||||
|
debug(`[runLLMCommitRewrite] Building prompt for ${folderPath}`);
|
||||||
const prompt = await generateLLMCommitMessages(folderPath, hashes);
|
const prompt = await generateLLMCommitMessages(folderPath, hashes);
|
||||||
|
debug(`[runLLMCommitRewrite] Streaming LLM for ${folderPath}`);
|
||||||
const llmRaw = await streamLLMCommitMessages(prompt, chunk => process.stdout.write(chunk), win);
|
const llmRaw = await streamLLMCommitMessages(prompt, chunk => process.stdout.write(chunk), win);
|
||||||
|
debug(`[runLLMCommitRewrite] Parsing LLM output for ${folderPath}`);
|
||||||
const commitList = parseLLMCommitMessages(llmRaw);
|
const commitList = parseLLMCommitMessages(llmRaw);
|
||||||
|
debug(`[runLLMCommitRewrite] Rewording ${commitList.length} commits for ${folderPath}`);
|
||||||
const messageMap = {};
|
const messageMap = {};
|
||||||
for (const entry of commitList) messageMap[entry.commit] = entry.newMessage;
|
for (const entry of commitList) messageMap[entry.commit] = entry.newMessage;
|
||||||
await rewordCommitsSequentially(folderPath, messageMap, hashes);
|
await rewordCommitsSequentially(folderPath, messageMap, hashes);
|
||||||
|
debug(`[runLLMCommitRewrite] Reword finished for ${folderPath}`);
|
||||||
win.webContents.send('repo-updated', folderPath);
|
win.webContents.send('repo-updated', folderPath);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
error = err;
|
error = err;
|
||||||
@@ -1524,6 +1530,9 @@ async function autoCommit(folderPath, message, win) {
|
|||||||
|
|
||||||
// Threshold holen
|
// Threshold holen
|
||||||
const threshold = store.get('intelligentCommitThreshold') || 10;
|
const threshold = store.get('intelligentCommitThreshold') || 10;
|
||||||
|
// Persist state before triggering rewrite so runLLMCommitRewrite sees fresh candidates.
|
||||||
|
store.set('folders', folders);
|
||||||
|
|
||||||
if (!folders[idx].rewriteInProgress && folders[idx].linesChanged >= threshold) {
|
if (!folders[idx].rewriteInProgress && folders[idx].linesChanged >= threshold) {
|
||||||
debug('Congratulations! You changed enough lines of code :)');
|
debug('Congratulations! You changed enough lines of code :)');
|
||||||
await runLLMCommitRewrite(folders[idx], win);
|
await runLLMCommitRewrite(folders[idx], win);
|
||||||
@@ -1531,7 +1540,7 @@ async function autoCommit(folderPath, message, win) {
|
|||||||
//folders[idx].llmCandidates = [];
|
//folders[idx].llmCandidates = [];
|
||||||
//folders.[idx].firstCandidateBirthday = null
|
//folders.[idx].firstCandidateBirthday = null
|
||||||
}
|
}
|
||||||
store.set('folders', folders);
|
// Already stored above
|
||||||
} else {
|
} else {
|
||||||
// Folder not found! (Debug)
|
// Folder not found! (Debug)
|
||||||
debug(`[autoCommit] Warning: Folder ${folderPath} not found in store`);
|
debug(`[autoCommit] Warning: Folder ${folderPath} not found in store`);
|
||||||
@@ -1601,7 +1610,10 @@ async function main() {
|
|||||||
if (folderObj.firstCandidateBirthday != null && !folderObj.rewriteInProgress) {
|
if (folderObj.firstCandidateBirthday != null && !folderObj.rewriteInProgress) {
|
||||||
const elapsedMin = (now - folderObj.firstCandidateBirthday) / 1000 / 60;
|
const elapsedMin = (now - folderObj.firstCandidateBirthday) / 1000 / 60;
|
||||||
if (elapsedMin >= minutesThreshold) {
|
if (elapsedMin >= minutesThreshold) {
|
||||||
await runLLMCommitRewrite(folderObj, win);
|
// Do not block the rest of initialization; run rewrite in background.
|
||||||
|
runLLMCommitRewrite(folderObj, win).catch(err => {
|
||||||
|
debug(`[runLLMCommitRewrite] Error for ${folderObj.path}: ${err.message || err}`);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user