@intrect/openswarm 0.12.0 → 0.14.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 +2 -2
- package/dist/automation/longRunningMonitor.d.ts.map +1 -1
- package/dist/automation/longRunningMonitor.js +1 -0
- package/dist/automation/longRunningMonitor.js.map +1 -1
- package/dist/cli/checkHandler.d.ts.map +1 -1
- package/dist/cli/checkHandler.js +113 -125
- package/dist/cli/checkHandler.js.map +1 -1
- package/dist/cli/fixCommand.d.ts +8 -0
- package/dist/cli/fixCommand.d.ts.map +1 -1
- package/dist/cli/fixCommand.js +19 -0
- package/dist/cli/fixCommand.js.map +1 -1
- package/dist/cli/reviewMaxCommand.d.ts +2 -0
- package/dist/cli/reviewMaxCommand.d.ts.map +1 -1
- package/dist/cli/reviewMaxCommand.js +12 -0
- package/dist/cli/reviewMaxCommand.js.map +1 -1
- package/dist/cli.js +11 -1
- package/dist/cli.js.map +1 -1
- package/dist/discord/discordCore.d.ts.map +1 -1
- package/dist/discord/discordCore.js.map +1 -1
- package/dist/issues/linearBridge.d.ts.map +1 -1
- package/dist/issues/linearBridge.js +0 -1
- package/dist/issues/linearBridge.js.map +1 -1
- package/dist/issues/memoryBridge.d.ts.map +1 -1
- package/dist/issues/memoryBridge.js +0 -2
- package/dist/issues/memoryBridge.js.map +1 -1
- package/dist/knowledge/scanner.js +3 -3
- package/dist/knowledge/scanner.js.map +1 -1
- package/dist/memory/repoKnowledge.d.ts +12 -1
- package/dist/memory/repoKnowledge.d.ts.map +1 -1
- package/dist/memory/repoKnowledge.js +32 -0
- package/dist/memory/repoKnowledge.js.map +1 -1
- package/dist/registry/bsDetector.js +2 -2
- package/dist/registry/bsDetector.js.map +1 -1
- package/dist/runners/cliRunner.d.ts +2 -0
- package/dist/runners/cliRunner.d.ts.map +1 -1
- package/dist/runners/cliRunner.js +20 -0
- package/dist/runners/cliRunner.js.map +1 -1
- package/dist/support/chatMemory.d.ts.map +1 -1
- package/dist/support/chatMemory.js +0 -9
- package/dist/support/chatMemory.js.map +1 -1
- package/dist/support/updateNotifier.d.ts +29 -0
- package/dist/support/updateNotifier.d.ts.map +1 -0
- package/dist/support/updateNotifier.js +119 -0
- package/dist/support/updateNotifier.js.map +1 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -512,8 +512,8 @@ the CLI (fire-and-forget with a short timeout, and failures are silently ignored
|
|
|
512
512
|
Full version history lives in **[CHANGELOG.md](CHANGELOG.md)** and the
|
|
513
513
|
[GitHub Releases](https://github.com/unohee/OpenSwarm/releases) page.
|
|
514
514
|
|
|
515
|
-
Latest — **v0.
|
|
516
|
-
|
|
515
|
+
Latest — **v0.14.0**: auto-release on version bump (merge → npm publish + tag +
|
|
516
|
+
GitHub release) and a CLI update notifier. See CHANGELOG.md for the rest.
|
|
517
517
|
|
|
518
518
|
---
|
|
519
519
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"longRunningMonitor.d.ts","sourceRoot":"","sources":["../../src/automation/longRunningMonitor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"longRunningMonitor.d.ts","sourceRoot":"","sources":["../../src/automation/longRunningMonitor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAwP1B;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAcvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CA0BpF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAoExD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,EAAE,CAExD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAErE"}
|
|
@@ -38,6 +38,7 @@ function safeCompileRegex(pattern) {
|
|
|
38
38
|
// Argv validation: reject null bytes, newlines, and other control chars.
|
|
39
39
|
// Because we never spawn a shell, shell metacharacters are inert — only
|
|
40
40
|
// control characters meaningfully change behavior (e.g. null byte truncation).
|
|
41
|
+
// eslint-disable-next-line no-control-regex
|
|
41
42
|
const ARGV_SAFE = /^[^\x00-\x1F\x7F]+$/;
|
|
42
43
|
// Program allowlist for monitor checks. Anything outside this list — or any
|
|
43
44
|
// absolute path outside of the user's own directories — is rejected before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"longRunningMonitor.js","sourceRoot":"","sources":["../../src/automation/longRunningMonitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"longRunningMonitor.js","sourceRoot":"","sources":["../../src/automation/longRunningMonitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkHandler.d.ts","sourceRoot":"","sources":["../../src/cli/checkHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkHandler.d.ts","sourceRoot":"","sources":["../../src/cli/checkHandler.ts"],"names":[],"mappings":"AA2HA,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;CACd,GACA,OAAO,CAAC,IAAI,CAAC,CAyVf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE;IACJ,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACA,OAAO,CAAC,IAAI,CAAC,CAgHf"}
|
package/dist/cli/checkHandler.js
CHANGED
|
@@ -7,6 +7,7 @@ import { readFileSync, existsSync } from 'node:fs';
|
|
|
7
7
|
import { join } from 'node:path';
|
|
8
8
|
import { getRegistryStore, closeRegistryStore } from '../registry/sqliteStore.js';
|
|
9
9
|
import { scanRepository } from '../registry/entityScanner.js';
|
|
10
|
+
import { c, status } from '../support/colors.js';
|
|
10
11
|
/** package.json name → Cargo.toml → go.mod → 폴더명 순으로 프로젝트 ID 추론 */
|
|
11
12
|
function resolveProjectId(projectPath) {
|
|
12
13
|
// 1. package.json의 name 필드
|
|
@@ -54,63 +55,50 @@ function resolveProjectId(projectPath) {
|
|
|
54
55
|
// 4. 폴더명 폴백
|
|
55
56
|
return projectPath.split('/').pop() ?? 'unknown';
|
|
56
57
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
blue: '\x1b[34m',
|
|
66
|
-
magenta: '\x1b[35m',
|
|
67
|
-
cyan: '\x1b[36m',
|
|
68
|
-
gray: '\x1b[90m',
|
|
69
|
-
};
|
|
70
|
-
function statusBadge(status) {
|
|
71
|
-
switch (status) {
|
|
72
|
-
case 'active': return `${c.green}●${c.reset} active`;
|
|
73
|
-
case 'deprecated': return `${c.red}✗${c.reset} deprecated`;
|
|
74
|
-
case 'experimental': return `${c.yellow}◎${c.reset} experimental`;
|
|
75
|
-
case 'planned': return `${c.blue}○${c.reset} planned`;
|
|
76
|
-
case 'broken': return `${c.red}⚠${c.reset} broken`;
|
|
77
|
-
default: return status;
|
|
58
|
+
function statusBadge(statusValue) {
|
|
59
|
+
switch (statusValue) {
|
|
60
|
+
case 'active': return `${c.green('●')} active`;
|
|
61
|
+
case 'deprecated': return status.err('deprecated');
|
|
62
|
+
case 'experimental': return `${c.yellow('◎')} experimental`;
|
|
63
|
+
case 'planned': return `${c.blue('○')} planned`;
|
|
64
|
+
case 'broken': return status.warn('broken');
|
|
65
|
+
default: return statusValue;
|
|
78
66
|
}
|
|
79
67
|
}
|
|
80
68
|
function riskBadge(risk) {
|
|
81
69
|
switch (risk) {
|
|
82
|
-
case 'high': return
|
|
83
|
-
case 'medium': return
|
|
84
|
-
case 'low': return
|
|
70
|
+
case 'high': return c.red('HIGH');
|
|
71
|
+
case 'medium': return c.yellow('MED');
|
|
72
|
+
case 'low': return c.green('LOW');
|
|
85
73
|
default: return risk;
|
|
86
74
|
}
|
|
87
75
|
}
|
|
88
76
|
function severityBadge(sev) {
|
|
89
77
|
switch (sev) {
|
|
90
|
-
case 'critical': return
|
|
91
|
-
case 'error': return
|
|
92
|
-
case 'warning': return
|
|
93
|
-
case 'info': return
|
|
78
|
+
case 'critical': return c.red(c.bold('CRITICAL'));
|
|
79
|
+
case 'error': return c.red('ERROR');
|
|
80
|
+
case 'warning': return c.yellow('WARNING');
|
|
81
|
+
case 'info': return c.blue('INFO');
|
|
94
82
|
default: return sev;
|
|
95
83
|
}
|
|
96
84
|
}
|
|
97
85
|
function formatEntity(e, verbose = true) {
|
|
98
86
|
const lines = [];
|
|
99
87
|
const loc = e.lineStart ? `:${e.lineStart}${e.lineEnd ? `-${e.lineEnd}` : ''}` : '';
|
|
100
|
-
const testIcon = e.hasTests ?
|
|
101
|
-
lines.push(` ${c.bold
|
|
88
|
+
const testIcon = e.hasTests ? status.glyph('ok') : status.glyph('err');
|
|
89
|
+
lines.push(` ${c.bold(e.kind)} ${c.cyan(e.name)}${c.dim(loc)}` +
|
|
102
90
|
` ${statusBadge(e.status)} test:${testIcon} risk:${riskBadge(e.riskLevel)}`);
|
|
103
91
|
if (verbose) {
|
|
104
92
|
if (e.signature)
|
|
105
|
-
lines.push(` ${c.dim
|
|
93
|
+
lines.push(` ${c.dim(`sig: ${e.signature}`)}`);
|
|
106
94
|
if (e.author)
|
|
107
|
-
lines.push(` ${c.dim
|
|
95
|
+
lines.push(` ${c.dim(`author: ${e.author}`)}`);
|
|
108
96
|
if (e.description)
|
|
109
|
-
lines.push(` ${c.dim
|
|
97
|
+
lines.push(` ${c.dim(e.description)}`);
|
|
110
98
|
if (e.deprecatedReason)
|
|
111
|
-
lines.push(` ${c.red
|
|
99
|
+
lines.push(` ${c.red(`reason: ${e.deprecatedReason}`)}`);
|
|
112
100
|
if (e.tags.length > 0) {
|
|
113
|
-
lines.push(` ${c.magenta
|
|
101
|
+
lines.push(` ${c.magenta(`tags: ${e.tags.map(t => t.value ? `${t.tag}=${t.value}` : t.tag).join(', ')}`)}`);
|
|
114
102
|
}
|
|
115
103
|
for (const w of e.warnings.filter(w => !w.resolved)) {
|
|
116
104
|
lines.push(` ${severityBadge(w.severity)} [${w.category}] ${w.message}`);
|
|
@@ -130,39 +118,39 @@ export async function handleCheck(filePath, opts) {
|
|
|
130
118
|
if (opts.scan) {
|
|
131
119
|
const projectPath = process.cwd();
|
|
132
120
|
const projectId = opts.project ?? resolveProjectId(projectPath);
|
|
133
|
-
console.log(`\n${c.bold
|
|
134
|
-
console.log(` ${c.dim
|
|
135
|
-
console.log(` ${c.dim
|
|
121
|
+
console.log(`\n${c.bold('Scanning repository...')}`);
|
|
122
|
+
console.log(` ${c.dim(`path: ${projectPath}`)}`);
|
|
123
|
+
console.log(` ${c.dim(`project: ${projectId}`)}\n`);
|
|
136
124
|
const result = await scanRepository(projectPath, projectId, {
|
|
137
125
|
verbose: opts.verbose,
|
|
138
126
|
});
|
|
139
|
-
console.log(
|
|
127
|
+
console.log(c.bold('Scan Complete'));
|
|
140
128
|
console.log(`${'─'.repeat(40)}`);
|
|
141
|
-
console.log(` Files scanned: ${c.bold
|
|
142
|
-
console.log(` Entities found: ${c.bold
|
|
143
|
-
console.log(` New registered: ${c.green
|
|
144
|
-
console.log(` Updated: ${c.yellow
|
|
145
|
-
console.log(` Marked broken: ${result.removed > 0 ? c.red : c.dim
|
|
146
|
-
console.log(` Tests mapped: ${c.cyan
|
|
147
|
-
console.log(` Duration: ${c.dim
|
|
129
|
+
console.log(` Files scanned: ${c.bold(String(result.scanned))}`);
|
|
130
|
+
console.log(` Entities found: ${c.bold(String(result.extracted))}`);
|
|
131
|
+
console.log(` New registered: ${c.green(`+${result.registered}`)}`);
|
|
132
|
+
console.log(` Updated: ${c.yellow(`~${result.updated}`)}`);
|
|
133
|
+
console.log(` Marked broken: ${(result.removed > 0 ? c.red : c.dim)(String(result.removed))}`);
|
|
134
|
+
console.log(` Tests mapped: ${c.cyan(String(result.testsMapped))}`);
|
|
135
|
+
console.log(` Duration: ${c.dim(`${result.durationMs}ms`)}`);
|
|
148
136
|
if (Object.keys(result.languageBreakdown).length > 0) {
|
|
149
|
-
console.log(`\n ${c.dim
|
|
137
|
+
console.log(`\n ${c.dim('By language:')}`);
|
|
150
138
|
for (const [lang, count] of Object.entries(result.languageBreakdown).sort((a, b) => b[1] - a[1])) {
|
|
151
139
|
console.log(` ${lang.padEnd(12)} ${count} files`);
|
|
152
140
|
}
|
|
153
141
|
}
|
|
154
142
|
if (result.errors.length > 0) {
|
|
155
|
-
console.log(`\n ${c.red
|
|
143
|
+
console.log(`\n ${c.red(`Errors (${result.errors.length}):`)}`);
|
|
156
144
|
for (const err of result.errors.slice(0, 10)) {
|
|
157
|
-
console.log(` ${c.dim
|
|
145
|
+
console.log(` ${c.dim(err)}`);
|
|
158
146
|
}
|
|
159
147
|
if (result.errors.length > 10) {
|
|
160
|
-
console.log(` ${c.dim
|
|
148
|
+
console.log(` ${c.dim(`...and ${result.errors.length - 10} more`)}`);
|
|
161
149
|
}
|
|
162
150
|
}
|
|
163
151
|
// 스캔 후 통계 표시
|
|
164
152
|
const stats = store.getStats(projectId);
|
|
165
|
-
console.log(`\n${c.bold
|
|
153
|
+
console.log(`\n${c.bold('Registry Status')}`);
|
|
166
154
|
console.log(` Total: ${stats.total} deprecated: ${stats.deprecated} untested: ${stats.untested} high-risk: ${stats.highRisk} warnings: ${stats.withWarnings}\n`);
|
|
167
155
|
return;
|
|
168
156
|
}
|
|
@@ -170,48 +158,48 @@ export async function handleCheck(filePath, opts) {
|
|
|
170
158
|
if (opts.bs) {
|
|
171
159
|
const { scanRepository: scanBs } = await import('../registry/bsDetector.js');
|
|
172
160
|
const projectPath = process.cwd();
|
|
173
|
-
console.log(`\n${c.bold
|
|
174
|
-
console.log(` ${c.dim
|
|
161
|
+
console.log(`\n${c.bold('BS Detector')} — scanning for bad code patterns...`);
|
|
162
|
+
console.log(` ${c.dim(`path: ${projectPath}`)}\n`);
|
|
175
163
|
const result = await scanBs(projectPath, { verbose: opts.verbose });
|
|
176
164
|
// 결과 출력
|
|
177
165
|
const statusColor = result.critical > 0 ? c.red : result.warning > 0 ? c.yellow : c.green;
|
|
178
166
|
const statusText = result.critical > 0 ? 'FAIL' : result.warning > 0 ? 'WARN' : 'CLEAN';
|
|
179
|
-
console.log(
|
|
167
|
+
console.log(c.bold('BS Scan Result'));
|
|
180
168
|
console.log(`${'─'.repeat(50)}`);
|
|
181
|
-
console.log(` Files scanned: ${c.bold
|
|
182
|
-
console.log(` BS Score: ${statusColor
|
|
183
|
-
console.log(` Status: ${statusColor
|
|
184
|
-
console.log(` CRITICAL: ${result.critical > 0 ? c.red : c.green
|
|
185
|
-
console.log(` WARNING: ${result.warning > 0 ? c.yellow : c.green
|
|
186
|
-
console.log(` MINOR: ${result.minor > 0 ? c.dim : c.green
|
|
169
|
+
console.log(` Files scanned: ${c.bold(String(result.filesScanned))}`);
|
|
170
|
+
console.log(` BS Score: ${statusColor(c.bold(result.bsScore.toFixed(1)))} / 5.0`);
|
|
171
|
+
console.log(` Status: ${statusColor(c.bold(statusText))}`);
|
|
172
|
+
console.log(` CRITICAL: ${(result.critical > 0 ? c.red : c.green)(String(result.critical))}`);
|
|
173
|
+
console.log(` WARNING: ${(result.warning > 0 ? c.yellow : c.green)(String(result.warning))}`);
|
|
174
|
+
console.log(` MINOR: ${(result.minor > 0 ? c.dim : c.green)(String(result.minor))}`);
|
|
187
175
|
if (result.issues.length > 0) {
|
|
188
176
|
// CRITICAL 먼저
|
|
189
177
|
const criticals = result.issues.filter(i => i.severity === 'critical');
|
|
190
178
|
if (criticals.length > 0) {
|
|
191
|
-
console.log(`\n ${c.red
|
|
179
|
+
console.log(`\n ${c.red(c.bold('CRITICAL (즉시 수정 필요)'))}`);
|
|
192
180
|
for (const issue of criticals) {
|
|
193
|
-
console.log(` ${c.red
|
|
194
|
-
console.log(` ${c.dim
|
|
181
|
+
console.log(` ${c.red(`${issue.filePath}:${issue.line}`)} — ${issue.message}`);
|
|
182
|
+
console.log(` ${c.dim(issue.matchedText)}`);
|
|
195
183
|
}
|
|
196
184
|
}
|
|
197
185
|
const warnings = result.issues.filter(i => i.severity === 'warning');
|
|
198
186
|
if (warnings.length > 0) {
|
|
199
|
-
console.log(`\n ${c.yellow
|
|
187
|
+
console.log(`\n ${c.yellow('WARNING (권장 수정)')}`);
|
|
200
188
|
for (const issue of warnings.slice(0, 30)) {
|
|
201
|
-
console.log(` ${c.yellow
|
|
189
|
+
console.log(` ${c.yellow(`${issue.filePath}:${issue.line}`)} — ${issue.message}`);
|
|
202
190
|
}
|
|
203
191
|
if (warnings.length > 30) {
|
|
204
|
-
console.log(` ${c.dim
|
|
192
|
+
console.log(` ${c.dim(`...and ${warnings.length - 30} more`)}`);
|
|
205
193
|
}
|
|
206
194
|
}
|
|
207
195
|
const minors = result.issues.filter(i => i.severity === 'minor');
|
|
208
196
|
if (minors.length > 0) {
|
|
209
|
-
console.log(`\n ${c.dim
|
|
197
|
+
console.log(`\n ${c.dim(`MINOR (${minors.length}건)`)}`);
|
|
210
198
|
for (const issue of minors.slice(0, 10)) {
|
|
211
|
-
console.log(` ${c.dim
|
|
199
|
+
console.log(` ${c.dim(`${issue.filePath}:${issue.line} — ${issue.message}`)}`);
|
|
212
200
|
}
|
|
213
201
|
if (minors.length > 10) {
|
|
214
|
-
console.log(` ${c.dim
|
|
202
|
+
console.log(` ${c.dim(`...and ${minors.length - 10} more`)}`);
|
|
215
203
|
}
|
|
216
204
|
}
|
|
217
205
|
}
|
|
@@ -251,28 +239,28 @@ export async function handleCheck(filePath, opts) {
|
|
|
251
239
|
const sortedDirs = [...tree.keys()].sort();
|
|
252
240
|
const totalFiles = [...tree.values()].reduce((s, d) => s + d.size, 0);
|
|
253
241
|
const totalEntities = entities.filter(e => !scopePath || e.filePath.startsWith(scopePath)).length;
|
|
254
|
-
console.log(`\n${c.bold
|
|
242
|
+
console.log(`\n${c.bold('Code Tree')}${scopePath ? ` (${scopePath})` : ''} — ${totalFiles} files, ${totalEntities} entities\n`);
|
|
255
243
|
for (const dirPath of sortedDirs) {
|
|
256
244
|
const files = tree.get(dirPath);
|
|
257
245
|
const dirTotal = [...files.values()].reduce((s, f) => s + f.total, 0);
|
|
258
246
|
const dirUntested = [...files.values()].reduce((s, f) => s + f.untested, 0);
|
|
259
247
|
const dirHighRisk = [...files.values()].reduce((s, f) => s + f.highRisk, 0);
|
|
260
248
|
// Directory header
|
|
261
|
-
const riskFlag = dirHighRisk > 0 ? ` ${c.red
|
|
262
|
-
console.log(`${c.bold
|
|
249
|
+
const riskFlag = dirHighRisk > 0 ? ` ${c.red(`${dirHighRisk} high-risk`)}` : '';
|
|
250
|
+
console.log(`${c.bold(`${dirPath}/`)} ${c.dim(`(${dirTotal} entities, ${dirUntested} untested`)}${riskFlag}${c.dim(')')}`);
|
|
263
251
|
// Files in directory
|
|
264
252
|
const sortedFiles = [...files.entries()].sort((a, b) => b[1].total - a[1].total);
|
|
265
253
|
for (const [fileName, info] of sortedFiles) {
|
|
266
254
|
const kindStr = [...info.kinds.entries()].map(([k, n]) => `${n} ${k}`).join(', ');
|
|
267
255
|
const flags = [];
|
|
268
256
|
if (info.highRisk > 0)
|
|
269
|
-
flags.push(
|
|
257
|
+
flags.push(c.red(`${info.highRisk} high-risk`));
|
|
270
258
|
if (info.deprecated > 0)
|
|
271
|
-
flags.push(
|
|
259
|
+
flags.push(c.red(`${info.deprecated} deprecated`));
|
|
272
260
|
const flagStr = flags.length ? ' ' + flags.join(' ') : '';
|
|
273
261
|
const testPct = info.total > 0 ? Math.round(((info.total - info.untested) / info.total) * 100) : 0;
|
|
274
262
|
const testColor = testPct === 100 ? c.green : testPct > 50 ? c.yellow : c.red;
|
|
275
|
-
console.log(` ${c.cyan
|
|
263
|
+
console.log(` ${c.cyan(fileName)} ${c.dim(kindStr)} ${testColor(`${testPct}% tested`)}${flagStr}`);
|
|
276
264
|
}
|
|
277
265
|
}
|
|
278
266
|
console.log();
|
|
@@ -316,23 +304,23 @@ export async function handleCheck(filePath, opts) {
|
|
|
316
304
|
// --stats: full statistics
|
|
317
305
|
if (opts.stats) {
|
|
318
306
|
const stats = store.getStats(opts.project);
|
|
319
|
-
console.log(`\n${c.bold
|
|
307
|
+
console.log(`\n${c.bold('Registry Stats')}`);
|
|
320
308
|
console.log(`${'─'.repeat(40)}`);
|
|
321
|
-
console.log(` Total entities: ${c.bold
|
|
322
|
-
console.log(` Deprecated: ${stats.deprecated > 0 ? c.red : c.green
|
|
323
|
-
console.log(` Untested: ${stats.untested > 0 ? c.yellow : c.green
|
|
324
|
-
console.log(` High risk: ${stats.highRisk > 0 ? c.red : c.green
|
|
325
|
-
console.log(` With warnings: ${stats.withWarnings > 0 ? c.yellow : c.green
|
|
309
|
+
console.log(` Total entities: ${c.bold(String(stats.total))}`);
|
|
310
|
+
console.log(` Deprecated: ${(stats.deprecated > 0 ? c.red : c.green)(String(stats.deprecated))}`);
|
|
311
|
+
console.log(` Untested: ${(stats.untested > 0 ? c.yellow : c.green)(String(stats.untested))}`);
|
|
312
|
+
console.log(` High risk: ${(stats.highRisk > 0 ? c.red : c.green)(String(stats.highRisk))}`);
|
|
313
|
+
console.log(` With warnings: ${(stats.withWarnings > 0 ? c.yellow : c.green)(String(stats.withWarnings))}`);
|
|
326
314
|
if (stats.byKind.length > 0) {
|
|
327
|
-
console.log(`\n ${c.dim
|
|
315
|
+
console.log(`\n ${c.dim('By kind:')}`);
|
|
328
316
|
for (const { kind, count } of stats.byKind) {
|
|
329
317
|
console.log(` ${kind.padEnd(12)} ${count}`);
|
|
330
318
|
}
|
|
331
319
|
}
|
|
332
320
|
if (stats.byStatus.length > 0) {
|
|
333
|
-
console.log(`\n ${c.dim
|
|
334
|
-
for (const { status, count } of stats.byStatus) {
|
|
335
|
-
console.log(` ${
|
|
321
|
+
console.log(`\n ${c.dim('By status:')}`);
|
|
322
|
+
for (const { status: statusName, count } of stats.byStatus) {
|
|
323
|
+
console.log(` ${statusName.padEnd(14)} ${count}`);
|
|
336
324
|
}
|
|
337
325
|
}
|
|
338
326
|
console.log();
|
|
@@ -341,9 +329,9 @@ export async function handleCheck(filePath, opts) {
|
|
|
341
329
|
// --deprecated
|
|
342
330
|
if (opts.deprecated) {
|
|
343
331
|
const entities = store.deprecatedEntities(opts.project);
|
|
344
|
-
console.log(`\n${c.bold
|
|
332
|
+
console.log(`\n${c.bold('Deprecated Entities')} (${entities.length})\n`);
|
|
345
333
|
if (entities.length === 0) {
|
|
346
|
-
console.log(` ${c.green
|
|
334
|
+
console.log(` ${c.green('None')}\n`);
|
|
347
335
|
}
|
|
348
336
|
else {
|
|
349
337
|
for (const e of entities)
|
|
@@ -355,9 +343,9 @@ export async function handleCheck(filePath, opts) {
|
|
|
355
343
|
// --untested
|
|
356
344
|
if (opts.untested) {
|
|
357
345
|
const entities = store.untestedEntities(opts.project);
|
|
358
|
-
console.log(`\n${c.bold
|
|
346
|
+
console.log(`\n${c.bold('Untested Active Entities')} (${entities.length})\n`);
|
|
359
347
|
if (entities.length === 0) {
|
|
360
|
-
console.log(` ${c.green
|
|
348
|
+
console.log(` ${c.green('All tested')}\n`);
|
|
361
349
|
}
|
|
362
350
|
else {
|
|
363
351
|
for (const e of entities)
|
|
@@ -369,9 +357,9 @@ export async function handleCheck(filePath, opts) {
|
|
|
369
357
|
// --high-risk
|
|
370
358
|
if (opts.highRisk) {
|
|
371
359
|
const entities = store.highRiskEntities(opts.project);
|
|
372
|
-
console.log(`\n${c.bold
|
|
360
|
+
console.log(`\n${c.bold('High Risk Entities')} (${entities.length})\n`);
|
|
373
361
|
if (entities.length === 0) {
|
|
374
|
-
console.log(` ${c.green
|
|
362
|
+
console.log(` ${c.green('None')}\n`);
|
|
375
363
|
}
|
|
376
364
|
else {
|
|
377
365
|
for (const e of entities)
|
|
@@ -383,9 +371,9 @@ export async function handleCheck(filePath, opts) {
|
|
|
383
371
|
// --tag
|
|
384
372
|
if (opts.tag) {
|
|
385
373
|
const entities = store.entitiesByTag(opts.tag);
|
|
386
|
-
console.log(`\n${c.bold
|
|
374
|
+
console.log(`\n${c.bold(`Entities tagged "${opts.tag}"`)} (${entities.length})\n`);
|
|
387
375
|
if (entities.length === 0) {
|
|
388
|
-
console.log(` ${c.dim
|
|
376
|
+
console.log(` ${c.dim(`No entities with tag "${opts.tag}"`)}\n`);
|
|
389
377
|
}
|
|
390
378
|
else {
|
|
391
379
|
for (const e of entities)
|
|
@@ -397,9 +385,9 @@ export async function handleCheck(filePath, opts) {
|
|
|
397
385
|
// --search
|
|
398
386
|
if (opts.search) {
|
|
399
387
|
const entities = store.searchEntities(opts.search);
|
|
400
|
-
console.log(`\n${c.bold
|
|
388
|
+
console.log(`\n${c.bold(`Search: "${opts.search}"`)} (${entities.length} results)\n`);
|
|
401
389
|
if (entities.length === 0) {
|
|
402
|
-
console.log(` ${c.dim
|
|
390
|
+
console.log(` ${c.dim('No matches')}\n`);
|
|
403
391
|
}
|
|
404
392
|
else {
|
|
405
393
|
for (const e of entities)
|
|
@@ -411,12 +399,12 @@ export async function handleCheck(filePath, opts) {
|
|
|
411
399
|
// 파일 경로 지정: fileBrief
|
|
412
400
|
if (filePath) {
|
|
413
401
|
const brief = store.fileBrief(filePath);
|
|
414
|
-
console.log(`\n${c.bold
|
|
402
|
+
console.log(`\n${c.bold(`File Brief: ${filePath}`)}`);
|
|
415
403
|
console.log(`${'─'.repeat(40)}`);
|
|
416
|
-
console.log(` ${c.dim
|
|
404
|
+
console.log(` ${c.dim(brief.summary)}\n`);
|
|
417
405
|
if (brief.entities.length === 0) {
|
|
418
|
-
console.log(` ${c.dim
|
|
419
|
-
console.log(` ${c.dim
|
|
406
|
+
console.log(` ${c.dim('No registered entities for this file.')}`);
|
|
407
|
+
console.log(` ${c.dim('Use `registerEntity` mutation to add entries.')}\n`);
|
|
420
408
|
}
|
|
421
409
|
else {
|
|
422
410
|
for (const e of brief.entities)
|
|
@@ -428,19 +416,19 @@ export async function handleCheck(filePath, opts) {
|
|
|
428
416
|
// 인자 없이 호출 시: 간단 통계 + 도움말
|
|
429
417
|
const stats = store.getStats();
|
|
430
418
|
if (stats.total === 0) {
|
|
431
|
-
console.log(`\n${c.bold
|
|
432
|
-
console.log(` ${c.dim
|
|
433
|
-
console.log(` ${c.dim
|
|
419
|
+
console.log(`\n${c.bold('Code Registry')}: empty`);
|
|
420
|
+
console.log(` ${c.dim('Register entities via GraphQL at :3847/graphql')}`);
|
|
421
|
+
console.log(` ${c.dim('or use: openswarm check --help')}\n`);
|
|
434
422
|
}
|
|
435
423
|
else {
|
|
436
|
-
console.log(`\n${c.bold
|
|
424
|
+
console.log(`\n${c.bold('Code Registry')}: ${stats.total} entities`);
|
|
437
425
|
console.log(` ${stats.deprecated} deprecated, ${stats.untested} untested, ${stats.highRisk} high-risk, ${stats.withWarnings} with warnings`);
|
|
438
|
-
console.log(`\n ${c.dim
|
|
439
|
-
console.log(` ${c.dim
|
|
440
|
-
console.log(` ${c.dim
|
|
441
|
-
console.log(` ${c.dim
|
|
442
|
-
console.log(` ${c.dim
|
|
443
|
-
console.log(` ${c.dim
|
|
426
|
+
console.log(`\n ${c.dim('Usage:')}`);
|
|
427
|
+
console.log(` ${c.dim(' openswarm check <file> ')}File brief`);
|
|
428
|
+
console.log(` ${c.dim(' openswarm check --stats ')}Full statistics`);
|
|
429
|
+
console.log(` ${c.dim(' openswarm check --deprecated ')}Deprecated list`);
|
|
430
|
+
console.log(` ${c.dim(' openswarm check --untested ')}Untested list`);
|
|
431
|
+
console.log(` ${c.dim(' openswarm check --search <q> ')}Full-text search\n`);
|
|
444
432
|
}
|
|
445
433
|
}
|
|
446
434
|
finally {
|
|
@@ -459,36 +447,36 @@ export async function handleAnnotate(qualifiedName, opts) {
|
|
|
459
447
|
// 부분 매칭 시도: name만으로 검색
|
|
460
448
|
const results = store.searchEntities(qualifiedName, 5);
|
|
461
449
|
if (results.length === 0) {
|
|
462
|
-
console.error(
|
|
463
|
-
console.error(
|
|
450
|
+
console.error(c.red(`Entity not found: "${qualifiedName}"`));
|
|
451
|
+
console.error(c.dim('Use qualified name (file::name) or search with: openswarm check --search <query>'));
|
|
464
452
|
process.exit(1);
|
|
465
453
|
}
|
|
466
454
|
if (results.length === 1) {
|
|
467
455
|
entity = results[0];
|
|
468
456
|
}
|
|
469
457
|
else {
|
|
470
|
-
console.log(`${c.yellow
|
|
458
|
+
console.log(`${c.yellow(`Multiple matches for "${qualifiedName}":`)}\n`);
|
|
471
459
|
for (const e of results) {
|
|
472
|
-
console.log(` ${c.cyan
|
|
460
|
+
console.log(` ${c.cyan(e.qualifiedName)} ${e.kind} ${statusBadge(e.status)}`);
|
|
473
461
|
}
|
|
474
|
-
console.log(`\n${c.dim
|
|
462
|
+
console.log(`\n${c.dim('Use the full qualified name to annotate a specific entity.')}`);
|
|
475
463
|
return;
|
|
476
464
|
}
|
|
477
465
|
}
|
|
478
|
-
console.log(`\n${c.bold
|
|
466
|
+
console.log(`\n${c.bold('Annotating:')} ${c.cyan(entity.qualifiedName)}\n`);
|
|
479
467
|
let changed = false;
|
|
480
468
|
// --deprecate
|
|
481
469
|
if (opts.deprecate !== undefined) {
|
|
482
470
|
const reason = typeof opts.deprecate === 'string' ? opts.deprecate : undefined;
|
|
483
471
|
store.deprecateEntity(entity.id, reason);
|
|
484
|
-
console.log(` ${
|
|
472
|
+
console.log(` ${status.err(`Deprecated${reason ? `: ${reason}` : ''}`)}`);
|
|
485
473
|
changed = true;
|
|
486
474
|
}
|
|
487
475
|
// --status
|
|
488
476
|
if (opts.status) {
|
|
489
477
|
const validStatuses = ['active', 'deprecated', 'experimental', 'planned', 'broken'];
|
|
490
478
|
if (!validStatuses.includes(opts.status)) {
|
|
491
|
-
console.error(` ${c.red
|
|
479
|
+
console.error(` ${c.red(`Invalid status: ${opts.status}. Valid: ${validStatuses.join(', ')}`)}`);
|
|
492
480
|
}
|
|
493
481
|
else {
|
|
494
482
|
store.changeEntityStatus(entity.id, opts.status);
|
|
@@ -500,26 +488,26 @@ export async function handleAnnotate(qualifiedName, opts) {
|
|
|
500
488
|
if (opts.tag) {
|
|
501
489
|
const [tagKey, tagValue] = opts.tag.split('=', 2);
|
|
502
490
|
store.addTag(entity.id, tagKey, tagValue);
|
|
503
|
-
console.log(` ${c.magenta}
|
|
491
|
+
console.log(` ${c.magenta('+')} Tag: ${tagKey}${tagValue ? `=${tagValue}` : ''}`);
|
|
504
492
|
changed = true;
|
|
505
493
|
}
|
|
506
494
|
// --untag
|
|
507
495
|
if (opts.untag) {
|
|
508
496
|
store.removeTag(entity.id, opts.untag);
|
|
509
|
-
console.log(` ${c.dim}
|
|
497
|
+
console.log(` ${c.dim('-')} Removed tag: ${opts.untag}`);
|
|
510
498
|
changed = true;
|
|
511
499
|
}
|
|
512
500
|
// --note
|
|
513
501
|
if (opts.note) {
|
|
514
502
|
store.addEvent(entity.id, 'note_added', { content: opts.note, actor: 'cli' });
|
|
515
|
-
console.log(` ${c.blue}
|
|
503
|
+
console.log(` ${c.blue('📝')} Note added`);
|
|
516
504
|
changed = true;
|
|
517
505
|
}
|
|
518
506
|
// --risk
|
|
519
507
|
if (opts.risk) {
|
|
520
508
|
const validRisks = ['low', 'medium', 'high'];
|
|
521
509
|
if (!validRisks.includes(opts.risk)) {
|
|
522
|
-
console.error(` ${c.red
|
|
510
|
+
console.error(` ${c.red(`Invalid risk: ${opts.risk}. Valid: ${validRisks.join(', ')}`)}`);
|
|
523
511
|
}
|
|
524
512
|
else {
|
|
525
513
|
store.updateEntity(entity.id, { riskLevel: opts.risk }, 'cli');
|
|
@@ -531,8 +519,8 @@ export async function handleAnnotate(qualifiedName, opts) {
|
|
|
531
519
|
if (opts.warn) {
|
|
532
520
|
const warnMatch = opts.warn.match(/^(info|warning|error|critical)\/(security|performance|correctness|style):\s*(.+)/);
|
|
533
521
|
if (!warnMatch) {
|
|
534
|
-
console.error(` ${c.red
|
|
535
|
-
console.error(` ${c.dim
|
|
522
|
+
console.error(` ${c.red('Invalid warning format. Use: severity/category: message')}`);
|
|
523
|
+
console.error(` ${c.dim('Example: --warn "error/security: SQL injection risk"')}`);
|
|
536
524
|
}
|
|
537
525
|
else {
|
|
538
526
|
store.addWarning(entity.id, warnMatch[1], warnMatch[2], warnMatch[3]);
|
|
@@ -541,13 +529,13 @@ export async function handleAnnotate(qualifiedName, opts) {
|
|
|
541
529
|
}
|
|
542
530
|
}
|
|
543
531
|
if (!changed) {
|
|
544
|
-
console.log(` ${c.dim
|
|
532
|
+
console.log(` ${c.dim('No changes. Use --deprecate, --status, --tag, --note, --risk, or --warn')}`);
|
|
545
533
|
}
|
|
546
534
|
// 변경 후 엔티티 상태 표시
|
|
547
535
|
if (changed) {
|
|
548
536
|
const updated = store.getEntity(entity.id);
|
|
549
537
|
if (updated) {
|
|
550
|
-
console.log(`\n${c.dim
|
|
538
|
+
console.log(`\n${c.dim('Updated state:')}`);
|
|
551
539
|
console.log(formatEntity(updated));
|
|
552
540
|
}
|
|
553
541
|
}
|