@kodus/cli 0.2.4 → 0.3.0
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.md +78 -27
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +20 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/auth/index.d.ts.map +1 -1
- package/dist/commands/auth/index.js +1 -2
- package/dist/commands/auth/index.js.map +1 -1
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +44 -45
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/logout.d.ts.map +1 -1
- package/dist/commands/auth/logout.js +5 -3
- package/dist/commands/auth/logout.js.map +1 -1
- package/dist/commands/auth/status.d.ts.map +1 -1
- package/dist/commands/auth/status.js +28 -25
- package/dist/commands/auth/status.js.map +1 -1
- package/dist/commands/auth/team-key.d.ts.map +1 -1
- package/dist/commands/auth/team-key.js +49 -29
- package/dist/commands/auth/team-key.js.map +1 -1
- package/dist/commands/auth/token.d.ts.map +1 -1
- package/dist/commands/auth/token.js +12 -10
- package/dist/commands/auth/token.js.map +1 -1
- package/dist/commands/hook/index.d.ts.map +1 -1
- package/dist/commands/hook/index.js +1 -2
- package/dist/commands/hook/index.js.map +1 -1
- package/dist/commands/hook/install.d.ts.map +1 -1
- package/dist/commands/hook/install.js +21 -22
- package/dist/commands/hook/install.js.map +1 -1
- package/dist/commands/hook/status.d.ts.map +1 -1
- package/dist/commands/hook/status.js +10 -8
- package/dist/commands/hook/status.js.map +1 -1
- package/dist/commands/hook/uninstall.d.ts.map +1 -1
- package/dist/commands/hook/uninstall.js +7 -5
- package/dist/commands/hook/uninstall.js.map +1 -1
- package/dist/commands/memory/capture.d.ts.map +1 -1
- package/dist/commands/memory/capture.js +28 -14
- package/dist/commands/memory/capture.js.map +1 -1
- package/dist/commands/memory/disable.d.ts.map +1 -1
- package/dist/commands/memory/disable.js +9 -7
- package/dist/commands/memory/disable.js.map +1 -1
- package/dist/commands/memory/enable.d.ts.map +1 -1
- package/dist/commands/memory/enable.js +18 -14
- package/dist/commands/memory/enable.js.map +1 -1
- package/dist/commands/memory/hooks.d.ts.map +1 -1
- package/dist/commands/memory/hooks.js +37 -17
- package/dist/commands/memory/hooks.js.map +1 -1
- package/dist/commands/memory/index.d.ts.map +1 -1
- package/dist/commands/memory/index.js +1 -2
- package/dist/commands/memory/index.js.map +1 -1
- package/dist/commands/memory/promote.d.ts.map +1 -1
- package/dist/commands/memory/promote.js +14 -10
- package/dist/commands/memory/promote.js.map +1 -1
- package/dist/commands/memory/show.d.ts.map +1 -1
- package/dist/commands/memory/show.js +11 -10
- package/dist/commands/memory/show.js.map +1 -1
- package/dist/commands/memory/status.d.ts.map +1 -1
- package/dist/commands/memory/status.js +22 -20
- package/dist/commands/memory/status.js.map +1 -1
- package/dist/commands/pr.d.ts.map +1 -1
- package/dist/commands/pr.js +131 -13
- package/dist/commands/pr.js.map +1 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +57 -38
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +119 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/subscribe.d.ts +4 -0
- package/dist/commands/subscribe.d.ts.map +1 -0
- package/dist/commands/subscribe.js +25 -0
- package/dist/commands/subscribe.js.map +1 -0
- package/dist/commands/update.d.ts +9 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +74 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/formatters/json.d.ts.map +1 -1
- package/dist/formatters/json.js.map +1 -1
- package/dist/formatters/markdown.d.ts.map +1 -1
- package/dist/formatters/markdown.js.map +1 -1
- package/dist/formatters/prompt.d.ts.map +1 -1
- package/dist/formatters/prompt.js +6 -6
- package/dist/formatters/prompt.js.map +1 -1
- package/dist/formatters/terminal.d.ts.map +1 -1
- package/dist/formatters/terminal.js +7 -4
- package/dist/formatters/terminal.js.map +1 -1
- package/dist/index.js +28 -5
- package/dist/index.js.map +1 -1
- package/dist/services/api/api.interface.d.ts +10 -1
- package/dist/services/api/api.interface.d.ts.map +1 -1
- package/dist/services/api/api.real.d.ts +14 -0
- package/dist/services/api/api.real.d.ts.map +1 -1
- package/dist/services/api/api.real.js +163 -58
- package/dist/services/api/api.real.js.map +1 -1
- package/dist/services/api/index.d.ts +2 -2
- package/dist/services/api/index.js +1 -1
- package/dist/services/auth.service.d.ts +1 -0
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +21 -2
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/context.service.d.ts +4 -1
- package/dist/services/context.service.d.ts.map +1 -1
- package/dist/services/context.service.js +30 -19
- package/dist/services/context.service.js.map +1 -1
- package/dist/services/fix.service.d.ts.map +1 -1
- package/dist/services/fix.service.js +3 -2
- package/dist/services/fix.service.js.map +1 -1
- package/dist/services/git.service.d.ts +1 -0
- package/dist/services/git.service.d.ts.map +1 -1
- package/dist/services/git.service.js +123 -48
- package/dist/services/git.service.js.map +1 -1
- package/dist/services/memory.service.d.ts.map +1 -1
- package/dist/services/memory.service.js +93 -35
- package/dist/services/memory.service.js.map +1 -1
- package/dist/services/review.service.d.ts +12 -1
- package/dist/services/review.service.d.ts.map +1 -1
- package/dist/services/review.service.js +88 -65
- package/dist/services/review.service.js.map +1 -1
- package/dist/services/transcript-parser.service.d.ts.map +1 -1
- package/dist/services/transcript-parser.service.js +46 -15
- package/dist/services/transcript-parser.service.js.map +1 -1
- package/dist/types/index.d.ts +12 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/memory.d.ts.map +1 -1
- package/dist/ui/interactive.d.ts.map +1 -1
- package/dist/ui/interactive.js +86 -92
- package/dist/ui/interactive.js.map +1 -1
- package/dist/utils/banner.d.ts +2 -0
- package/dist/utils/banner.d.ts.map +1 -0
- package/dist/utils/banner.js +190 -0
- package/dist/utils/banner.js.map +1 -0
- package/dist/utils/cli-exit.d.ts +13 -0
- package/dist/utils/cli-exit.d.ts.map +1 -0
- package/dist/utils/cli-exit.js +29 -0
- package/dist/utils/cli-exit.js.map +1 -0
- package/dist/utils/clipboard.d.ts +2 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/clipboard.js +11 -0
- package/dist/utils/clipboard.js.map +1 -0
- package/dist/utils/config.d.ts +3 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/credentials.d.ts.map +1 -1
- package/dist/utils/credentials.js.map +1 -1
- package/dist/utils/device.d.ts.map +1 -1
- package/dist/utils/device.js +17 -6
- package/dist/utils/device.js.map +1 -1
- package/dist/utils/logger.d.ts +13 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +48 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/module-matcher.d.ts.map +1 -1
- package/dist/utils/module-matcher.js +12 -7
- package/dist/utils/module-matcher.js.map +1 -1
- package/dist/utils/rate-limit.d.ts.map +1 -1
- package/dist/utils/rate-limit.js +12 -3
- package/dist/utils/rate-limit.js.map +1 -1
- package/dist/utils/recent-activity.d.ts +9 -0
- package/dist/utils/recent-activity.d.ts.map +1 -0
- package/dist/utils/recent-activity.js +139 -0
- package/dist/utils/recent-activity.js.map +1 -0
- package/dist/utils/skills.d.ts +2 -0
- package/dist/utils/skills.d.ts.map +1 -0
- package/dist/utils/skills.js +40 -0
- package/dist/utils/skills.js.map +1 -0
- package/dist/utils/update-check.d.ts +1 -2
- package/dist/utils/update-check.d.ts.map +1 -1
- package/dist/utils/update-check.js +21 -97
- package/dist/utils/update-check.js.map +1 -1
- package/package.json +83 -59
- package/skills/README.md +49 -0
- package/skills/business-rules-validation/SKILL.md +43 -0
- package/skills/kodus-pr-suggestions-resolver/SKILL.md +61 -0
- package/skills/kodus-review/SKILL.md +40 -0
- package/skills/kodus-review-dev/SKILL.md +41 -0
- package/skills/kodus-review-dev/scripts/run-local-cli.sh +49 -0
- package/dist/commands/__tests__/auth.login-logout.test.d.ts +0 -2
- package/dist/commands/__tests__/auth.login-logout.test.d.ts.map +0 -1
- package/dist/commands/__tests__/auth.login-logout.test.js +0 -125
- package/dist/commands/__tests__/auth.login-logout.test.js.map +0 -1
- package/dist/commands/__tests__/auth.team-key.test.d.ts +0 -2
- package/dist/commands/__tests__/auth.team-key.test.d.ts.map +0 -1
- package/dist/commands/__tests__/auth.team-key.test.js +0 -145
- package/dist/commands/__tests__/auth.team-key.test.js.map +0 -1
- package/dist/commands/__tests__/capture-api.test.d.ts +0 -2
- package/dist/commands/__tests__/capture-api.test.d.ts.map +0 -1
- package/dist/commands/__tests__/capture-api.test.js +0 -88
- package/dist/commands/__tests__/capture-api.test.js.map +0 -1
- package/dist/commands/__tests__/disable.test.d.ts +0 -2
- package/dist/commands/__tests__/disable.test.d.ts.map +0 -1
- package/dist/commands/__tests__/disable.test.js +0 -103
- package/dist/commands/__tests__/disable.test.js.map +0 -1
- package/dist/commands/__tests__/enable.test.d.ts +0 -2
- package/dist/commands/__tests__/enable.test.d.ts.map +0 -1
- package/dist/commands/__tests__/enable.test.js +0 -103
- package/dist/commands/__tests__/enable.test.js.map +0 -1
- package/dist/commands/__tests__/hook.test.d.ts +0 -2
- package/dist/commands/__tests__/hook.test.d.ts.map +0 -1
- package/dist/commands/__tests__/hook.test.js +0 -105
- package/dist/commands/__tests__/hook.test.js.map +0 -1
- package/dist/commands/__tests__/install-merge-hook.test.d.ts +0 -2
- package/dist/commands/__tests__/install-merge-hook.test.d.ts.map +0 -1
- package/dist/commands/__tests__/install-merge-hook.test.js +0 -54
- package/dist/commands/__tests__/install-merge-hook.test.js.map +0 -1
- package/dist/commands/upgrade.d.ts +0 -3
- package/dist/commands/upgrade.d.ts.map +0 -1
- package/dist/commands/upgrade.js +0 -35
- package/dist/commands/upgrade.js.map +0 -1
- package/dist/services/__tests__/auth.service.test.d.ts +0 -2
- package/dist/services/__tests__/auth.service.test.d.ts.map +0 -1
- package/dist/services/__tests__/auth.service.test.js +0 -201
- package/dist/services/__tests__/auth.service.test.js.map +0 -1
- package/dist/services/__tests__/git.service.test.d.ts +0 -2
- package/dist/services/__tests__/git.service.test.d.ts.map +0 -1
- package/dist/services/__tests__/git.service.test.js +0 -61
- package/dist/services/__tests__/git.service.test.js.map +0 -1
- package/dist/services/__tests__/memory.service.test.d.ts +0 -2
- package/dist/services/__tests__/memory.service.test.d.ts.map +0 -1
- package/dist/services/__tests__/memory.service.test.js +0 -279
- package/dist/services/__tests__/memory.service.test.js.map +0 -1
- package/dist/services/__tests__/review.service.auth-fallback.test.d.ts +0 -2
- package/dist/services/__tests__/review.service.auth-fallback.test.d.ts.map +0 -1
- package/dist/services/__tests__/review.service.auth-fallback.test.js +0 -63
- package/dist/services/__tests__/review.service.auth-fallback.test.js.map +0 -1
- package/dist/services/__tests__/review.service.test.d.ts +0 -2
- package/dist/services/__tests__/review.service.test.d.ts.map +0 -1
- package/dist/services/__tests__/review.service.test.js +0 -132
- package/dist/services/__tests__/review.service.test.js.map +0 -1
- package/dist/services/__tests__/review.suggestions-auth.test.d.ts +0 -2
- package/dist/services/__tests__/review.suggestions-auth.test.d.ts.map +0 -1
- package/dist/services/__tests__/review.suggestions-auth.test.js +0 -81
- package/dist/services/__tests__/review.suggestions-auth.test.js.map +0 -1
- package/dist/services/__tests__/transcript-parser.service.test.d.ts +0 -2
- package/dist/services/__tests__/transcript-parser.service.test.d.ts.map +0 -1
- package/dist/services/__tests__/transcript-parser.service.test.js +0 -134
- package/dist/services/__tests__/transcript-parser.service.test.js.map +0 -1
- package/dist/services/api/__tests__/api.real.test.d.ts +0 -2
- package/dist/services/api/__tests__/api.real.test.d.ts.map +0 -1
- package/dist/services/api/__tests__/api.real.test.js +0 -182
- package/dist/services/api/__tests__/api.real.test.js.map +0 -1
- package/dist/utils/__tests__/config.test.d.ts +0 -2
- package/dist/utils/__tests__/config.test.d.ts.map +0 -1
- package/dist/utils/__tests__/config.test.js +0 -79
- package/dist/utils/__tests__/config.test.js.map +0 -1
- package/dist/utils/__tests__/credentials.test.d.ts +0 -2
- package/dist/utils/__tests__/credentials.test.d.ts.map +0 -1
- package/dist/utils/__tests__/credentials.test.js +0 -89
- package/dist/utils/__tests__/credentials.test.js.map +0 -1
- package/dist/utils/__tests__/device.test.d.ts +0 -2
- package/dist/utils/__tests__/device.test.d.ts.map +0 -1
- package/dist/utils/__tests__/device.test.js +0 -108
- package/dist/utils/__tests__/device.test.js.map +0 -1
- package/dist/utils/__tests__/module-matcher.test.d.ts +0 -2
- package/dist/utils/__tests__/module-matcher.test.d.ts.map +0 -1
- package/dist/utils/__tests__/module-matcher.test.js +0 -164
- package/dist/utils/__tests__/module-matcher.test.js.map +0 -1
- package/dist/utils/__tests__/update-check.test.d.ts +0 -2
- package/dist/utils/__tests__/update-check.test.d.ts.map +0 -1
- package/dist/utils/__tests__/update-check.test.js +0 -26
- package/dist/utils/__tests__/update-check.test.js.map +0 -1
|
@@ -3,12 +3,30 @@ import path from 'path';
|
|
|
3
3
|
import { loadConfig, matchFiles } from '../utils/module-matcher.js';
|
|
4
4
|
const MAX_JSON_CHARS = 4000;
|
|
5
5
|
const DECISION_KEYWORDS = [
|
|
6
|
-
{
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
{
|
|
11
|
-
|
|
6
|
+
{
|
|
7
|
+
pattern: /\b(?:decided to|decision to|chose to|choosing)\b/i,
|
|
8
|
+
type: 'architectural_decision',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
pattern: /\b(?:business rule|business requirement|stakeholder)\b/i,
|
|
12
|
+
type: 'business_rule',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
pattern: /\b(?:tradeoff|trade-off|trade off|compromise|at the cost of)\b/i,
|
|
16
|
+
type: 'tradeoff',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
pattern: /\b(?:defer|deferred|postpone|later|TODO|tech debt|revisit)\b/i,
|
|
20
|
+
type: 'deferral',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
pattern: /\b(?:task|todo|need to|should also|follow[- ]up)\b/i,
|
|
24
|
+
type: 'task',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
pattern: /\b(?:convention|standard|always use|never use|prefer|pattern)\b/i,
|
|
28
|
+
type: 'convention',
|
|
29
|
+
},
|
|
12
30
|
];
|
|
13
31
|
class MemoryService {
|
|
14
32
|
// ─── Legacy per-SHA support ───────────────────────────────────────
|
|
@@ -90,19 +108,26 @@ class MemoryService {
|
|
|
90
108
|
}
|
|
91
109
|
classifyDecisions(signals, input) {
|
|
92
110
|
const decisions = [];
|
|
93
|
-
const text = [
|
|
94
|
-
|
|
111
|
+
const text = [
|
|
112
|
+
signals.prompt ?? '',
|
|
113
|
+
signals.assistantMessage ?? '',
|
|
114
|
+
].join(' ');
|
|
115
|
+
if (!text.trim()) {
|
|
95
116
|
return decisions;
|
|
117
|
+
}
|
|
96
118
|
// Extract sentences that contain decision signals
|
|
97
|
-
const sentences = text
|
|
119
|
+
const sentences = text
|
|
120
|
+
.split(/[.!?\n]+/)
|
|
121
|
+
.filter((s) => s.trim().length > 10);
|
|
98
122
|
for (const sentence of sentences) {
|
|
99
123
|
for (const { pattern, type } of DECISION_KEYWORDS) {
|
|
100
124
|
if (pattern.test(sentence)) {
|
|
101
125
|
const title = sentence.trim().slice(0, 120);
|
|
102
126
|
const id = this.generateDecisionId(type, title);
|
|
103
127
|
// Avoid duplicates within same batch
|
|
104
|
-
if (decisions.some((d) => d.id === id))
|
|
128
|
+
if (decisions.some((d) => d.id === id)) {
|
|
105
129
|
continue;
|
|
130
|
+
}
|
|
106
131
|
const config = { loadConfig };
|
|
107
132
|
void config; // module matching happens at promote time
|
|
108
133
|
decisions.push({
|
|
@@ -155,8 +180,9 @@ class MemoryService {
|
|
|
155
180
|
let promoted = 0;
|
|
156
181
|
for (const moduleId of targetModuleIds) {
|
|
157
182
|
const mod = config.modules.find((m) => m.id === moduleId);
|
|
158
|
-
if (!mod)
|
|
183
|
+
if (!mod) {
|
|
159
184
|
continue;
|
|
185
|
+
}
|
|
160
186
|
const memoryFilePath = path.join(repoRoot, mod.memoryFile);
|
|
161
187
|
await fs.mkdir(path.dirname(memoryFilePath), { recursive: true });
|
|
162
188
|
const header = await this.ensureModuleMemoryHeader(memoryFilePath, mod.name);
|
|
@@ -164,8 +190,9 @@ class MemoryService {
|
|
|
164
190
|
for (const decision of decisions) {
|
|
165
191
|
const decisionFiles = decision.files;
|
|
166
192
|
const decisionModules = matchFiles(decisionFiles, config.modules);
|
|
167
|
-
if (!decisionModules.includes(moduleId))
|
|
193
|
+
if (!decisionModules.includes(moduleId)) {
|
|
168
194
|
continue;
|
|
195
|
+
}
|
|
169
196
|
content += `\n### ${decision.title}\n`;
|
|
170
197
|
content += `- **Type:** ${decision.type}\n`;
|
|
171
198
|
content += `- **Rationale:** ${decision.rationale}\n`;
|
|
@@ -181,11 +208,13 @@ class MemoryService {
|
|
|
181
208
|
}
|
|
182
209
|
async readModuleMemory(repoRoot, moduleId) {
|
|
183
210
|
const config = await loadConfig(repoRoot);
|
|
184
|
-
if (!config)
|
|
211
|
+
if (!config) {
|
|
185
212
|
return null;
|
|
213
|
+
}
|
|
186
214
|
const mod = config.modules.find((m) => m.id === moduleId);
|
|
187
|
-
if (!mod)
|
|
215
|
+
if (!mod) {
|
|
188
216
|
return null;
|
|
217
|
+
}
|
|
189
218
|
try {
|
|
190
219
|
return await fs.readFile(path.join(repoRoot, mod.memoryFile), 'utf-8');
|
|
191
220
|
}
|
|
@@ -195,31 +224,45 @@ class MemoryService {
|
|
|
195
224
|
}
|
|
196
225
|
// ─── Private helpers ──────────────────────────────────────────────
|
|
197
226
|
sanitizeBranchName(branch) {
|
|
198
|
-
return branch
|
|
227
|
+
return (branch
|
|
199
228
|
.replace(/[^a-zA-Z0-9_\-./]/g, '-')
|
|
200
229
|
.replace(/\/{2,}/g, '/')
|
|
201
230
|
.replace(/\.{2,}/g, '.')
|
|
202
231
|
.replace(/^[.\-/]+|[.\-/]+$/g, '')
|
|
203
|
-
.slice(0, 200) || 'unknown-branch';
|
|
232
|
+
.slice(0, 200) || 'unknown-branch');
|
|
204
233
|
}
|
|
205
234
|
getSafeSha(headSha) {
|
|
206
|
-
if (!headSha)
|
|
235
|
+
if (!headSha) {
|
|
207
236
|
return 'no-head';
|
|
237
|
+
}
|
|
208
238
|
const trimmed = headSha.trim();
|
|
209
|
-
if (/^[a-f0-9]{7,40}$/i.test(trimmed))
|
|
239
|
+
if (/^[a-f0-9]{7,40}$/i.test(trimmed)) {
|
|
210
240
|
return trimmed;
|
|
241
|
+
}
|
|
211
242
|
return 'no-head';
|
|
212
243
|
}
|
|
213
244
|
normalizePayload(payload) {
|
|
214
|
-
if (!payload || typeof payload !== 'object' || Array.isArray(payload))
|
|
245
|
+
if (!payload || typeof payload !== 'object' || Array.isArray(payload)) {
|
|
215
246
|
return null;
|
|
247
|
+
}
|
|
216
248
|
return payload;
|
|
217
249
|
}
|
|
218
250
|
extractLegacySignals(payload) {
|
|
219
|
-
if (!payload)
|
|
251
|
+
if (!payload) {
|
|
220
252
|
return {};
|
|
221
|
-
|
|
222
|
-
const
|
|
253
|
+
}
|
|
254
|
+
const sessionId = this.pickString(payload, [
|
|
255
|
+
'session_id',
|
|
256
|
+
'sessionId',
|
|
257
|
+
'thread-id',
|
|
258
|
+
'thread_id',
|
|
259
|
+
]);
|
|
260
|
+
const turnId = this.pickString(payload, [
|
|
261
|
+
'turn_id',
|
|
262
|
+
'turnId',
|
|
263
|
+
'call_id',
|
|
264
|
+
'callId',
|
|
265
|
+
]);
|
|
223
266
|
const prompt = this.pickString(payload, ['prompt', 'user_message']);
|
|
224
267
|
const assistantMessage = this.pickString(payload, [
|
|
225
268
|
'last_assistant_message',
|
|
@@ -228,7 +271,10 @@ class MemoryService {
|
|
|
228
271
|
'assistant-message',
|
|
229
272
|
]);
|
|
230
273
|
let inputMessage;
|
|
231
|
-
const inputMessages = this.pickStringArray(payload, [
|
|
274
|
+
const inputMessages = this.pickStringArray(payload, [
|
|
275
|
+
'input_messages',
|
|
276
|
+
'input-messages',
|
|
277
|
+
]);
|
|
232
278
|
if (inputMessages && inputMessages.length > 0) {
|
|
233
279
|
inputMessage = inputMessages[0];
|
|
234
280
|
}
|
|
@@ -239,8 +285,9 @@ class MemoryService {
|
|
|
239
285
|
const value = payload[key];
|
|
240
286
|
if (typeof value === 'string') {
|
|
241
287
|
const trimmed = value.trim();
|
|
242
|
-
if (trimmed)
|
|
288
|
+
if (trimmed) {
|
|
243
289
|
return this.sanitizeLine(trimmed);
|
|
290
|
+
}
|
|
244
291
|
}
|
|
245
292
|
}
|
|
246
293
|
return undefined;
|
|
@@ -253,8 +300,9 @@ class MemoryService {
|
|
|
253
300
|
.filter((item) => typeof item === 'string')
|
|
254
301
|
.map((item) => this.sanitizeLine(item))
|
|
255
302
|
.filter((item) => item.length > 0);
|
|
256
|
-
if (strings.length > 0)
|
|
303
|
+
if (strings.length > 0) {
|
|
257
304
|
return strings;
|
|
305
|
+
}
|
|
258
306
|
}
|
|
259
307
|
}
|
|
260
308
|
return undefined;
|
|
@@ -269,22 +317,29 @@ class MemoryService {
|
|
|
269
317
|
lines.push('');
|
|
270
318
|
lines.push(`- agent: \`${input.agent}\``);
|
|
271
319
|
lines.push(`- event: \`${input.event}\``);
|
|
272
|
-
if (input.headSha)
|
|
320
|
+
if (input.headSha) {
|
|
273
321
|
lines.push(`- head_sha: \`${input.headSha}\``);
|
|
274
|
-
|
|
322
|
+
}
|
|
323
|
+
if (signals.sessionId) {
|
|
275
324
|
lines.push(`- session_id: \`${signals.sessionId}\``);
|
|
276
|
-
|
|
325
|
+
}
|
|
326
|
+
if (signals.turnId) {
|
|
277
327
|
lines.push(`- turn_id: \`${signals.turnId}\``);
|
|
328
|
+
}
|
|
278
329
|
lines.push('');
|
|
279
330
|
const signalsLines = [];
|
|
280
|
-
if (input.summary)
|
|
331
|
+
if (input.summary) {
|
|
281
332
|
signalsLines.push(`- summary: ${this.sanitizeLine(input.summary)}`);
|
|
282
|
-
|
|
333
|
+
}
|
|
334
|
+
if (signals.prompt) {
|
|
283
335
|
signalsLines.push(`- prompt: ${signals.prompt}`);
|
|
284
|
-
|
|
336
|
+
}
|
|
337
|
+
if (signals.inputMessage) {
|
|
285
338
|
signalsLines.push(`- input_message: ${signals.inputMessage}`);
|
|
286
|
-
|
|
339
|
+
}
|
|
340
|
+
if (signals.assistantMessage) {
|
|
287
341
|
signalsLines.push(`- assistant_message: ${signals.assistantMessage}`);
|
|
342
|
+
}
|
|
288
343
|
if (signalsLines.length > 0) {
|
|
289
344
|
lines.push('### Signals');
|
|
290
345
|
lines.push('');
|
|
@@ -303,8 +358,9 @@ class MemoryService {
|
|
|
303
358
|
}
|
|
304
359
|
formatJson(payload) {
|
|
305
360
|
const json = JSON.stringify(payload, null, 2);
|
|
306
|
-
if (json.length <= MAX_JSON_CHARS)
|
|
361
|
+
if (json.length <= MAX_JSON_CHARS) {
|
|
307
362
|
return json;
|
|
363
|
+
}
|
|
308
364
|
return `${json.slice(0, MAX_JSON_CHARS)}\n... (truncated)`;
|
|
309
365
|
}
|
|
310
366
|
buildNewBranchFile(meta) {
|
|
@@ -340,14 +396,16 @@ class MemoryService {
|
|
|
340
396
|
}
|
|
341
397
|
parseFrontmatter(content) {
|
|
342
398
|
const match = content.match(/^---\n([\s\S]*?)\n---/);
|
|
343
|
-
if (!match)
|
|
399
|
+
if (!match) {
|
|
344
400
|
return null;
|
|
401
|
+
}
|
|
345
402
|
const lines = match[1].split('\n');
|
|
346
403
|
const data = {};
|
|
347
404
|
for (const line of lines) {
|
|
348
405
|
const colonIdx = line.indexOf(':');
|
|
349
|
-
if (colonIdx === -1)
|
|
406
|
+
if (colonIdx === -1) {
|
|
350
407
|
continue;
|
|
408
|
+
}
|
|
351
409
|
const key = line.slice(0, colonIdx).trim();
|
|
352
410
|
const value = line.slice(colonIdx + 1).trim();
|
|
353
411
|
data[key] = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.service.js","sourceRoot":"","sources":["../../src/services/memory.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory.service.js","sourceRoot":"","sources":["../../src/services/memory.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import type { ReviewResult, TrialReviewResult, PullRequestSuggestionsResponse, ReviewIssue, ApiFileSuggestion, ApiPrLevelSuggestion, Severity } from '../types/index.js';
|
|
1
|
+
import type { ReviewResult, TrialReviewResult, PullRequestSuggestionsResponse, BusinessValidationResponse, ReviewIssue, ApiFileSuggestion, ApiPrLevelSuggestion, Severity } from '../types/index.js';
|
|
2
2
|
declare class ReviewService {
|
|
3
3
|
private verbose;
|
|
4
4
|
setVerbose(verbose: boolean): void;
|
|
5
|
+
private logVerbose;
|
|
5
6
|
analyze(diff: string, rulesOnly?: boolean, fast?: boolean, options?: {
|
|
6
7
|
files?: string[];
|
|
7
8
|
staged?: boolean;
|
|
8
9
|
commit?: string;
|
|
9
10
|
branch?: string;
|
|
11
|
+
quiet?: boolean;
|
|
10
12
|
}): Promise<ReviewResult>;
|
|
11
13
|
getPullRequestSuggestions(params: {
|
|
12
14
|
prUrl?: string;
|
|
@@ -19,6 +21,15 @@ declare class ReviewService {
|
|
|
19
21
|
result: ReviewResult;
|
|
20
22
|
markdown?: string;
|
|
21
23
|
}>;
|
|
24
|
+
triggerBusinessValidation(params: {
|
|
25
|
+
prUrl?: string;
|
|
26
|
+
prNumber?: number;
|
|
27
|
+
repositoryId?: string;
|
|
28
|
+
repository?: string;
|
|
29
|
+
taskUrl?: string;
|
|
30
|
+
taskId?: string;
|
|
31
|
+
diff?: string;
|
|
32
|
+
}): Promise<BusinessValidationResponse>;
|
|
22
33
|
trialAnalyze(diff: string): Promise<TrialReviewResult>;
|
|
23
34
|
normalizeSuggestionsResponse(response: PullRequestSuggestionsResponse): ReviewResult;
|
|
24
35
|
mapFileSuggestions(files: ApiFileSuggestion[]): ReviewIssue[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.service.d.ts","sourceRoot":"","sources":["../../src/services/review.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"review.service.d.ts","sourceRoot":"","sources":["../../src/services/review.service.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAER,YAAY,EACZ,iBAAiB,EACjB,8BAA8B,EAC9B,0BAA0B,EAC1B,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EAEpB,QAAQ,EAEX,MAAM,mBAAmB,CAAC;AAM3B,cAAM,aAAa;IACf,OAAO,CAAC,OAAO,CAAkB;IAEjC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,OAAO,CAAC,UAAU;IAOZ,OAAO,CACT,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,OAAO,EACnB,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;KACnB,GACF,OAAO,CAAC,YAAY,CAAC;IAuGlB,yBAAyB,CAAC,MAAM,EAAE;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,UAAU,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA8ClD,yBAAyB,CAAC,MAAM,EAAE;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA+BjC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqB5D,4BAA4B,CACxB,QAAQ,EAAE,8BAA8B,GACzC,YAAY;IA4Bf,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE;IAY7D,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,WAAW,EAAE;IAWrE,OAAO,CAAC,WAAW;IA6CnB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ;CAgBjD;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { loadConfig } from '../utils/config.js';
|
|
|
6
6
|
import { CLI_VERSION } from '../constants.js';
|
|
7
7
|
import chalk from 'chalk';
|
|
8
8
|
import { ApiError } from '../types/index.js';
|
|
9
|
+
import { cliDebug, cliWarn } from '../utils/logger.js';
|
|
9
10
|
const MAX_FILES = 500;
|
|
10
11
|
const MAX_DIFF_SIZE = 1024 * 1024; // 1MB
|
|
11
12
|
const MAX_CONTENT_SIZE = 5 * 1024 * 1024; // 5MB
|
|
@@ -14,12 +15,16 @@ class ReviewService {
|
|
|
14
15
|
setVerbose(verbose) {
|
|
15
16
|
this.verbose = verbose;
|
|
16
17
|
}
|
|
18
|
+
logVerbose(message) {
|
|
19
|
+
if (!this.verbose) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
cliDebug(chalk.dim(message));
|
|
23
|
+
}
|
|
17
24
|
async analyze(diff, rulesOnly, fast, options) {
|
|
18
25
|
const token = await authService.getValidToken();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
console.log(chalk.dim(`[verbose] Diff size: ${diff.length} characters`));
|
|
22
|
-
}
|
|
26
|
+
this.logVerbose(`[verbose] Review config: rulesOnly=${!!rulesOnly}, fast=${!!fast}`);
|
|
27
|
+
this.logVerbose(`[verbose] Diff size: ${diff.length} characters`);
|
|
23
28
|
const reviewConfig = {
|
|
24
29
|
rulesOnly,
|
|
25
30
|
fast,
|
|
@@ -30,14 +35,12 @@ class ReviewService {
|
|
|
30
35
|
commit: options?.commit,
|
|
31
36
|
branch: options?.branch,
|
|
32
37
|
});
|
|
33
|
-
reviewConfig.files = this.filterFiles(allFiles);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
});
|
|
40
|
-
}
|
|
38
|
+
reviewConfig.files = this.filterFiles(allFiles, options?.quiet ?? false);
|
|
39
|
+
this.logVerbose(`[verbose] Full file contents: ${reviewConfig.files?.length || 0} file(s)`);
|
|
40
|
+
if (reviewConfig.files && reviewConfig.files.length > 0) {
|
|
41
|
+
reviewConfig.files.forEach((f) => {
|
|
42
|
+
this.logVerbose(`[verbose] - ${f.path}: ${f.content.length} chars, status=${f.status}`);
|
|
43
|
+
});
|
|
41
44
|
}
|
|
42
45
|
}
|
|
43
46
|
const teamConfig = await loadConfig();
|
|
@@ -47,13 +50,11 @@ class ReviewService {
|
|
|
47
50
|
const inferredPlatform = gitInfo.remote
|
|
48
51
|
? gitService.inferPlatform(gitInfo.remote)
|
|
49
52
|
: undefined;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
console.log(chalk.dim(`[verbose] - config: ${JSON.stringify(reviewConfig)}`));
|
|
56
|
-
}
|
|
53
|
+
this.logVerbose('[verbose] Using team key with metrics');
|
|
54
|
+
this.logVerbose(`[verbose] Git info: branch=${gitInfo.branch}, remote=${gitInfo.remote}`);
|
|
55
|
+
this.logVerbose('[verbose] Sending to API:');
|
|
56
|
+
this.logVerbose(`[verbose] - diff length: ${diff.length} chars`);
|
|
57
|
+
this.logVerbose(`[verbose] - config: ${JSON.stringify(reviewConfig)}`);
|
|
57
58
|
const result = await api.review.analyzeWithMetrics(diff, token, reviewConfig, {
|
|
58
59
|
userEmail: gitInfo.userEmail,
|
|
59
60
|
gitRemote: gitInfo.remote || undefined,
|
|
@@ -62,29 +63,21 @@ class ReviewService {
|
|
|
62
63
|
inferredPlatform,
|
|
63
64
|
cliVersion: CLI_VERSION,
|
|
64
65
|
});
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
console.log(chalk.dim(`[verbose] - filesAnalyzed: ${result.filesAnalyzed}`));
|
|
70
|
-
}
|
|
66
|
+
this.logVerbose('[verbose] API response:');
|
|
67
|
+
this.logVerbose(`[verbose] - summary: ${result.summary}`);
|
|
68
|
+
this.logVerbose(`[verbose] - issues: ${result.issues?.length ?? 0}`);
|
|
69
|
+
this.logVerbose(`[verbose] - filesAnalyzed: ${result.filesAnalyzed}`);
|
|
71
70
|
return result;
|
|
72
71
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
console.log(chalk.dim('[verbose] Sending to API:'));
|
|
78
|
-
console.log(chalk.dim(`[verbose] - diff length: ${diff.length} chars`));
|
|
79
|
-
console.log(chalk.dim(`[verbose] - config: ${JSON.stringify(reviewConfig)}`));
|
|
80
|
-
}
|
|
72
|
+
this.logVerbose('[verbose] Using personal token (no metrics)');
|
|
73
|
+
this.logVerbose('[verbose] Sending to API:');
|
|
74
|
+
this.logVerbose(`[verbose] - diff length: ${diff.length} chars`);
|
|
75
|
+
this.logVerbose(`[verbose] - config: ${JSON.stringify(reviewConfig)}`);
|
|
81
76
|
const result = await api.review.analyze(diff, token, reviewConfig);
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
console.log(chalk.dim(`[verbose] - filesAnalyzed: ${result.filesAnalyzed}`));
|
|
87
|
-
}
|
|
77
|
+
this.logVerbose('[verbose] API response:');
|
|
78
|
+
this.logVerbose(`[verbose] - summary: ${result.summary}`);
|
|
79
|
+
this.logVerbose(`[verbose] - issues: ${result.issues?.length ?? 0}`);
|
|
80
|
+
this.logVerbose(`[verbose] - filesAnalyzed: ${result.filesAnalyzed}`);
|
|
88
81
|
return result;
|
|
89
82
|
}
|
|
90
83
|
async getPullRequestSuggestions(params) {
|
|
@@ -97,7 +90,9 @@ class ReviewService {
|
|
|
97
90
|
response = await api.review.getPullRequestSuggestions(token, params);
|
|
98
91
|
}
|
|
99
92
|
catch (error) {
|
|
100
|
-
const canFallbackToTeamKey = error instanceof ApiError &&
|
|
93
|
+
const canFallbackToTeamKey = error instanceof ApiError &&
|
|
94
|
+
error.statusCode === 401 &&
|
|
95
|
+
!token.startsWith('kodus_');
|
|
101
96
|
if (!canFallbackToTeamKey) {
|
|
102
97
|
throw error;
|
|
103
98
|
}
|
|
@@ -118,22 +113,42 @@ class ReviewService {
|
|
|
118
113
|
markdown: response.markdown,
|
|
119
114
|
};
|
|
120
115
|
}
|
|
116
|
+
async triggerBusinessValidation(params) {
|
|
117
|
+
const token = await authService.getValidToken();
|
|
118
|
+
try {
|
|
119
|
+
return await api.review.triggerBusinessValidation(token, params);
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
const canFallbackToTeamKey = error instanceof ApiError &&
|
|
123
|
+
error.statusCode === 401 &&
|
|
124
|
+
!token.startsWith('kodus_');
|
|
125
|
+
if (!canFallbackToTeamKey) {
|
|
126
|
+
throw error;
|
|
127
|
+
}
|
|
128
|
+
const config = await loadConfig();
|
|
129
|
+
if (!config?.teamKey) {
|
|
130
|
+
throw error;
|
|
131
|
+
}
|
|
132
|
+
try {
|
|
133
|
+
return await api.review.triggerBusinessValidation(config.teamKey, params);
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
throw error;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
121
140
|
async trialAnalyze(diff) {
|
|
122
141
|
const fingerprint = await getTrialIdentifier();
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
console.log(chalk.dim(`[verbose] Diff preview:\n${preview}${diff.length > 300 ? '\n... (truncated)' : ''}`));
|
|
129
|
-
}
|
|
142
|
+
this.logVerbose('[verbose] Running trial analyze');
|
|
143
|
+
this.logVerbose(`[verbose] Diff size: ${diff.length} characters`);
|
|
144
|
+
// Show diff preview
|
|
145
|
+
const preview = diff.substring(0, 300);
|
|
146
|
+
this.logVerbose(`[verbose] Diff preview:\n${preview}${diff.length > 300 ? '\n... (truncated)' : ''}`);
|
|
130
147
|
const result = await api.review.trialAnalyze(diff, fingerprint);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
console.log(chalk.dim(`[verbose] - filesAnalyzed: ${result.filesAnalyzed}`));
|
|
136
|
-
}
|
|
148
|
+
this.logVerbose('[verbose] Trial API response:');
|
|
149
|
+
this.logVerbose(`[verbose] - summary: ${result.summary}`);
|
|
150
|
+
this.logVerbose(`[verbose] - issues: ${result.issues?.length ?? 0}`);
|
|
151
|
+
this.logVerbose(`[verbose] - filesAnalyzed: ${result.filesAnalyzed}`);
|
|
137
152
|
return result;
|
|
138
153
|
}
|
|
139
154
|
normalizeSuggestionsResponse(response) {
|
|
@@ -144,7 +159,8 @@ class ReviewService {
|
|
|
144
159
|
else if (Array.isArray(response.suggestions)) {
|
|
145
160
|
issues = response.suggestions;
|
|
146
161
|
}
|
|
147
|
-
else if (response.suggestions &&
|
|
162
|
+
else if (response.suggestions &&
|
|
163
|
+
typeof response.suggestions === 'object') {
|
|
148
164
|
const suggestionsObj = response.suggestions;
|
|
149
165
|
issues = [
|
|
150
166
|
...this.mapFileSuggestions(suggestionsObj.files ?? []),
|
|
@@ -154,7 +170,8 @@ class ReviewService {
|
|
|
154
170
|
return {
|
|
155
171
|
summary: response.summary ?? 'Pull request suggestions',
|
|
156
172
|
issues,
|
|
157
|
-
filesAnalyzed: response.filesAnalyzed ??
|
|
173
|
+
filesAnalyzed: response.filesAnalyzed ??
|
|
174
|
+
new Set(issues.map((i) => i.file)).size,
|
|
158
175
|
duration: response.duration ?? 0,
|
|
159
176
|
};
|
|
160
177
|
}
|
|
@@ -179,9 +196,9 @@ class ReviewService {
|
|
|
179
196
|
ruleId: s.label,
|
|
180
197
|
}));
|
|
181
198
|
}
|
|
182
|
-
filterFiles(files) {
|
|
199
|
+
filterFiles(files, quiet = false) {
|
|
183
200
|
const skipped = [];
|
|
184
|
-
const filtered = files.filter(f => {
|
|
201
|
+
const filtered = files.filter((f) => {
|
|
185
202
|
const diffBytes = Buffer.byteLength(f.diff, 'utf8');
|
|
186
203
|
const contentBytes = Buffer.byteLength(f.content, 'utf8');
|
|
187
204
|
if (diffBytes > MAX_DIFF_SIZE) {
|
|
@@ -196,26 +213,32 @@ class ReviewService {
|
|
|
196
213
|
}
|
|
197
214
|
return true;
|
|
198
215
|
});
|
|
199
|
-
if (skipped.length > 0) {
|
|
200
|
-
|
|
201
|
-
skipped.forEach(msg =>
|
|
216
|
+
if (!quiet && skipped.length > 0) {
|
|
217
|
+
cliWarn(chalk.yellow(`⚠ Skipped ${skipped.length} file(s) exceeding size limits:`));
|
|
218
|
+
skipped.forEach((msg) => cliWarn(chalk.yellow(msg)));
|
|
202
219
|
}
|
|
203
220
|
if (filtered.length > MAX_FILES) {
|
|
204
|
-
|
|
221
|
+
if (!quiet) {
|
|
222
|
+
cliWarn(chalk.yellow(`⚠ Too many files (${filtered.length}), sending first ${MAX_FILES}`));
|
|
223
|
+
}
|
|
205
224
|
return filtered.slice(0, MAX_FILES);
|
|
206
225
|
}
|
|
207
226
|
return filtered;
|
|
208
227
|
}
|
|
209
228
|
normalizeSeverity(severity) {
|
|
210
|
-
if (!severity)
|
|
229
|
+
if (!severity) {
|
|
211
230
|
return 'info';
|
|
231
|
+
}
|
|
212
232
|
const s = severity.toLowerCase();
|
|
213
|
-
if (s === 'critical')
|
|
233
|
+
if (s === 'critical') {
|
|
214
234
|
return 'critical';
|
|
215
|
-
|
|
235
|
+
}
|
|
236
|
+
if (s === 'high' || s === 'error') {
|
|
216
237
|
return 'error';
|
|
217
|
-
|
|
238
|
+
}
|
|
239
|
+
if (s === 'medium' || s === 'warning') {
|
|
218
240
|
return 'warning';
|
|
241
|
+
}
|
|
219
242
|
return 'info';
|
|
220
243
|
}
|
|
221
244
|
}
|