@neurcode-ai/cli 0.3.9 → 0.4.1

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 (111) hide show
  1. package/dist/api-client.d.ts +105 -17
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +388 -85
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/commands/allow.d.ts.map +1 -1
  6. package/dist/commands/allow.js +6 -33
  7. package/dist/commands/allow.js.map +1 -1
  8. package/dist/commands/check.d.ts.map +1 -1
  9. package/dist/commands/check.js +56 -13
  10. package/dist/commands/check.js.map +1 -1
  11. package/dist/commands/doctor.d.ts +7 -0
  12. package/dist/commands/doctor.d.ts.map +1 -0
  13. package/dist/commands/doctor.js +134 -0
  14. package/dist/commands/doctor.js.map +1 -0
  15. package/dist/commands/init.d.ts +13 -0
  16. package/dist/commands/init.d.ts.map +1 -0
  17. package/dist/commands/init.js +365 -0
  18. package/dist/commands/init.js.map +1 -0
  19. package/dist/commands/login.d.ts +8 -0
  20. package/dist/commands/login.d.ts.map +1 -0
  21. package/dist/commands/login.js +209 -0
  22. package/dist/commands/login.js.map +1 -0
  23. package/dist/commands/logout.d.ts +7 -0
  24. package/dist/commands/logout.d.ts.map +1 -0
  25. package/dist/commands/logout.js +70 -0
  26. package/dist/commands/logout.js.map +1 -0
  27. package/dist/commands/plan.d.ts +2 -0
  28. package/dist/commands/plan.d.ts.map +1 -1
  29. package/dist/commands/plan.js +210 -57
  30. package/dist/commands/plan.js.map +1 -1
  31. package/dist/commands/prompt.d.ts +6 -0
  32. package/dist/commands/prompt.d.ts.map +1 -0
  33. package/dist/commands/prompt.js +254 -0
  34. package/dist/commands/prompt.js.map +1 -0
  35. package/dist/commands/revert.d.ts.map +1 -1
  36. package/dist/commands/revert.js +10 -0
  37. package/dist/commands/revert.js.map +1 -1
  38. package/dist/commands/session.d.ts +29 -0
  39. package/dist/commands/session.d.ts.map +1 -0
  40. package/dist/commands/session.js +382 -0
  41. package/dist/commands/session.js.map +1 -0
  42. package/dist/commands/verify.d.ts.map +1 -1
  43. package/dist/commands/verify.js +132 -15
  44. package/dist/commands/verify.js.map +1 -1
  45. package/dist/commands/watch.d.ts +8 -0
  46. package/dist/commands/watch.d.ts.map +1 -0
  47. package/dist/commands/watch.js +78 -0
  48. package/dist/commands/watch.js.map +1 -0
  49. package/dist/config.d.ts +29 -4
  50. package/dist/config.d.ts.map +1 -1
  51. package/dist/config.js +186 -21
  52. package/dist/config.js.map +1 -1
  53. package/dist/index.js +120 -3
  54. package/dist/index.js.map +1 -1
  55. package/dist/services/integrations/TicketService.d.ts +68 -0
  56. package/dist/services/integrations/TicketService.d.ts.map +1 -0
  57. package/dist/services/integrations/TicketService.js +151 -0
  58. package/dist/services/integrations/TicketService.js.map +1 -0
  59. package/dist/services/security/SecurityGuard.d.ts +80 -0
  60. package/dist/services/security/SecurityGuard.d.ts.map +1 -0
  61. package/dist/services/security/SecurityGuard.js +410 -0
  62. package/dist/services/security/SecurityGuard.js.map +1 -0
  63. package/dist/services/watch/BlobStore.d.ts +33 -0
  64. package/dist/services/watch/BlobStore.d.ts.map +1 -0
  65. package/dist/services/watch/BlobStore.js +108 -0
  66. package/dist/services/watch/BlobStore.js.map +1 -0
  67. package/dist/services/watch/CommandPoller.d.ts +76 -0
  68. package/dist/services/watch/CommandPoller.d.ts.map +1 -0
  69. package/dist/services/watch/CommandPoller.js +298 -0
  70. package/dist/services/watch/CommandPoller.js.map +1 -0
  71. package/dist/services/watch/Journal.d.ts +58 -0
  72. package/dist/services/watch/Journal.d.ts.map +1 -0
  73. package/dist/services/watch/Journal.js +144 -0
  74. package/dist/services/watch/Journal.js.map +1 -0
  75. package/dist/services/watch/Sentinel.d.ts +49 -0
  76. package/dist/services/watch/Sentinel.d.ts.map +1 -0
  77. package/dist/services/watch/Sentinel.js +205 -0
  78. package/dist/services/watch/Sentinel.js.map +1 -0
  79. package/dist/services/watch/Syncer.d.ts +55 -0
  80. package/dist/services/watch/Syncer.d.ts.map +1 -0
  81. package/dist/services/watch/Syncer.js +231 -0
  82. package/dist/services/watch/Syncer.js.map +1 -0
  83. package/dist/utils/ROILogger.d.ts +16 -0
  84. package/dist/utils/ROILogger.d.ts.map +1 -0
  85. package/dist/utils/ROILogger.js +45 -0
  86. package/dist/utils/ROILogger.js.map +1 -0
  87. package/dist/utils/box.d.ts +16 -0
  88. package/dist/utils/box.d.ts.map +1 -0
  89. package/dist/utils/box.js +85 -0
  90. package/dist/utils/box.js.map +1 -0
  91. package/dist/utils/gitignore.d.ts +10 -0
  92. package/dist/utils/gitignore.d.ts.map +1 -0
  93. package/dist/utils/gitignore.js +34 -0
  94. package/dist/utils/gitignore.js.map +1 -0
  95. package/dist/utils/messages.d.ts +81 -0
  96. package/dist/utils/messages.d.ts.map +1 -0
  97. package/dist/utils/messages.js +306 -0
  98. package/dist/utils/messages.js.map +1 -0
  99. package/dist/utils/restore.d.ts +14 -0
  100. package/dist/utils/restore.d.ts.map +1 -0
  101. package/dist/utils/restore.js +89 -0
  102. package/dist/utils/restore.js.map +1 -0
  103. package/dist/utils/state.d.ts +69 -0
  104. package/dist/utils/state.d.ts.map +1 -0
  105. package/dist/utils/state.js +151 -0
  106. package/dist/utils/state.js.map +1 -0
  107. package/dist/utils/user-context.d.ts +28 -0
  108. package/dist/utils/user-context.d.ts.map +1 -0
  109. package/dist/utils/user-context.js +68 -0
  110. package/dist/utils/user-context.js.map +1 -0
  111. package/package.json +11 -4
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /**
3
+ * Logout Command
4
+ *
5
+ * Clears the saved API key from global config (~/.neurcoderc)
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.logoutCommand = logoutCommand;
9
+ const config_1 = require("../config");
10
+ // Import chalk with fallback
11
+ let chalk;
12
+ try {
13
+ chalk = require('chalk');
14
+ }
15
+ catch {
16
+ chalk = {
17
+ green: (str) => str,
18
+ yellow: (str) => str,
19
+ red: (str) => str,
20
+ bold: (str) => str,
21
+ dim: (str) => str,
22
+ cyan: (str) => str,
23
+ white: (str) => str,
24
+ };
25
+ }
26
+ async function logoutCommand() {
27
+ try {
28
+ // Check if there's an API key from config files
29
+ const existingApiKey = (0, config_1.getApiKey)();
30
+ if (!existingApiKey) {
31
+ console.log(chalk.yellow('\n⚠️ You are not currently logged in.\n'));
32
+ console.log(chalk.dim(' No API key found in configuration files.\n'));
33
+ console.log(chalk.dim(' Run "neurcode login" to authenticate.\n'));
34
+ return;
35
+ }
36
+ // Delete API key from all file-based sources
37
+ const result = (0, config_1.deleteApiKeyFromAllSources)();
38
+ if (!result.removedFromGlobal && !result.removedFromLocal) {
39
+ console.log(chalk.yellow('\n⚠️ No API key found in config files.\n'));
40
+ console.log(chalk.dim(' You may not be logged in.\n'));
41
+ return;
42
+ }
43
+ console.log(chalk.green('\n✅ Successfully logged out!\n'));
44
+ const removedFrom = [];
45
+ if (result.removedFromGlobal) {
46
+ removedFrom.push('~/.neurcoderc');
47
+ }
48
+ if (result.removedFromLocal) {
49
+ removedFrom.push('neurcode.config.json');
50
+ }
51
+ if (removedFrom.length > 0) {
52
+ console.log(chalk.dim(` API key removed from: ${removedFrom.join(', ')}`));
53
+ }
54
+ console.log(chalk.dim(' You can log in again with: neurcode login\n'));
55
+ }
56
+ catch (error) {
57
+ console.error(chalk.red('\n❌ Error during logout:'));
58
+ if (error instanceof Error) {
59
+ console.error(chalk.red(error.message));
60
+ }
61
+ else {
62
+ console.error(error);
63
+ }
64
+ console.log(chalk.dim('\n💡 If the issue persists, manually delete:'));
65
+ console.log(chalk.dim(' - ~/.neurcoderc'));
66
+ console.log(chalk.dim(' - neurcode.config.json (if present)\n'));
67
+ process.exit(1);
68
+ }
69
+ }
70
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  interface PlanOptions {
2
2
  projectId?: string;
3
+ ticket?: string;
4
+ mask?: boolean;
3
5
  }
4
6
  export declare function planCommand(intent: string, options: PlanOptions): Promise<void>;
5
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AAyBA,UAAU,WAAW;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkND,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,iBA6OrE"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AA2BA,UAAU,WAAW;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAkND,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,iBAgZrE"}
@@ -40,6 +40,8 @@ const config_1 = require("../config");
40
40
  const api_client_1 = require("../api-client");
41
41
  const project_detector_1 = require("../utils/project-detector");
42
42
  const map_1 = require("./map");
43
+ const state_1 = require("../utils/state");
44
+ const ROILogger_1 = require("../utils/ROILogger");
43
45
  // Import chalk with fallback for plain strings if not available
44
46
  let chalk;
45
47
  try {
@@ -249,10 +251,38 @@ async function ensureAssetMap(cwd) {
249
251
  async function planCommand(intent, options) {
250
252
  try {
251
253
  if (!intent || !intent.trim()) {
252
- console.error(chalk.red('❌ Error: Intent description is required'));
254
+ console.error(chalk.red('❌ Error: Intent cannot be empty. What are you building?'));
253
255
  console.log(chalk.dim('Usage: neurcode plan "<your intent description>"'));
256
+ console.log(chalk.dim('Example: neurcode plan "Add user authentication to login page"'));
254
257
  process.exit(1);
255
258
  }
259
+ // Initialize Security Guard and Ticket Service
260
+ const { SecurityGuard } = await Promise.resolve().then(() => __importStar(require('../services/security/SecurityGuard')));
261
+ const { TicketService } = await Promise.resolve().then(() => __importStar(require('../services/integrations/TicketService')));
262
+ const securityGuard = new SecurityGuard();
263
+ const ticketService = new TicketService();
264
+ let enrichedIntent = intent.trim();
265
+ let ticketMetadata;
266
+ // Step 1: Fetch ticket context if --ticket is provided
267
+ if (options.ticket) {
268
+ try {
269
+ console.log(chalk.dim(`🎫 Fetching ticket context: ${options.ticket}...`));
270
+ const ticketContext = await ticketService.fetchTicketAndEnrich(options.ticket, intent.trim());
271
+ enrichedIntent = ticketContext.enrichedIntent;
272
+ ticketMetadata = {
273
+ id: ticketContext.ticket.id,
274
+ title: ticketContext.ticket.title,
275
+ description: ticketContext.ticket.description,
276
+ acceptanceCriteria: ticketContext.ticket.acceptanceCriteria,
277
+ };
278
+ console.log(chalk.green(`✅ Ticket context loaded: ${ticketContext.ticket.title}`));
279
+ }
280
+ catch (error) {
281
+ console.error(chalk.red(`❌ Error fetching ticket ${options.ticket}:`));
282
+ console.error(chalk.red(error instanceof Error ? error.message : String(error)));
283
+ process.exit(1);
284
+ }
285
+ }
256
286
  // Load configuration
257
287
  const config = (0, config_1.loadConfig)();
258
288
  // API URL is automatically set to production - no need to check
@@ -263,8 +293,15 @@ async function planCommand(intent, options) {
263
293
  }
264
294
  // Initialize API client
265
295
  const client = new api_client_1.ApiClient(config);
266
- // Implicit Project Discovery: Auto-detect and connect project
267
- let projectId = config.projectId;
296
+ // CRITICAL: Check state file FIRST for headless workflow support
297
+ // Priority: state file (.neurcode/config.json) > config > auto-detection
298
+ const { getProjectId } = await Promise.resolve().then(() => __importStar(require('../utils/state')));
299
+ let projectId = getProjectId(); // Priority 1: State file (headless-friendly)
300
+ // Fallback to config if state file doesn't have projectId
301
+ if (!projectId) {
302
+ projectId = config.projectId || null;
303
+ }
304
+ // Only auto-detect if we still don't have a projectId (interactive mode)
268
305
  if (!projectId) {
269
306
  try {
270
307
  const projectInfo = (0, project_detector_1.detectProject)();
@@ -273,23 +310,11 @@ async function planCommand(intent, options) {
273
310
  console.log(chalk.dim(`🔗 Connecting project: ${projectInfo.name || 'detecting...'}`));
274
311
  const project = await client.ensureProject(projectInfo.gitUrl, projectInfo.name || undefined);
275
312
  projectId = project.id;
276
- // Save projectId to config file
277
- const { writeFileSync, existsSync, readFileSync } = await Promise.resolve().then(() => __importStar(require('fs')));
278
- const configPath = (0, path_1.join)(process.cwd(), 'neurcode.config.json');
279
- let configData = {};
280
- if (existsSync(configPath)) {
281
- try {
282
- configData = JSON.parse(readFileSync(configPath, 'utf-8'));
283
- }
284
- catch {
285
- // Ignore parse errors
286
- }
287
- }
288
- configData.apiKey = config.apiKey;
289
- configData.projectId = projectId;
290
- writeFileSync(configPath, JSON.stringify(configData, null, 2) + '\n', 'utf-8');
313
+ // Save projectId to state file (.neurcode/config.json)
314
+ const { setProjectId } = await Promise.resolve().then(() => __importStar(require('../utils/state')));
315
+ setProjectId(projectId);
291
316
  console.log(chalk.green(`✅ Project connected: ${project.name}`));
292
- console.log(chalk.dim(` Project ID saved to neurcode.config.json\n`));
317
+ console.log(chalk.dim(` Project ID saved to .neurcode/config.json\n`));
293
318
  }
294
319
  else {
295
320
  // No Git URL - use name-based project (will be created by API if needed)
@@ -306,6 +331,16 @@ async function planCommand(intent, options) {
306
331
  }
307
332
  }
308
333
  }
334
+ // SAFETY: Guard clause to prevent orphan sessions - ensure projectId is set before proceeding
335
+ // After all auto-detection attempts, verify we have a valid projectId
336
+ // This matches the finalProjectId logic used later in the function
337
+ const finalProjectIdForGuard = options.projectId || projectId || config.projectId;
338
+ if (!finalProjectIdForGuard) {
339
+ console.log(chalk.yellow('⚠️ No project initialized. Running init first...\n'));
340
+ const { initCommand } = await Promise.resolve().then(() => __importStar(require('./init')));
341
+ await initCommand();
342
+ return;
343
+ }
309
344
  // Scan files in current directory
310
345
  const cwd = process.cwd();
311
346
  console.log(chalk.dim(`📂 Scanning files in ${cwd}...`));
@@ -315,15 +350,63 @@ async function planCommand(intent, options) {
315
350
  process.exit(1);
316
351
  }
317
352
  console.log(chalk.dim(`Found ${files.length} files`));
318
- // Load or create asset map for context injection
319
- let enhancedIntent = intent.trim();
353
+ // Step 2: Pre-Flight Security Check - Scan for secrets
354
+ console.log(chalk.dim('🛡️ Running security scan...'));
355
+ const scanResult = await securityGuard.scanAndMask(enrichedIntent, files, cwd);
356
+ if (scanResult.hasSecrets) {
357
+ const secretCount = scanResult.secrets.length;
358
+ const secretFiles = new Set(scanResult.secrets.map(s => s.location));
359
+ // Log ROI event for secret interception (non-blocking)
360
+ try {
361
+ const finalProjectId = options.projectId || projectId || config.projectId;
362
+ (0, ROILogger_1.logROIEvent)('SECRET_INTERCEPTED', {
363
+ secretCount,
364
+ secretTypes: Array.from(new Set(scanResult.secrets.map(s => s.type))),
365
+ locations: Array.from(secretFiles),
366
+ masked: options.mask !== false,
367
+ }, finalProjectId || null).catch(() => {
368
+ // Silently ignore - ROI logging should never block user workflows
369
+ });
370
+ }
371
+ catch {
372
+ // Silently ignore - ROI logging should never block user workflows
373
+ }
374
+ if (options.mask !== false) {
375
+ // Mask mode: Auto-replace secrets and log warnings
376
+ console.log(chalk.yellow(`\n⚠️ Secret detected and masked (${secretCount} occurrence(s)):`));
377
+ scanResult.secrets.forEach(secret => {
378
+ console.log(chalk.yellow(` ${secret.severity.toUpperCase()}: ${secret.type} in ${secret.location}`));
379
+ });
380
+ // Use masked intent and files
381
+ if (scanResult.maskedIntent) {
382
+ enrichedIntent = scanResult.maskedIntent;
383
+ }
384
+ console.log(chalk.green('\n✅ Secrets masked - proceeding with plan generation'));
385
+ }
386
+ else {
387
+ // No-mask mode: Abort and require user intervention
388
+ console.error(chalk.red(`\n❌ SECRET DETECTED - Command aborted`));
389
+ console.error(chalk.red(`Found ${secretCount} secret(s) in ${secretFiles.size} file(s):`));
390
+ scanResult.secrets.forEach(secret => {
391
+ console.error(chalk.red(` ${secret.severity.toUpperCase()}: ${secret.type} in ${secret.location}`));
392
+ });
393
+ console.log(chalk.yellow('\n💡 To auto-mask secrets, run with --mask flag (default)'));
394
+ console.log(chalk.yellow(' Or remove secrets from your code before running neurcode plan'));
395
+ process.exit(1);
396
+ }
397
+ }
398
+ else {
399
+ console.log(chalk.green('✅ Security scan passed - no secrets detected'));
400
+ }
401
+ // Step 3: Load or create asset map for context injection
402
+ let enhancedIntent = enrichedIntent; // Start with ticket-enriched intent (or original if no ticket)
320
403
  try {
321
404
  const map = await ensureAssetMap(cwd);
322
405
  if (map && map.globalExports.length > 0) {
323
406
  const toolboxSummary = generateToolboxSummary(map);
324
407
  if (toolboxSummary) {
325
- // Inject toolbox summary into intent
326
- enhancedIntent = `${intent.trim()}\n\n${toolboxSummary}\n\nIMPORTANT: Use the 'Available Tools' list above to REUSE existing code. Do not create new functions, classes, or utilities if they already exist in the codebase. Check the list first before implementing anything new.`;
408
+ // Inject toolbox summary into intent (append to enriched intent)
409
+ enhancedIntent = `${enrichedIntent}\n\n${toolboxSummary}\n\nIMPORTANT: The "Available Tools" list above shows existing code that CAN be reused. Only reference tools from this list if they are directly relevant to the user's intent. Do not create new files, functions, or features unless the user explicitly requested them. The list is for reference only - not a requirement to use everything.`;
327
410
  console.log(chalk.dim(`📦 Loaded ${map.globalExports.length} exported assets for context`));
328
411
  }
329
412
  }
@@ -334,11 +417,47 @@ async function planCommand(intent, options) {
334
417
  console.warn(chalk.yellow(`⚠️ Could not load asset map: ${error instanceof Error ? error.message : 'Unknown error'}`));
335
418
  }
336
419
  }
337
- console.log(chalk.dim('🤖 Generating plan...\n'));
338
- // Use projectId from options, config, or auto-detected
420
+ // Check for active sessions before creating a new one
339
421
  const finalProjectId = options.projectId || projectId || config.projectId;
340
- // Generate plan with enhanced intent (includes asset map context)
341
- const response = await client.generatePlan(enhancedIntent, files, finalProjectId);
422
+ if (finalProjectId && process.stdout.isTTY && !process.env.CI) {
423
+ try {
424
+ const sessions = await client.getSessions(finalProjectId, 10);
425
+ const activeSessions = sessions.filter(s => s.status === 'active');
426
+ if (activeSessions.length > 0) {
427
+ console.log(chalk.yellow(`\n⚠️ You have ${activeSessions.length} active session(s):\n`));
428
+ activeSessions.slice(0, 3).forEach((session, index) => {
429
+ const title = session.title || session.intentDescription || 'Untitled';
430
+ console.log(chalk.dim(` ${index + 1}. ${title}`));
431
+ });
432
+ if (activeSessions.length > 3) {
433
+ console.log(chalk.dim(` ... and ${activeSessions.length - 3} more`));
434
+ }
435
+ console.log('');
436
+ const { createInterface } = await Promise.resolve().then(() => __importStar(require('readline/promises')));
437
+ const { stdin, stdout } = await Promise.resolve().then(() => __importStar(require('process')));
438
+ try {
439
+ const rl = createInterface({ input: stdin, output: stdout });
440
+ const answer = await rl.question(chalk.bold('End previous session(s) before starting new one? (y/n): '));
441
+ rl.close();
442
+ if (answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes') {
443
+ console.log(chalk.dim('\n💡 Tip: Run "neurcode session end" to manage sessions, or continue to create a new session.\n'));
444
+ }
445
+ }
446
+ catch {
447
+ // If prompt fails, continue silently
448
+ }
449
+ }
450
+ }
451
+ catch (error) {
452
+ // Non-critical - continue if we can't check sessions
453
+ if (process.env.DEBUG) {
454
+ console.log(chalk.dim('Could not check active sessions'));
455
+ }
456
+ }
457
+ }
458
+ console.log(chalk.dim('🤖 Generating plan...\n'));
459
+ // Generate plan with enhanced intent (includes asset map context and ticket metadata)
460
+ const response = await client.generatePlan(enhancedIntent, files, finalProjectId, ticketMetadata);
342
461
  // Pre-Flight Snapshot: Capture current state of files that will be MODIFIED
343
462
  // This ensures we have a baseline to revert to if AI destroys files
344
463
  const modifyFiles = response.plan.files.filter(f => f.action === 'MODIFY');
@@ -387,51 +506,85 @@ async function planCommand(intent, options) {
387
506
  console.log(chalk.dim('\n No files to snapshot\n'));
388
507
  }
389
508
  }
509
+ // Step 3: Post-Generation Hallucination Check
510
+ // Scan plan suggestions for phantom packages
511
+ console.log(chalk.dim('🔍 Checking for AI hallucinations...'));
512
+ let hasHallucinations = false;
513
+ const allHallucinations = [];
514
+ for (const file of response.plan.files) {
515
+ // Check suggestion text for hallucinations
516
+ if (file.suggestion) {
517
+ const hallucinationResult = await securityGuard.scanForHallucinations(file.suggestion, file.path, cwd);
518
+ if (hallucinationResult.hasHallucinations) {
519
+ hasHallucinations = true;
520
+ allHallucinations.push(...hallucinationResult.hallucinations.map(h => ({
521
+ packageName: h.packageName,
522
+ location: h.location,
523
+ })));
524
+ }
525
+ }
526
+ }
527
+ if (hasHallucinations) {
528
+ // Log ROI event for each hallucination detected (non-blocking)
529
+ try {
530
+ const finalProjectId = options.projectId || projectId || config.projectId;
531
+ for (const hallucination of allHallucinations) {
532
+ (0, ROILogger_1.logROIEvent)('HALLUCINATION_BLOCKED', {
533
+ package_name: hallucination.packageName,
534
+ location: hallucination.location,
535
+ }, finalProjectId || null).catch(() => {
536
+ // Silently ignore - ROI logging should never block user workflows
537
+ });
538
+ }
539
+ }
540
+ catch {
541
+ // Silently ignore - ROI logging should never block user workflows
542
+ }
543
+ // Display high-contrast hallucination warnings with shield icon
544
+ console.log('\n');
545
+ allHallucinations.forEach(hallucination => {
546
+ const shieldIcon = chalk.bold.red('🛡️');
547
+ const criticalLabel = chalk.bold.red('CRITICAL:');
548
+ const packageName = chalk.bold.yellow(`'${hallucination.packageName}'`);
549
+ const location = chalk.dim(hallucination.location);
550
+ console.log(`${shieldIcon} ${chalk.bold.red('[Neurcode]')} ${criticalLabel} ${chalk.bold.white('Hallucination Blocked')}`);
551
+ console.log(chalk.white(` Attempted import of non-existent package ${packageName} prevented.`));
552
+ console.log(chalk.dim(` Location: ${location}`));
553
+ console.log('');
554
+ });
555
+ if (allHallucinations.length > 1) {
556
+ console.log(chalk.dim(` Total: ${allHallucinations.length} hallucination(s) blocked\n`));
557
+ }
558
+ console.log(chalk.dim('💡 The plan may include references to packages that don\'t exist.'));
559
+ console.log(chalk.dim(' Review the plan carefully before applying.\n'));
560
+ }
561
+ else {
562
+ console.log(chalk.green('✅ No hallucinations detected'));
563
+ }
390
564
  // Display the plan
391
565
  displayPlan(response.plan);
392
566
  console.log(chalk.dim(`\nGenerated at: ${new Date(response.timestamp).toLocaleString()}`));
393
567
  // Display plan ID if available
394
568
  if (response.planId && response.planId !== 'unknown') {
395
569
  console.log(chalk.bold.cyan(`\n📌 Plan ID: ${response.planId} (Saved)`));
396
- console.log(chalk.dim(' Run \'neurcode apply <id>\' to execute this plan. (Coming soon)'));
570
+ console.log(chalk.dim(' Run \'neurcode prompt \' to generate a Cursor/AI prompt. (Ready now)'));
397
571
  }
398
- // Save sessionId and planId to config file for subsequent commands
572
+ // Save sessionId and planId to state file (.neurcode/config.json)
399
573
  try {
400
- const { writeFileSync, existsSync, readFileSync } = await Promise.resolve().then(() => __importStar(require('fs')));
401
- const configPath = (0, path_1.join)(process.cwd(), 'neurcode.config.json');
402
- let configData = {};
403
- if (existsSync(configPath)) {
404
- try {
405
- configData = JSON.parse(readFileSync(configPath, 'utf-8'));
406
- }
407
- catch {
408
- // Ignore parse errors, start fresh
409
- }
410
- }
411
- // Preserve existing config values
412
- if (config.apiKey) {
413
- configData.apiKey = config.apiKey;
414
- }
415
- if (config.projectId) {
416
- configData.projectId = config.projectId;
417
- }
418
- // Save planId and sessionId
419
574
  if (response.planId && response.planId !== 'unknown') {
420
- configData.lastPlanId = response.planId;
421
- }
422
- if (response.sessionId) {
423
- configData.sessionId = response.sessionId;
424
- configData.lastSessionId = response.sessionId;
575
+ // Save active plan ID (primary) and lastPlanId (backward compatibility)
576
+ (0, state_1.setActivePlanId)(response.planId);
577
+ (0, state_1.setLastPlanGeneratedAt)(new Date().toISOString());
425
578
  }
426
- writeFileSync(configPath, JSON.stringify(configData, null, 2) + '\n', 'utf-8');
427
579
  if (response.sessionId) {
428
- console.log(chalk.dim(` Session ID saved to neurcode.config.json`));
580
+ (0, state_1.setSessionId)(response.sessionId);
581
+ console.log(chalk.dim(` Session ID saved to .neurcode/config.json`));
429
582
  }
430
583
  }
431
- catch (configError) {
584
+ catch (stateError) {
432
585
  // Log warning but don't fail the command
433
586
  if (process.env.DEBUG) {
434
- console.warn(chalk.yellow(`⚠️ Could not save sessionId to config: ${configError instanceof Error ? configError.message : 'Unknown error'}`));
587
+ console.warn(chalk.yellow(`⚠️ Could not save sessionId/planId to state: ${stateError instanceof Error ? stateError.message : 'Unknown error'}`));
435
588
  }
436
589
  }
437
590
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Prompt command: Generate Cursor prompt from a plan
3
+ * If planId is not provided, uses the last plan ID from state
4
+ */
5
+ export declare function promptCommand(planId?: string): Promise<void>;
6
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"AAoIA;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,iBAkGlD"}