git-coco 0.22.4 → 0.22.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.mjs +42 -10
- package/dist/index.js +42 -10
- package/package.json +1 -1
package/dist/index.esm.mjs
CHANGED
|
@@ -47,7 +47,7 @@ import { pathToFileURL } from 'url';
|
|
|
47
47
|
/**
|
|
48
48
|
* Current build version from package.json
|
|
49
49
|
*/
|
|
50
|
-
const BUILD_VERSION = "0.22.
|
|
50
|
+
const BUILD_VERSION = "0.22.5";
|
|
51
51
|
|
|
52
52
|
const isInteractive = (config) => {
|
|
53
53
|
return config?.mode === 'interactive' || !!config?.interactive;
|
|
@@ -7960,6 +7960,40 @@ async function executeChainWithSchema(schema, llm, prompt, variables, options =
|
|
|
7960
7960
|
}
|
|
7961
7961
|
}
|
|
7962
7962
|
|
|
7963
|
+
/**
|
|
7964
|
+
* Utility function to ensure commit messages are properly formatted as strings
|
|
7965
|
+
* rather than JSON objects, whether they come as parsed objects or stringified JSON
|
|
7966
|
+
*/
|
|
7967
|
+
function formatCommitMessage(result, options = {}) {
|
|
7968
|
+
const { append, ticketId, appendTicket } = options;
|
|
7969
|
+
// If it's a string, check if it contains a JSON object
|
|
7970
|
+
if (typeof result === 'string') {
|
|
7971
|
+
try {
|
|
7972
|
+
// Try to parse as JSON to see if it's a stringified object
|
|
7973
|
+
const parsed = JSON.parse(result);
|
|
7974
|
+
if (parsed && typeof parsed === 'object' && parsed.title && parsed.body) {
|
|
7975
|
+
// It's a stringified JSON object, format it properly
|
|
7976
|
+
const appendedText = append ? `\n\n${append}` : '';
|
|
7977
|
+
const ticketFooter = appendTicket && ticketId ? `\n\nPart of **${ticketId}**` : '';
|
|
7978
|
+
return `${parsed.title}\n\n${parsed.body}${appendedText}${ticketFooter}`;
|
|
7979
|
+
}
|
|
7980
|
+
}
|
|
7981
|
+
catch {
|
|
7982
|
+
// Not valid JSON, treat as regular string
|
|
7983
|
+
}
|
|
7984
|
+
return result;
|
|
7985
|
+
}
|
|
7986
|
+
// If it's already an object with title and body, format it
|
|
7987
|
+
if (typeof result === 'object' && result !== null && 'title' in result && 'body' in result) {
|
|
7988
|
+
const commitMsgObj = result;
|
|
7989
|
+
const appendedText = append ? `\n\n${append}` : '';
|
|
7990
|
+
const ticketFooter = appendTicket && ticketId ? `\n\nPart of **${ticketId}**` : '';
|
|
7991
|
+
return `${commitMsgObj.title}\n\n${commitMsgObj.body}${appendedText}${ticketFooter}`;
|
|
7992
|
+
}
|
|
7993
|
+
// Fallback - convert to string
|
|
7994
|
+
return String(result);
|
|
7995
|
+
}
|
|
7996
|
+
|
|
7963
7997
|
/**
|
|
7964
7998
|
* Extract the path from a file path string.
|
|
7965
7999
|
* @param {string} filePath - The full file path.
|
|
@@ -11632,15 +11666,13 @@ ${schema.description}
|
|
|
11632
11666
|
logger.verbose(`Retrying commit message generation (attempt ${attempt}): ${error.message}`, { color: 'yellow' });
|
|
11633
11667
|
},
|
|
11634
11668
|
});
|
|
11635
|
-
// Ensure we always return a formatted
|
|
11636
|
-
|
|
11637
|
-
|
|
11638
|
-
|
|
11639
|
-
|
|
11640
|
-
|
|
11641
|
-
|
|
11642
|
-
}
|
|
11643
|
-
return result;
|
|
11669
|
+
// Ensure we always return a properly formatted commit message string
|
|
11670
|
+
const ticketId = extractTicketIdFromBranchName(branchName);
|
|
11671
|
+
return formatCommitMessage(result, {
|
|
11672
|
+
append: argv.append,
|
|
11673
|
+
ticketId: ticketId || undefined,
|
|
11674
|
+
appendTicket: argv.appendTicket,
|
|
11675
|
+
});
|
|
11644
11676
|
},
|
|
11645
11677
|
noResult: async () => {
|
|
11646
11678
|
await noResult$2({ git, logger });
|
package/dist/index.js
CHANGED
|
@@ -69,7 +69,7 @@ var readline__namespace = /*#__PURE__*/_interopNamespaceDefault(readline);
|
|
|
69
69
|
/**
|
|
70
70
|
* Current build version from package.json
|
|
71
71
|
*/
|
|
72
|
-
const BUILD_VERSION = "0.22.
|
|
72
|
+
const BUILD_VERSION = "0.22.5";
|
|
73
73
|
|
|
74
74
|
const isInteractive = (config) => {
|
|
75
75
|
return config?.mode === 'interactive' || !!config?.interactive;
|
|
@@ -7982,6 +7982,40 @@ async function executeChainWithSchema(schema, llm, prompt, variables, options =
|
|
|
7982
7982
|
}
|
|
7983
7983
|
}
|
|
7984
7984
|
|
|
7985
|
+
/**
|
|
7986
|
+
* Utility function to ensure commit messages are properly formatted as strings
|
|
7987
|
+
* rather than JSON objects, whether they come as parsed objects or stringified JSON
|
|
7988
|
+
*/
|
|
7989
|
+
function formatCommitMessage(result, options = {}) {
|
|
7990
|
+
const { append, ticketId, appendTicket } = options;
|
|
7991
|
+
// If it's a string, check if it contains a JSON object
|
|
7992
|
+
if (typeof result === 'string') {
|
|
7993
|
+
try {
|
|
7994
|
+
// Try to parse as JSON to see if it's a stringified object
|
|
7995
|
+
const parsed = JSON.parse(result);
|
|
7996
|
+
if (parsed && typeof parsed === 'object' && parsed.title && parsed.body) {
|
|
7997
|
+
// It's a stringified JSON object, format it properly
|
|
7998
|
+
const appendedText = append ? `\n\n${append}` : '';
|
|
7999
|
+
const ticketFooter = appendTicket && ticketId ? `\n\nPart of **${ticketId}**` : '';
|
|
8000
|
+
return `${parsed.title}\n\n${parsed.body}${appendedText}${ticketFooter}`;
|
|
8001
|
+
}
|
|
8002
|
+
}
|
|
8003
|
+
catch {
|
|
8004
|
+
// Not valid JSON, treat as regular string
|
|
8005
|
+
}
|
|
8006
|
+
return result;
|
|
8007
|
+
}
|
|
8008
|
+
// If it's already an object with title and body, format it
|
|
8009
|
+
if (typeof result === 'object' && result !== null && 'title' in result && 'body' in result) {
|
|
8010
|
+
const commitMsgObj = result;
|
|
8011
|
+
const appendedText = append ? `\n\n${append}` : '';
|
|
8012
|
+
const ticketFooter = appendTicket && ticketId ? `\n\nPart of **${ticketId}**` : '';
|
|
8013
|
+
return `${commitMsgObj.title}\n\n${commitMsgObj.body}${appendedText}${ticketFooter}`;
|
|
8014
|
+
}
|
|
8015
|
+
// Fallback - convert to string
|
|
8016
|
+
return String(result);
|
|
8017
|
+
}
|
|
8018
|
+
|
|
7985
8019
|
/**
|
|
7986
8020
|
* Extract the path from a file path string.
|
|
7987
8021
|
* @param {string} filePath - The full file path.
|
|
@@ -11654,15 +11688,13 @@ ${schema.description}
|
|
|
11654
11688
|
logger.verbose(`Retrying commit message generation (attempt ${attempt}): ${error.message}`, { color: 'yellow' });
|
|
11655
11689
|
},
|
|
11656
11690
|
});
|
|
11657
|
-
// Ensure we always return a formatted
|
|
11658
|
-
|
|
11659
|
-
|
|
11660
|
-
|
|
11661
|
-
|
|
11662
|
-
|
|
11663
|
-
|
|
11664
|
-
}
|
|
11665
|
-
return result;
|
|
11691
|
+
// Ensure we always return a properly formatted commit message string
|
|
11692
|
+
const ticketId = extractTicketIdFromBranchName(branchName);
|
|
11693
|
+
return formatCommitMessage(result, {
|
|
11694
|
+
append: argv.append,
|
|
11695
|
+
ticketId: ticketId || undefined,
|
|
11696
|
+
appendTicket: argv.appendTicket,
|
|
11697
|
+
});
|
|
11666
11698
|
},
|
|
11667
11699
|
noResult: async () => {
|
|
11668
11700
|
await noResult$2({ git, logger });
|