erosolar-cli 1.7.261 → 1.7.263

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.
Files changed (49) hide show
  1. package/dist/capabilities/securityTestingCapability.d.ts +13 -0
  2. package/dist/capabilities/securityTestingCapability.d.ts.map +1 -0
  3. package/dist/capabilities/securityTestingCapability.js +25 -0
  4. package/dist/capabilities/securityTestingCapability.js.map +1 -0
  5. package/dist/contracts/agent-schemas.json +15 -0
  6. package/dist/contracts/tools.schema.json +9 -0
  7. package/dist/core/hooksSystem.d.ts +65 -0
  8. package/dist/core/hooksSystem.d.ts.map +1 -0
  9. package/dist/core/hooksSystem.js +273 -0
  10. package/dist/core/hooksSystem.js.map +1 -0
  11. package/dist/core/memorySystem.d.ts +48 -0
  12. package/dist/core/memorySystem.d.ts.map +1 -0
  13. package/dist/core/memorySystem.js +271 -0
  14. package/dist/core/memorySystem.js.map +1 -0
  15. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  16. package/dist/plugins/tools/nodeDefaults.js +2 -0
  17. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  18. package/dist/plugins/tools/security/securityPlugin.d.ts +3 -0
  19. package/dist/plugins/tools/security/securityPlugin.d.ts.map +1 -0
  20. package/dist/plugins/tools/security/securityPlugin.js +12 -0
  21. package/dist/plugins/tools/security/securityPlugin.js.map +1 -0
  22. package/dist/shell/interactiveShell.d.ts +5 -1
  23. package/dist/shell/interactiveShell.d.ts.map +1 -1
  24. package/dist/shell/interactiveShell.js +118 -9
  25. package/dist/shell/interactiveShell.js.map +1 -1
  26. package/dist/shell/metricsTracker.d.ts +60 -0
  27. package/dist/shell/metricsTracker.d.ts.map +1 -0
  28. package/dist/shell/metricsTracker.js +119 -0
  29. package/dist/shell/metricsTracker.js.map +1 -0
  30. package/dist/shell/shellApp.d.ts +0 -2
  31. package/dist/shell/shellApp.d.ts.map +1 -1
  32. package/dist/shell/shellApp.js +0 -16
  33. package/dist/shell/shellApp.js.map +1 -1
  34. package/dist/shell/systemPrompt.d.ts.map +1 -1
  35. package/dist/shell/systemPrompt.js +4 -1
  36. package/dist/shell/systemPrompt.js.map +1 -1
  37. package/dist/shell/terminalInput.d.ts +10 -3
  38. package/dist/shell/terminalInput.d.ts.map +1 -1
  39. package/dist/shell/terminalInput.js +33 -14
  40. package/dist/shell/terminalInput.js.map +1 -1
  41. package/dist/shell/terminalInputAdapter.d.ts +5 -0
  42. package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
  43. package/dist/shell/terminalInputAdapter.js +7 -0
  44. package/dist/shell/terminalInputAdapter.js.map +1 -1
  45. package/dist/tools/securityTools.d.ts +22 -0
  46. package/dist/tools/securityTools.d.ts.map +1 -0
  47. package/dist/tools/securityTools.js +448 -0
  48. package/dist/tools/securityTools.js.map +1 -0
  49. package/package.json +1 -1
