@mmnto/cli 1.75.0 → 1.75.2
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/adapters/github-cli-pr.d.ts +12 -1
- package/dist/adapters/github-cli-pr.d.ts.map +1 -1
- package/dist/adapters/github-cli-pr.js +33 -0
- package/dist/adapters/github-cli-pr.js.map +1 -1
- package/dist/adapters/github-cli-pr.test.js +58 -0
- package/dist/adapters/github-cli-pr.test.js.map +1 -1
- package/dist/adapters/pr-adapter.d.ts +28 -0
- package/dist/adapters/pr-adapter.d.ts.map +1 -1
- package/dist/commands/recurrence-stats.d.ts.map +1 -1
- package/dist/commands/recurrence-stats.js +3 -40
- package/dist/commands/recurrence-stats.js.map +1 -1
- package/dist/commands/retrospect.d.ts.map +1 -1
- package/dist/commands/retrospect.js +11 -7
- package/dist/commands/retrospect.js.map +1 -1
- package/dist/commands/triage-pr.d.ts +31 -0
- package/dist/commands/triage-pr.d.ts.map +1 -1
- package/dist/commands/triage-pr.js +137 -30
- package/dist/commands/triage-pr.js.map +1 -1
- package/dist/commands/triage-pr.test.js +64 -1
- package/dist/commands/triage-pr.test.js.map +1 -1
- package/dist/parse-nits.d.ts +24 -0
- package/dist/parse-nits.d.ts.map +1 -1
- package/dist/parse-nits.js +74 -0
- package/dist/parse-nits.js.map +1 -1
- package/dist/parse-nits.test.js +117 -1
- package/dist/parse-nits.test.js.map +1 -1
- package/dist/parsers/bot-review-parser.d.ts +50 -4
- package/dist/parsers/bot-review-parser.d.ts.map +1 -1
- package/dist/parsers/bot-review-parser.js +85 -15
- package/dist/parsers/bot-review-parser.js.map +1 -1
- package/dist/parsers/bot-review-parser.test.js +126 -1
- package/dist/parsers/bot-review-parser.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -41,18 +41,14 @@ function groupIntoThreads(comments) {
|
|
|
41
41
|
* Unlike extractResolvedBotFindings, this includes ALL bot findings
|
|
42
42
|
* (not just resolved ones) — triage wants the full picture.
|
|
43
43
|
*/
|
|
44
|
-
function normalizeBotFindings(threads, isBotComment, detectBot,
|
|
44
|
+
function normalizeBotFindings(threads, isBotComment, detectBot, parseSeverityForTool, stripHtmlWrappers, extractSuggestion) {
|
|
45
45
|
const findings = [];
|
|
46
46
|
for (const thread of threads) {
|
|
47
47
|
const botComment = thread.comments[0];
|
|
48
48
|
if (!botComment || !isBotComment(botComment.author))
|
|
49
49
|
continue;
|
|
50
50
|
const tool = detectBot(botComment.author);
|
|
51
|
-
const severity = tool
|
|
52
|
-
? parseCRSeverity(botComment.body)
|
|
53
|
-
: tool === 'gca'
|
|
54
|
-
? parseGCASeverity(botComment.body)
|
|
55
|
-
: 'info';
|
|
51
|
+
const severity = parseSeverityForTool(tool, botComment.body);
|
|
56
52
|
const body = stripHtmlWrappers(botComment.body);
|
|
57
53
|
const suggestion = extractSuggestion(botComment.body);
|
|
58
54
|
// Extract line number from diff hunk header (@@ -a,b +c,d @@)
|
|
@@ -81,17 +77,28 @@ const CATEGORY_CONFIG = {
|
|
|
81
77
|
convention: { emoji: '\u{1F535}', label: 'CONVENTION', colorFn: 'blue' },
|
|
82
78
|
nit: { emoji: '\u26AA', label: 'NITS', colorFn: 'gray' },
|
|
83
79
|
};
|
|
80
|
+
/** Compact display abbreviation for a bot tool (`??` for an unrecognized one). */
|
|
81
|
+
function toolAbbrev(tool) {
|
|
82
|
+
switch (tool) {
|
|
83
|
+
case 'coderabbit':
|
|
84
|
+
return 'CR';
|
|
85
|
+
case 'gca':
|
|
86
|
+
return 'GCA';
|
|
87
|
+
case 'greptile':
|
|
88
|
+
return 'GT';
|
|
89
|
+
default:
|
|
90
|
+
return '??';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
84
93
|
/** Format bot attribution string like [CR/minor, GCA/medium] */
|
|
85
94
|
function formatBotAttribution(finding) {
|
|
86
95
|
const entries = [];
|
|
87
96
|
// Primary finding
|
|
88
|
-
|
|
89
|
-
entries.push(`${toolAbbrev}/${finding.severity}`);
|
|
97
|
+
entries.push(`${toolAbbrev(finding.tool)}/${finding.severity}`);
|
|
90
98
|
// Merged findings
|
|
91
99
|
if (finding.mergedWith) {
|
|
92
100
|
for (const m of finding.mergedWith) {
|
|
93
|
-
|
|
94
|
-
entries.push(`${mAbbrev}/${m.severity}`);
|
|
101
|
+
entries.push(`${toolAbbrev(m.tool)}/${m.severity}`);
|
|
95
102
|
}
|
|
96
103
|
}
|
|
97
104
|
return `[${entries.join(', ')}]`;
|
|
@@ -118,6 +125,36 @@ function formatLocation(finding) {
|
|
|
118
125
|
}
|
|
119
126
|
return finding.file;
|
|
120
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Decide whether there is anything to triage, and — when not — what to report.
|
|
130
|
+
*
|
|
131
|
+
* Invariant (mmnto-ai/totem#2192): triage is "empty" ONLY when zero bot material
|
|
132
|
+
* was found across every surface (inline bot threads + parsed body/summary
|
|
133
|
+
* findings + bot summary issue-comments). When raw comments WERE fetched but none
|
|
134
|
+
* came from a recognized bot, the message surfaces the counts rather than a bare
|
|
135
|
+
* "Nothing to triage", so a stale/incomplete classifier can never masquerade as a
|
|
136
|
+
* clean PR (the #2190 miss). Pure + exported for testing.
|
|
137
|
+
*/
|
|
138
|
+
export function evaluateTriageEmptyState(counts) {
|
|
139
|
+
const botMaterial = counts.botThreads + counts.bodyFindings + counts.botIssueComments;
|
|
140
|
+
if (botMaterial > 0)
|
|
141
|
+
return { empty: false };
|
|
142
|
+
const rawFetched = counts.inlineComments + counts.reviews + counts.issueComments;
|
|
143
|
+
if (rawFetched === 0) {
|
|
144
|
+
return {
|
|
145
|
+
empty: true,
|
|
146
|
+
surfaced: false,
|
|
147
|
+
message: 'Nothing to triage — no comments, reviews, or issue-comments on this PR.',
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
empty: true,
|
|
152
|
+
surfaced: true,
|
|
153
|
+
message: `Fetched ${counts.inlineComments} inline comment(s), ${counts.reviews} review(s), ` +
|
|
154
|
+
`${counts.issueComments} issue-comment(s) — none from a recognized review bot. ` +
|
|
155
|
+
`Nothing to triage (no bot findings).`,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
121
158
|
/**
|
|
122
159
|
* Format the complete triage output. Exported for testing.
|
|
123
160
|
*/
|
|
@@ -180,7 +217,7 @@ export async function triagePrCommand(prNumber, options = {}) {
|
|
|
180
217
|
const { TotemConfigError } = await import('@mmnto/totem');
|
|
181
218
|
const { GitHubCliPrAdapter } = await import('../adapters/github-cli-pr.js');
|
|
182
219
|
const { log } = await import('../ui.js');
|
|
183
|
-
const { isBotComment, detectBot,
|
|
220
|
+
const { isBotComment, detectBot, parseSeverityForTool, stripHtmlWrappers, extractSuggestion, parseGreptileConfidence, } = await import('../parsers/bot-review-parser.js');
|
|
184
221
|
const { deduplicateFindings } = await import('../parsers/triage-dedup.js');
|
|
185
222
|
// 1. Parse and validate PR number
|
|
186
223
|
const num = parseInt(prNumber, 10);
|
|
@@ -197,39 +234,102 @@ export async function triagePrCommand(prNumber, options = {}) {
|
|
|
197
234
|
log.info(TAG, 'Fetching review comments...');
|
|
198
235
|
const reviewComments = adapter.fetchReviewComments(num);
|
|
199
236
|
log.info(TAG, `Found ${reviewComments.length} inline review comments`);
|
|
200
|
-
// 3b. Extract findings from
|
|
237
|
+
// 3b. Extract findings from review-bot SUMMARY surfaces:
|
|
238
|
+
// - review submission bodies (CodeRabbit outside-diff + nits) from `pr.reviews`
|
|
239
|
+
// - PR issue comments (greptile "Comments Outside Diff" summary) via `gh api`,
|
|
240
|
+
// which preserves the `[bot]` suffix + `user.type` that `gh pr view` strips,
|
|
241
|
+
// so the conservative greptile bot-login regex actually matches the summary.
|
|
201
242
|
const { extractReviewBodyFindings } = await import('../parsers/bot-review-parser.js');
|
|
202
243
|
const reviewBodyFindings = extractReviewBodyFindings(pr.reviews);
|
|
203
|
-
|
|
204
|
-
|
|
244
|
+
// `fetchIssueComments` is optional on the adapter interface — guard for adapters
|
|
245
|
+
// and test doubles that don't implement it. Wrap the call so an issue-comment
|
|
246
|
+
// fetch failure (network / rate-limit / creds) DEGRADES GRACEFULLY — warn and
|
|
247
|
+
// continue with inline + review-body triage rather than crashing the whole
|
|
248
|
+
// command (Tenet 4 + the failure-recovery design in .totem/specs/2192.md;
|
|
249
|
+
// gemini High on #2246).
|
|
250
|
+
let issueComments = [];
|
|
251
|
+
if (adapter.fetchIssueComments) {
|
|
252
|
+
try {
|
|
253
|
+
issueComments = adapter.fetchIssueComments(num);
|
|
254
|
+
// totem-context: intentional fail-soft-but-named (Tenet 4) — logged loudly via log.warn then continue with inline + review-body triage; never silent. Re-throwing would crash the command on a non-critical surface (gemini High #2246; failure-recovery design in 2192.md).
|
|
255
|
+
}
|
|
256
|
+
catch (err) {
|
|
257
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
258
|
+
log.warn(TAG, `Could not fetch issue-comments: ${msg}; triaging inline + review-body only.`);
|
|
259
|
+
}
|
|
205
260
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
261
|
+
// Filter to RECOGNIZED review bots only. The `gh api` route preserves the
|
|
262
|
+
// `[bot]` suffix, so `isBotComment` matches CR/GCA/greptile reliably — using
|
|
263
|
+
// the broad `authorType === 'Bot'` would pull in non-review automation
|
|
264
|
+
// (dependabot/renovate/github-actions), falsely suppressing "Nothing to triage"
|
|
265
|
+
// and mislabeling them `unknown` (gemini + CR + greptile review on #2246).
|
|
266
|
+
const botIssueComments = issueComments.filter((c) => isBotComment(c.author));
|
|
267
|
+
const issueCommentFindings = extractReviewBodyFindings(botIssueComments.map((c) => ({ author: c.author, body: c.body })));
|
|
268
|
+
const bodyFindings = [...reviewBodyFindings, ...issueCommentFindings];
|
|
269
|
+
if (bodyFindings.length > 0) {
|
|
270
|
+
log.info(TAG, `Found ${bodyFindings.length} finding(s) in review/issue-comment bodies`);
|
|
209
271
|
}
|
|
210
|
-
//
|
|
272
|
+
// Surface greptile's documented merge-readiness Confidence Score (N/5) as a
|
|
273
|
+
// triage CONTEXT signal — an operator reads it directly (5 = production-ready
|
|
274
|
+
// … 0–1 = critical). Context, not a finding; it never enters the categorized set.
|
|
275
|
+
for (const c of botIssueComments) {
|
|
276
|
+
if (detectBot(c.author) !== 'greptile')
|
|
277
|
+
continue;
|
|
278
|
+
const score = parseGreptileConfidence(c.body);
|
|
279
|
+
if (score !== undefined) {
|
|
280
|
+
log.info(TAG, `greptile Confidence Score: ${score}/5${score < 5 ? ' (below 5 — unaddressed findings likely)' : ''}`);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
// 4. Group inline comments into threads
|
|
211
284
|
const threads = groupIntoThreads(reviewComments);
|
|
212
285
|
// 5. Filter to threads starting with bot comments
|
|
213
286
|
const botThreads = threads.filter((t) => t.comments.length > 0 && isBotComment(t.comments[0].author));
|
|
214
|
-
|
|
215
|
-
|
|
287
|
+
// 5b. Empty-state guard (mmnto-ai/totem#2192): NEVER print a bare "Nothing to
|
|
288
|
+
// triage" when bot material was actually fetched. `triage-pr` runs live
|
|
289
|
+
// mid-review, when a bot's standing summary is in its findings-rich state;
|
|
290
|
+
// returning silently would reproduce the exact #2190 miss this command exists
|
|
291
|
+
// to catch. Bot issue-comments count as material even if the (provisional)
|
|
292
|
+
// summary parser extracted no discrete findings from them.
|
|
293
|
+
const emptyState = evaluateTriageEmptyState({
|
|
294
|
+
botThreads: botThreads.length,
|
|
295
|
+
bodyFindings: bodyFindings.length,
|
|
296
|
+
botIssueComments: botIssueComments.length,
|
|
297
|
+
inlineComments: reviewComments.length,
|
|
298
|
+
reviews: pr.reviews.length,
|
|
299
|
+
issueComments: issueComments.length,
|
|
300
|
+
});
|
|
301
|
+
if (emptyState.empty) {
|
|
302
|
+
if (emptyState.surfaced)
|
|
303
|
+
log.info(TAG, emptyState.message);
|
|
304
|
+
else
|
|
305
|
+
log.dim(TAG, emptyState.message);
|
|
216
306
|
return;
|
|
217
307
|
}
|
|
218
308
|
if (botThreads.length > 0) {
|
|
219
309
|
log.info(TAG, `Found ${botThreads.length} bot review thread(s)`);
|
|
220
310
|
}
|
|
311
|
+
// (No "parser gap" warning: the marker-anchored parser always surfaces whatever
|
|
312
|
+
// sits under the marker — falling back to the whole block — so a content-present
|
|
313
|
+
// /findings-empty "gap" is logically impossible (gemini High + greptile P1 on
|
|
314
|
+
// #2246). Anti-glance is carried by the empty-state guard, which counts a bot
|
|
315
|
+
// summary as material, plus the greptile Confidence line above.)
|
|
221
316
|
// 6. Normalize into findings
|
|
222
|
-
const findings = normalizeBotFindings(botThreads, isBotComment, detectBot,
|
|
223
|
-
// Append review
|
|
224
|
-
findings.push(...
|
|
317
|
+
const findings = normalizeBotFindings(botThreads, isBotComment, detectBot, parseSeverityForTool, stripHtmlWrappers, extractSuggestion);
|
|
318
|
+
// Append review-body + issue-comment summary findings
|
|
319
|
+
findings.push(...bodyFindings);
|
|
225
320
|
log.info(TAG, `Normalized ${findings.length} bot finding(s)`);
|
|
226
321
|
// 7. Deduplicate and categorize
|
|
227
322
|
const categorized = deduplicateFindings(findings);
|
|
228
323
|
log.info(TAG, `${categorized.length} distinct finding(s) after dedup`);
|
|
229
324
|
// 8. Render output to stdout
|
|
230
|
-
// Count bot comments (not all review comments) + review
|
|
231
|
-
|
|
232
|
-
|
|
325
|
+
// Count bot comments (not all review comments) + the review-body and
|
|
326
|
+
// issue-comment summary surfaces SEPARATELY. The issue-comment surface counts
|
|
327
|
+
// when a bot summary was PRESENT (botIssueComments), not only when it parsed
|
|
328
|
+
// findings — otherwise a summary-present-but-0-findings PR renders "0 comments"
|
|
329
|
+
// right after the empty-state guard (which counts the same surface as material)
|
|
330
|
+
// intentionally kept it in triage (CR Outside-diff on #2246).
|
|
331
|
+
const bodySummarySurfaces = (reviewBodyFindings.length > 0 ? 1 : 0) + (botIssueComments.length > 0 ? 1 : 0);
|
|
332
|
+
const botCommentCount = reviewComments.filter((c) => isBotComment(c.author)).length + bodySummarySurfaces;
|
|
233
333
|
const output = formatTriageOutput(num, categorized, botCommentCount, {
|
|
234
334
|
red: pc.default.red,
|
|
235
335
|
yellow: pc.default.yellow,
|
|
@@ -248,7 +348,6 @@ export async function triagePrCommand(prNumber, options = {}) {
|
|
|
248
348
|
intro(`PR #${num} Interactive Triage (${categorized.length} findings)`);
|
|
249
349
|
// Build selection options from categorized findings
|
|
250
350
|
const optionsList = categorized.map((f, i) => {
|
|
251
|
-
const toolAbbrev = f.tool === 'coderabbit' ? 'CR' : f.tool === 'gca' ? 'GCA' : '??';
|
|
252
351
|
const location = f.line != null ? `${f.file}:${f.line}` : f.file;
|
|
253
352
|
const summary = f.body
|
|
254
353
|
.split('\n')
|
|
@@ -256,7 +355,7 @@ export async function triagePrCommand(prNumber, options = {}) {
|
|
|
256
355
|
?.slice(0, 60) ?? f.body.slice(0, 60);
|
|
257
356
|
return {
|
|
258
357
|
value: i,
|
|
259
|
-
label: `[${toolAbbrev}/${f.severity}] ${location}`,
|
|
358
|
+
label: `[${toolAbbrev(f.tool)}/${f.severity}] ${location}`,
|
|
260
359
|
hint: summary.replace(/\n/g, ' '),
|
|
261
360
|
};
|
|
262
361
|
});
|
|
@@ -418,8 +517,16 @@ export async function triagePrCommand(prNumber, options = {}) {
|
|
|
418
517
|
const cfg = await loadCfg2(resolveCfg2(cwd));
|
|
419
518
|
const pathMod = await import('node:path');
|
|
420
519
|
const lessonsDir = pathMod.join(cwd, cfg.totemDir, 'lessons');
|
|
421
|
-
|
|
422
|
-
|
|
520
|
+
// Lesson tag wants a readable tool id (unknown → 'unknown', not the
|
|
521
|
+
// display helper's '??'), so it keeps its own mapping.
|
|
522
|
+
const toolTag = finding.tool === 'coderabbit'
|
|
523
|
+
? 'CR'
|
|
524
|
+
: finding.tool === 'gca'
|
|
525
|
+
? 'GCA'
|
|
526
|
+
: finding.tool === 'greptile'
|
|
527
|
+
? 'GT'
|
|
528
|
+
: finding.tool;
|
|
529
|
+
const tags = [finding.triageCategory, toolTag.toLowerCase(), 'bot-review'];
|
|
423
530
|
const lessonEntry = `## Lesson — ${finding.body
|
|
424
531
|
.split('\n')
|
|
425
532
|
.find((l) => l.trim())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triage-pr.js","sourceRoot":"","sources":["../../src/commands/triage-pr.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"triage-pr.js","sourceRoot":"","sources":["../../src/commands/triage-pr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { formatTriageOutput } from './triage-pr.js';
|
|
2
|
+
import { evaluateTriageEmptyState, formatTriageOutput } from './triage-pr.js';
|
|
3
3
|
// ─── Identity color functions (no ANSI for test assertions) ──
|
|
4
4
|
const noColor = {
|
|
5
5
|
red: (s) => s,
|
|
@@ -94,6 +94,28 @@ describe('formatTriageOutput', () => {
|
|
|
94
94
|
expect(output).toContain('CR/minor');
|
|
95
95
|
expect(output).toContain('GCA/medium');
|
|
96
96
|
});
|
|
97
|
+
it('shows greptile attribution as GT (mmnto-ai/totem#2192)', () => {
|
|
98
|
+
const findings = [
|
|
99
|
+
makeFinding({
|
|
100
|
+
triageCategory: 'architecture',
|
|
101
|
+
tool: 'greptile',
|
|
102
|
+
severity: 'high',
|
|
103
|
+
body: 'Possible null dereference',
|
|
104
|
+
mergedWith: [
|
|
105
|
+
{
|
|
106
|
+
tool: 'greptile',
|
|
107
|
+
severity: 'medium',
|
|
108
|
+
file: 'src/lock.ts',
|
|
109
|
+
line: 20,
|
|
110
|
+
body: 'Possible null dereference',
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
}),
|
|
114
|
+
];
|
|
115
|
+
const output = formatTriageOutput(953, findings, 2, noColor);
|
|
116
|
+
expect(output).toContain('GT/high');
|
|
117
|
+
expect(output).toContain('GT/medium');
|
|
118
|
+
});
|
|
97
119
|
it('handles empty categories', () => {
|
|
98
120
|
// Only convention findings — security/architecture/nit should not appear
|
|
99
121
|
const findings = [
|
|
@@ -204,4 +226,45 @@ describe('formatTriageOutput', () => {
|
|
|
204
226
|
expect(output).toContain('[2]');
|
|
205
227
|
});
|
|
206
228
|
});
|
|
229
|
+
describe('evaluateTriageEmptyState (mmnto-ai/totem#2192)', () => {
|
|
230
|
+
const zero = {
|
|
231
|
+
botThreads: 0,
|
|
232
|
+
bodyFindings: 0,
|
|
233
|
+
botIssueComments: 0,
|
|
234
|
+
inlineComments: 0,
|
|
235
|
+
reviews: 0,
|
|
236
|
+
issueComments: 0,
|
|
237
|
+
};
|
|
238
|
+
it('is NOT empty when an inline bot thread exists', () => {
|
|
239
|
+
expect(evaluateTriageEmptyState({ ...zero, botThreads: 1, inlineComments: 1 }).empty).toBe(false);
|
|
240
|
+
});
|
|
241
|
+
it('is NOT empty when only a body/summary finding exists', () => {
|
|
242
|
+
expect(evaluateTriageEmptyState({ ...zero, bodyFindings: 1, reviews: 1 }).empty).toBe(false);
|
|
243
|
+
});
|
|
244
|
+
it('is NOT empty when a bot summary issue-comment exists but parsed 0 findings', () => {
|
|
245
|
+
// The greptile-summary-present-but-unparsed case: must still triage, never
|
|
246
|
+
// silently return — the #2190 miss this command exists to catch.
|
|
247
|
+
expect(evaluateTriageEmptyState({ ...zero, botIssueComments: 1, issueComments: 1 }).empty).toBe(false);
|
|
248
|
+
});
|
|
249
|
+
it('is empty with a bare message when truly nothing was fetched', () => {
|
|
250
|
+
const r = evaluateTriageEmptyState(zero);
|
|
251
|
+
expect(r.empty).toBe(true);
|
|
252
|
+
expect(r.surfaced).toBe(false);
|
|
253
|
+
expect(r.message).toContain('no comments');
|
|
254
|
+
});
|
|
255
|
+
it('surfaces fetched counts (never a bare "Nothing to triage") when raw comments exist but no bot authored them', () => {
|
|
256
|
+
const r = evaluateTriageEmptyState({
|
|
257
|
+
...zero,
|
|
258
|
+
inlineComments: 2,
|
|
259
|
+
reviews: 1,
|
|
260
|
+
issueComments: 3,
|
|
261
|
+
});
|
|
262
|
+
expect(r.empty).toBe(true);
|
|
263
|
+
expect(r.surfaced).toBe(true);
|
|
264
|
+
// The whole point of #2192: surface WHAT was fetched, not a bare dismissal.
|
|
265
|
+
expect(r.message).toContain('2 inline comment(s)');
|
|
266
|
+
expect(r.message).toContain('1 review(s)');
|
|
267
|
+
expect(r.message).toContain('3 issue-comment(s)');
|
|
268
|
+
});
|
|
269
|
+
});
|
|
207
270
|
//# sourceMappingURL=triage-pr.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triage-pr.test.js","sourceRoot":"","sources":["../../src/commands/triage-pr.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"triage-pr.test.js","sourceRoot":"","sources":["../../src/commands/triage-pr.test.ts"],"names":[],"mappings":"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"}
|
package/dist/parse-nits.d.ts
CHANGED
|
@@ -16,6 +16,30 @@ export declare function parseCodeRabbitNits(body: string): string[];
|
|
|
16
16
|
* Returns an array of cleaned text strings.
|
|
17
17
|
*/
|
|
18
18
|
export declare function parseCodeRabbitOutsideDiff(body: string): string[];
|
|
19
|
+
/**
|
|
20
|
+
* Extract greptile's "Comments Outside Diff" findings from its SUMMARY comment.
|
|
21
|
+
*
|
|
22
|
+
* Greptile renders out-of-diff findings in the standing summary comment, BELOW
|
|
23
|
+
* the flowchart, anchored by the HTML-comment marker
|
|
24
|
+
* `<!-- greptile_other_comments_section -->` and trailed by a `<sub>Reviews (N):
|
|
25
|
+
* …</sub>` footer (mmnto-ai/totem-strategy#690; the canonical anchor). We key on
|
|
26
|
+
* the MARKER — not a sampled `<details>`/header shape — because greptile EDITS
|
|
27
|
+
* this comment in place: a merged/closed PR shows the marker with the content
|
|
28
|
+
* already removed post-resolution, so the live findings-state cannot be
|
|
29
|
+
* reverse-engineered from a closed PR (GitHub `userContentEdits` exposes edit
|
|
30
|
+
* metadata, not prior bodies). Returns [] when the section is absent or empty
|
|
31
|
+
* (resolved/none).
|
|
32
|
+
*/
|
|
33
|
+
export declare function parseGreptileOutsideDiff(body: string): string[];
|
|
34
|
+
/**
|
|
35
|
+
* Combined parser for greptile SUMMARY-comment findings — the marker-anchored
|
|
36
|
+
* "Comments Outside Diff" section (greptile's per-line findings post inline and
|
|
37
|
+
* are handled by the thread path). See {@link parseGreptileOutsideDiff}.
|
|
38
|
+
*/
|
|
39
|
+
export declare function parseGreptileReviewFindings(body: string): Array<{
|
|
40
|
+
type: 'outside-diff';
|
|
41
|
+
content: string;
|
|
42
|
+
}>;
|
|
19
43
|
/**
|
|
20
44
|
* Combined parser that extracts both nitpick and outside-diff findings
|
|
21
45
|
* from a CodeRabbit review body, returning typed results.
|
package/dist/parse-nits.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-nits.d.ts","sourceRoot":"","sources":["../src/parse-nits.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoDH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA4B1D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAyBjE;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,SAAS,GAAG,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAY9D"}
|
|
1
|
+
{"version":3,"file":"parse-nits.d.ts","sourceRoot":"","sources":["../src/parse-nits.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoDH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA4B1D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAyBjE;AA6BD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAqB/D;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAElD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,SAAS,GAAG,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAY9D"}
|
package/dist/parse-nits.js
CHANGED
|
@@ -110,6 +110,80 @@ export function parseCodeRabbitOutsideDiff(body) {
|
|
|
110
110
|
}
|
|
111
111
|
return results;
|
|
112
112
|
}
|
|
113
|
+
/** The HTML-comment marker greptile emits to anchor its out-of-diff section. */
|
|
114
|
+
const GREPTILE_OUTSIDE_DIFF_MARKER = '<!-- greptile_other_comments_section -->';
|
|
115
|
+
/**
|
|
116
|
+
* The documented greptile summary footer ("Reviews (N): … | Re-trigger
|
|
117
|
+
* Greptile"). Anchor footer removal to THIS shape, not the first `<sub>`
|
|
118
|
+
* anywhere — a greptile finding may legitimately contain an HTML subscript, and
|
|
119
|
+
* truncating at it would drop the rest of the finding (CR review on #2246).
|
|
120
|
+
*/
|
|
121
|
+
const GREPTILE_REVIEWS_FOOTER = /<sub\b[^>]*>\s*Reviews\b/i;
|
|
122
|
+
/**
|
|
123
|
+
* The cleaned content of greptile's out-of-diff section — everything between the
|
|
124
|
+
* `greptile_other_comments_section` marker and the Reviews footer, HTML wrappers
|
|
125
|
+
* stripped. Returns '' when the marker is absent or the section is empty
|
|
126
|
+
* (resolved/clean). Shared by {@link parseGreptileOutsideDiff} and
|
|
127
|
+
* {@link greptileOutsideDiffSectionHasContent}.
|
|
128
|
+
*/
|
|
129
|
+
function greptileOutsideDiffSection(body) {
|
|
130
|
+
if (!body)
|
|
131
|
+
return '';
|
|
132
|
+
const markerIdx = body.indexOf(GREPTILE_OUTSIDE_DIFF_MARKER);
|
|
133
|
+
if (markerIdx === -1)
|
|
134
|
+
return '';
|
|
135
|
+
let section = body.slice(markerIdx + GREPTILE_OUTSIDE_DIFF_MARKER.length);
|
|
136
|
+
const footerIdx = section.search(GREPTILE_REVIEWS_FOOTER);
|
|
137
|
+
if (footerIdx !== -1)
|
|
138
|
+
section = section.slice(0, footerIdx);
|
|
139
|
+
return stripWrapperTags(section).trim();
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Extract greptile's "Comments Outside Diff" findings from its SUMMARY comment.
|
|
143
|
+
*
|
|
144
|
+
* Greptile renders out-of-diff findings in the standing summary comment, BELOW
|
|
145
|
+
* the flowchart, anchored by the HTML-comment marker
|
|
146
|
+
* `<!-- greptile_other_comments_section -->` and trailed by a `<sub>Reviews (N):
|
|
147
|
+
* …</sub>` footer (mmnto-ai/totem-strategy#690; the canonical anchor). We key on
|
|
148
|
+
* the MARKER — not a sampled `<details>`/header shape — because greptile EDITS
|
|
149
|
+
* this comment in place: a merged/closed PR shows the marker with the content
|
|
150
|
+
* already removed post-resolution, so the live findings-state cannot be
|
|
151
|
+
* reverse-engineered from a closed PR (GitHub `userContentEdits` exposes edit
|
|
152
|
+
* metadata, not prior bodies). Returns [] when the section is absent or empty
|
|
153
|
+
* (resolved/none).
|
|
154
|
+
*/
|
|
155
|
+
export function parseGreptileOutsideDiff(body) {
|
|
156
|
+
const cleaned = greptileOutsideDiffSection(body);
|
|
157
|
+
if (!cleaned)
|
|
158
|
+
return [];
|
|
159
|
+
// Greptile may render multiple out-of-diff findings separated by `---` rules.
|
|
160
|
+
// Split on `---` ONLY outside fenced code blocks: greptile findings embed code
|
|
161
|
+
// examples/suggestions, and stripping or splitting through fences deletes that
|
|
162
|
+
// content from the surfaced finding (gemini review on #2246). Toggle on ```.
|
|
163
|
+
const FENCE = '```';
|
|
164
|
+
const groups = [[]];
|
|
165
|
+
let inFence = false;
|
|
166
|
+
for (const line of cleaned.split(/\r?\n/)) {
|
|
167
|
+
if (line.trimStart().startsWith(FENCE))
|
|
168
|
+
inFence = !inFence;
|
|
169
|
+
if (!inFence && line.trim() === '---') {
|
|
170
|
+
groups.push([]);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
groups[groups.length - 1].push(line);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
const parts = groups.map((g) => g.join('\n').trim()).filter(Boolean);
|
|
177
|
+
return parts.length ? parts : [cleaned];
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Combined parser for greptile SUMMARY-comment findings — the marker-anchored
|
|
181
|
+
* "Comments Outside Diff" section (greptile's per-line findings post inline and
|
|
182
|
+
* are handled by the thread path). See {@link parseGreptileOutsideDiff}.
|
|
183
|
+
*/
|
|
184
|
+
export function parseGreptileReviewFindings(body) {
|
|
185
|
+
return parseGreptileOutsideDiff(body).map((content) => ({ type: 'outside-diff', content }));
|
|
186
|
+
}
|
|
113
187
|
/**
|
|
114
188
|
* Combined parser that extracts both nitpick and outside-diff findings
|
|
115
189
|
* from a CodeRabbit review body, returning typed results.
|
package/dist/parse-nits.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-nits.js","sourceRoot":"","sources":["../src/parse-nits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-nits.js","sourceRoot":"","sources":["../src/parse-nits.ts"],"names":[],"mappings":"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"}
|