MCPcopy
hub / github.com/di-sukharev/opencommit / getMessagesPromisesByChangesInFile

Function getMessagesPromisesByChangesInFile

out/cli.cjs:85553–85582  ·  view source on GitHub ↗
(fileDiff, separator, maxChangeLength, fullGitMojiSpec, context)

Source from the content-addressed store, hash-verified

85551 context,
85552 newModel
85553 );
85554 }
85555 }
85556 throw error;
85557 }
85558};
85559function getMessagesPromisesByChangesInFile(fileDiff, separator, maxChangeLength, fullGitMojiSpec, context) {
85560 const hunkHeaderSeparator = "@@ ";
85561 const [fileHeader, ...fileDiffByLines] = fileDiff.split(hunkHeaderSeparator);
85562 const mergedChanges = mergeDiffs(
85563 fileDiffByLines.map((line) => hunkHeaderSeparator + line),
85564 maxChangeLength
85565 );
85566 const lineDiffsWithHeader = [];
85567 for (const change of mergedChanges) {
85568 const totalChange = fileHeader + change;
85569 if (tokenCount(totalChange) > maxChangeLength) {
85570 const splitChanges = splitDiff(totalChange, maxChangeLength);
85571 lineDiffsWithHeader.push(...splitChanges);
85572 } else {
85573 lineDiffsWithHeader.push(totalChange);
85574 }
85575 }
85576 const engine = getEngine();
85577 const commitMsgsFromFileLineDiffs = lineDiffsWithHeader.map(
85578 async (lineDiff) => {
85579 const messages = await generateCommitMessageChatCompletionPrompt(
85580 separator + lineDiff,
85581 fullGitMojiSpec,
85582 context
85583 );
85584 return engine.generateCommitMessage(messages);
85585 }

Callers 1

Calls 7

mergeDiffsFunction · 0.70
tokenCountFunction · 0.70
splitDiffFunction · 0.70
getEngineFunction · 0.70
generateCommitMessageMethod · 0.65
pushMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…