@aionlabsai/aion 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/dist/agents/base-agent.d.ts.map +1 -1
- package/dist/agents/base-agent.js +23 -12
- package/dist/agents/base-agent.js.map +1 -1
- package/dist/agents/synthesizer.d.ts +3 -0
- package/dist/agents/synthesizer.d.ts.map +1 -1
- package/dist/agents/synthesizer.js +93 -52
- package/dist/agents/synthesizer.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +87 -534
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/chat.d.ts.map +1 -1
- package/dist/cli/commands/chat.js +2 -1
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/commands/context.d.ts +3 -0
- package/dist/cli/commands/context.d.ts.map +1 -0
- package/dist/cli/commands/context.js +72 -0
- package/dist/cli/commands/context.js.map +1 -0
- package/dist/cli/commands/next.d.ts +3 -0
- package/dist/cli/commands/next.d.ts.map +1 -0
- package/dist/cli/commands/next.js +49 -0
- package/dist/cli/commands/next.js.map +1 -0
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +52 -400
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/search.d.ts +3 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +50 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/tree.d.ts +3 -0
- package/dist/cli/commands/tree.d.ts.map +1 -0
- package/dist/cli/commands/tree.js +85 -0
- package/dist/cli/commands/tree.js.map +1 -0
- package/dist/cli/menu.d.ts.map +1 -1
- package/dist/cli/menu.js +99 -56
- package/dist/cli/menu.js.map +1 -1
- package/dist/cli/tui.d.ts +1 -0
- package/dist/cli/tui.d.ts.map +1 -1
- package/dist/cli/tui.js +7 -3
- package/dist/cli/tui.js.map +1 -1
- package/dist/core/cost-tracker.d.ts +10 -0
- package/dist/core/cost-tracker.d.ts.map +1 -1
- package/dist/core/cost-tracker.js +53 -0
- package/dist/core/cost-tracker.js.map +1 -1
- package/dist/core/pipelines/audit-pipeline.d.ts +4 -1
- package/dist/core/pipelines/audit-pipeline.d.ts.map +1 -1
- package/dist/core/pipelines/audit-pipeline.js +60 -30
- package/dist/core/pipelines/audit-pipeline.js.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/infra/audit-cache.d.ts +2 -1
- package/dist/infra/audit-cache.d.ts.map +1 -1
- package/dist/infra/audit-cache.js +18 -6
- package/dist/infra/audit-cache.js.map +1 -1
- package/dist/infra/audit-model.d.ts +72 -0
- package/dist/infra/audit-model.d.ts.map +1 -0
- package/dist/infra/audit-model.js +146 -0
- package/dist/infra/audit-model.js.map +1 -0
- package/dist/infra/audit-report-writer.d.ts +4 -0
- package/dist/infra/audit-report-writer.d.ts.map +1 -0
- package/dist/infra/audit-report-writer.js +290 -0
- package/dist/infra/audit-report-writer.js.map +1 -0
- package/dist/infra/code-metrics.d.ts +11 -0
- package/dist/infra/code-metrics.d.ts.map +1 -1
- package/dist/infra/code-metrics.js +62 -0
- package/dist/infra/code-metrics.js.map +1 -1
- package/dist/infra/embeddings.d.ts +2 -0
- package/dist/infra/embeddings.d.ts.map +1 -1
- package/dist/infra/embeddings.js +2 -2
- package/dist/infra/embeddings.js.map +1 -1
- package/dist/infra/project-report.d.ts +67 -0
- package/dist/infra/project-report.d.ts.map +1 -0
- package/dist/infra/project-report.js +159 -0
- package/dist/infra/project-report.js.map +1 -0
- package/dist/infra/repo-vectors.d.ts +31 -0
- package/dist/infra/repo-vectors.d.ts.map +1 -0
- package/dist/infra/repo-vectors.js +83 -0
- package/dist/infra/repo-vectors.js.map +1 -0
- package/dist/infra/update-check.d.ts +3 -0
- package/dist/infra/update-check.d.ts.map +1 -0
- package/dist/infra/update-check.js +84 -0
- package/dist/infra/update-check.js.map +1 -0
- package/dist/prompts/scanner.js +1 -1
- package/dist/prompts/synthesizer.d.ts.map +1 -1
- package/dist/prompts/synthesizer.js +7 -23
- package/dist/prompts/synthesizer.js.map +1 -1
- package/dist/providers/cli-provider.d.ts +1 -0
- package/dist/providers/cli-provider.d.ts.map +1 -1
- package/dist/providers/cli-provider.js +22 -2
- package/dist/providers/cli-provider.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { existsSync, readFileSync } from 'fs';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
import { GraphAgent } from '../../agents/graph-agent.js';
|
|
5
|
+
function newNode(name, path) {
|
|
6
|
+
return { name, path, files: 0, loc: 0, findings: 0, children: new Map() };
|
|
7
|
+
}
|
|
8
|
+
function latestFindings(cwd) {
|
|
9
|
+
try {
|
|
10
|
+
const pointerPath = join(cwd, '.ai-runtime', 'reports', 'latest-audit.json');
|
|
11
|
+
if (!existsSync(pointerPath))
|
|
12
|
+
return [];
|
|
13
|
+
const pointer = JSON.parse(readFileSync(pointerPath, 'utf8'));
|
|
14
|
+
const reportPath = pointer.runDir ? join(pointer.runDir, 'report.json') : pointer.report;
|
|
15
|
+
if (!reportPath || !existsSync(reportPath))
|
|
16
|
+
return [];
|
|
17
|
+
return JSON.parse(readFileSync(reportPath, 'utf8')).findings ?? [];
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function addPath(root, file, loc, findings) {
|
|
24
|
+
const parts = file.split('/');
|
|
25
|
+
let node = root;
|
|
26
|
+
node.files++;
|
|
27
|
+
node.loc += loc;
|
|
28
|
+
node.findings += findings;
|
|
29
|
+
for (let i = 0; i < parts.length; i++) {
|
|
30
|
+
const part = parts[i];
|
|
31
|
+
const path = parts.slice(0, i + 1).join('/');
|
|
32
|
+
let child = node.children.get(part);
|
|
33
|
+
if (!child) {
|
|
34
|
+
child = newNode(part, path);
|
|
35
|
+
node.children.set(part, child);
|
|
36
|
+
}
|
|
37
|
+
child.files++;
|
|
38
|
+
child.loc += loc;
|
|
39
|
+
child.findings += findings;
|
|
40
|
+
node = child;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function render(node, depth, maxDepth, hotspots, prefix = '') {
|
|
44
|
+
if (depth >= maxDepth)
|
|
45
|
+
return [];
|
|
46
|
+
const children = [...node.children.values()]
|
|
47
|
+
.sort((a, b) => hotspots ? b.findings - a.findings || b.loc - a.loc : a.name.localeCompare(b.name));
|
|
48
|
+
const lines = [];
|
|
49
|
+
children.forEach((child, index) => {
|
|
50
|
+
const last = index === children.length - 1;
|
|
51
|
+
const branch = last ? '└─ ' : '├─ ';
|
|
52
|
+
const nextPrefix = prefix + (last ? ' ' : '│ ');
|
|
53
|
+
const marker = child.children.size > 0 ? '/' : '';
|
|
54
|
+
const risk = child.findings > 0 ? chalk.red(` findings:${child.findings}`) : chalk.gray(' findings:0');
|
|
55
|
+
lines.push(`${prefix}${branch}${chalk.bold(child.name)}${marker} ${chalk.gray(`files:${child.files} loc:${child.loc}`)}${risk}`);
|
|
56
|
+
lines.push(...render(child, depth + 1, maxDepth, hotspots, nextPrefix));
|
|
57
|
+
});
|
|
58
|
+
return lines;
|
|
59
|
+
}
|
|
60
|
+
export function registerTree(program) {
|
|
61
|
+
program
|
|
62
|
+
.command('tree')
|
|
63
|
+
.description('Show repository tree with file, LOC, and latest audit finding counts')
|
|
64
|
+
.option('--depth <n>', 'max tree depth', '4')
|
|
65
|
+
.option('--hotspots', 'sort folders/files by latest finding count')
|
|
66
|
+
.option('--rebuild', 'rebuild the repository index before rendering')
|
|
67
|
+
.action(async (options) => {
|
|
68
|
+
const cwd = process.cwd();
|
|
69
|
+
const graph = new GraphAgent(cwd);
|
|
70
|
+
const index = options.rebuild ? await graph.buildIndex() : await graph.ensureIndex();
|
|
71
|
+
const findings = latestFindings(cwd);
|
|
72
|
+
const byFile = findings.reduce((acc, finding) => {
|
|
73
|
+
acc[finding.file] = (acc[finding.file] ?? 0) + 1;
|
|
74
|
+
return acc;
|
|
75
|
+
}, {});
|
|
76
|
+
const root = newNode('.', '.');
|
|
77
|
+
for (const file of index.files)
|
|
78
|
+
addPath(root, file.path, file.loc, byFile[file.path] ?? 0);
|
|
79
|
+
const maxDepth = Math.max(1, Math.min(12, parseInt(options.depth, 10) || 4));
|
|
80
|
+
console.log(chalk.bold.cyan('\nProject Tree\n'));
|
|
81
|
+
console.log(chalk.gray(`files:${root.files} loc:${root.loc} findings:${root.findings}`));
|
|
82
|
+
render(root, 0, maxDepth, Boolean(options.hotspots)).forEach((line) => console.log(line));
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/cli/commands/tree.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/menu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/cli/menu.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/cli/menu.ts"],"names":[],"mappings":"AA0NA,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ExD"}
|
package/dist/cli/menu.js
CHANGED
|
@@ -3,7 +3,7 @@ import chalk from 'chalk';
|
|
|
3
3
|
import { selectOne, selectMany, printHeader } from './tui.js';
|
|
4
4
|
const ALL_DOMAINS = [
|
|
5
5
|
{ label: 'security', hint: 'pentester finding attack vectors', value: 'security' },
|
|
6
|
-
{ label: 'bugs', hint: 'QA hunting logic failures & null
|
|
6
|
+
{ label: 'bugs', hint: 'QA hunting logic failures & null dereferences', value: 'bugs' },
|
|
7
7
|
{ label: 'redundancy', hint: 'architect eliminating dead/duplicate code', value: 'redundancy' },
|
|
8
8
|
{ label: 'error-handling', hint: 'SRE finding silent failure points', value: 'error-handling' },
|
|
9
9
|
{ label: 'architecture', hint: 'tech lead evaluating coupling & debt', value: 'architecture' },
|
|
@@ -26,23 +26,45 @@ const PRESETS = [
|
|
|
26
26
|
{ label: '✨ Quality', hint: 'bugs, architecture, testing, redundancy, error-handling', value: 'quality' },
|
|
27
27
|
{ label: '🏢 SaaS', hint: 'multitenancy, compliance, security, resilience, observability', value: 'saas' },
|
|
28
28
|
{ label: '🏦 FinTech', hint: 'compliance, security, data, multitenancy, error-handling', value: 'fintech' },
|
|
29
|
-
{ label: '🌍 Full', hint: 'all 15 personas
|
|
29
|
+
{ label: '🌍 Full', hint: 'all 15 personas (requires --force-full)', value: 'full' },
|
|
30
30
|
{ label: '📝 Custom…', hint: 'select individual personas with Space', value: 'custom' },
|
|
31
31
|
{ label: '← Back', value: 'back' },
|
|
32
32
|
];
|
|
33
33
|
const BUDGETS = [
|
|
34
|
-
{ label: 'low', hint: '
|
|
35
|
-
{ label: 'normal', hint: '
|
|
36
|
-
{ label: 'deep', hint: '
|
|
34
|
+
{ label: 'low', hint: 'fast & cheap · est. $0.10–0.50', value: 'low' },
|
|
35
|
+
{ label: 'normal', hint: 'balanced · est. $0.50–2.00', value: 'normal' },
|
|
36
|
+
{ label: 'deep', hint: 'thorough · est. $2.00–5.00', value: 'deep' },
|
|
37
37
|
];
|
|
38
38
|
const SCAN_ITEMS = [
|
|
39
39
|
{ label: 'api-map', hint: 'endpoints with auth/rate-limit status', value: 'api-map' },
|
|
40
40
|
{ label: 'env-audit', hint: 'env vars documented vs undocumented', value: 'env-audit' },
|
|
41
41
|
{ label: 'cognitive-load', hint: 'nesting, magic numbers, long functions', value: 'cognitive-load' },
|
|
42
|
-
{ label: 'secrets', hint: 'hardcoded credentials in
|
|
42
|
+
{ label: 'secrets', hint: 'hardcoded credentials in source files', value: 'secrets' },
|
|
43
43
|
{ label: 'sbom', hint: 'software bill of materials + unpinned deps', value: 'sbom' },
|
|
44
44
|
{ label: '← Back', value: 'back' },
|
|
45
45
|
];
|
|
46
|
+
const MAIN_ITEMS = [
|
|
47
|
+
{ label: 'Analyze', value: '', header: true },
|
|
48
|
+
{ label: '🔍 Audit', hint: 'multi-persona AI analysis', value: 'audit' },
|
|
49
|
+
{ label: '💊 Health', hint: 'composite score 0-100', value: 'health' },
|
|
50
|
+
{ label: '🔬 Scan', hint: 'zero-token local scans', value: 'scan' },
|
|
51
|
+
{ label: 'Explore', value: '', header: true },
|
|
52
|
+
{ label: '🌐 Graph', hint: 'interactive dependency map', value: 'graph' },
|
|
53
|
+
{ label: '📈 Churn', hint: 'git churn + bus factor', value: 'churn' },
|
|
54
|
+
{ label: '🌲 Tree', hint: 'tree view with finding hotspots', value: 'tree' },
|
|
55
|
+
{ label: '🏗️ Patterns', hint: 'architecture pattern detection', value: 'patterns' },
|
|
56
|
+
{ label: 'AI Assist', value: '', header: true },
|
|
57
|
+
{ label: '➡️ Next', hint: 'recommended low-token next action', value: 'next' },
|
|
58
|
+
{ label: '💬 Explain', hint: 'AI explanation + onboarding guide', value: 'explain' },
|
|
59
|
+
{ label: '🧾 Context', hint: 'compact AI-safe context', value: 'context' },
|
|
60
|
+
{ label: 'Utilities', value: '', header: true },
|
|
61
|
+
{ label: '📊 Report', hint: 'health + findings + context.md', value: 'report' },
|
|
62
|
+
{ label: '🔎 Search', hint: 'repo index search', value: 'search' },
|
|
63
|
+
{ label: '📚 Docs', hint: 'quick start, providers, examples', value: 'docs' },
|
|
64
|
+
{ label: '', value: 'sep', separator: true },
|
|
65
|
+
{ label: '❯ Natural language', hint: 'type a request in Portuguese or English', value: 'nl' },
|
|
66
|
+
{ label: ' Quit', value: 'quit' },
|
|
67
|
+
];
|
|
46
68
|
function run(args) {
|
|
47
69
|
const result = spawnSync(process.execPath, [process.argv[1], ...args], {
|
|
48
70
|
stdio: 'inherit',
|
|
@@ -51,39 +73,53 @@ function run(args) {
|
|
|
51
73
|
if (result.error)
|
|
52
74
|
console.error(chalk.red(result.error.message));
|
|
53
75
|
}
|
|
76
|
+
async function promptLine(question) {
|
|
77
|
+
const rl = (await import('readline')).createInterface({ input: process.stdin, output: process.stdout });
|
|
78
|
+
return new Promise((resolve) => {
|
|
79
|
+
rl.question(chalk.cyan(` ${question}: `), (ans) => { rl.close(); resolve(ans.trim()); });
|
|
80
|
+
});
|
|
81
|
+
}
|
|
54
82
|
async function runAuditMenu(cwd) {
|
|
55
83
|
const preset = await selectOne('Select persona preset', PRESETS, 'Each preset is a team of specialized AI personas');
|
|
56
84
|
if (!preset || preset === 'back')
|
|
57
85
|
return;
|
|
58
|
-
let
|
|
86
|
+
let domainArgs;
|
|
59
87
|
if (preset === 'custom') {
|
|
60
88
|
const chosen = await selectMany('Select personas', ALL_DOMAINS, 'Space to toggle, Enter to confirm');
|
|
61
89
|
if (!chosen || chosen.length === 0)
|
|
62
90
|
return;
|
|
63
|
-
|
|
91
|
+
domainArgs = ['--domains', chosen.join(',')];
|
|
64
92
|
}
|
|
65
93
|
else {
|
|
66
|
-
|
|
94
|
+
domainArgs = ['--preset', preset];
|
|
67
95
|
}
|
|
68
96
|
const budget = await selectOne('Select budget', BUDGETS);
|
|
69
97
|
if (!budget)
|
|
70
98
|
return;
|
|
71
|
-
const
|
|
99
|
+
const budgetHint = BUDGETS.find((b) => b.value === budget)?.hint ?? '';
|
|
100
|
+
const confirm = await selectOne(`Run audit? preset=${preset} budget=${budget} ${budgetHint}`, [
|
|
72
101
|
{ label: '✓ Run now', value: 'run' },
|
|
73
102
|
{ label: '✗ Cancel', value: 'cancel' },
|
|
74
103
|
]);
|
|
75
104
|
if (confirm !== 'run')
|
|
76
105
|
return;
|
|
77
106
|
console.log(chalk.bold.cyan('\nStarting audit…\n'));
|
|
78
|
-
run(['--cwd', cwd, 'audit', '.',
|
|
107
|
+
run(['--cwd', cwd, 'audit', '.', ...domainArgs, '--budget', budget]);
|
|
79
108
|
}
|
|
80
109
|
async function runScanMenu(cwd) {
|
|
81
110
|
const item = await selectOne('Select scan type', SCAN_ITEMS);
|
|
82
111
|
if (!item || item === 'back')
|
|
83
112
|
return;
|
|
84
|
-
console.log(chalk.bold.cyan(`\nRunning scan ${item}…\n`));
|
|
113
|
+
console.log(chalk.bold.cyan(`\nRunning scan: ${item}…\n`));
|
|
85
114
|
run(['--cwd', cwd, 'scan', item]);
|
|
86
115
|
}
|
|
116
|
+
async function runSearchMenu(cwd) {
|
|
117
|
+
const query = await promptLine('Search query');
|
|
118
|
+
if (!query)
|
|
119
|
+
return;
|
|
120
|
+
console.log(chalk.bold.cyan(`\nSearching: ${query}…\n`));
|
|
121
|
+
run(['--cwd', cwd, 'search', query]);
|
|
122
|
+
}
|
|
87
123
|
async function runExplainMenu(cwd) {
|
|
88
124
|
const mode = await selectOne('Select mode', [
|
|
89
125
|
{ label: 'explain <file>', hint: 'what a file does and why it matters', value: 'explain' },
|
|
@@ -95,14 +131,10 @@ async function runExplainMenu(cwd) {
|
|
|
95
131
|
return;
|
|
96
132
|
if (mode === 'onboard') {
|
|
97
133
|
console.log(chalk.bold.cyan('\nGenerating onboarding guide…\n'));
|
|
98
|
-
run(['--cwd', cwd, 'onboard']);
|
|
134
|
+
run(['--cwd', cwd, 'explain', '--onboard']);
|
|
99
135
|
return;
|
|
100
136
|
}
|
|
101
|
-
|
|
102
|
-
const rl = (await import('readline')).createInterface({ input: process.stdin, output: process.stdout });
|
|
103
|
-
const file = await new Promise((resolve) => {
|
|
104
|
-
rl.question(chalk.cyan(` File path: `), (ans) => { rl.close(); resolve(ans.trim()); });
|
|
105
|
-
});
|
|
137
|
+
const file = await promptLine('File path');
|
|
106
138
|
if (!file)
|
|
107
139
|
return;
|
|
108
140
|
console.log(chalk.bold.cyan(`\nRunning ${mode} on ${file}…\n`));
|
|
@@ -115,8 +147,13 @@ function printDocumentation() {
|
|
|
115
147
|
console.log('');
|
|
116
148
|
console.log(chalk.bold(' Quick start'));
|
|
117
149
|
console.log(` ${chalk.cyan('aion menu')} open this menu`);
|
|
150
|
+
console.log(` ${chalk.cyan('aion next')} recommended low-token flow`);
|
|
118
151
|
console.log(` ${chalk.cyan('aion audit . --preset security')} security-focused audit`);
|
|
119
|
-
console.log(` ${chalk.cyan('aion audit . --max-files 20')}
|
|
152
|
+
console.log(` ${chalk.cyan('aion audit . --max-files 20')} cap AI file scope`);
|
|
153
|
+
console.log(` ${chalk.cyan('aion context --audit')} compact AI-safe audit context`);
|
|
154
|
+
console.log(` ${chalk.cyan('aion search "<query>"')} search repo index`);
|
|
155
|
+
console.log(` ${chalk.cyan('aion tree --hotspots')} tree view with latest findings`);
|
|
156
|
+
console.log(` ${chalk.cyan('aion report latest')} latest report paths`);
|
|
120
157
|
console.log(` ${chalk.cyan('aion scan secrets')} local secret scan`);
|
|
121
158
|
console.log(` ${chalk.cyan('aion scan env-audit')} env var documentation check`);
|
|
122
159
|
console.log(` ${chalk.cyan('aion scan sbom --unpinned-only')} supply-chain pinning check`);
|
|
@@ -126,10 +163,9 @@ function printDocumentation() {
|
|
|
126
163
|
console.log(` ${chalk.cyan('ANTHROPIC_API_KEY')} Claude SDK provider`);
|
|
127
164
|
console.log(` ${chalk.cyan('claude /login')} Claude CLI fallback`);
|
|
128
165
|
console.log(` ${chalk.cyan('OPENROUTER_API_KEY')} OpenRouter provider`);
|
|
129
|
-
console.log(` ${chalk.cyan('AI_RUNTIME_CODEX_MODEL')} Codex model override`);
|
|
130
166
|
console.log('');
|
|
131
167
|
console.log(chalk.bold(' Audit presets'));
|
|
132
|
-
console.log(' security
|
|
168
|
+
console.log(' security · ai · backend · devops · quality · saas · fintech · full');
|
|
133
169
|
console.log('');
|
|
134
170
|
console.log(chalk.bold(' Natural language examples'));
|
|
135
171
|
console.log(` ${chalk.cyan('aion "audit this repo for dependency risks"')}`);
|
|
@@ -137,28 +173,13 @@ function printDocumentation() {
|
|
|
137
173
|
console.log(` ${chalk.cyan('aion "explain the payment flow"')}`);
|
|
138
174
|
console.log('');
|
|
139
175
|
console.log(chalk.bold(' Runtime files'));
|
|
140
|
-
console.log(` ${chalk.cyan('.ai-runtime/')}
|
|
141
|
-
console.log(` ${chalk.cyan('.ai-runtime/reports/audits/')}
|
|
142
|
-
console.log(` ${chalk.cyan('.
|
|
143
|
-
console.log(` ${chalk.cyan('AI_RUNTIME_DB_PATH')} task store override`);
|
|
176
|
+
console.log(` ${chalk.cyan('.ai-runtime/reports/index.html')} audit dashboard`);
|
|
177
|
+
console.log(` ${chalk.cyan('.ai-runtime/reports/audits/')} per-run reports`);
|
|
178
|
+
console.log(` ${chalk.cyan('~/.aion/update-check.json')} update cache`);
|
|
144
179
|
console.log('');
|
|
145
|
-
console.log(chalk.dim('
|
|
180
|
+
console.log(chalk.dim(' npm: https://www.npmjs.com/package/@aionlabsai/aion'));
|
|
146
181
|
console.log('');
|
|
147
182
|
}
|
|
148
|
-
const MAIN_ITEMS = [
|
|
149
|
-
{ label: '🔍 Audit', hint: 'multi-persona code analysis', value: 'audit' },
|
|
150
|
-
{ label: '📊 Report', hint: 'health + findings + context.md', value: 'report' },
|
|
151
|
-
{ label: '🌐 Graph', hint: 'interactive dependency map', value: 'graph' },
|
|
152
|
-
{ label: '📈 Churn', hint: 'git churn + bus factor', value: 'churn' },
|
|
153
|
-
{ label: '🔬 Scan', hint: 'quick zero-token scans', value: 'scan' },
|
|
154
|
-
{ label: '🏗️ Patterns', hint: 'architecture pattern detection', value: 'patterns' },
|
|
155
|
-
{ label: '💊 Health', hint: 'composite score 0-100', value: 'health' },
|
|
156
|
-
{ label: '💬 Explain / Onboard', hint: 'AI explanation + onboarding', value: 'explain' },
|
|
157
|
-
{ label: '📚 Documentation', hint: 'quick start, providers, scans', value: 'docs' },
|
|
158
|
-
{ label: '─', value: 'sep', separator: true },
|
|
159
|
-
{ label: '❯ Natural language', hint: 'type a request in Portuguese or English', value: 'nl' },
|
|
160
|
-
{ label: ' Quit', value: 'quit' },
|
|
161
|
-
];
|
|
162
183
|
function runMenuFallback(cwd) {
|
|
163
184
|
const projectName = cwd.split('/').pop() ?? cwd;
|
|
164
185
|
console.log('');
|
|
@@ -169,16 +190,14 @@ function runMenuFallback(cwd) {
|
|
|
169
190
|
console.log(chalk.bold(' Available commands:'));
|
|
170
191
|
console.log('');
|
|
171
192
|
console.log(` ${chalk.cyan('aion menu')} interactive menu`);
|
|
193
|
+
console.log(` ${chalk.cyan('aion next')} recommended next action`);
|
|
172
194
|
console.log(` ${chalk.cyan('aion audit . --preset ai')} AI/LLM audit`);
|
|
173
|
-
console.log(` ${chalk.cyan('aion audit --list-personas')} show all personas`);
|
|
174
195
|
console.log(` ${chalk.cyan('aion health')} composite health score`);
|
|
175
196
|
console.log(` ${chalk.cyan('aion report --md')} full markdown report`);
|
|
176
197
|
console.log(` ${chalk.cyan('aion graph')} dependency graph`);
|
|
177
198
|
console.log(` ${chalk.cyan('aion churn')} git churn analysis`);
|
|
178
|
-
console.log(` ${chalk.cyan('aion scan
|
|
199
|
+
console.log(` ${chalk.cyan('aion scan secrets')} secret scan`);
|
|
179
200
|
console.log(` ${chalk.cyan('aion patterns')} architecture patterns`);
|
|
180
|
-
console.log(` ${chalk.cyan('aion onboard')} developer guide (AI)`);
|
|
181
|
-
console.log(` ${chalk.cyan('aion menu')} includes documentation`);
|
|
182
201
|
console.log('');
|
|
183
202
|
}
|
|
184
203
|
export async function runMenu(cwd) {
|
|
@@ -186,7 +205,6 @@ export async function runMenu(cwd) {
|
|
|
186
205
|
runMenuFallback(cwd);
|
|
187
206
|
return;
|
|
188
207
|
}
|
|
189
|
-
// Show project info
|
|
190
208
|
let info = cwd.split('/').pop() ?? cwd;
|
|
191
209
|
try {
|
|
192
210
|
const { GraphAgent } = await import('../agents/graph-agent.js');
|
|
@@ -196,12 +214,43 @@ export async function runMenu(cwd) {
|
|
|
196
214
|
info += ` · ${index.stats.files} files`;
|
|
197
215
|
}
|
|
198
216
|
catch { /* best-effort */ }
|
|
217
|
+
// Show last audit summary in header if available
|
|
218
|
+
try {
|
|
219
|
+
const { existsSync, readFileSync } = await import('fs');
|
|
220
|
+
const { join } = await import('path');
|
|
221
|
+
const historyFile = join(cwd, '.ai-runtime', 'reports', 'audit-history.json');
|
|
222
|
+
if (existsSync(historyFile)) {
|
|
223
|
+
const history = JSON.parse(readFileSync(historyFile, 'utf8'));
|
|
224
|
+
const last = history.at(-1);
|
|
225
|
+
if (last) {
|
|
226
|
+
const ago = Math.round((Date.now() - new Date(last.createdAt).getTime()) / 60000);
|
|
227
|
+
const agoStr = ago < 60 ? `${ago}m ago` : `${Math.round(ago / 60)}h ago`;
|
|
228
|
+
const crit = last.criticalCount > 0 ? chalk.red(`${last.criticalCount} critical`) : '';
|
|
229
|
+
const high = last.highCount > 0 ? chalk.yellow(`${last.highCount} high`) : '';
|
|
230
|
+
const counts = [crit, high].filter(Boolean).join(', ');
|
|
231
|
+
info += ` · last audit ${agoStr}${counts ? ': ' + counts : ' — clean'}`;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
catch { /* best-effort */ }
|
|
236
|
+
const cmdMap = {
|
|
237
|
+
report: ['--cwd', cwd, 'report'],
|
|
238
|
+
next: ['--cwd', cwd, 'next'],
|
|
239
|
+
context: ['--cwd', cwd, 'context', '--audit'],
|
|
240
|
+
tree: ['--cwd', cwd, 'tree', '--hotspots'],
|
|
241
|
+
graph: ['--cwd', cwd, 'graph'],
|
|
242
|
+
churn: ['--cwd', cwd, 'churn'],
|
|
243
|
+
patterns: ['--cwd', cwd, 'patterns'],
|
|
244
|
+
health: ['--cwd', cwd, 'health'],
|
|
245
|
+
};
|
|
199
246
|
while (true) {
|
|
200
247
|
console.log('');
|
|
201
248
|
printHeader(cwd.split('/').pop() ?? cwd, info);
|
|
202
249
|
const action = await selectOne('What do you want to run?', MAIN_ITEMS);
|
|
203
250
|
if (!action || action === 'quit')
|
|
204
251
|
break;
|
|
252
|
+
if (action === 'sep' || action === '')
|
|
253
|
+
continue;
|
|
205
254
|
if (action === 'audit') {
|
|
206
255
|
await runAuditMenu(cwd);
|
|
207
256
|
continue;
|
|
@@ -214,30 +263,24 @@ export async function runMenu(cwd) {
|
|
|
214
263
|
await runExplainMenu(cwd);
|
|
215
264
|
continue;
|
|
216
265
|
}
|
|
266
|
+
if (action === 'search') {
|
|
267
|
+
await runSearchMenu(cwd);
|
|
268
|
+
continue;
|
|
269
|
+
}
|
|
217
270
|
if (action === 'docs') {
|
|
218
271
|
printDocumentation();
|
|
219
|
-
}
|
|
220
|
-
if (action === 'sep')
|
|
221
272
|
continue;
|
|
273
|
+
}
|
|
222
274
|
if (action === 'nl') {
|
|
223
275
|
const { runInteractive } = await import('./interactive.js');
|
|
224
276
|
await runInteractive(cwd);
|
|
225
277
|
break;
|
|
226
278
|
}
|
|
227
|
-
// Simple commands
|
|
228
|
-
const cmdMap = {
|
|
229
|
-
report: ['--cwd', cwd, 'report'],
|
|
230
|
-
graph: ['--cwd', cwd, 'graph'],
|
|
231
|
-
churn: ['--cwd', cwd, 'churn'],
|
|
232
|
-
patterns: ['--cwd', cwd, 'patterns'],
|
|
233
|
-
health: ['--cwd', cwd, 'health'],
|
|
234
|
-
};
|
|
235
279
|
const args = cmdMap[action];
|
|
236
280
|
if (args) {
|
|
237
281
|
console.log(chalk.bold.cyan(`\nRunning ${action}…\n`));
|
|
238
282
|
run(args);
|
|
239
283
|
}
|
|
240
|
-
// After command, ask to continue
|
|
241
284
|
const cont = await selectOne('', [
|
|
242
285
|
{ label: '← Back to menu', value: 'menu' },
|
|
243
286
|
{ label: ' Quit', value: 'quit' },
|
package/dist/cli/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/cli/menu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/cli/menu.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/tui.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface MenuItem<T = string> {
|
|
|
4
4
|
value: T;
|
|
5
5
|
icon?: string;
|
|
6
6
|
separator?: boolean;
|
|
7
|
+
header?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export declare function selectOne<T>(title: string, items: MenuItem<T>[], subtitle?: string): Promise<T | null>;
|
|
9
10
|
export declare function selectMany<T>(title: string, items: MenuItem<T>[], subtitle?: string, preSelected?: number[]): Promise<T[] | null>;
|
package/dist/cli/tui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/cli/tui.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,MAAM;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/cli/tui.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,MAAM;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA0ED,wBAAsB,SAAS,CAAC,CAAC,EAC/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA+CnB;AAED,wBAAsB,UAAU,CAAC,CAAC,EAChC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CA0CrB;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAOrE"}
|
package/dist/cli/tui.js
CHANGED
|
@@ -18,6 +18,10 @@ function renderList(title, items, selected, subtitle) {
|
|
|
18
18
|
lines.push(chalk.dim(' ─────────────────────────────────'));
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
+
if (item.header) {
|
|
22
|
+
lines.push(chalk.dim(` ── ${item.label.toUpperCase()} ${'─'.repeat(Math.max(0, 30 - item.label.length))}`));
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
21
25
|
const cursor = i === selected ? chalk.cyan('❯') : ' ';
|
|
22
26
|
const icon = item.icon ?? ' ';
|
|
23
27
|
const label = i === selected ? chalk.bold.white(item.label) : chalk.white(item.label);
|
|
@@ -73,16 +77,16 @@ export async function selectOne(title, items, subtitle) {
|
|
|
73
77
|
if (key.name === 'up') {
|
|
74
78
|
do {
|
|
75
79
|
selected = (selected - 1 + items.length) % items.length;
|
|
76
|
-
} while (items[selected]?.separator);
|
|
80
|
+
} while (items[selected]?.separator || items[selected]?.header);
|
|
77
81
|
}
|
|
78
82
|
if (key.name === 'down') {
|
|
79
83
|
do {
|
|
80
84
|
selected = (selected + 1) % items.length;
|
|
81
|
-
} while (items[selected]?.separator);
|
|
85
|
+
} while (items[selected]?.separator || items[selected]?.header);
|
|
82
86
|
}
|
|
83
87
|
if (key.name === 'return') {
|
|
84
88
|
const val = items[selected];
|
|
85
|
-
if (val && !val.separator) {
|
|
89
|
+
if (val && !val.separator && !val.header) {
|
|
86
90
|
cleanup();
|
|
87
91
|
resolve(val.value);
|
|
88
92
|
return;
|
package/dist/cli/tui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/cli/tui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/cli/tui.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,4 +23,14 @@ export declare class CostTracker {
|
|
|
23
23
|
summary(): string;
|
|
24
24
|
byAgent(): AgentCost[];
|
|
25
25
|
}
|
|
26
|
+
export declare class SessionBudget {
|
|
27
|
+
private data;
|
|
28
|
+
private readonly filePath;
|
|
29
|
+
constructor(cwd: string, capUsd?: number);
|
|
30
|
+
remaining(): number;
|
|
31
|
+
estimatedCost(nScanners: number, model: string): number;
|
|
32
|
+
canAfford(estimatedUsd: number): boolean;
|
|
33
|
+
warningLine(): string | null;
|
|
34
|
+
record(spentUsd: number): void;
|
|
35
|
+
}
|
|
26
36
|
//# sourceMappingURL=cost-tracker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/core/cost-tracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/core/cost-tracker.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAoBD,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAWrF,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAM1C,cAAc,IAAI,OAAO;IAIzB,QAAQ,IAAI,MAAM;IAIlB,WAAW,IAAI,UAAU;IAYzB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOvC,OAAO,IAAI,MAAM;IAejB,OAAO,IAAI,SAAS,EAAE;CAGvB;AAmBD,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,GAAG,EAAE,MAAM,EAAE,MAAM,SAAO;IActC,SAAS,IAAI,MAAM;IAInB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAKvD,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAIxC,WAAW,IAAI,MAAM,GAAG,IAAI;IAM5B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAQ/B"}
|