@lanonasis/cli 3.6.3 → 3.6.5

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 (41) hide show
  1. package/dist/commands/api-keys.d.ts +1 -2
  2. package/dist/commands/api-keys.js +78 -73
  3. package/dist/commands/auth.js +167 -160
  4. package/dist/commands/completion.js +39 -31
  5. package/dist/commands/config.js +201 -162
  6. package/dist/commands/enhanced-memory.js +17 -11
  7. package/dist/commands/guide.js +88 -79
  8. package/dist/commands/init.js +20 -14
  9. package/dist/commands/mcp.js +173 -142
  10. package/dist/commands/memory.js +83 -77
  11. package/dist/commands/organization.js +21 -15
  12. package/dist/commands/topics.js +58 -52
  13. package/dist/core/achievements.js +26 -19
  14. package/dist/core/architecture.js +59 -42
  15. package/dist/core/dashboard.js +81 -71
  16. package/dist/core/error-handler.js +39 -30
  17. package/dist/core/power-mode.js +53 -46
  18. package/dist/core/progress.js +44 -35
  19. package/dist/core/welcome.js +64 -56
  20. package/dist/enhanced-cli.js +58 -49
  21. package/dist/index-simple.js +112 -74
  22. package/dist/index.js +68 -63
  23. package/dist/mcp/access-control.js +17 -13
  24. package/dist/mcp/client/enhanced-client.js +23 -16
  25. package/dist/mcp/enhanced-server.js +14 -10
  26. package/dist/mcp/logger.js +6 -2
  27. package/dist/mcp/memory-state.js +17 -13
  28. package/dist/mcp/schemas/tool-schemas.d.ts +28 -28
  29. package/dist/mcp/schemas/tool-schemas.js +126 -122
  30. package/dist/mcp/server/lanonasis-server.js +51 -44
  31. package/dist/mcp/transports/transport-manager.js +25 -18
  32. package/dist/mcp/vector-store.js +10 -6
  33. package/dist/mcp-server.js +21 -17
  34. package/dist/utils/api.js +30 -21
  35. package/dist/utils/config.js +61 -15
  36. package/dist/utils/formatting.js +14 -6
  37. package/dist/utils/mcp-client.js +132 -77
  38. package/package.json +17 -92
  39. package/dist/completions/bash-completion.sh +0 -88
  40. package/dist/completions/fish-completion.fish +0 -132
  41. package/dist/completions/zsh-completion.zsh +0 -196
@@ -1,11 +1,17 @@
1
+ "use strict";
1
2
  /**
2
3
  * Power User Mode
3
4
  * Streamlined interface for expert users with advanced features
4
5
  */