@@ -0,0 +1,271 @@
1
+ /**
2
+ * Memory System - Hierarchical persistent memory for AI context
3
+ *
4
+ * Implements a Claude Code-style memory system that loads persistent context
5
+ * from markdown files at multiple levels:
6
+ *
7
+ * 1. Enterprise Policy: /etc/erosolar/EROSOLAR.md (Linux), managed settings
8
+ * 2. User Memory: ~/.erosolar/EROSOLAR.md
9
+ * 3. Project Memory: ./EROSOLAR.md or ./.erosolar/EROSOLAR.md
10
+ *
11
+ * Supports @imports for including external files recursively (max 5 levels).
12
+ */
13
+ import { existsSync, readFileSync } from 'node:fs';
14
+ import { dirname, isAbsolute, join, resolve } from 'node:path';
15
+ import { homedir, platform } from 'node:os';
16
+ const MAX_IMPORT_DEPTH = 5;
17
+ const MEMORY_FILE_NAMES = ['EROSOLAR.md', 'CLAUDE.md'];
18
+ const DATA_DIR_NAME = '.erosolar';
19
+ /**
20
+ * Get the path to the enterprise policy memory file
21
+ */
22
+ function getEnterprisePolicyPath() {
23
+ const plat = platform();
24
+ if (plat === 'darwin') {
25
+ return '/Library/Application Support/Erosolar/EROSOLAR.md';
26
+ }
27
+ if (plat === 'linux') {
28
+ return '/etc/erosolar/EROSOLAR.md';
29
+ }
30
+ if (plat === 'win32') {
31
+ const programData = process.env['PROGRAMDATA'] || 'C:\\ProgramData';
32
+ return join(programData, 'Erosolar', 'EROSOLAR.md');
33
+ }
34
+ return null;
35
+ }
36
+ /**
37
+ * Get the path to the user memory file
38
+ */
39
+ function getUserMemoryPath() {
40
+ return join(homedir(), DATA_DIR_NAME, 'EROSOLAR.md');
41
+ }
42
+ /**
43
+ * Find project memory file in the workspace
44
+ */
45
+ function findProjectMemoryPath(workingDir) {
46
+ // Check root level first
47
+ for (const name of MEMORY_FILE_NAMES) {
48
+ const rootPath = join(workingDir, name);
49
+ if (existsSync(rootPath)) {
50
+ return rootPath;
51
+ }
52
+ }
53
+ // Check .erosolar directory
54
+ for (const name of MEMORY_FILE_NAMES) {
55
+ const nestedPath = join(workingDir, DATA_DIR_NAME, name);
56
+ if (existsSync(nestedPath)) {
57
+ return nestedPath;
58
+ }
59
+ }
60
+ // Check .claude directory for compatibility
61
+ for (const name of MEMORY_FILE_NAMES) {
62
+ const claudePath = join(workingDir, '.claude', name);
63
+ if (existsSync(claudePath)) {
64
+ return claudePath;
65
+ }
66
+ }
67
+ return null;
68
+ }
69
+ /**
70
+ * Parse @imports from a memory file content
71
+ */
72
+ function parseImports(content) {
73
+ const imports = [];
74
+ const lines = content.split('\n');
75
+ for (const line of lines) {
76
+ const trimmed = line.trim();
77
+ // Match @path/to/file.md or @~/path/to/file.md
78
+ if (trimmed.startsWith('@') && !trimmed.startsWith('@{')) {
79
+ const importPath = trimmed.slice(1).trim();
80
+ if (importPath) {
81
+ imports.push(importPath);
82
+ }
83
+ }
84
+ }
85
+ return imports;
86
+ }
87
+ /**
88
+ * Remove @import lines from content (they're processed, not displayed)
89
+ */
90
+ function removeImportLines(content) {
91
+ return content
92
+ .split('\n')
93
+ .filter((line) => {
94
+ const trimmed = line.trim();
95
+ return !trimmed.startsWith('@') || trimmed.startsWith('@{');
96
+ })
97
+ .join('\n')
98
+ .trim();
99
+ }
100
+ /**
101
+ * Resolve an import path relative to the source file
102
+ */
103
+ function resolveImportPath(importPath, sourceDir) {
104
+ // Handle ~ for home directory
105
+ if (importPath.startsWith('~/') || importPath.startsWith('~\\')) {
106
+ return join(homedir(), importPath.slice(2));
107
+ }
108
+ // Handle absolute paths
109
+ if (isAbsolute(importPath)) {
110
+ return importPath;
111
+ }
112
+ // Relative to source file directory
113
+ return resolve(sourceDir, importPath);
114
+ }
115
+ /**
116
+ * Load a memory file and process its imports recursively
117
+ */
118
+ function loadMemoryFileWithImports(filePath, depth, visitedPaths, importedPaths) {
119
+ if (depth > MAX_IMPORT_DEPTH) {
120
+ return `<!-- Import depth exceeded (max ${MAX_IMPORT_DEPTH}) for: ${filePath} -->`;
121
+ }
122
+ const normalizedPath = resolve(filePath);
123
+ if (visitedPaths.has(normalizedPath)) {
124
+ return `<!-- Circular import detected: ${filePath} -->`;
125
+ }
126
+ if (!existsSync(filePath)) {
127
+ return `<!-- Import not found: ${filePath} -->`;
128
+ }
129
+ visitedPaths.add(normalizedPath);
130
+ importedPaths.push(normalizedPath);
131
+ let content;
132
+ try {
133
+ content = readFileSync(filePath, 'utf-8');
134
+ }
135
+ catch (error) {
136
+ return `<!-- Failed to read: ${filePath} -->`;
137
+ }
138
+ const sourceDir = dirname(normalizedPath);
139
+ const imports = parseImports(content);
140
+ // Process imports and replace with their content
141
+ let processedContent = removeImportLines(content);
142
+ for (const importPath of imports) {
143
+ const resolvedPath = resolveImportPath(importPath, sourceDir);
144
+ const importedContent = loadMemoryFileWithImports(resolvedPath, depth + 1, visitedPaths, importedPaths);
145
+ processedContent += '\n\n' + importedContent;
146
+ }
147
+ return processedContent.trim();
148
+ }
149
+ /**
150
+ * Load all memory from the hierarchy
151
+ */
152
+ export function loadMemory(workingDir) {
153
+ const sources = [];
154
+ const allImportedPaths = [];
155
+ const visitedPaths = new Set();
156
+ // 1. Enterprise policy (highest priority, but loaded first so it can be overridden)
157
+ const enterprisePath = getEnterprisePolicyPath();
158
+ if (enterprisePath && existsSync(enterprisePath)) {
159
+ const content = loadMemoryFileWithImports(enterprisePath, 0, visitedPaths, allImportedPaths);
160
+ if (content.trim()) {
161
+ sources.push({
162
+ level: 'enterprise',
163
+ path: enterprisePath,
164
+ content,
165
+ });
166
+ }
167
+ }
168
+ // 2. User memory
169
+ const userPath = getUserMemoryPath();
170
+ if (existsSync(userPath)) {
171
+ const content = loadMemoryFileWithImports(userPath, 0, visitedPaths, allImportedPaths);
172
+ if (content.trim()) {
173
+ sources.push({
174
+ level: 'user',
175
+ path: userPath,
176
+ content,
177
+ });
178
+ }
179
+ }
180
+ // 3. Project memory
181
+ const projectPath = findProjectMemoryPath(workingDir);
182
+ if (projectPath) {
183
+ const content = loadMemoryFileWithImports(projectPath, 0, visitedPaths, allImportedPaths);
184
+ if (content.trim()) {
185
+ sources.push({
186
+ level: 'project',
187
+ path: projectPath,
188
+ content,
189
+ });
190
+ }
191
+ }
192
+ // Combine all memory with headers
193
+ const sections = [];
194
+ for (const source of sources) {
195
+ const levelLabel = source.level === 'enterprise'
196
+ ? 'Enterprise Policy'
197
+ : source.level === 'user'
198
+ ? 'User Guidelines'
199
+ : 'Project Guidelines';
200
+ sections.push(`## ${levelLabel}\n\n${source.content}`);
201
+ }
202
+ return {
203
+ sources,
204
+ combinedContent: sections.join('\n\n---\n\n'),
205
+ importedPaths: allImportedPaths,
206
+ };
207
+ }
208
+ /**
209
+ * Get memory content formatted for system prompt injection
210
+ */
211
+ export function getMemoryForPrompt(workingDir) {
212
+ const memory = loadMemory(workingDir);
213
+ if (!memory.combinedContent.trim()) {
214
+ return '';
215
+ }
216
+ return `
217
+ <persistent-memory>
218
+ The following persistent context has been loaded from memory files.
219
+ Follow these guidelines when working in this workspace.
220
+
221
+ ${memory.combinedContent}
222
+ </persistent-memory>
223
+ `;
224
+ }
225
+ /**
226
+ * List all memory file paths and their status
227
+ */
228
+ export function listMemoryPaths(workingDir) {
229
+ const paths = [];
230
+ const enterprisePath = getEnterprisePolicyPath();
231
+ if (enterprisePath) {
232
+ paths.push({
233
+ level: 'enterprise',
234
+ path: enterprisePath,
235
+ exists: existsSync(enterprisePath),
236
+ });
237
+ }
238
+ const userPath = getUserMemoryPath();
239
+ paths.push({
240
+ level: 'user',
241
+ path: userPath,
242
+ exists: existsSync(userPath),
243
+ });
244
+ const projectMemoryLocations = [
245
+ join(workingDir, 'EROSOLAR.md'),
246
+ join(workingDir, 'CLAUDE.md'),
247
+ join(workingDir, DATA_DIR_NAME, 'EROSOLAR.md'),
248
+ join(workingDir, '.claude', 'CLAUDE.md'),
249
+ ];
250
+ for (const path of projectMemoryLocations) {
251
+ paths.push({
252
+ level: 'project',
253
+ path,
254
+ exists: existsSync(path),
255
+ });
256
+ }
257
+ return paths;
258
+ }
259
+ /**
260
+ * Get the default path for creating a new project memory file
261
+ */
262
+ export function getDefaultProjectMemoryPath(workingDir) {
263
+ return join(workingDir, 'EROSOLAR.md');
264
+ }
265
+ /**
266
+ * Get the user memory path for editing
267
+ */
268
+ export function getUserMemoryEditPath() {
269
+ return getUserMemoryPath();
270
+ }
271
+ //# sourceMappingURL=memorySystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memorySystem.js","sourceRoot":"","sources":["../../src/core/memorySystem.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefaults.d.ts","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"AAgCA,wBAAgB,8BAA8B,IAAI,IAAI,CAmCrD"}
1
+ {"version":3,"file":"nodeDefaults.d.ts","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"AAiCA,wBAAgB,8BAA8B,IAAI,IAAI,CAoCrD"}
@@ -27,6 +27,7 @@ import { createFrontendTestingToolPlugin } from './frontendTesting/frontendTesti
27
27
  import { createBrowserAutomationToolPlugin } from './browser/browserAutomationPlugin.js';
28
28
  import { createValidationToolPlugin } from './validation/validationPlugin.js';
29
29
  import { createBuildToolPlugin } from './build/buildPlugin.js';
30
+ import { createSecurityToolPlugin } from './security/securityPlugin.js';
30
31
  let registered = false;
31
32
  export function registerDefaultNodeToolPlugins() {
32
33
  if (registered) {
@@ -60,6 +61,7 @@ export function registerDefaultNodeToolPlugins() {
60
61
  registerToolPlugin(createBrowserAutomationToolPlugin());
61
62
  registerToolPlugin(createValidationToolPlugin());
62
63
  registerToolPlugin(createBuildToolPlugin());
64
+ registerToolPlugin(createSecurityToolPlugin());
63
65
  registered = true;
64
66
  }
65
67
  //# sourceMappingURL=nodeDefaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeDefaults.js","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodeDefaults.js","sourceRoot":"","sources":["../../../src/plugins/tools/nodeDefaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ToolPlugin } from '../registry.js';
2
+ export declare function createSecurityToolPlugin(): ToolPlugin;
3
+ //# sourceMappingURL=securityPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"securityPlugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/tools/security/securityPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAGpE,wBAAgB,wBAAwB,IAAI,UAAU,CAUrD"}
@@ -0,0 +1,12 @@
1
+ import { SecurityTestingCapabilityModule } from '../../../capabilities/securityTestingCapability.js';
2
+ export function createSecurityToolPlugin() {
3
+ return {
4
+ id: 'tool.security.testing',
5
+ description: 'Ethical penetration testing and security analysis tools. For authorized testing only.',
6
+ targets: ['node'],
7
+ create: async (context) => new SecurityTestingCapabilityModule({
8
+ workingDir: context.workingDir,
9
+ }),
10
+ };
11
+ }
12
+ //# sourceMappingURL=securityPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"securityPlugin.js","sourceRoot":"","sources":["../../../../src/plugins/tools/security/securityPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAErG,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,uFAAuF;QACpG,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,OAA0B,EAAE,EAAE,CAC3C,IAAI,+BAA+B,CAAC;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;KACL,CAAC;AACJ,CAAC"}
@@ -58,7 +58,7 @@ export declare class InteractiveShell {
58
58
  private readonly uiAdapter;
59
59
  private readonly uiUpdates;
60
60
  private readonly _fileChangeTracker;
61
- private readonly alphaZeroMetrics;
61
+ private readonly sessionMetrics;
62
62
  private statusSubscription;
63
63
  private readonly followUpQueue;
64
64
  private isDrainingQueue;
@@ -212,6 +212,10 @@ export declare class InteractiveShell {
212
212
  private invokeSkillTool;
213
213
  private handleThinkingCommand;
214
214
  private handleShortcutsCommand;
215
+ private handleMemoryCommand;
216
+ private showMemoryStatus;
217
+ private showMemoryPaths;
218
+ private openMemoryForEdit;
215
219
  private showFileChangeSummary;
216
220
  private showAlphaZeroMetrics;
217
221
  private showImprovementSuggestions;
@@ -1 +1 @@
1
- {"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,9 @@ import { SkillRepository } from '../skills/skillRepository.js';
19
19
  import { createSkillTools } from '../tools/skillTools.js';
20
20
  import { FileChangeTracker } from './fileChangeTracker.js';
21
21
  import { formatShortcutsHelp } from '../ui/shortcutsHelp.js';
22
- import { MetricsTracker } from '../alpha-zero/index.js';
22
+ import { MetricsTracker } from './metricsTracker.js';
23
23
  import { listAvailablePlugins } from '../plugins/index.js';
24
+ import { loadMemory, listMemoryPaths, getDefaultProjectMemoryPath, getUserMemoryEditPath, } from '../core/memorySystem.js';
24
25
  import { TerminalInputAdapter } from './terminalInputAdapter.js';
25
26
  import { isUpdateInProgress } from './updateManager.js';
26
27
  import { writeLock } from '../ui/writeLock.js';
@@ -93,7 +94,7 @@ export class InteractiveShell {
93
94
  uiAdapter;
94
95
  uiUpdates;
95
96
  _fileChangeTracker = new FileChangeTracker(); // Reserved for future file tracking features
96
- alphaZeroMetrics; // Alpha Zero 2 performance tracking
97
+ sessionMetrics; // Session performance tracking
97
98
  statusSubscription = null;
98
99
  followUpQueue = [];
99
100
  isDrainingQueue = false;
@@ -218,8 +219,10 @@ export class InteractiveShell {
218
219
  // Use flow mode: input renders inline after content for a unified layout
219
220
  // This eliminates the blank space between banner and input area
220
221
  this.terminalInput.setFlowMode(true);
222
+ // Set content end row so input renders right after startup content
223
+ this.terminalInput.setContentEndRow(display.getTotalWrittenLines());
221
224
  // Initialize Alpha Zero 2 metrics tracking
222
- this.alphaZeroMetrics = new MetricsTracker(`${this.profile}-${Date.now()}`);
225
+ this.sessionMetrics = new MetricsTracker(`${this.profile}-${Date.now()}`);
223
226
  this.setupStatusTracking();
224
227
  this.refreshContextGauge();
225
228
  this.terminalInput.start();
@@ -1093,6 +1096,17 @@ export class InteractiveShell {
1093
1096
  case '/discover':
1094
1097
  await this.discoverModelsCommand();
1095
1098
  break;
1099
+ case '/memory':
1100
+ this.handleMemoryCommand(input);
1101
+ break;
1102
+ case '/clear':
1103
+ display.clear();
1104
+ this.cachedHistory = [];
1105
+ display.showInfo('Conversation cleared.');
1106
+ break;
1107
+ case '/help':
1108
+ this.showHelp();
1109
+ break;
1096
1110
  default:
1097
1111
  if (!(await this.tryCustomSlashCommand(command, input))) {
1098
1112
  display.showWarning(`Unknown command "${command}".`);
@@ -1401,6 +1415,99 @@ export class InteractiveShell {
1401
1415
  // Display keyboard shortcuts help (Claude Code style)
1402
1416
  display.showSystemMessage(formatShortcutsHelp());
1403
1417
  }
1418
+ handleMemoryCommand(input) {
1419
+ const tokens = input.trim().split(/\s+/).slice(1);
1420
+ const action = (tokens.shift() ?? 'show').toLowerCase();
1421
+ switch (action) {
1422
+ case '':
1423
+ case 'show':
1424
+ case 'list': {
1425
+ this.showMemoryStatus();
1426
+ break;
1427
+ }
1428
+ case 'paths': {
1429
+ this.showMemoryPaths();
1430
+ break;
1431
+ }
1432
+ case 'edit': {
1433
+ const level = (tokens[0] ?? 'project').toLowerCase();
1434
+ this.openMemoryForEdit(level);
1435
+ break;
1436
+ }
1437
+ default:
1438
+ display.showWarning('Usage: /memory [show|paths|edit <user|project>]');
1439
+ break;
1440
+ }
1441
+ }
1442
+ showMemoryStatus() {
1443
+ const memory = loadMemory(this.workingDir);
1444
+ const lines = [];
1445
+ lines.push(theme.bold('Persistent Memory'));
1446
+ lines.push('');
1447
+ if (memory.sources.length === 0) {
1448
+ lines.push(theme.secondary('No memory files found.'));
1449
+ lines.push('');
1450
+ lines.push(`Create ${theme.info('EROSOLAR.md')} in your project to add persistent context.`);
1451
+ lines.push(`Use ${theme.info('/memory edit project')} to create one.`);
1452
+ }
1453
+ else {
1454
+ for (const source of memory.sources) {
1455
+ const levelLabel = source.level === 'enterprise' ? 'Enterprise' :
1456
+ source.level === 'user' ? 'User' : 'Project';
1457
+ const preview = source.content.slice(0, 200).replace(/\n/g, ' ').trim();
1458
+ const truncated = source.content.length > 200 ? '...' : '';
1459
+ lines.push(`${theme.success('●')} ${theme.bold(levelLabel)}: ${source.path}`);
1460
+ lines.push(` ${theme.dim(preview + truncated)}`);
1461
+ lines.push('');
1462
+ }
1463
+ if (memory.importedPaths.length > memory.sources.length) {
1464
+ lines.push(theme.secondary(`Imported ${memory.importedPaths.length - memory.sources.length} additional files via @imports.`));
1465
+ }
1466
+ }
1467
+ display.showSystemMessage(lines.join('\n'));
1468
+ }
1469
+ showMemoryPaths() {
1470
+ const paths = listMemoryPaths(this.workingDir);
1471
+ const lines = [];
1472
+ lines.push(theme.bold('Memory File Locations'));
1473
+ lines.push('');
1474
+ for (const { level, path, exists } of paths) {
1475
+ const icon = exists ? theme.success('✓') : theme.dim('○');
1476
+ const levelLabel = level.charAt(0).toUpperCase() + level.slice(1);
1477
+ lines.push(`${icon} ${levelLabel}: ${path}`);
1478
+ }
1479
+ lines.push('');
1480
+ lines.push(theme.secondary('Create any of these files to add persistent memory.'));
1481
+ lines.push(theme.secondary('Use @path/to/file.md syntax to import other files.'));
1482
+ display.showSystemMessage(lines.join('\n'));
1483
+ }
1484
+ openMemoryForEdit(level) {
1485
+ let targetPath;
1486
+ if (level === 'user') {
1487
+ targetPath = getUserMemoryEditPath();
1488
+ }
1489
+ else if (level === 'project') {
1490
+ targetPath = getDefaultProjectMemoryPath(this.workingDir);
1491
+ }
1492
+ else {
1493
+ display.showWarning('Specify "user" or "project" to edit. Enterprise memory is read-only.');
1494
+ return;
1495
+ }
1496
+ display.showInfo(`Memory file: ${targetPath}`);
1497
+ display.showInfo('Create or edit this file to add persistent context for the AI.');
1498
+ display.showInfo('');
1499
+ display.showInfo('Example EROSOLAR.md content:');
1500
+ display.showInfo('');
1501
+ display.showInfo(theme.dim(`# Project Guidelines
1502
+
1503
+ When working in this codebase:
1504
+ - Follow TypeScript strict mode conventions
1505
+ - Use functional patterns where appropriate
1506
+ - Run tests before committing
1507
+
1508
+ @./docs/coding-standards.md
1509
+ `));
1510
+ }
1404
1511
  showFileChangeSummary() {
1405
1512
  const summary = this._fileChangeTracker.getSummary();
1406
1513
  const changes = this._fileChangeTracker.getAllChanges();
@@ -1443,11 +1550,11 @@ export class InteractiveShell {
1443
1550
  display.showSystemMessage(lines.join('\n'));
1444
1551
  }
1445
1552
  showAlphaZeroMetrics() {
1446
- const summary = this.alphaZeroMetrics.getPerformanceSummary();
1553
+ const summary = this.sessionMetrics.getPerformanceSummary();
1447
1554
  display.showSystemMessage(summary);
1448
1555
  }
1449
1556
  showImprovementSuggestions() {
1450
- const suggestions = this.alphaZeroMetrics.getImprovementSuggestions();
1557
+ const suggestions = this.sessionMetrics.getImprovementSuggestions();
1451
1558
  if (suggestions.length === 0) {
1452
1559
  display.showInfo('No improvement suggestions at this time. Keep using the shell to generate metrics!');
1453
1560
  return;
@@ -1493,9 +1600,7 @@ export class InteractiveShell {
1493
1600
  }
1494
1601
  }
1495
1602
  lines.push(theme.secondary('CLI Flags:'));
1496
- lines.push(' --alpha-zero Enable Alpha Zero 2 RL framework');
1497
1603
  lines.push(' --coding Enable enhanced coding tools');
1498
- lines.push(' --security Enable security research tools');
1499
1604
  lines.push(' --all-plugins Enable all optional plugins');
1500
1605
  display.showSystemMessage(lines.join('\n'));
1501
1606
  }
@@ -2207,7 +2312,7 @@ export class InteractiveShell {
2207
2312
  this.autosaveIfEnabled();
2208
2313
  // Track metrics with Alpha Zero 2
2209
2314
  const elapsedMs = Date.now() - requestStartTime;
2210
- this.alphaZeroMetrics.recordMessage(elapsedMs);
2315
+ this.sessionMetrics.recordMessage(elapsedMs);
2211
2316
  if (!responseText?.trim()) {
2212
2317
  display.showWarning('The provider returned an empty response. Check your API key/provider selection or retry the prompt.');
2213
2318
  }
@@ -2225,6 +2330,7 @@ export class InteractiveShell {
2225
2330
  this.stopStreamingHeartbeat();
2226
2331
  this.isProcessing = false;
2227
2332
  this.terminalInput.setStreaming(false);
2333
+ this.terminalInput.setContentEndRow(display.getTotalWrittenLines());
2228
2334
  this.uiAdapter.endProcessing('Ready for prompts');
2229
2335
  this.setIdleStatus();
2230
2336
  display.newLine();
@@ -2314,7 +2420,7 @@ When truly finished with ALL tasks, explicitly state "TASK_FULLY_COMPLETE".`;
2314
2420
  this.autosaveIfEnabled();
2315
2421
  // Track metrics
2316
2422
  const elapsedMs = Date.now() - overallStartTime;
2317
- this.alphaZeroMetrics.recordMessage(elapsedMs);
2423
+ this.sessionMetrics.recordMessage(elapsedMs);
2318
2424
  if (!response?.trim()) {
2319
2425
  display.showWarning('Model returned an empty response. Retrying this iteration...');
2320
2426
  consecutiveNoProgress++;
@@ -2451,6 +2557,7 @@ What's the next action?`;
2451
2557
  this.stopStreamingHeartbeat();
2452
2558
  this.isProcessing = false;
2453
2559
  this.terminalInput.setStreaming(false);
2560
+ this.terminalInput.setContentEndRow(display.getTotalWrittenLines());
2454
2561
  this.uiAdapter.endProcessing('Ready for prompts');
2455
2562
  this.setIdleStatus();
2456
2563
  this.updateStatusMessage(null);
@@ -2939,6 +3046,7 @@ What's the next action?`;
2939
3046
  this.stopStreamingHeartbeat();
2940
3047
  this.updateStatusMessage(null);
2941
3048
  this.terminalInput.setStreaming(false);
3049
+ this.terminalInput.setContentEndRow(display.getTotalWrittenLines());
2942
3050
  this.terminalInput.render();
2943
3051
  },
2944
3052
  onVerificationNeeded: () => {
@@ -2975,6 +3083,7 @@ What's the next action?`;
2975
3083
  resetChatBoxAfterModelSwap() {
2976
3084
  this.updateStatusMessage(null);
2977
3085
  this.terminalInput.setStreaming(false);
3086
+ this.terminalInput.setContentEndRow(display.getTotalWrittenLines());
2978
3087
  this.terminalInput.render();
2979
3088
  this.ensureReadlineReady();
2980
3089
  }