@335g/pi-git 0.0.2 → 0.0.3
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/README.ja.md +0 -27
- package/README.md +0 -27
- package/dist/commands/agg-commit.d.ts.map +1 -1
- package/dist/commands/agg-commit.js +7 -14
- package/dist/commands/agg-commit.js.map +1 -1
- package/dist/commands/auto-agg-commit.d.ts.map +1 -1
- package/dist/commands/auto-agg-commit.js +36 -68
- package/dist/commands/auto-agg-commit.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +46 -69
- package/dist/commands/config.js.map +1 -1
- package/dist/core/auto-commit-message.d.ts +2 -2
- package/dist/core/auto-commit-message.d.ts.map +1 -1
- package/dist/core/auto-commit-message.js +259 -34
- package/dist/core/auto-commit-message.js.map +1 -1
- package/dist/core/auto-commit.d.ts.map +1 -1
- package/dist/core/auto-commit.js +3 -6
- package/dist/core/auto-commit.js.map +1 -1
- package/dist/core/diff-analyzer.d.ts +1 -9
- package/dist/core/diff-analyzer.d.ts.map +1 -1
- package/dist/core/diff-analyzer.js +9 -21
- package/dist/core/diff-analyzer.js.map +1 -1
- package/dist/core/git.d.ts +0 -25
- package/dist/core/git.d.ts.map +1 -1
- package/dist/core/git.js +0 -65
- package/dist/core/git.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -21
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +0 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/footer-manager.js +6 -9
- package/dist/utils/footer-manager.js.map +1 -1
- package/dist/utils/lang.d.ts +3 -2
- package/dist/utils/lang.d.ts.map +1 -1
- package/dist/utils/lang.js +3 -2
- package/dist/utils/lang.js.map +1 -1
- package/package.json +1 -1
- package/dist/commands/branch.d.ts +0 -8
- package/dist/commands/branch.d.ts.map +0 -1
- package/dist/commands/branch.js +0 -197
- package/dist/commands/branch.js.map +0 -1
- package/dist/commands/git-diff.d.ts +0 -10
- package/dist/commands/git-diff.d.ts.map +0 -1
- package/dist/commands/git-diff.js +0 -228
- package/dist/commands/git-diff.js.map +0 -1
- package/dist/commands/git-log.d.ts +0 -8
- package/dist/commands/git-log.d.ts.map +0 -1
- package/dist/commands/git-log.js +0 -100
- package/dist/commands/git-log.js.map +0 -1
- package/dist/tui/hunk-review.d.ts +0 -51
- package/dist/tui/hunk-review.d.ts.map +0 -1
- package/dist/tui/hunk-review.js +0 -296
- package/dist/tui/hunk-review.js.map +0 -1
|
@@ -2,17 +2,201 @@
|
|
|
2
2
|
* Auto-commit message generation from conversation history.
|
|
3
3
|
*
|
|
4
4
|
* When auto-agg-commit triggers after agent_end, skips hunk analysis
|
|
5
|
-
* and instead generates a commit message from the user's
|
|
6
|
-
* and assistant's
|
|
5
|
+
* and instead generates a commit message from the user's prompts
|
|
6
|
+
* and assistant's responses.
|
|
7
7
|
*/
|
|
8
8
|
import { completeSimple } from "@earendil-works/pi-ai";
|
|
9
|
-
import {
|
|
9
|
+
import { t } from "../utils/lang.js";
|
|
10
10
|
import { getLanguage } from "../utils/settings.js";
|
|
11
11
|
import { sanitizeCommitMessage } from "./commit-message.js";
|
|
12
12
|
import { resolveModel } from "./resolve-model.js";
|
|
13
|
+
/** Truncate text to approximately maxChars, keeping whole words at boundaries */
|
|
14
|
+
function truncate(text, maxChars) {
|
|
15
|
+
if (text.length <= maxChars)
|
|
16
|
+
return text;
|
|
17
|
+
const slice = text.substring(0, maxChars);
|
|
18
|
+
const lastSpace = slice.lastIndexOf(" ");
|
|
19
|
+
// If no space found within reasonable range, just cut at maxChars
|
|
20
|
+
if (lastSpace > maxChars * 0.7)
|
|
21
|
+
return slice.substring(0, lastSpace) + "...";
|
|
22
|
+
return slice + "...";
|
|
23
|
+
}
|
|
24
|
+
/** Generic commit message patterns — messages matching these lack specificity */
|
|
25
|
+
const GENERIC_MESSAGE_PATTERNS = [
|
|
26
|
+
/^chore:\s*apply\s*changes?\s*$/i,
|
|
27
|
+
/^chore:\s*update\s*(files?)?\s*$/i,
|
|
28
|
+
/^chore:\s*commit\s*changes?\s*$/i,
|
|
29
|
+
/^chore:\s*modify\s*(files?)?\s*$/i,
|
|
30
|
+
/^chore:\s*update\s+\S+\s*$/i,
|
|
31
|
+
/^(feat|fix|chore|docs|style|refactor|test):\s*.{0,10}$/i,
|
|
32
|
+
];
|
|
33
|
+
/** Heuristic: is this commit message too generic to be useful? */
|
|
34
|
+
function isGenericMessage(message) {
|
|
35
|
+
const m = message.trim();
|
|
36
|
+
if (m.length < 12)
|
|
37
|
+
return true;
|
|
38
|
+
return GENERIC_MESSAGE_PATTERNS.some((p) => p.test(m));
|
|
39
|
+
}
|
|
40
|
+
/** Derive a commit-message candidate from the user's last message. */
|
|
41
|
+
function userMessageToCandidate(userMessage) {
|
|
42
|
+
let text = userMessage
|
|
43
|
+
.replace(/[。.!!??]$/, "")
|
|
44
|
+
.replace(/お願いします$/, "")
|
|
45
|
+
.replace(/してください$/, "")
|
|
46
|
+
.replace(/して$/, "")
|
|
47
|
+
.replace(/\bplease\b/gi, "")
|
|
48
|
+
.replace(/\n/g, " ")
|
|
49
|
+
.replace(/\s+/g, " ")
|
|
50
|
+
.trim();
|
|
51
|
+
if (!text)
|
|
52
|
+
return "";
|
|
53
|
+
// Infer Conventional Commit type from keywords
|
|
54
|
+
let type = "chore";
|
|
55
|
+
if (/修正|fix|bug|バグ|不具合|error|エラー|直[しす]|訂正/i.test(text))
|
|
56
|
+
type = "fix";
|
|
57
|
+
else if (/追加|add|feature|機能|実装|implement|作[ってり]|作成|新規/i.test(text))
|
|
58
|
+
type = "feat";
|
|
59
|
+
else if (/docs|ドキュメント|readme|資料|文書/i.test(text))
|
|
60
|
+
type = "docs";
|
|
61
|
+
else if (/refactor|リファクタ|整理|改善|改修/i.test(text))
|
|
62
|
+
type = "refactor";
|
|
63
|
+
else if (/test|テスト|spec/i.test(text))
|
|
64
|
+
type = "test";
|
|
65
|
+
else if (/削除|remove|delete|消[しす]/i.test(text))
|
|
66
|
+
type = "chore";
|
|
67
|
+
const prefix = `${type}: `;
|
|
68
|
+
const maxBody = 50 - prefix.length;
|
|
69
|
+
if (text.length > maxBody) {
|
|
70
|
+
const cut = text.substring(0, maxBody - 1);
|
|
71
|
+
const lastBoundary = Math.max(cut.lastIndexOf("、"), cut.lastIndexOf(","), cut.lastIndexOf(" "));
|
|
72
|
+
text =
|
|
73
|
+
lastBoundary > maxBody * 0.5
|
|
74
|
+
? cut.substring(0, lastBoundary) + "…"
|
|
75
|
+
: cut + "…";
|
|
76
|
+
}
|
|
77
|
+
return `${prefix}${text}`;
|
|
78
|
+
}
|
|
79
|
+
/** Heuristic specificity score for a commit message. Higher = more specific. */
|
|
80
|
+
function specificityScore(message) {
|
|
81
|
+
let score = 0;
|
|
82
|
+
const m = message.replace(/^(feat|fix|chore|docs|style|refactor|test|perf|ci|build|revert)(\(.+?\))?!?:\s*/i, "");
|
|
83
|
+
// Length contributes (up to a point)
|
|
84
|
+
score += Math.min(m.length, 30) * 0.3;
|
|
85
|
+
// Penalize generic words
|
|
86
|
+
const genericWords = /\b(change|update|modify|fix|apply|commit|files?|stuff|things?)\b/gi;
|
|
87
|
+
const genericCount = (m.match(genericWords) || []).length;
|
|
88
|
+
score -= genericCount * 2;
|
|
89
|
+
// Reward specific nouns (CamelCase, ALL_CAPS, or mixed-case words)
|
|
90
|
+
const specificTerms = m.match(/[A-Z][a-z]+|[a-z]+[A-Z]|[A-Z]{2,}/g);
|
|
91
|
+
score += (specificTerms || []).length * 3;
|
|
92
|
+
// Reward concrete action verbs
|
|
93
|
+
const concreteVerbs = /\b(add|implement|create|remove|refactor|extract|rename|optimize|migrate|configure|integrate|replace|split|merge|enhance|introduce|deprecate|upgrade|downgrade|support|handle|prevent|allow|restrict|validate|sanitize|normalize|format|generate|bump|release|deploy|fix|resolve|address|correct|adjust|tweak|improve|streamline|simplify|reduce|increase|enable|disable|expose|hide|export|import|wire|connect|disconnect|setup|teardown)\b/gi;
|
|
94
|
+
score += (m.match(concreteVerbs) || []).length * 2;
|
|
95
|
+
return score;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* If the generated message is generic, compare it against a candidate derived
|
|
99
|
+
* from the user's last message and return the more specific one.
|
|
100
|
+
*
|
|
101
|
+
* Uses AI comparison when available; falls back to heuristic scoring.
|
|
102
|
+
*/
|
|
103
|
+
async function refineMessageIfGeneric(model, auth, ctx, generatedMessage, messages, changedFiles, lang) {
|
|
104
|
+
// Only refine if the generated message seems generic
|
|
105
|
+
if (!isGenericMessage(generatedMessage)) {
|
|
106
|
+
return generatedMessage;
|
|
107
|
+
}
|
|
108
|
+
// Get the last user message
|
|
109
|
+
const userMessages = collectMessagesByRole(messages, "user");
|
|
110
|
+
if (userMessages.length === 0) {
|
|
111
|
+
return generatedMessage;
|
|
112
|
+
}
|
|
113
|
+
const lastUserMessage = userMessages[0]; // newest first
|
|
114
|
+
const userCandidate = userMessageToCandidate(lastUserMessage);
|
|
115
|
+
if (!userCandidate) {
|
|
116
|
+
return generatedMessage;
|
|
117
|
+
}
|
|
118
|
+
// Quick heuristic guard: skip AI if one candidate is clearly better
|
|
119
|
+
const genScore = specificityScore(generatedMessage);
|
|
120
|
+
const userScore = specificityScore(userCandidate);
|
|
121
|
+
if (userScore > genScore + 5)
|
|
122
|
+
return userCandidate;
|
|
123
|
+
if (genScore > userScore + 5)
|
|
124
|
+
return generatedMessage;
|
|
125
|
+
// Scores are close — ask AI to decide
|
|
126
|
+
try {
|
|
127
|
+
const comparisonPrompt = t(lang, [
|
|
128
|
+
"あなたはコミットメッセージの品質評価ツールです。",
|
|
129
|
+
"同じ変更セットに対する2つの候補メッセージがあります。",
|
|
130
|
+
"",
|
|
131
|
+
`候補A(会話分析から生成): "${generatedMessage}"`,
|
|
132
|
+
`候補B(ユーザーの依頼から抽出): "${userCandidate}"`,
|
|
133
|
+
"",
|
|
134
|
+
`変更ファイル: ${changedFiles.join(", ")}`,
|
|
135
|
+
"",
|
|
136
|
+
"より**具体的で**、変更内容を正確に表している方を選び、",
|
|
137
|
+
"そのメッセージ文字列だけを返してください。",
|
|
138
|
+
"説明や補足は一切不要です。",
|
|
139
|
+
].join("\n"), [
|
|
140
|
+
"You are a commit message quality evaluator.",
|
|
141
|
+
"Two candidate messages exist for the same set of changes.",
|
|
142
|
+
"",
|
|
143
|
+
`Candidate A (generated from analysis): "${generatedMessage}"`,
|
|
144
|
+
`Candidate B (derived from user request): "${userCandidate}"`,
|
|
145
|
+
"",
|
|
146
|
+
`Changed files: ${changedFiles.join(", ")}`,
|
|
147
|
+
"",
|
|
148
|
+
"Choose the one that is MORE SPECIFIC and accurately describes the changes.",
|
|
149
|
+
"Return ONLY the chosen message string. No explanations.",
|
|
150
|
+
].join("\n"));
|
|
151
|
+
const context = {
|
|
152
|
+
systemPrompt: t(lang, "コミットメッセージ候補から最も具体的なものを選び、その文字列のみを返してください。", "Choose the most specific commit message candidate. Return only the chosen message string."),
|
|
153
|
+
messages: [
|
|
154
|
+
{
|
|
155
|
+
role: "user",
|
|
156
|
+
content: comparisonPrompt,
|
|
157
|
+
timestamp: Date.now(),
|
|
158
|
+
},
|
|
159
|
+
],
|
|
160
|
+
};
|
|
161
|
+
const result = await completeSimple(model, context, {
|
|
162
|
+
apiKey: auth.apiKey,
|
|
163
|
+
headers: auth.headers,
|
|
164
|
+
signal: ctx.signal,
|
|
165
|
+
reasoning: "minimal",
|
|
166
|
+
temperature: 0,
|
|
167
|
+
maxTokens: 100,
|
|
168
|
+
});
|
|
169
|
+
const text = result.content
|
|
170
|
+
.filter((c) => c.type === "text")
|
|
171
|
+
.map((c) => c.text)
|
|
172
|
+
.join("")
|
|
173
|
+
.trim()
|
|
174
|
+
// Strip code fences if the model wraps the message
|
|
175
|
+
.replace(/^```[a-z]*\n?/i, "")
|
|
176
|
+
.replace(/\n?```$/i, "")
|
|
177
|
+
.trim();
|
|
178
|
+
// Validate the AI's choice: if it contains the user candidate, prefer that
|
|
179
|
+
if (userCandidate.length >= 15 &&
|
|
180
|
+
text.includes(userCandidate.substring(0, 15))) {
|
|
181
|
+
return userCandidate;
|
|
182
|
+
}
|
|
183
|
+
// If it contains the generated message's subject, keep it
|
|
184
|
+
if (generatedMessage.length >= 15 &&
|
|
185
|
+
text.includes(generatedMessage.substring(0, 15))) {
|
|
186
|
+
return generatedMessage;
|
|
187
|
+
}
|
|
188
|
+
// Fallback: use heuristic scores
|
|
189
|
+
return userScore > genScore ? userCandidate : generatedMessage;
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
// AI failed — fall back to heuristic scoring
|
|
193
|
+
return userScore > genScore ? userCandidate : generatedMessage;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
13
196
|
function getSystemPrompt(lang) {
|
|
14
|
-
|
|
15
|
-
|
|
197
|
+
return t(lang, `あなたはコミットメッセージ生成ツールです。以下の情報から、ユーザーが**何を依頼し、その結果どのような変更が行われたか**を読み取り、Conventional Commit メッセージを1つ生成してください。
|
|
198
|
+
|
|
199
|
+
最も重要なのは「ユーザーのリクエスト」です。ユーザーが何を求めていたのかを主軸に、コミットメッセージを決定してください。アシスタントの応答と変更ファイル一覧は、そのリクエストがどのように実現されたかを補完する情報です。
|
|
16
200
|
|
|
17
201
|
ルール:
|
|
18
202
|
- type は feat, fix, docs, style, refactor, test, chore から選択
|
|
@@ -21,9 +205,9 @@ function getSystemPrompt(lang) {
|
|
|
21
205
|
- スコープは推測できる場合のみ含める
|
|
22
206
|
- 日本語で記述
|
|
23
207
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
208
|
+
返答はメッセージ文字列のみ。説明やコードフェンスは不要。`, `You are a commit message generator. From the following information, understand what the user requested and what changes were made as a result, then generate a single Conventional Commit message.
|
|
209
|
+
|
|
210
|
+
The most important input is the "user's request". Use it as the primary driver for the commit message. The assistant's response and changed files list are supplementary - they describe how the request was fulfilled.
|
|
27
211
|
|
|
28
212
|
Rules:
|
|
29
213
|
- Choose type from: feat, fix, docs, style, refactor, test, chore
|
|
@@ -31,7 +215,7 @@ Rules:
|
|
|
31
215
|
- Use imperative mood
|
|
32
216
|
- Include scope only if clearly inferable
|
|
33
217
|
|
|
34
|
-
Return ONLY the commit message string. No explanations or code fences
|
|
218
|
+
Return ONLY the commit message string. No explanations or code fences.`);
|
|
35
219
|
}
|
|
36
220
|
function extractTextContent(content) {
|
|
37
221
|
if (typeof content === "string")
|
|
@@ -40,40 +224,77 @@ function extractTextContent(content) {
|
|
|
40
224
|
return content
|
|
41
225
|
.filter((c) => typeof c === "object" && c !== null)
|
|
42
226
|
.map((c) => c.text || "")
|
|
43
|
-
.join("");
|
|
227
|
+
.join("\n");
|
|
44
228
|
}
|
|
45
229
|
return "";
|
|
46
230
|
}
|
|
47
|
-
|
|
231
|
+
/** Collect all messages of a given role, newest first */
|
|
232
|
+
function collectMessagesByRole(messages, role) {
|
|
233
|
+
const result = [];
|
|
48
234
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
49
235
|
if (messages[i].role === role) {
|
|
50
|
-
|
|
236
|
+
const text = extractTextContent(messages[i].content);
|
|
237
|
+
if (text.trim()) {
|
|
238
|
+
result.push(text);
|
|
239
|
+
}
|
|
51
240
|
}
|
|
52
241
|
}
|
|
53
|
-
return
|
|
242
|
+
return result;
|
|
54
243
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
244
|
+
/**
|
|
245
|
+
* Count total characters across all collected messages for truncation budgeting.
|
|
246
|
+
*/
|
|
247
|
+
function totalChars(collected) {
|
|
248
|
+
return collected.reduce((sum, s) => sum + s.length, 0);
|
|
249
|
+
}
|
|
250
|
+
function buildPrompt(userMessages, assistantMessages, changedFiles, lang) {
|
|
251
|
+
// Budget: keep the whole prompt under ~4000 chars to leave room for system prompt + response
|
|
252
|
+
const MAX_USER_CHARS = 2000;
|
|
253
|
+
const MAX_ASSISTANT_CHARS = 800;
|
|
254
|
+
const MAX_FILES_CHARS = 800;
|
|
255
|
+
// Build user messages section (newest first, most relevant last in display)
|
|
256
|
+
const userLines = [];
|
|
257
|
+
let userBudget = MAX_USER_CHARS;
|
|
258
|
+
for (const msg of userMessages.reverse()) {
|
|
259
|
+
if (userBudget <= 0)
|
|
260
|
+
break;
|
|
261
|
+
const truncated = truncate(msg, userBudget);
|
|
262
|
+
userLines.push(truncated);
|
|
263
|
+
userBudget -= truncated.length;
|
|
264
|
+
}
|
|
265
|
+
const userSection = userLines.reverse().join("\n---\n");
|
|
266
|
+
// Build assistant messages section
|
|
267
|
+
const assistantLines = [];
|
|
268
|
+
let assistantBudget = MAX_ASSISTANT_CHARS;
|
|
269
|
+
for (const msg of assistantMessages.reverse()) {
|
|
270
|
+
if (assistantBudget <= 0)
|
|
271
|
+
break;
|
|
272
|
+
const truncated = truncate(msg, assistantBudget);
|
|
273
|
+
assistantLines.push(truncated);
|
|
274
|
+
assistantBudget -= truncated.length;
|
|
275
|
+
}
|
|
276
|
+
const assistantSection = assistantLines.reverse().join("\n---\n");
|
|
277
|
+
// Build files section
|
|
278
|
+
const filesStr = truncate(changedFiles.join(", "), MAX_FILES_CHARS);
|
|
279
|
+
return t(lang, `=== ユーザーのリクエスト(最重要) ===
|
|
280
|
+
${userSection || "(なし)"}
|
|
60
281
|
|
|
61
|
-
|
|
62
|
-
${
|
|
282
|
+
=== アシスタントの応答(参考) ===
|
|
283
|
+
${assistantSection || "(なし)"}
|
|
63
284
|
|
|
64
|
-
|
|
285
|
+
=== 変更されたファイル ===
|
|
286
|
+
${filesStr || "(なし)"}
|
|
65
287
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return `User request:
|
|
69
|
-
${lastUserMessage}
|
|
288
|
+
上記の「ユーザーのリクエスト」を主軸に、変更の意図を最もよく表す Conventional Commit メッセージを1つ生成してください。`, `=== USER REQUEST (primary) ===
|
|
289
|
+
${userSection || "(none)"}
|
|
70
290
|
|
|
71
|
-
|
|
72
|
-
${
|
|
291
|
+
=== ASSISTANT RESPONSE (reference) ===
|
|
292
|
+
${assistantSection || "(none)"}
|
|
73
293
|
|
|
74
|
-
|
|
294
|
+
=== CHANGED FILES ===
|
|
295
|
+
${filesStr || "(none)"}
|
|
75
296
|
|
|
76
|
-
Based on the above,
|
|
297
|
+
Based primarily on the USER REQUEST above, generate a single Conventional Commit message that best captures the intent of the changes.`);
|
|
77
298
|
}
|
|
78
299
|
export async function generateAutoCommitMessage(_pi, ctx, messages, changedFiles) {
|
|
79
300
|
const model = resolveModel(ctx);
|
|
@@ -85,9 +306,10 @@ export async function generateAutoCommitMessage(_pi, ctx, messages, changedFiles
|
|
|
85
306
|
return sanitizeCommitMessage("chore: apply changes", changedFiles);
|
|
86
307
|
}
|
|
87
308
|
const lang = getLanguage(ctx.cwd);
|
|
88
|
-
|
|
89
|
-
const
|
|
90
|
-
|
|
309
|
+
// Collect ALL user messages and assistant messages for rich context
|
|
310
|
+
const userMessages = collectMessagesByRole(messages, "user");
|
|
311
|
+
const assistantMessages = collectMessagesByRole(messages, "assistant");
|
|
312
|
+
if (userMessages.length === 0) {
|
|
91
313
|
return sanitizeCommitMessage("chore: apply changes", changedFiles);
|
|
92
314
|
}
|
|
93
315
|
try {
|
|
@@ -96,7 +318,7 @@ export async function generateAutoCommitMessage(_pi, ctx, messages, changedFiles
|
|
|
96
318
|
messages: [
|
|
97
319
|
{
|
|
98
320
|
role: "user",
|
|
99
|
-
content: buildPrompt(
|
|
321
|
+
content: buildPrompt(userMessages, assistantMessages, changedFiles, lang),
|
|
100
322
|
timestamp: Date.now(),
|
|
101
323
|
},
|
|
102
324
|
],
|
|
@@ -112,7 +334,10 @@ export async function generateAutoCommitMessage(_pi, ctx, messages, changedFiles
|
|
|
112
334
|
.map((c) => c.text)
|
|
113
335
|
.join("")
|
|
114
336
|
.trim();
|
|
115
|
-
|
|
337
|
+
const commitMessage = sanitizeCommitMessage(text || "chore: apply changes", changedFiles);
|
|
338
|
+
// If the generated message is too generic, compare with a user-message
|
|
339
|
+
// candidate and pick the more specific one (heuristic → AI comparison)
|
|
340
|
+
return await refineMessageIfGeneric(model, auth, ctx, commitMessage, messages, changedFiles, lang);
|
|
116
341
|
}
|
|
117
342
|
catch {
|
|
118
343
|
return sanitizeCommitMessage("chore: apply changes", changedFiles);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-commit-message.js","sourceRoot":"","sources":["../../src/core/auto-commit-message.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAKvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auto-commit-message.js","sourceRoot":"","sources":["../../src/core/auto-commit-message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-commit.d.ts","sourceRoot":"","sources":["../../src/core/auto-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAYjD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"auto-commit.d.ts","sourceRoot":"","sources":["../../src/core/auto-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAYjD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,IAAI,CAAC,CAuFf"}
|
package/dist/core/auto-commit.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Automatically commits changes after assistant response when enabled.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { t } from "../utils/lang.js";
|
|
7
7
|
import { getAutoAggCommit, getLanguage } from "../utils/settings.js";
|
|
8
8
|
import { footerManager } from "../utils/footer-manager.js";
|
|
9
9
|
import { generateAutoCommitMessage } from "./auto-commit-message.js";
|
|
@@ -32,7 +32,6 @@ export async function handleAutoCommit(pi, ctx, event) {
|
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
const lang = getLanguage(ctx.cwd);
|
|
35
|
-
const ja = isJapanese(lang);
|
|
36
35
|
await footerManager.setRunning("auto-commit", "generateMessage");
|
|
37
36
|
try {
|
|
38
37
|
const { stdout: statusOutput } = await pi.exec("git", ["status", "--short"], { cwd: ctx.cwd });
|
|
@@ -52,12 +51,10 @@ export async function handleAutoCommit(pi, ctx, event) {
|
|
|
52
51
|
const { code: exitCode, stderr } = await pi.exec("git", ["commit", "-m", commitMessage], { cwd: ctx.cwd });
|
|
53
52
|
if (exitCode !== 0) {
|
|
54
53
|
await resetStaging(pi, ctx.cwd);
|
|
55
|
-
ctx.ui.notify(
|
|
54
|
+
ctx.ui.notify(t(lang, `コミットに失敗しました: ${stderr}`, `Commit failed: ${stderr}`), "warning");
|
|
56
55
|
}
|
|
57
56
|
else {
|
|
58
|
-
ctx.ui.notify(
|
|
59
|
-
? `コミットを作成しました: ${commitMessage}`
|
|
60
|
-
: `Created commit: ${commitMessage}`, "info");
|
|
57
|
+
ctx.ui.notify(t(lang, `コミットを作成しました: ${commitMessage}`, `Created commit: ${commitMessage}`), "info");
|
|
61
58
|
}
|
|
62
59
|
}
|
|
63
60
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-commit.js","sourceRoot":"","sources":["../../src/core/auto-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auto-commit.js","sourceRoot":"","sources":["../../src/core/auto-commit.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,19 +5,11 @@
|
|
|
5
5
|
* logical hunks with Conventional Commits messages.
|
|
6
6
|
*/
|
|
7
7
|
import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
8
|
-
import type {
|
|
8
|
+
import type { Hunk } from "../types.js";
|
|
9
9
|
export declare function analyzeDiff(_pi: ExtensionAPI, ctx: ExtensionContext, diff: string, langOverride?: string): Promise<Hunk[]>;
|
|
10
10
|
/**
|
|
11
11
|
* Post-process AI-generated hunks: sanitize commit messages, deduplicate files
|
|
12
12
|
* across hunks (each file belongs only to its first hunk), and remove empty hunks.
|
|
13
13
|
*/
|
|
14
14
|
export declare function processHunks(hunks: Hunk[]): Hunk[];
|
|
15
|
-
/**
|
|
16
|
-
* Split a full diff into per-file diff line arrays, keyed by file path.
|
|
17
|
-
*/
|
|
18
|
-
export declare function splitDiffByFile(fullDiff: string): Map<string, string[]>;
|
|
19
|
-
/**
|
|
20
|
-
* Parse addition/deletion counts for each file from a full diff.
|
|
21
|
-
*/
|
|
22
|
-
export declare function parseDiffStats(fullDiff: string): Map<string, FileStats>;
|
|
23
15
|
//# sourceMappingURL=diff-analyzer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-analyzer.d.ts","sourceRoot":"","sources":["../../src/core/diff-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"diff-analyzer.d.ts","sourceRoot":"","sources":["../../src/core/diff-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAa,IAAI,EAAE,MAAM,aAAa,CAAC;AAqQnD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,EAAE,CAAC,CAmDjB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAalD"}
|
|
@@ -6,21 +6,18 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { completeSimple } from "@earendil-works/pi-ai";
|
|
8
8
|
import { footerManager } from "../utils/footer-manager.js";
|
|
9
|
-
import {
|
|
9
|
+
import { t } from "../utils/lang.js";
|
|
10
10
|
import { getLanguage } from "../utils/settings.js";
|
|
11
11
|
import { sanitizeHunk } from "./commit-message.js";
|
|
12
12
|
import { resolveModel } from "./resolve-model.js";
|
|
13
13
|
/** Maximum diff bytes to send to the AI (truncated if larger) */
|
|
14
14
|
const MAX_DIFF_BYTES = 30_000;
|
|
15
|
-
/** Files threshold: skip AI analysis when ≤ this many files changed */
|
|
16
|
-
const FAST_PATH_FILE_LIMIT = 5;
|
|
17
15
|
/** Max files per AI analysis batch (split large diffs for progress visibility) */
|
|
18
16
|
const FILES_PER_BATCH = 8;
|
|
19
17
|
/** Maximum output tokens for the AI completion (hunk JSON is small) */
|
|
20
18
|
const MAX_OUTPUT_TOKENS = 1024;
|
|
21
19
|
function getSystemPrompt(lang) {
|
|
22
|
-
|
|
23
|
-
return `git diffを論理的なhunkに分割してください。
|
|
20
|
+
return t(lang, `git diffを論理的なhunkに分割してください。
|
|
24
21
|
|
|
25
22
|
ルール:
|
|
26
23
|
- 各hunk = 単一の論理的な変更(例:「機能Xを追加」「バグYを修正」)
|
|
@@ -34,9 +31,7 @@ function getSystemPrompt(lang) {
|
|
|
34
31
|
]
|
|
35
32
|
|
|
36
33
|
メッセージ形式: Conventional Commits (feat, fix, docs, style, refactor, test, chore)。
|
|
37
|
-
サブジェクトは50
|
|
38
|
-
}
|
|
39
|
-
return `Split git diff into logical hunks.
|
|
34
|
+
サブジェクトは50文字以内。日本語で記述。`, `Split git diff into logical hunks.
|
|
40
35
|
|
|
41
36
|
Rules:
|
|
42
37
|
- Each hunk = single logical change (e.g., "add feature X", "fix bug Y")
|
|
@@ -50,25 +45,22 @@ Return ONLY a JSON array:
|
|
|
50
45
|
]
|
|
51
46
|
|
|
52
47
|
Message format: Conventional Commits (feat, fix, docs, style, refactor, test, chore).
|
|
53
|
-
Keep subject under 50 chars. Use imperative mood
|
|
48
|
+
Keep subject under 50 chars. Use imperative mood.`);
|
|
54
49
|
}
|
|
55
50
|
function buildPrompt(diff, lang) {
|
|
56
|
-
|
|
57
|
-
return `以下のgit diffを分析し、論理的なhunkに分割してください:
|
|
51
|
+
return t(lang, `以下のgit diffを分析し、論理的なhunkに分割してください:
|
|
58
52
|
|
|
59
53
|
\`\`\`diff
|
|
60
54
|
${diff}
|
|
61
55
|
\`\`\`
|
|
62
56
|
|
|
63
|
-
指定された形式のJSON
|
|
64
|
-
}
|
|
65
|
-
return `Here is the git diff to analyze. Split it into logical hunks:
|
|
57
|
+
指定された形式のJSON配列のみを返してください。`, `Here is the git diff to analyze. Split it into logical hunks:
|
|
66
58
|
|
|
67
59
|
\`\`\`diff
|
|
68
60
|
${diff}
|
|
69
61
|
\`\`\`
|
|
70
62
|
|
|
71
|
-
Respond with ONLY a JSON array of hunks as specified
|
|
63
|
+
Respond with ONLY a JSON array of hunks as specified.`);
|
|
72
64
|
}
|
|
73
65
|
function parseHunks(text) {
|
|
74
66
|
// Extract JSON from the response (handle code fences)
|
|
@@ -244,10 +236,6 @@ async function callAIForDiff(model, auth, ctx, diff, langOverride) {
|
|
|
244
236
|
export async function analyzeDiff(_pi, ctx, diff, langOverride) {
|
|
245
237
|
const fileCount = countFilesInDiff(diff);
|
|
246
238
|
const lang = langOverride ?? getLanguage(ctx.cwd);
|
|
247
|
-
// Fast path: few files → instant fallback, skip AI call entirely
|
|
248
|
-
if (fileCount <= FAST_PATH_FILE_LIMIT) {
|
|
249
|
-
return fallbackFileBasedHunks(diff);
|
|
250
|
-
}
|
|
251
239
|
const model = resolveModel(ctx);
|
|
252
240
|
if (!model) {
|
|
253
241
|
return fallbackFileBasedHunks(diff);
|
|
@@ -315,7 +303,7 @@ export function processHunks(hunks) {
|
|
|
315
303
|
/**
|
|
316
304
|
* Split a full diff into per-file diff line arrays, keyed by file path.
|
|
317
305
|
*/
|
|
318
|
-
|
|
306
|
+
function splitDiffByFile(fullDiff) {
|
|
319
307
|
const result = new Map();
|
|
320
308
|
const lines = fullDiff.split("\n");
|
|
321
309
|
let currentFile = null;
|
|
@@ -343,7 +331,7 @@ export function splitDiffByFile(fullDiff) {
|
|
|
343
331
|
/**
|
|
344
332
|
* Parse addition/deletion counts for each file from a full diff.
|
|
345
333
|
*/
|
|
346
|
-
|
|
334
|
+
function parseDiffStats(fullDiff) {
|
|
347
335
|
const result = new Map();
|
|
348
336
|
const lines = fullDiff.split("\n");
|
|
349
337
|
let currentFile = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-analyzer.js","sourceRoot":"","sources":["../../src/core/diff-analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diff-analyzer.js","sourceRoot":"","sources":["../../src/core/diff-analyzer.ts"],"names":[],"mappings":"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"}
|