5
- import chalk from 'chalk';
6
- import readline from 'readline';
7
- import { SmartSuggestions } from './progress.js';
8
- export class PowerUserMode {
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PowerUserMode = void 0;
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ const readline_1 = __importDefault(require("readline"));
13
+ const progress_js_1 = require("./progress.js");
14
+ class PowerUserMode {
9
15
  stateManager;
10
16
  commandHistory = [];
11
17
  historyIndex = -1;
@@ -14,7 +20,7 @@ export class PowerUserMode {
14
20
  aliases = new Map();
15
21
  constructor(stateManager) {
16
22
  this.stateManager = stateManager;
17
- this.smartSuggestions = new SmartSuggestions(stateManager.getUserContext());
23
+ this.smartSuggestions = new progress_js_1.SmartSuggestions(stateManager.getUserContext());
18
24
  this.loadAliases();
19
25
  }
20
26
  /**
@@ -23,7 +29,7 @@ export class PowerUserMode {
23
29
  async enter() {
24
30
  console.clear();
25
31
  this.showBanner();
26
- this.rl = readline.createInterface({
32
+ this.rl = readline_1.default.createInterface({
27
33
  input: process.stdin,
28
34
  output: process.stdout,
29
35
  prompt: this.getPrompt(),
@@ -41,15 +47,15 @@ export class PowerUserMode {
41
47
  if (this.rl) {
42
48
  this.rl.close();
43
49
  }
44
- console.log(chalk.dim('\nExiting power mode...'));
50
+ console.log(chalk_1.default.dim('\nExiting power mode...'));
45
51
  }
46
52
  /**
47
53
  * Show power mode banner
48
54
  */
49
55
  showBanner() {
50
- console.log(chalk.cyan.bold('◗ ONASIS POWER MODE'));
51
- console.log(chalk.dim('━'.repeat(50)));
52
- console.log(chalk.dim('Type commands directly. Tab for completion. ? for help.'));
56
+ console.log(chalk_1.default.cyan.bold('◗ ONASIS POWER MODE'));
57
+ console.log(chalk_1.default.dim('━'.repeat(50)));
58
+ console.log(chalk_1.default.dim('Type commands directly. Tab for completion. ? for help.'));
53
59
  console.log();
54
60
  }
55
61
  /**
@@ -58,7 +64,7 @@ export class PowerUserMode {
58
64
  getPrompt() {
59
65
  const context = this.stateManager.getCurrentNavigation();
60
66
  const contextName = context ? context.name : 'memories';
61
- return chalk.cyan('◗ ') + chalk.blue(`onasis:${contextName}> `);
67
+ return chalk_1.default.cyan('◗ ') + chalk_1.default.blue(`onasis:${contextName}> `);
62
68
  }
63
69
  /**
64
70
  * Setup key bindings for enhanced navigation
@@ -73,7 +79,7 @@ export class PowerUserMode {
73
79
  });
74
80
  // Ctrl+C for graceful exit
75
81
  this.rl.on('SIGINT', () => {
76
- console.log(chalk.yellow('\n\nUse "exit" to leave power mode'));
82
+ console.log(chalk_1.default.yellow('\n\nUse "exit" to leave power mode'));
77
83
  this.rl?.prompt();
78
84
  });
79
85
  // Ctrl+L for clear screen
@@ -181,7 +187,7 @@ export class PowerUserMode {
181
187
  */
182
188
  async quickCreate(args) {
183
189
  if (args.length === 0) {
184
- console.log(chalk.yellow('Usage: create [-t title] [-c content] [--tags tag1,tag2] [--type type] [--topic topic]'));
190
+ console.log(chalk_1.default.yellow('Usage: create [-t title] [-c content] [--tags tag1,tag2] [--type type] [--topic topic]'));
185
191
  return;
186
192
  }
187
193
  const params = this.parseArgs(args);
@@ -191,23 +197,23 @@ export class PowerUserMode {
191
197
  const tags = params.tags ? params.tags.split(',') : [];
192
198
  const type = params.type || 'knowledge';
193
199
  const topic = params.topic;
194
- console.log(chalk.green(`✓ Memory created (id: mem_${this.generateId()}) in 47ms`));
195
- console.log(chalk.dim(` Title: ${title}`));
196
- console.log(chalk.dim(` Type: ${type}`));
200
+ console.log(chalk_1.default.green(`✓ Memory created (id: mem_${this.generateId()}) in 47ms`));
201
+ console.log(chalk_1.default.dim(` Title: ${title}`));
202
+ console.log(chalk_1.default.dim(` Type: ${type}`));
197
203
  if (topic)
198
- console.log(chalk.dim(` Topic: ${topic}`));
204
+ console.log(chalk_1.default.dim(` Topic: ${topic}`));
199
205
  if (tags.length)
200
- console.log(chalk.dim(` Tags: ${tags.join(', ')}`));
206
+ console.log(chalk_1.default.dim(` Tags: ${tags.join(', ')}`));
201
207
  }
202
208
  /**
203
209
  * Quick search command
204
210
  */
205
211
  async quickSearch(query) {
206
212
  if (!query) {
207
- console.log(chalk.yellow('Usage: search <query> [--limit n] [--threshold 0.x]'));
213
+ console.log(chalk_1.default.yellow('Usage: search <query> [--limit n] [--threshold 0.x]'));
208
214
  return;
209
215
  }
210
- console.log(chalk.dim(`Searching for "${query}"...`));
216
+ console.log(chalk_1.default.dim(`Searching for "${query}"...`));
211
217
  // Simulate search results
212
218
  const results = [
213
219
  { id: 'mem_abc123', title: 'API Response Caching', score: 100 },
@@ -232,7 +238,7 @@ export class PowerUserMode {
232
238
  const params = this.parseArgs(args);
233
239
  const limit = params.limit || 10;
234
240
  const sortBy = params.sort || 'created';
235
- console.log(chalk.dim(`Listing memories (limit: ${limit}, sort: ${sortBy})`));
241
+ console.log(chalk_1.default.dim(`Listing memories (limit: ${limit}, sort: ${sortBy})`));
236
242
  // Simulate list
237
243
  const items = [
238
244
  'mem_abc123 API Documentation 2 hours ago',
@@ -246,29 +252,29 @@ export class PowerUserMode {
246
252
  */
247
253
  async quickDelete(args) {
248
254
  if (args.length === 0) {
249
- console.log(chalk.yellow('Usage: delete <id>'));
255
+ console.log(chalk_1.default.yellow('Usage: delete <id>'));
250
256
  return;
251
257
  }
252
258
  const id = args[0];
253
- console.log(chalk.red(`✓ Memory ${id} deleted`));
259
+ console.log(chalk_1.default.red(`✓ Memory ${id} deleted`));
254
260
  }
255
261
  /**
256
262
  * Quick update command
257
263
  */
258
264
  async quickUpdate(args) {
259
265
  if (args.length === 0) {
260
- console.log(chalk.yellow('Usage: update <id> [--title new-title] [--add-tag tag] [--remove-tag tag]'));
266
+ console.log(chalk_1.default.yellow('Usage: update <id> [--title new-title] [--add-tag tag] [--remove-tag tag]'));
261
267
  return;
262
268
  }
263
269
  const id = args[0];
264
270
  const params = this.parseArgs(args.slice(1));
265
- console.log(chalk.green(`✓ Memory ${id} updated`));
271
+ console.log(chalk_1.default.green(`✓ Memory ${id} updated`));
266
272
  if (params.title)
267
- console.log(chalk.dim(` New title: ${params.title}`));
273
+ console.log(chalk_1.default.dim(` New title: ${params.title}`));
268
274
  if (params['add-tag'])
269
- console.log(chalk.dim(` Added tag: ${params['add-tag']}`));
275
+ console.log(chalk_1.default.dim(` Added tag: ${params['add-tag']}`));
270
276
  if (params['remove-tag'])
271
- console.log(chalk.dim(` Removed tag: ${params['remove-tag']}`));
277
+ console.log(chalk_1.default.dim(` Removed tag: ${params['remove-tag']}`));
272
278
  }
273
279
  /**
274
280
  * Handle topic commands
@@ -280,10 +286,10 @@ export class PowerUserMode {
280
286
  console.log('Topics: Architecture, API, Documentation, Projects');
281
287
  break;
282
288
  case 'create':
283
- console.log(chalk.green(`✓ Topic "${args[1]}" created`));
289
+ console.log(chalk_1.default.green(`✓ Topic "${args[1]}" created`));
284
290
  break;
285
291
  default:
286
- console.log(chalk.yellow('Usage: topic [list|create|delete] [name]'));
292
+ console.log(chalk_1.default.yellow('Usage: topic [list|create|delete] [name]'));
287
293
  }
288
294
  }
289
295
  /**
@@ -299,14 +305,14 @@ export class PowerUserMode {
299
305
  console.log('Rate Limits: 1000/hour (432 used)');
300
306
  break;
301
307
  default:
302
- console.log(chalk.yellow('Usage: api [keys|limits|stats]'));
308
+ console.log(chalk_1.default.yellow('Usage: api [keys|limits|stats]'));
303
309
  }
304
310
  }
305
311
  /**
306
312
  * Handle pipe operations
307
313
  */
308
314
  async handlePipe(_args) {
309
- console.log(chalk.cyan('Pipe operations coming soon...'));
315
+ console.log(chalk_1.default.cyan('Pipe operations coming soon...'));
310
316
  }
311
317
  /**
312
318
  * Handle format changes
@@ -316,10 +322,10 @@ export class PowerUserMode {
316
322
  if (['table', 'json', 'yaml', 'minimal'].includes(format)) {
317
323
  const fmt = format;
318
324
  this.stateManager.updatePreference('outputFormat', fmt);
319
- console.log(chalk.green(`✓ Output format set to ${format}`));
325
+ console.log(chalk_1.default.green(`✓ Output format set to ${format}`));
320
326
  }
321
327
  else {
322
- console.log(chalk.yellow('Usage: format [table|json|yaml|minimal]'));
328
+ console.log(chalk_1.default.yellow('Usage: format [table|json|yaml|minimal]'));
323
329
  }
324
330
  }
325
331
  /**
@@ -328,19 +334,19 @@ export class PowerUserMode {
328
334
  async executeSystemCommand(command) {
329
335
  // Check if it looks like a memory content
330
336
  if (!command.startsWith('onasis') && !command.includes('|') && command.length > 10) {
331
- console.log(chalk.dim('Interpreting as memory content...'));
337
+ console.log(chalk_1.default.dim('Interpreting as memory content...'));
332
338
  await this.quickCreate(['-c', command]);
333
339
  }
334
340
  else {
335
- console.log(chalk.red(`Command not recognized: ${command}`));
336
- console.log(chalk.dim('Type "?" for help'));
341
+ console.log(chalk_1.default.red(`Command not recognized: ${command}`));
342
+ console.log(chalk_1.default.dim('Type "?" for help'));
337
343
  }
338
344
  }
339
345
  /**
340
346
  * Show help
341
347
  */
342
348
  showHelp() {
343
- console.log(chalk.bold('\n📚 Power Mode Commands\n'));
349
+ console.log(chalk_1.default.bold('\n📚 Power Mode Commands\n'));
344
350
  const commands = [
345
351
  ['create, c', 'Create memory quickly'],
346
352
  ['search, s, /', 'Search memories'],
@@ -356,9 +362,9 @@ export class PowerUserMode {
356
362
  ['exit, quit', 'Exit power mode']
357
363
  ];
358
364
  commands.forEach(([cmd, desc]) => {
359
- console.log(` ${chalk.cyan(cmd.padEnd(15))} ${desc}`);
365
+ console.log(` ${chalk_1.default.cyan(cmd.padEnd(15))} ${desc}`);
360
366
  });
361
- console.log(chalk.bold('\n⚡ Power Features\n'));
367
+ console.log(chalk_1.default.bold('\n⚡ Power Features\n'));
362
368
  console.log(' • Tab completion for commands and arguments');
363
369
  console.log(' • Pipe operations: search cache | format table');
364
370
  console.log(' • Aliases: alias sc="search cache"');
@@ -370,9 +376,9 @@ export class PowerUserMode {
370
376
  * Show command history
371
377
  */
372
378
  showHistory() {
373
- console.log(chalk.bold('\n📜 Command History\n'));
379
+ console.log(chalk_1.default.bold('\n📜 Command History\n'));
374
380
  this.commandHistory.slice(-10).forEach((cmd, i) => {
375
- console.log(` ${chalk.dim(String(i + 1).padStart(3))} ${cmd}`);
381
+ console.log(` ${chalk_1.default.dim(String(i + 1).padStart(3))} ${cmd}`);
376
382
  });
377
383
  }
378
384
  /**
@@ -381,9 +387,9 @@ export class PowerUserMode {
381
387
  handleAlias(args) {
382
388
  if (args.length === 0) {
383
389
  // Show all aliases
384
- console.log(chalk.bold('\n🔤 Aliases\n'));
390
+ console.log(chalk_1.default.bold('\n🔤 Aliases\n'));
385
391
  this.aliases.forEach((value, key) => {
386
- console.log(` ${chalk.cyan(key)} = "${value}"`);
392
+ console.log(` ${chalk_1.default.cyan(key)} = "${value}"`);
387
393
  });
388
394
  return;
389
395
  }
@@ -392,11 +398,11 @@ export class PowerUserMode {
392
398
  if (match) {
393
399
  const [, name, command] = match;
394
400
  this.aliases.set(name, command);
395
- console.log(chalk.green(`✓ Alias created: ${name} → ${command}`));
401
+ console.log(chalk_1.default.green(`✓ Alias created: ${name} → ${command}`));
396
402
  this.saveAliases();
397
403
  }
398
404
  else {
399
- console.log(chalk.yellow('Usage: alias name="command"'));
405
+ console.log(chalk_1.default.yellow('Usage: alias name="command"'));
400
406
  }
401
407
  }
402
408
  /**
@@ -460,3 +466,4 @@ export class PowerUserMode {
460
466
  // Would save to config file
461
467
  }
462
468
  }
469
+ exports.PowerUserMode = PowerUserMode;
@@ -1,12 +1,18 @@
1
+ "use strict";
1
2
  /**
2
3
  * Progress Indicators and Feedback System
3
4
  * Provides real-time visual feedback for long-running operations
4
5
  */
5
- import ora from 'ora';
6
- import chalk from 'chalk';
7
- import cliProgress from 'cli-progress';
8
- import { performance } from 'perf_hooks';
9
- export class ProgressIndicator {
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.SmartSuggestions = exports.MultiStepProgress = exports.ProgressIndicator = void 0;
11
+ const ora_1 = __importDefault(require("ora"));
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const cli_progress_1 = __importDefault(require("cli-progress"));
14
+ const perf_hooks_1 = require("perf_hooks");
15
+ class ProgressIndicator {
10
16
  spinner;
11
17
  progressBar;
12
18
  startTime;
@@ -14,8 +20,8 @@ export class ProgressIndicator {
14
20
  * Show a spinner for indeterminate progress
15
21
  */
16
22
  startSpinner(message, options) {
17
- this.startTime = performance.now();
18
- this.spinner = ora({
23
+ this.startTime = perf_hooks_1.performance.now();
24
+ this.spinner = (0, ora_1.default)({
19
25
  text: message,
20
26
  spinner: (options?.spinner || 'dots12'),
21
27
  color: (options?.color || 'cyan'),
@@ -38,7 +44,7 @@ export class ProgressIndicator {
38
44
  if (this.spinner) {
39
45
  const elapsed = this.getElapsedTime();
40
46
  const finalMessage = message || this.spinner.text;
41
- this.spinner.succeed(`${finalMessage} ${chalk.dim(`(${elapsed}ms)`)}`);
47
+ this.spinner.succeed(`${finalMessage} ${chalk_1.default.dim(`(${elapsed}ms)`)}`);
42
48
  this.spinner = undefined;
43
49
  }
44
50
  }
@@ -49,7 +55,7 @@ export class ProgressIndicator {
49
55
  if (this.spinner) {
50
56
  const elapsed = this.getElapsedTime();
51
57
  const finalMessage = message || this.spinner.text;
52
- this.spinner.fail(`${finalMessage} ${chalk.dim(`(${elapsed}ms)`)}`);
58
+ this.spinner.fail(`${finalMessage} ${chalk_1.default.dim(`(${elapsed}ms)`)}`);
53
59
  this.spinner = undefined;
54
60
  }
55
61
  }
@@ -60,7 +66,7 @@ export class ProgressIndicator {
60
66
  if (this.spinner) {
61
67
  const elapsed = this.getElapsedTime();
62
68
  const finalMessage = message || this.spinner.text;
63
- this.spinner.warn(`${finalMessage} ${chalk.dim(`(${elapsed}ms)`)}`);
69
+ this.spinner.warn(`${finalMessage} ${chalk_1.default.dim(`(${elapsed}ms)`)}`);
64
70
  this.spinner = undefined;
65
71
  }
66
72
  }
@@ -77,17 +83,17 @@ export class ProgressIndicator {
77
83
  * Show a progress bar for determinate progress
78
84
  */
79
85
  startProgressBar(total, options) {
80
- this.startTime = performance.now();
86
+ this.startTime = perf_hooks_1.performance.now();
81
87
  const format = options?.format ||
82
- '{title} |' + chalk.cyan('{bar}') + '| {percentage}% | {value}/{total} | {duration}s | {eta}s remaining';
83
- this.progressBar = new cliProgress.SingleBar({
88
+ '{title} |' + chalk_1.default.cyan('{bar}') + '| {percentage}% | {value}/{total} | {duration}s | {eta}s remaining';
89
+ this.progressBar = new cli_progress_1.default.SingleBar({
84
90
  format,
85
91
  barCompleteChar: '█',
86
92
  barIncompleteChar: '░',
87
93
  hideCursor: true,
88
94
  clearOnComplete: options?.clearOnComplete || false,
89
95
  stopOnComplete: true
90
- }, cliProgress.Presets.shades_classic);
96
+ }, cli_progress_1.default.Presets.shades_classic);
91
97
  this.progressBar.start(total, 0, {
92
98
  title: options?.title || 'Progress'
93
99
  });
@@ -161,14 +167,15 @@ export class ProgressIndicator {
161
167
  getElapsedTime() {
162
168
  if (!this.startTime)
163
169
  return '0';
164
- const elapsed = Math.round(performance.now() - this.startTime);
170
+ const elapsed = Math.round(perf_hooks_1.performance.now() - this.startTime);
165
171
  return elapsed.toString();
166
172
  }
167
173
  }
174
+ exports.ProgressIndicator = ProgressIndicator;
168
175
  /**
169
176
  * Multi-step progress indicator
170
177
  */
171
- export class MultiStepProgress {
178
+ class MultiStepProgress {
172
179
  steps;
173
180
  currentStep = 0;
174
181
  progressIndicator;
@@ -209,13 +216,13 @@ export class MultiStepProgress {
209
216
  console.clear();
210
217
  const progressBar = this.renderProgressBar();
211
218
  const stepList = this.renderStepList();
212
- console.log(chalk.bold('Progress\n'));
219
+ console.log(chalk_1.default.bold('Progress\n'));
213
220
  console.log(progressBar);
214
221
  console.log();
215
222
  console.log(stepList);
216
223
  if (this.currentStep < this.steps.length) {
217
224
  console.log();
218
- console.log(chalk.cyan(`→ ${this.steps[this.currentStep].name}...`));
225
+ console.log(chalk_1.default.cyan(`→ ${this.steps[this.currentStep].name}...`));
219
226
  }
220
227
  }
221
228
  /**
@@ -228,7 +235,7 @@ export class MultiStepProgress {
228
235
  const barLength = 40;
229
236
  const filled = Math.round((completed / total) * barLength);
230
237
  const bar = '█'.repeat(filled) + '░'.repeat(barLength - filled);
231
- return `[${chalk.cyan(bar)}] ${percentage}%`;
238
+ return `[${chalk_1.default.cyan(bar)}] ${percentage}%`;
232
239
  }
233
240
  /**
234
241
  * Render step list
@@ -239,36 +246,37 @@ export class MultiStepProgress {
239
246
  let color;
240
247
  switch (step.status) {
241
248
  case 'completed':
242
- icon = chalk.green('✓');
243
- color = chalk.green;
249
+ icon = chalk_1.default.green('✓');
250
+ color = chalk_1.default.green;
244
251
  break;
245
252
  case 'failed':
246
- icon = chalk.red('✗');
247
- color = chalk.red;
253
+ icon = chalk_1.default.red('✗');
254
+ color = chalk_1.default.red;
248
255
  break;
249
256
  case 'pending':
250
- icon = chalk.gray('○');
251
- color = chalk.gray;
257
+ icon = chalk_1.default.gray('○');
258
+ color = chalk_1.default.gray;
252
259
  break;
253
260
  case 'active':
254
- icon = chalk.blue('●');
255
- color = chalk.blue;
261
+ icon = chalk_1.default.blue('●');
262
+ color = chalk_1.default.blue;
256
263
  break;
257
264
  default:
258
- icon = chalk.gray('○');
259
- color = chalk.gray;
265
+ icon = chalk_1.default.gray('○');
266
+ color = chalk_1.default.gray;
260
267
  }
261
268
  const stepNumber = `[${index + 1}]`;
262
269
  const name = color(step.name);
263
- const description = step.description ? chalk.dim(` - ${step.description}`) : '';
270
+ const description = step.description ? chalk_1.default.dim(` - ${step.description}`) : '';
264
271
  return `${icon} ${stepNumber} ${name}${description}`;
265
272
  }).join('\n');
266
273
  }
267
274
  }
275
+ exports.MultiStepProgress = MultiStepProgress;
268
276
  /**
269
277
  * Smart suggestions system
270
278
  */
271
- export class SmartSuggestions {
279
+ class SmartSuggestions {
272
280
  userContext;
273
281
  commandHistory = [];
274
282
  constructor(userContext) {
@@ -417,12 +425,13 @@ export class SmartSuggestions {
417
425
  displaySuggestions(suggestions) {
418
426
  if (suggestions.length === 0)
419
427
  return;
420
- console.log(chalk.dim('\n💡 Suggestions:'));
428
+ console.log(chalk_1.default.dim('\n💡 Suggestions:'));
421
429
  suggestions.forEach((suggestion, index) => {
422
- const number = chalk.cyan(`${index + 1}.`);
423
- const text = chalk.bold(suggestion.text);
424
- const desc = chalk.dim(suggestion.description);
430
+ const number = chalk_1.default.cyan(`${index + 1}.`);
431
+ const text = chalk_1.default.bold(suggestion.text);
432
+ const desc = chalk_1.default.dim(suggestion.description);
425
433
  console.log(` ${number} ${text} - ${desc}`);
426
434
  });
427
435
  }
428
436
  }
437
+ exports.SmartSuggestions = SmartSuggestions;