@dongowu/git-ai-cli 1.0.17 ā 1.0.19
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/commands/commit.d.ts.map +1 -1
- package/dist/commands/commit.js +29 -4
- package/dist/commands/commit.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +26 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/agent.d.ts +1 -1
- package/dist/utils/agent.d.ts.map +1 -1
- package/dist/utils/agent.js +214 -41
- package/dist/utils/agent.js.map +1 -1
- package/dist/utils/ai.d.ts +6 -1
- package/dist/utils/ai.d.ts.map +1 -1
- package/dist/utils/ai.js +73 -9
- package/dist/utils/ai.js.map +1 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +9 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +16 -2
- package/dist/utils/git.js.map +1 -1
- package/package.json +1 -1
- package/release_notes.md +2 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAYD,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAYD,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsN1E"}
|
package/dist/commands/commit.js
CHANGED
|
@@ -75,24 +75,49 @@ export async function runCommit(options = {}) {
|
|
|
75
75
|
console.log(chalk.gray(` ${file}`));
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
-
// Get filtered diff
|
|
79
|
-
const { diff, truncated, ignoredFiles } = await getFilteredDiff(stagedFiles);
|
|
80
78
|
const branchName = await getBranchName();
|
|
81
79
|
const recentCommits = await getRecentCommits(10); // Get last 10 commits for style reference
|
|
82
|
-
|
|
80
|
+
let diffCache = null;
|
|
81
|
+
let diffInfoPrinted = false;
|
|
82
|
+
const maybePrintDiffInfo = (ignoredFiles, truncated) => {
|
|
83
|
+
if (hookMode || diffInfoPrinted)
|
|
84
|
+
return;
|
|
83
85
|
if (ignoredFiles.length > 0) {
|
|
84
86
|
const preview = ignoredFiles.slice(0, 8).join(', ');
|
|
85
87
|
const more = ignoredFiles.length > 8 ? ` (+${ignoredFiles.length - 8} more)` : '';
|
|
86
|
-
console.log(chalk.gray(`\n
|
|
88
|
+
console.log(chalk.gray(`\nš¦ Ignored from diff (token optimization): ${preview}${more}`));
|
|
87
89
|
}
|
|
88
90
|
if (truncated) {
|
|
89
91
|
console.log(chalk.yellow('\nā ļø Diff was truncated due to size limits.'));
|
|
90
92
|
}
|
|
93
|
+
diffInfoPrinted = true;
|
|
94
|
+
};
|
|
95
|
+
const loadDiff = async () => {
|
|
96
|
+
if (!diffCache) {
|
|
97
|
+
diffCache = await getFilteredDiff(stagedFiles);
|
|
98
|
+
maybePrintDiffInfo(diffCache.ignoredFiles, diffCache.truncated);
|
|
99
|
+
}
|
|
100
|
+
return diffCache;
|
|
101
|
+
};
|
|
102
|
+
const shouldLazyDiff = options.agentMode && numChoices === 1;
|
|
103
|
+
let diff;
|
|
104
|
+
let ignoredFiles;
|
|
105
|
+
let truncated;
|
|
106
|
+
let diffLoader;
|
|
107
|
+
if (shouldLazyDiff) {
|
|
108
|
+
diffLoader = loadDiff;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
const loaded = await loadDiff();
|
|
112
|
+
diff = loaded.diff;
|
|
113
|
+
ignoredFiles = loaded.ignoredFiles;
|
|
114
|
+
truncated = loaded.truncated;
|
|
91
115
|
}
|
|
92
116
|
// Create AI client
|
|
93
117
|
const client = createAIClient(config);
|
|
94
118
|
const input = {
|
|
95
119
|
diff,
|
|
120
|
+
diffLoader,
|
|
96
121
|
stagedFiles,
|
|
97
122
|
ignoredFiles,
|
|
98
123
|
truncated,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAKA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAKA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAgL/C"}
|
package/dist/commands/config.js
CHANGED
|
@@ -83,6 +83,31 @@ export async function runConfig() {
|
|
|
83
83
|
]);
|
|
84
84
|
model = answer.model;
|
|
85
85
|
}
|
|
86
|
+
// Optional: separate model for Agent mode (tool calling)
|
|
87
|
+
const modelLower = model.trim().toLowerCase();
|
|
88
|
+
const suggestToolModel = provider === 'deepseek' && modelLower.includes('reasoner');
|
|
89
|
+
const { useAgentModel } = await inquirer.prompt([
|
|
90
|
+
{
|
|
91
|
+
type: 'confirm',
|
|
92
|
+
name: 'useAgentModel',
|
|
93
|
+
message: suggestToolModel
|
|
94
|
+
? 'Agent mode needs tool calling. Use a tool-capable model for Agent mode?'
|
|
95
|
+
: 'Use a separate model for Agent mode (tool calling)?',
|
|
96
|
+
default: suggestToolModel,
|
|
97
|
+
},
|
|
98
|
+
]);
|
|
99
|
+
let agentModel = '';
|
|
100
|
+
if (useAgentModel) {
|
|
101
|
+
const agentAnswer = await inquirer.prompt([
|
|
102
|
+
{
|
|
103
|
+
type: 'input',
|
|
104
|
+
name: 'agentModel',
|
|
105
|
+
message: 'Enter the Agent mode model name:',
|
|
106
|
+
default: suggestToolModel ? 'deepseek-chat' : model,
|
|
107
|
+
},
|
|
108
|
+
]);
|
|
109
|
+
agentModel = agentAnswer.agentModel.trim();
|
|
110
|
+
}
|
|
86
111
|
const { locale } = await inquirer.prompt([
|
|
87
112
|
{
|
|
88
113
|
type: 'list',
|
|
@@ -126,6 +151,7 @@ export async function runConfig() {
|
|
|
126
151
|
apiKey,
|
|
127
152
|
baseUrl,
|
|
128
153
|
model,
|
|
154
|
+
agentModel,
|
|
129
155
|
locale,
|
|
130
156
|
customPrompt,
|
|
131
157
|
enableFooter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAuE3D,CAAC;AAEF,eAAO,MAAM,cAAc,UAW1B,CAAC;AAEF,eAAO,MAAM,eAAe,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAuE3D,CAAC;AAEF,eAAO,MAAM,cAAc,UAW1B,CAAC;AAEF,eAAO,MAAM,eAAe,OAAO,CAAC"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,aAAa;IACb,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,6BAA6B;QACtC,YAAY,EAAE,eAAe;QAC7B,WAAW,EAAE,IAAI;KAClB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,mDAAmD;QAC5D,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,IAAI;KAClB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,sCAAsC;QAC/C,YAAY,EAAE,aAAa;QAC3B,WAAW,EAAE,IAAI;KAClB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,4BAA4B;QACrC,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,IAAI;KAClB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,gCAAgC;QACzC,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,IAAI;KAClB;IACD,EAAE,EAAE;QACF,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,gCAAgC;QACzC,YAAY,EAAE,cAAc;QAC5B,WAAW,EAAE,IAAI;KAClB;IACD,QAAQ;IACR,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,2BAA2B;QACpC,YAAY,EAAE,aAAa;QAC3B,WAAW,EAAE,IAAI;KAClB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,+BAA+B;QACxC,YAAY,EAAE,0BAA0B;QACxC,WAAW,EAAE,IAAI;KAClB;IACD,OAAO;IACP,MAAM,EAAE;QACN,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,2BAA2B;QACpC,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,KAAK;KACnB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,0BAA0B;QACnC,YAAY,EAAE,aAAa;QAC3B,WAAW,EAAE,KAAK;KACnB;IACD,MAAM;IACN,MAAM,EAAE;QACN,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,IAAI;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,mBAAmB;IACnB,WAAW;IACX,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,WAAW;IACX,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC"}
|
package/dist/utils/agent.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import OpenAI from 'openai';
|
|
2
2
|
import { FileStat } from './git.js';
|
|
3
3
|
import { AIConfig } from '../types.js';
|
|
4
|
-
export declare function runAgentLoop(client: OpenAI, config: AIConfig, stats: FileStat[], branchName?: string, quiet?: boolean): Promise<string>;
|
|
4
|
+
export declare function runAgentLoop(client: OpenAI, config: AIConfig, stats: FileStat[], branchName?: string, quiet?: boolean, modelOverride?: string): Promise<string>;
|
|
5
5
|
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAe,QAAQ,EAA6B,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAgJvC,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,UAAQ,EACb,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,CAyLjB"}
|
package/dist/utils/agent.js
CHANGED
|
@@ -1,21 +1,101 @@
|
|
|
1
|
-
import { getFileDiff, searchCode } from './git.js';
|
|
1
|
+
import { getFileDiff, isBlacklisted, searchCode } from './git.js';
|
|
2
2
|
import ora from 'ora';
|
|
3
3
|
const AGENT_SYSTEM_PROMPT = `You are an intelligent Git Assistant with access to tools.
|
|
4
4
|
Your goal is to write a high-quality Git commit message following Conventional Commits format.
|
|
5
5
|
|
|
6
6
|
Process:
|
|
7
|
-
1.
|
|
8
|
-
2.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
1. Analyze the PRE-LOADED diffs for the most important files (already provided in the context).
|
|
8
|
+
2. Look for:
|
|
9
|
+
- Core logic changes (new features, bug fixes)
|
|
10
|
+
- API signature changes
|
|
11
|
+
- Breaking changes
|
|
12
|
+
3. If you need additional context about function usages, use the search_code tool.
|
|
13
|
+
4. Synthesize a commit message based on ALL available information.
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
|
|
15
|
+
Output Format:
|
|
16
|
+
<type>(<scope>): <subject>
|
|
17
|
+
|
|
18
|
+
Where:
|
|
19
|
+
- type: feat, fix, docs, style, refactor, perf, test, chore, build, ci
|
|
20
|
+
- scope: the affected component/module (inferred from file paths or branch name)
|
|
21
|
+
- subject: concise description under 50 chars, imperative mood, no period
|
|
22
|
+
|
|
23
|
+
Optional: Add a blank line and body for detailed explanation if needed.
|
|
24
|
+
|
|
25
|
+
IMPORTANT: DO NOT use markdown code blocks (no \`\`\`). Return raw text only.
|
|
26
|
+
Reply with just the commit message when done.`;
|
|
27
|
+
const MAX_TOOL_CALLS = 10;
|
|
28
|
+
const MAX_TOOL_DIFF_CHARS = 5000;
|
|
29
|
+
const MAX_TOOL_SEARCH_CHARS = 5000;
|
|
30
|
+
function truncateText(text, maxChars, suffix) {
|
|
31
|
+
if (text.length <= maxChars)
|
|
32
|
+
return text;
|
|
33
|
+
return text.slice(0, maxChars) + suffix;
|
|
34
|
+
}
|
|
35
|
+
function parseToolArgs(raw) {
|
|
36
|
+
if (!raw)
|
|
37
|
+
return {};
|
|
38
|
+
if (typeof raw === 'string') {
|
|
39
|
+
try {
|
|
40
|
+
const parsed = JSON.parse(raw);
|
|
41
|
+
if (parsed && typeof parsed === 'object')
|
|
42
|
+
return parsed;
|
|
43
|
+
return {};
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return {};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (typeof raw === 'object')
|
|
50
|
+
return raw;
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
function analyzeFileImportance(stats) {
|
|
54
|
+
const sorted = [...stats].sort((a, b) => {
|
|
55
|
+
const scoreA = a.insertions + a.deletions;
|
|
56
|
+
const scoreB = b.insertions + b.deletions;
|
|
57
|
+
return scoreB - scoreA;
|
|
58
|
+
});
|
|
59
|
+
const priority = [];
|
|
60
|
+
let totalLines = 0;
|
|
61
|
+
for (const stat of sorted) {
|
|
62
|
+
totalLines += stat.insertions + stat.deletions;
|
|
63
|
+
}
|
|
64
|
+
let accumulated = 0;
|
|
65
|
+
for (const stat of sorted) {
|
|
66
|
+
const score = stat.insertions + stat.deletions;
|
|
67
|
+
accumulated += score;
|
|
68
|
+
if (accumulated < totalLines * 0.8 && priority.length < 5) {
|
|
69
|
+
priority.push(stat);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return { priority, others: sorted.slice(priority.length) };
|
|
73
|
+
}
|
|
74
|
+
function extractScopeFromBranch(branchName) {
|
|
75
|
+
if (!branchName)
|
|
76
|
+
return null;
|
|
77
|
+
const patterns = [
|
|
78
|
+
/^(?:feature|bugfix|hotfix|release|dev)\/([a-zA-Z0-9_-]+)/,
|
|
79
|
+
/^(?:feat|fix|chore|docs)\/([a-zA-Z0-9_-]+)/,
|
|
80
|
+
/^[A-Z]+-\d+/,
|
|
81
|
+
];
|
|
82
|
+
for (const pattern of patterns) {
|
|
83
|
+
const match = branchName.match(pattern);
|
|
84
|
+
if (match) {
|
|
85
|
+
return match[1].toLowerCase().replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
function getBranchWarning(branchName) {
|
|
91
|
+
if (/^hotfix\//.test(branchName)) {
|
|
92
|
+
return '\nā ļø WARNING: This is a HOTFIX branch. Changes will be deployed immediately. Ensure all tests pass.';
|
|
93
|
+
}
|
|
94
|
+
if (/^release\//.test(branchName)) {
|
|
95
|
+
return '\nā ļø WARNING: This is a RELEASE branch. Review changes carefully before committing.';
|
|
96
|
+
}
|
|
97
|
+
return '';
|
|
98
|
+
}
|
|
19
99
|
const tools = [
|
|
20
100
|
{
|
|
21
101
|
type: 'function',
|
|
@@ -52,73 +132,166 @@ const tools = [
|
|
|
52
132
|
},
|
|
53
133
|
},
|
|
54
134
|
];
|
|
55
|
-
export async function runAgentLoop(client, config, stats, branchName, quiet = false) {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
135
|
+
export async function runAgentLoop(client, config, stats, branchName, quiet = false, modelOverride) {
|
|
136
|
+
const { priority, others } = analyzeFileImportance(stats);
|
|
137
|
+
const spinner = !quiet ? ora('Agent is pre-analyzing important files...').start() : null;
|
|
138
|
+
const diffCache = new Map();
|
|
139
|
+
const searchCache = new Map();
|
|
140
|
+
async function loadPriorityDiffs() {
|
|
141
|
+
const promises = priority.map(async (stat) => {
|
|
142
|
+
if (isBlacklisted(stat.file))
|
|
143
|
+
return;
|
|
144
|
+
try {
|
|
145
|
+
const diff = await getFileDiff(stat.file);
|
|
146
|
+
if (diff) {
|
|
147
|
+
diffCache.set(stat.file, truncateText(diff, MAX_TOOL_DIFF_CHARS, '\n...[Diff truncated]'));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
// ignore
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
await Promise.all(promises);
|
|
155
|
+
}
|
|
156
|
+
await loadPriorityDiffs();
|
|
157
|
+
if (spinner)
|
|
158
|
+
spinner.text = 'Agent is analyzing changes...';
|
|
159
|
+
const priorityDiffs = [...diffCache.entries()].map(([file, diff]) => `=== ${file} ===\n${diff}`).join('\n\n');
|
|
160
|
+
const otherFiles = others.filter(s => !isBlacklisted(s.file)).map(s => s.file);
|
|
161
|
+
const scope = extractScopeFromBranch(branchName || '');
|
|
162
|
+
const warning = getBranchWarning(branchName || '');
|
|
163
|
+
const initialContent = `Current Branch: ${branchName || 'unknown'}${warning}
|
|
164
|
+
${scope ? `Inferred scope from branch: ${scope}` : ''}
|
|
61
165
|
|
|
62
|
-
|
|
63
|
-
${stats.map((s) => `${s.file} (+${s.insertions}, -${s.deletions})`).join('\n')}
|
|
166
|
+
Files Summary (priority order):
|
|
167
|
+
${stats.slice(0, 15).map((s) => `${s.file} (+${s.insertions}, -${s.deletions})`).join('\n')}
|
|
168
|
+
${stats.length > 15 ? `... and ${stats.length - 15} more files` : ''}
|
|
64
169
|
|
|
65
|
-
|
|
66
|
-
|
|
170
|
+
=== Priority File Diffs ===
|
|
171
|
+
${priorityDiffs || '(No diffs loaded)'}
|
|
172
|
+
|
|
173
|
+
${otherFiles.length > 0 ? `=== Other Changed Files (not loaded) ===\n${otherFiles.slice(0, 10).join('\n')}` : ''}
|
|
174
|
+
|
|
175
|
+
Based on the above information, generate a commit message. Use tools only if you need additional context about function/variable usages that are not clear from the diffs.`;
|
|
176
|
+
const messages = [
|
|
177
|
+
{ role: 'system', content: AGENT_SYSTEM_PROMPT },
|
|
178
|
+
{ role: 'user', content: initialContent },
|
|
67
179
|
];
|
|
68
|
-
|
|
69
|
-
let
|
|
180
|
+
let toolCalls = 0;
|
|
181
|
+
let forceFinal = false;
|
|
182
|
+
let toolBudgetNotified = false;
|
|
183
|
+
let firstRound = true;
|
|
70
184
|
const MAX_ITERATIONS = 5;
|
|
71
|
-
|
|
185
|
+
for (let i = 0; i < MAX_ITERATIONS; i++) {
|
|
72
186
|
try {
|
|
73
187
|
const response = await client.chat.completions.create({
|
|
74
|
-
model: config.model,
|
|
188
|
+
model: modelOverride || config.model,
|
|
75
189
|
messages,
|
|
76
190
|
tools,
|
|
77
|
-
tool_choice: '
|
|
78
|
-
temperature: 0.
|
|
191
|
+
tool_choice: firstRound ? 'none' : (forceFinal ? 'none' : undefined),
|
|
192
|
+
temperature: 0.3,
|
|
79
193
|
});
|
|
194
|
+
firstRound = false;
|
|
80
195
|
const message = response.choices[0]?.message;
|
|
81
196
|
if (!message) {
|
|
82
197
|
throw new Error('Empty response from AI');
|
|
83
198
|
}
|
|
84
199
|
messages.push(message);
|
|
85
|
-
// Case 1: Tool Calls
|
|
86
200
|
if (message.tool_calls?.length) {
|
|
87
201
|
for (const toolCall of message.tool_calls) {
|
|
202
|
+
const canUseTool = toolCalls < MAX_TOOL_CALLS;
|
|
88
203
|
if (toolCall.function.name === 'get_file_diff') {
|
|
89
204
|
if (spinner)
|
|
90
205
|
spinner.text = `Agent is inspecting diffs...`;
|
|
91
|
-
|
|
92
|
-
|
|
206
|
+
let content = '(No diff)';
|
|
207
|
+
if (!canUseTool) {
|
|
208
|
+
forceFinal = true;
|
|
209
|
+
content = '(Tool budget exceeded. Return final commit message.)';
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
let path = '';
|
|
213
|
+
try {
|
|
214
|
+
const args = parseToolArgs(toolCall.function.arguments);
|
|
215
|
+
path = typeof args.path === 'string' ? args.path : '';
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
path = '';
|
|
219
|
+
}
|
|
220
|
+
if (!path) {
|
|
221
|
+
content = '(Invalid file path)';
|
|
222
|
+
}
|
|
223
|
+
else if (isBlacklisted(path)) {
|
|
224
|
+
content = '(Diff skipped: ignored file)';
|
|
225
|
+
}
|
|
226
|
+
else if (diffCache.has(path)) {
|
|
227
|
+
content = diffCache.get(path) || '(No diff)';
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
const diffContent = await getFileDiff(path);
|
|
231
|
+
content = diffContent || '(No diff)';
|
|
232
|
+
content = truncateText(content, MAX_TOOL_DIFF_CHARS, '\n...[Diff truncated]');
|
|
233
|
+
diffCache.set(path, content);
|
|
234
|
+
}
|
|
235
|
+
toolCalls++;
|
|
236
|
+
}
|
|
93
237
|
messages.push({
|
|
94
238
|
role: 'tool',
|
|
95
239
|
tool_call_id: toolCall.id,
|
|
96
|
-
content
|
|
240
|
+
content,
|
|
97
241
|
});
|
|
98
242
|
}
|
|
99
243
|
else if (toolCall.function.name === 'search_code') {
|
|
100
244
|
if (spinner)
|
|
101
245
|
spinner.text = `Agent is searching codebase...`;
|
|
102
|
-
|
|
103
|
-
|
|
246
|
+
let content = 'No matches found.';
|
|
247
|
+
if (!canUseTool) {
|
|
248
|
+
forceFinal = true;
|
|
249
|
+
content = '(Tool budget exceeded. Return final commit message.)';
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
let pattern = '';
|
|
253
|
+
try {
|
|
254
|
+
const args = parseToolArgs(toolCall.function.arguments);
|
|
255
|
+
pattern = typeof args.pattern === 'string' ? args.pattern : '';
|
|
256
|
+
}
|
|
257
|
+
catch {
|
|
258
|
+
pattern = '';
|
|
259
|
+
}
|
|
260
|
+
if (!pattern) {
|
|
261
|
+
content = '(Invalid search pattern)';
|
|
262
|
+
}
|
|
263
|
+
else if (searchCache.has(pattern)) {
|
|
264
|
+
content = searchCache.get(pattern) || 'No matches found.';
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
const searchResult = await searchCode(pattern);
|
|
268
|
+
content = truncateText(searchResult || 'No matches found.', MAX_TOOL_SEARCH_CHARS, '\n...[Search output truncated]');
|
|
269
|
+
searchCache.set(pattern, content);
|
|
270
|
+
}
|
|
271
|
+
toolCalls++;
|
|
272
|
+
}
|
|
104
273
|
messages.push({
|
|
105
274
|
role: 'tool',
|
|
106
275
|
tool_call_id: toolCall.id,
|
|
107
|
-
content
|
|
276
|
+
content,
|
|
108
277
|
});
|
|
109
278
|
}
|
|
110
279
|
}
|
|
111
|
-
|
|
280
|
+
if (forceFinal && !toolBudgetNotified) {
|
|
281
|
+
messages.push({
|
|
282
|
+
role: 'user',
|
|
283
|
+
content: 'Tool budget reached. Please return the final commit message now.',
|
|
284
|
+
});
|
|
285
|
+
toolBudgetNotified = true;
|
|
286
|
+
}
|
|
112
287
|
continue;
|
|
113
288
|
}
|
|
114
|
-
// Case 2: Final Content
|
|
115
289
|
if (message.content) {
|
|
116
290
|
if (spinner)
|
|
117
291
|
spinner.stop();
|
|
118
|
-
// Clean up markdown code blocks if present
|
|
119
292
|
return message.content
|
|
120
|
-
.replace(/^```[a-z]*\n/i, '')
|
|
121
|
-
.replace(/```$/, '')
|
|
293
|
+
.replace(/^```[a-z]*\n/i, '')
|
|
294
|
+
.replace(/```$/, '')
|
|
122
295
|
.trim();
|
|
123
296
|
}
|
|
124
297
|
}
|
|
@@ -130,6 +303,6 @@ Please analyze these changes. If you detect breaking changes, search for usages
|
|
|
130
303
|
}
|
|
131
304
|
if (spinner)
|
|
132
305
|
spinner.fail('Agent exceeded maximum iterations.');
|
|
133
|
-
|
|
306
|
+
throw new Error('Agent exceeded maximum iterations.');
|
|
134
307
|
}
|
|
135
308
|
//# sourceMappingURL=agent.js.map
|
package/dist/utils/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/utils/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/ai.d.ts
CHANGED
|
@@ -2,7 +2,12 @@ import OpenAI from 'openai';
|
|
|
2
2
|
import type { AIConfig } from '../types.js';
|
|
3
3
|
export declare function createAIClient(config: AIConfig): OpenAI;
|
|
4
4
|
export interface CommitMessageGenerationInput {
|
|
5
|
-
diff
|
|
5
|
+
diff?: string;
|
|
6
|
+
diffLoader?: () => Promise<{
|
|
7
|
+
diff: string;
|
|
8
|
+
truncated: boolean;
|
|
9
|
+
ignoredFiles: string[];
|
|
10
|
+
}>;
|
|
6
11
|
stagedFiles?: string[];
|
|
7
12
|
ignoredFiles?: string[];
|
|
8
13
|
truncated?: boolean;
|
package/dist/utils/ai.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/utils/ai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/utils/ai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAiH5C,wBAAgB,cAAc,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAOvD;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACzF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,4BAA4B,EACnC,MAAM,EAAE,QAAQ,EAChB,UAAU,SAAI,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CAuJnB;AAuCD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
|
package/dist/utils/ai.js
CHANGED
|
@@ -2,6 +2,42 @@ import OpenAI from 'openai';
|
|
|
2
2
|
import { runAgentLoop } from './agent.js';
|
|
3
3
|
import { getFileStats } from './git.js';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
+
function getTimeoutMs() {
|
|
6
|
+
const raw = process.env.GIT_AI_TIMEOUT_MS;
|
|
7
|
+
const parsed = raw ? Number.parseInt(raw, 10) : Number.NaN;
|
|
8
|
+
if (Number.isFinite(parsed) && parsed > 0)
|
|
9
|
+
return parsed;
|
|
10
|
+
return 120_000; // 2 minutes
|
|
11
|
+
}
|
|
12
|
+
function formatAgentFailureReason(error) {
|
|
13
|
+
const err = error;
|
|
14
|
+
const status = typeof err?.status === 'number' ? String(err.status) : '';
|
|
15
|
+
const name = typeof err?.name === 'string' ? err.name : '';
|
|
16
|
+
const code = typeof err?.code === 'string' ? err.code : '';
|
|
17
|
+
const type = typeof err?.type === 'string' ? err.type : '';
|
|
18
|
+
const rawMsg = (typeof err?.error?.message === 'string' && err.error.message) ||
|
|
19
|
+
(typeof err?.message === 'string' && err.message) ||
|
|
20
|
+
'';
|
|
21
|
+
const compactMsg = rawMsg.replace(/\s+/g, ' ').trim();
|
|
22
|
+
const shortMsg = compactMsg.length > 180 ? compactMsg.slice(0, 180) + '...' : compactMsg;
|
|
23
|
+
const parts = [status || name, code, type, shortMsg].filter(Boolean);
|
|
24
|
+
return parts.join(' ');
|
|
25
|
+
}
|
|
26
|
+
function resolveAgentModel(config) {
|
|
27
|
+
const envModel = process.env.GIT_AI_AGENT_MODEL;
|
|
28
|
+
if (envModel && envModel.trim())
|
|
29
|
+
return envModel.trim();
|
|
30
|
+
const configured = config.agentModel;
|
|
31
|
+
if (configured && configured.trim())
|
|
32
|
+
return configured.trim();
|
|
33
|
+
if (config.provider === 'deepseek') {
|
|
34
|
+
const base = (config.model || '').trim();
|
|
35
|
+
if (base.toLowerCase().includes('reasoner')) {
|
|
36
|
+
return 'deepseek-chat';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return config.model;
|
|
40
|
+
}
|
|
5
41
|
const DEFAULT_SYSTEM_PROMPT_EN = `You are an expert at writing Git commit messages following the Conventional Commits specification.
|
|
6
42
|
|
|
7
43
|
Based on the git diff provided, generate a concise and descriptive commit message.
|
|
@@ -68,29 +104,57 @@ export function createAIClient(config) {
|
|
|
68
104
|
return new OpenAI({
|
|
69
105
|
apiKey: config.apiKey || 'ollama',
|
|
70
106
|
baseURL: config.baseUrl,
|
|
71
|
-
timeout:
|
|
107
|
+
timeout: getTimeoutMs(),
|
|
72
108
|
maxRetries: 2, // Built-in retry support
|
|
73
109
|
});
|
|
74
110
|
}
|
|
75
111
|
export async function generateCommitMessage(client, input, config, numChoices = 1) {
|
|
112
|
+
let diff = input.diff;
|
|
113
|
+
let ignoredFiles = input.ignoredFiles;
|
|
114
|
+
let truncated = input.truncated;
|
|
115
|
+
const ensureDiff = async () => {
|
|
116
|
+
if (diff !== undefined)
|
|
117
|
+
return;
|
|
118
|
+
if (input.diffLoader) {
|
|
119
|
+
const loaded = await input.diffLoader();
|
|
120
|
+
diff = loaded.diff;
|
|
121
|
+
truncated = loaded.truncated;
|
|
122
|
+
ignoredFiles = loaded.ignoredFiles;
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
diff = '';
|
|
126
|
+
};
|
|
76
127
|
// Auto-enable Agent for critical branches in Git Flow
|
|
77
|
-
|
|
78
|
-
|
|
128
|
+
// Critical: release/hotfix/master/main - always use Agent
|
|
129
|
+
// Feature: feature/*/bugfix/*/dev/* - use Agent for impact analysis
|
|
130
|
+
const isCriticalBranch = /^(release|hotfix|master|main)$/.test(input.branchName || '');
|
|
131
|
+
const isFeatureBranch = /^(feature|bugfix|dev)\//.test(input.branchName || '');
|
|
132
|
+
const shouldRunAgent = (input.truncated || input.forceAgent || isCriticalBranch || isFeatureBranch) && numChoices === 1;
|
|
79
133
|
// Trigger Agent Mode if diff is truncated OR forced by user OR critical branch
|
|
80
134
|
if (shouldRunAgent) {
|
|
81
135
|
try {
|
|
82
136
|
const stats = await getFileStats();
|
|
83
137
|
if (stats.length > 0) {
|
|
84
|
-
const
|
|
138
|
+
const agentModel = resolveAgentModel(config);
|
|
139
|
+
if (!input.quiet && agentModel !== config.model) {
|
|
140
|
+
console.log(chalk.gray(`\nš§ Agent model: ${agentModel} (base model: ${config.model})`));
|
|
141
|
+
}
|
|
142
|
+
const agentMessage = await runAgentLoop(client, config, stats, input.branchName, input.quiet, agentModel);
|
|
85
143
|
return [agentMessage];
|
|
86
144
|
}
|
|
87
145
|
}
|
|
88
146
|
catch (error) {
|
|
89
147
|
if (!input.quiet) {
|
|
90
|
-
|
|
148
|
+
const reason = formatAgentFailureReason(error);
|
|
149
|
+
const suffix = reason ? ` (${reason})` : '';
|
|
150
|
+
console.error(chalk.yellow(`\nā ļø Agent mode failed${suffix}, falling back to basic mode...`));
|
|
151
|
+
if (process.env.GIT_AI_DEBUG === '1') {
|
|
152
|
+
console.error(error);
|
|
153
|
+
}
|
|
91
154
|
}
|
|
92
155
|
}
|
|
93
156
|
}
|
|
157
|
+
await ensureDiff();
|
|
94
158
|
let systemPrompt = config.customPrompt;
|
|
95
159
|
if (!systemPrompt) {
|
|
96
160
|
const isZh = config.locale === 'zh';
|
|
@@ -135,19 +199,19 @@ export async function generateCommitMessage(client, input, config, numChoices =
|
|
|
135
199
|
const header = isZh ? 'å·²ęåęä»¶:' : 'Staged files:';
|
|
136
200
|
lines.push(`${header}\n${input.stagedFiles.map((f) => `- ${f}`).join('\n')}`);
|
|
137
201
|
}
|
|
138
|
-
if (
|
|
202
|
+
if (ignoredFiles?.length) {
|
|
139
203
|
const header = isZh
|
|
140
204
|
? '仄äøęä»¶äøŗčē Token å·²åæ½ē„ Diff:'
|
|
141
205
|
: 'Ignored files (diff omitted for token optimization):';
|
|
142
|
-
lines.push(`${header}\n${
|
|
206
|
+
lines.push(`${header}\n${ignoredFiles.map((f) => `- ${f}`).join('\n')}`);
|
|
143
207
|
}
|
|
144
|
-
if (
|
|
208
|
+
if (truncated) {
|
|
145
209
|
lines.push(isZh
|
|
146
210
|
? '注ęļ¼Diff å
容已å éæåŗ¦éå¶č¢«ęŖęć'
|
|
147
211
|
: 'Note: The diff was truncated due to size limits.');
|
|
148
212
|
}
|
|
149
213
|
const diffHeader = isZh ? 'Git Diff:' : 'Git diff:';
|
|
150
|
-
lines.push(`${diffHeader}\n\n${
|
|
214
|
+
lines.push(`${diffHeader}\n\n${diff || '(empty)'}`);
|
|
151
215
|
const response = await client.chat.completions.create({
|
|
152
216
|
model: config.model,
|
|
153
217
|
messages: [
|
package/dist/utils/ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/utils/ai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;8CAoBa,CAAC;AAE/C,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;6BAoBJ,CAAC;AAE9B,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;6CAmBkB,CAAC;AAE9C,MAAM,UAAU,cAAc,CAAC,MAAgB;IAC7C,OAAO,IAAI,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,QAAQ;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/utils/ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAsD5C,wBAAgB,SAAS,IAAI,QAAQ,GAAG,IAAI,CAqB3C;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAM5D;AAED,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
package/dist/utils/config.js
CHANGED
|
@@ -20,6 +20,10 @@ const config = new Conf({
|
|
|
20
20
|
type: 'string',
|
|
21
21
|
default: '',
|
|
22
22
|
},
|
|
23
|
+
agentModel: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
default: '',
|
|
26
|
+
},
|
|
23
27
|
locale: {
|
|
24
28
|
type: 'string',
|
|
25
29
|
enum: ['zh', 'en'],
|
|
@@ -29,6 +33,10 @@ const config = new Conf({
|
|
|
29
33
|
type: 'string',
|
|
30
34
|
default: '',
|
|
31
35
|
},
|
|
36
|
+
enableFooter: {
|
|
37
|
+
type: 'boolean',
|
|
38
|
+
default: true,
|
|
39
|
+
},
|
|
32
40
|
},
|
|
33
41
|
});
|
|
34
42
|
function getLocalConfig() {
|
|
@@ -50,6 +58,7 @@ export function getConfig() {
|
|
|
50
58
|
apiKey: config.get('apiKey'),
|
|
51
59
|
baseUrl: config.get('baseUrl'),
|
|
52
60
|
model: config.get('model'),
|
|
61
|
+
agentModel: config.get('agentModel'),
|
|
53
62
|
locale: config.get('locale'),
|
|
54
63
|
customPrompt: config.get('customPrompt'),
|
|
55
64
|
enableFooter: config.get('enableFooter'),
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAW;IAChC,WAAW,EAAE,YAAY;IACzB,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;SACZ;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;SACZ;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;SACZ;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;SACZ;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YAClB,OAAO,EAAE,IAAI;SACd;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;SACZ;KACF;CACF,CAAC,CAAC;AAEH,SAAS,cAAc;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IACtD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,YAAY,GAAG;QACnB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC5B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;QACxC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;KACzC,CAAC;IAEF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;IAExD,iDAAiD;IACjD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,WAAuB,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,SAA4B;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAqB,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAgCA,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAOvD;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAOpD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAOrD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAGrD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGxD;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAiBxD;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO/D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAYvD;AAkCD,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0BvE;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAOnD;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBjE;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAkB1D;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D"}
|
package/dist/utils/git.js
CHANGED
|
@@ -3,6 +3,8 @@ import { readFileSync, existsSync } from 'node:fs';
|
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { DIFF_BLACKLIST, MAX_DIFF_LENGTH } from '../types.js';
|
|
5
5
|
let cachedIgnorePatterns = null;
|
|
6
|
+
const MAX_SEARCH_RESULTS = 50;
|
|
7
|
+
const MAX_SEARCH_OUTPUT_CHARS = 4000;
|
|
6
8
|
function getIgnorePatterns() {
|
|
7
9
|
if (cachedIgnorePatterns)
|
|
8
10
|
return cachedIgnorePatterns;
|
|
@@ -181,8 +183,20 @@ export async function getRecentCommits(days) {
|
|
|
181
183
|
export async function searchCode(pattern) {
|
|
182
184
|
try {
|
|
183
185
|
// Use git grep to search in tracked files (it's faster and respects .gitignore)
|
|
184
|
-
const { stdout } = await execa('git', ['grep', '-n', '
|
|
185
|
-
|
|
186
|
+
const { stdout } = await execa('git', ['grep', '-n', '-e', pattern]);
|
|
187
|
+
if (!stdout)
|
|
188
|
+
return 'No matches found.';
|
|
189
|
+
const lines = stdout.split('\n').filter(Boolean);
|
|
190
|
+
let output = lines.join('\n');
|
|
191
|
+
if (lines.length > MAX_SEARCH_RESULTS) {
|
|
192
|
+
output =
|
|
193
|
+
lines.slice(0, MAX_SEARCH_RESULTS).join('\n') +
|
|
194
|
+
`\n...[${lines.length - MAX_SEARCH_RESULTS} more matches]`;
|
|
195
|
+
}
|
|
196
|
+
if (output.length > MAX_SEARCH_OUTPUT_CHARS) {
|
|
197
|
+
output = output.slice(0, MAX_SEARCH_OUTPUT_CHARS) + '\n...[Search output truncated]';
|
|
198
|
+
}
|
|
199
|
+
return output;
|
|
186
200
|
}
|
|
187
201
|
catch {
|
|
188
202
|
return 'No matches found.';
|
package/dist/utils/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9D,IAAI,oBAAoB,GAAoB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/release_notes.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
## What's Changed
|
|
2
2
|
|
|
3
|
-
- 1.0.
|
|
4
|
-
-
|
|
5
|
-
- feat(agent): implement Smart Diff and Impact Analysis Agent
|
|
3
|
+
- 1.0.19
|
|
4
|
+
- feat(git-flow): enhance Agent integration with branch-aware scope and warnings
|
|
6
5
|
### Install
|
|
7
6
|
```bash
|
|
8
7
|
npm install -g @dongowu/git-ai-cli
|