centaurus-cli 2.5.3 → 2.6.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 (88) hide show
  1. package/dist/cli-adapter.d.ts +6 -0
  2. package/dist/cli-adapter.d.ts.map +1 -1
  3. package/dist/cli-adapter.js +215 -29
  4. package/dist/cli-adapter.js.map +1 -1
  5. package/dist/commands/CommandParser.js +2 -2
  6. package/dist/commands/CommandParser.js.map +1 -1
  7. package/dist/config/defaultConfig.js +1 -1
  8. package/dist/config/defaultConfig.js.map +1 -1
  9. package/dist/config/models.d.ts +50 -5
  10. package/dist/config/models.d.ts.map +1 -1
  11. package/dist/config/models.js +144 -22
  12. package/dist/config/models.js.map +1 -1
  13. package/dist/config/types.d.ts +3 -0
  14. package/dist/config/types.d.ts.map +1 -1
  15. package/dist/config/types.js +3 -1
  16. package/dist/config/types.js.map +1 -1
  17. package/dist/index.js +9 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/services/ai-service-client.d.ts +8 -2
  20. package/dist/services/ai-service-client.d.ts.map +1 -1
  21. package/dist/services/ai-service-client.js +2 -1
  22. package/dist/services/ai-service-client.js.map +1 -1
  23. package/dist/services/environment-context-injector.d.ts +69 -0
  24. package/dist/services/environment-context-injector.d.ts.map +1 -0
  25. package/dist/services/environment-context-injector.js +198 -0
  26. package/dist/services/environment-context-injector.js.map +1 -0
  27. package/dist/tools/ToolRegistry.d.ts.map +1 -1
  28. package/dist/tools/ToolRegistry.js +120 -26
  29. package/dist/tools/ToolRegistry.js.map +1 -1
  30. package/dist/tools/command.d.ts.map +1 -1
  31. package/dist/tools/command.js +30 -6
  32. package/dist/tools/command.js.map +1 -1
  33. package/dist/tools/file-ops.d.ts.map +1 -1
  34. package/dist/tools/file-ops.js +70 -23
  35. package/dist/tools/file-ops.js.map +1 -1
  36. package/dist/tools/find-files.d.ts +47 -0
  37. package/dist/tools/find-files.d.ts.map +1 -0
  38. package/dist/tools/find-files.js +190 -0
  39. package/dist/tools/find-files.js.map +1 -0
  40. package/dist/tools/get-diff.d.ts +45 -0
  41. package/dist/tools/get-diff.d.ts.map +1 -0
  42. package/dist/tools/get-diff.js +138 -0
  43. package/dist/tools/get-diff.js.map +1 -0
  44. package/dist/tools/grep-search.d.ts +85 -0
  45. package/dist/tools/grep-search.d.ts.map +1 -0
  46. package/dist/tools/grep-search.js +497 -0
  47. package/dist/tools/grep-search.js.map +1 -0
  48. package/dist/tools/inspect-symbol.d.ts +27 -0
  49. package/dist/tools/inspect-symbol.d.ts.map +1 -0
  50. package/dist/tools/inspect-symbol.js +259 -0
  51. package/dist/tools/inspect-symbol.js.map +1 -0
  52. package/dist/tools/validation.d.ts +49 -0
  53. package/dist/tools/validation.d.ts.map +1 -0
  54. package/dist/tools/validation.js +125 -0
  55. package/dist/tools/validation.js.map +1 -0
  56. package/dist/types/index.d.ts +13 -0
  57. package/dist/types/index.d.ts.map +1 -1
  58. package/dist/ui/components/App.d.ts +3 -0
  59. package/dist/ui/components/App.d.ts.map +1 -1
  60. package/dist/ui/components/App.js +173 -15
  61. package/dist/ui/components/App.js.map +1 -1
  62. package/dist/ui/components/ContextWindowIndicator.d.ts +8 -0
  63. package/dist/ui/components/ContextWindowIndicator.d.ts.map +1 -0
  64. package/dist/ui/components/ContextWindowIndicator.js +34 -0
  65. package/dist/ui/components/ContextWindowIndicator.js.map +1 -0
  66. package/dist/ui/components/InputBox.d.ts +2 -0
  67. package/dist/ui/components/InputBox.d.ts.map +1 -1
  68. package/dist/ui/components/InputBox.js +6 -2
  69. package/dist/ui/components/InputBox.js.map +1 -1
  70. package/dist/ui/components/MessageDisplay.d.ts.map +1 -1
  71. package/dist/ui/components/MessageDisplay.js +7 -0
  72. package/dist/ui/components/MessageDisplay.js.map +1 -1
  73. package/dist/ui/components/StreamingMessageDisplay.d.ts.map +1 -1
  74. package/dist/ui/components/StreamingMessageDisplay.js +9 -1
  75. package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
  76. package/dist/ui/components/ThinkingDisplay.d.ts +2 -3
  77. package/dist/ui/components/ThinkingDisplay.d.ts.map +1 -1
  78. package/dist/ui/components/ThinkingDisplay.js +19 -19
  79. package/dist/ui/components/ThinkingDisplay.js.map +1 -1
  80. package/dist/utils/markdown-parser.d.ts +4 -0
  81. package/dist/utils/markdown-parser.d.ts.map +1 -1
  82. package/dist/utils/markdown-parser.js +15 -1
  83. package/dist/utils/markdown-parser.js.map +1 -1
  84. package/models-config.json +77 -0
  85. package/package.json +3 -1
  86. package/AUTH_FLOW.md +0 -138
  87. package/CONFIG_GUIDE.md +0 -249
  88. package/README.md +0 -501
@@ -9,8 +9,11 @@ export declare class CentaurusCLI {
9
9
  private previousMode;
10
10
  private onResponseCallback?;
11
11
  private onResponseStreamCallback?;
12
+ private onThoughtStreamCallback?;
13
+ private onThoughtCompleteCallback?;
12
14
  private onCommandModeChange?;
13
15
  private onCwdChange?;
16
+ private onModelChange?;
14
17
  private onShowPickerCallback?;
15
18
  private onToolExecutionUpdate?;
16
19
  private onToolApprovalRequest?;
@@ -26,6 +29,8 @@ export declare class CentaurusCLI {
26
29
  constructor();
27
30
  setOnResponseCallback(callback: (message: string) => void): void;
28
31
  setOnResponseStreamCallback(callback: (chunk: string) => void): void;
32
+ setOnThoughtStreamCallback(callback: (thought: string) => void): void;
33
+ setOnThoughtCompleteCallback(callback: (durationSeconds: number) => void): void;
29
34
  setOnShowPickerCallback(callback: (options: {
30
35
  message: string;
31
36
  choices: Array<{
@@ -64,6 +69,7 @@ export declare class CentaurusCLI {
64
69
  }) => Promise<boolean>): void;
65
70
  setOnCommandModeChange(callback: (commandMode: boolean) => void): void;
66
71
  setOnCwdChange(callback: (cwd: string) => void): void;
72
+ setOnModelChange(callback: (modelName: string) => void): void;
67
73
  setOnSubshellContextChange(callback: (context: SubshellContext) => void): void;
68
74
  setOnPasswordRequest(callback: (message: string) => Promise<string>): void;
69
75
  getPlanMode(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-adapter.d.ts","sourceRoot":"","sources":["../src/cli-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-adapter.d.ts","sourceRoot":"","sources":["../src/cli-adapter.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import { webSearchTool, fetchUrlTool } from './tools/web-search.js';
12
12
  import { apiClient } from './services/api-client.js';
13
13
  import { conversationManager } from './services/conversation-manager.js';
14
14
  import { aiServiceClient } from './services/ai-service-client.js';
15
- import { SUPPORTED_MODELS, getModelDisplayName, isValidModel, getInvalidModelError } from './config/models.js';
15
+ import { isValidModel, getInvalidModelError } from './config/models.js';
16
16
  import { authenticateWithGoogle } from './services/auth-handler.js';
17
17
  import { ContextManager } from './context/context-manager.js';
18
18
  import { CommandDetector } from './context/command-detector.js';
@@ -20,6 +20,7 @@ import { SSHHandler } from './context/handlers/ssh-handler.js';
20
20
  import { WSLHandler } from './context/handlers/wsl-handler.js';
21
21
  import { DockerHandler } from './context/handlers/docker-handler.js';
22
22
  import { AIContextInjector } from './services/ai-context-injector.js';
23
+ import { environmentContextInjector } from './services/environment-context-injector.js';
23
24
  export class CentaurusCLI {
24
25
  configManager;
25
26
  toolRegistry;
@@ -30,8 +31,11 @@ export class CentaurusCLI {
30
31
  previousMode = 'execution';
31
32
  onResponseCallback;
32
33
  onResponseStreamCallback;
34
+ onThoughtStreamCallback;
35
+ onThoughtCompleteCallback;
33
36
  onCommandModeChange;
34
37
  onCwdChange;
38
+ onModelChange;
35
39
  onShowPickerCallback;
36
40
  onToolExecutionUpdate;
37
41
  onToolApprovalRequest;
@@ -69,6 +73,12 @@ export class CentaurusCLI {
69
73
  setOnResponseStreamCallback(callback) {
70
74
  this.onResponseStreamCallback = callback;
71
75
  }
76
+ setOnThoughtStreamCallback(callback) {
77
+ this.onThoughtStreamCallback = callback;
78
+ }
79
+ setOnThoughtCompleteCallback(callback) {
80
+ this.onThoughtCompleteCallback = callback;
81
+ }
72
82
  setOnShowPickerCallback(callback) {
73
83
  this.onShowPickerCallback = callback;
74
84
  }
@@ -93,6 +103,9 @@ export class CentaurusCLI {
93
103
  setOnCwdChange(callback) {
94
104
  this.onCwdChange = callback;
95
105
  }
106
+ setOnModelChange(callback) {
107
+ this.onModelChange = callback;
108
+ }
96
109
  setOnSubshellContextChange(callback) {
97
110
  this.onSubshellContextChange = callback;
98
111
  }
@@ -117,9 +130,22 @@ export class CentaurusCLI {
117
130
  }
118
131
  async handlePickerSelection(selection, pickerType) {
119
132
  try {
120
- // Validate and set model (ConfigManager will validate)
121
- this.configManager.set('model', selection);
122
- const responseMessage = `Model changed to: ${selection}`;
133
+ // Selection is the index of the model in ALL_MODELS array
134
+ const { ALL_MODELS } = await import('./config/models.js');
135
+ const modelIndex = parseInt(selection, 10);
136
+ if (isNaN(modelIndex) || modelIndex < 0 || modelIndex >= ALL_MODELS.length) {
137
+ throw new Error('Invalid model selection');
138
+ }
139
+ const selectedModel = ALL_MODELS[modelIndex];
140
+ // Store only the model ID and name (not the full config with thinkingConfig)
141
+ // This prevents caching issues when we update model configs
142
+ this.configManager.set('model', selectedModel.id);
143
+ this.configManager.set('modelName', selectedModel.name);
144
+ // Notify UI of model name change
145
+ if (this.onModelChange) {
146
+ this.onModelChange(selectedModel.name);
147
+ }
148
+ const responseMessage = `Model changed to: ${selectedModel.name}`;
123
149
  // Send response back to UI
124
150
  if (this.onResponseCallback) {
125
151
  this.onResponseCallback(responseMessage);
@@ -186,7 +212,7 @@ Your Centaurus CLI configuration has been automatically updated to the new forma
186
212
  • Your authentication is already active for this session
187
213
 
188
214
  ✅ Your Preferences Preserved:
189
- • Model selection: ${this.configManager.get('model') || 'gemini-2.0-flash-exp'}
215
+ • Model selection: ${this.configManager.get('model') || 'gemini-2.5-flash'}
190
216
  • Other settings remain unchanged
191
217
 
192
218
  ℹ️ This is a one-time migration. Your configuration is now up to date.
@@ -212,7 +238,7 @@ Press Enter to continue...
212
238
  try {
213
239
  const config = this.configManager.load();
214
240
  const title = `Conversation ${new Date().toLocaleString()}`;
215
- await conversationManager.startNewConversation(title, config.model || 'gemini-2.0-flash-exp', 'google', // Always use Google provider now
241
+ await conversationManager.startNewConversation(title, config.model || 'gemini-2.5-flash', 'google', // Always use Google provider now
216
242
  this.cwd);
217
243
  this.conversationStarted = true;
218
244
  }
@@ -244,7 +270,8 @@ Press Enter to continue...
244
270
  }
245
271
  getModel() {
246
272
  const config = this.configManager.load();
247
- return config.model || 'gemini-2.0-flash-exp';
273
+ // Return the stored model name, or fall back to model ID
274
+ return config.modelName || config.model || 'gemini-2.5-flash';
248
275
  }
249
276
  async handleMessage(message) {
250
277
  // Handle command mode - execute commands directly
@@ -268,12 +295,6 @@ Press Enter to continue...
268
295
  });
269
296
  // Save user message to backend
270
297
  await this.saveMessageToBackend('user', message);
271
- // Create messages array WITHOUT system prompt
272
- // Backend will inject the system prompt automatically
273
- let messages = [...this.conversationHistory];
274
- // Inject subshell context if in a subshell environment
275
- const currentContext = this.contextManager.getCurrentContext();
276
- messages = this.aiContextInjector.injectSubshellContext(messages, currentContext);
277
298
  try {
278
299
  const tools = this.toolRegistry.getSchemas();
279
300
  const context = {
@@ -292,15 +313,50 @@ Press Enter to continue...
292
313
  }
293
314
  },
294
315
  };
295
- // Get selected model from config
316
+ // Get selected model ID from config, then look up full config from models-config.json
296
317
  const config = this.configManager.load();
297
- const selectedModel = config.model || 'gemini-2.0-flash-exp';
318
+ const selectedModelId = config.model || 'gemini-2.5-flash';
319
+ // Look up the full model config (including thinkingConfig) from models-config.json
320
+ // This ensures we always use the latest config, not a cached version
321
+ const { ALL_MODELS } = await import('./config/models.js');
322
+ const selectedModelConfig = ALL_MODELS.find(m => m.id === selectedModelId && m.name === config.modelName);
323
+ const selectedModel = selectedModelId;
324
+ const selectedModelThinkingConfig = selectedModelConfig?.thinkingConfig;
325
+ // Create messages array and inject enhanced system prompt with environment context
326
+ // Always use the enhanced system prompt for all models
327
+ const systemPromptPath = path.join(__dirname, '..', 'prompts', 'system-prompt-enhanced.md');
328
+ let systemPrompt = '';
329
+ try {
330
+ systemPrompt = fs.readFileSync(systemPromptPath, 'utf-8');
331
+ }
332
+ catch (error) {
333
+ // Fallback to basic prompt if file not found
334
+ console.warn('Failed to load system-prompt-enhanced.md, using fallback prompt');
335
+ systemPrompt = 'You are Centaurus, a Senior Site Reliability Engineer (SRE) and Full-Stack Architect embedded in a CLI.';
336
+ }
337
+ // Enhance system prompt with environment context
338
+ const enhancedSystemPrompt = environmentContextInjector.getEnhancedSystemPrompt(systemPrompt);
339
+ // Build messages array with enhanced system prompt at the beginning
340
+ let messages = [
341
+ {
342
+ role: 'system',
343
+ content: enhancedSystemPrompt,
344
+ },
345
+ ...this.conversationHistory
346
+ ];
347
+ // Inject subshell context if in a subshell environment
348
+ const currentContext = this.contextManager.getCurrentContext();
349
+ messages = this.aiContextInjector.injectSubshellContext(messages, currentContext);
298
350
  // Build environment context to send to backend
299
351
  const environmentContext = this.getEnvironmentContext();
300
352
  const mode = this.getMode();
301
353
  let finalAssistantMessage = '';
302
354
  const MAX_TURNS = 100; // Allow up to 100 turns for complex tasks
355
+ const MAX_TOOL_CALLS_PER_TURN = 5; // Limit tool calls per turn to prevent overthinking
303
356
  let turnCount = 0;
357
+ let streamBuffer = ''; // Buffer to handle TASK_COMPLETE marker split across chunks
358
+ let thoughtStartTime = null; // Track when thinking started
359
+ let thoughtContent = ''; // Accumulate thought content
304
360
  // Multi-turn tool execution loop
305
361
  while (turnCount < MAX_TURNS) {
306
362
  turnCount++;
@@ -308,29 +364,105 @@ Press Enter to continue...
308
364
  let toolCalls = [];
309
365
  // Stream AI response from backend
310
366
  // Backend will inject system prompt automatically with environment context
311
- for await (const chunk of aiServiceClient.streamChat(selectedModel, messages, tools, environmentContext, mode)) {
367
+ for await (const chunk of aiServiceClient.streamChat(selectedModel, messages, tools, environmentContext, mode, selectedModelThinkingConfig)) {
312
368
  // Handle error chunks
313
369
  if (chunk.type === 'error') {
314
370
  throw new Error(chunk.message);
315
371
  }
372
+ // Handle thought chunks (internal reasoning)
373
+ if (chunk.type === 'thought') {
374
+ // Debug logging to file
375
+ fs.appendFileSync('cli_frontend_logs.txt', `[${new Date().toISOString()}] [CLI] Received thought chunk: ${chunk.content.substring(0, 100)}\n`);
376
+ if (!thoughtStartTime) {
377
+ thoughtStartTime = Date.now();
378
+ }
379
+ thoughtContent += chunk.content;
380
+ // Send thought to UI callback if available
381
+ if (this.onThoughtStreamCallback) {
382
+ fs.appendFileSync('cli_frontend_logs.txt', `[${new Date().toISOString()}] [CLI] Calling onThoughtStreamCallback\n`);
383
+ this.onThoughtStreamCallback(chunk.content);
384
+ }
385
+ else {
386
+ fs.appendFileSync('cli_frontend_logs.txt', `[${new Date().toISOString()}] [CLI] WARNING: onThoughtStreamCallback is not set!\n`);
387
+ }
388
+ continue;
389
+ }
316
390
  // Handle text chunks
317
391
  if (chunk.type === 'text') {
392
+ // If we were thinking and now got text, finalize the thought
393
+ if (thoughtStartTime) {
394
+ const thinkingDuration = Math.round((Date.now() - thoughtStartTime) / 1000);
395
+ if (this.onThoughtCompleteCallback) {
396
+ this.onThoughtCompleteCallback(thinkingDuration);
397
+ }
398
+ thoughtStartTime = null;
399
+ thoughtContent = '';
400
+ }
318
401
  assistantMessage += chunk.content;
319
402
  // Send chunk to UI in real-time (but filter out completion marker)
320
403
  if (this.onResponseStreamCallback) {
321
- // Don't stream the completion marker to the UI
322
- const cleanChunk = chunk.content.replace(/<TASK_COMPLETE>/g, '');
323
- if (cleanChunk) {
324
- this.onResponseStreamCallback(cleanChunk);
404
+ // Add to buffer
405
+ streamBuffer += chunk.content;
406
+ // Check if buffer contains complete TASK_COMPLETE marker
407
+ if (streamBuffer.includes('<TASK_COMPLETE>')) {
408
+ // Remove the marker and flush buffer
409
+ const cleanBuffer = streamBuffer.replace(/<TASK_COMPLETE>/g, '');
410
+ if (cleanBuffer) {
411
+ this.onResponseStreamCallback(cleanBuffer);
412
+ }
413
+ streamBuffer = '';
414
+ }
415
+ else if (streamBuffer.length > 20) {
416
+ // If buffer is getting long without marker, flush it
417
+ // Keep last 20 chars in case marker is split
418
+ const toFlush = streamBuffer.slice(0, -20);
419
+ if (toFlush) {
420
+ this.onResponseStreamCallback(toFlush);
421
+ }
422
+ streamBuffer = streamBuffer.slice(-20);
325
423
  }
326
424
  }
327
425
  }
328
426
  // Handle tool call chunks
329
427
  if (chunk.type === 'tool_call') {
428
+ // If we were thinking and now got a tool call, finalize the thought
429
+ if (thoughtStartTime) {
430
+ const thinkingDuration = Math.round((Date.now() - thoughtStartTime) / 1000);
431
+ if (this.onThoughtCompleteCallback) {
432
+ this.onThoughtCompleteCallback(thinkingDuration);
433
+ }
434
+ thoughtStartTime = null;
435
+ thoughtContent = '';
436
+ }
330
437
  toolCalls.push(chunk.toolCall);
331
438
  }
332
439
  // Handle done chunk
333
440
  if (chunk.type === 'done') {
441
+ // If we were thinking and stream ended, finalize the thought
442
+ if (thoughtStartTime) {
443
+ const thinkingDuration = Math.round((Date.now() - thoughtStartTime) / 1000);
444
+ fs.appendFileSync('cli_frontend_logs.txt', `[${new Date().toISOString()}] [CLI] Stream done, finalizing thinking: ${thinkingDuration}s\n`);
445
+ if (this.onThoughtCompleteCallback) {
446
+ fs.appendFileSync('cli_frontend_logs.txt', `[${new Date().toISOString()}] [CLI] Calling onThoughtCompleteCallback from done handler\n`);
447
+ this.onThoughtCompleteCallback(thinkingDuration);
448
+ }
449
+ else {
450
+ fs.appendFileSync('cli_frontend_logs.txt', `[${new Date().toISOString()}] [CLI] WARNING: onThoughtCompleteCallback not set in done handler!\n`);
451
+ }
452
+ thoughtStartTime = null;
453
+ thoughtContent = '';
454
+ }
455
+ else {
456
+ fs.appendFileSync('cli_frontend_logs.txt', `[${new Date().toISOString()}] [CLI] Stream done but no thinking was in progress\n`);
457
+ }
458
+ // Flush any remaining buffer
459
+ if (streamBuffer && this.onResponseStreamCallback) {
460
+ const cleanBuffer = streamBuffer.replace(/<TASK_COMPLETE>/g, '');
461
+ if (cleanBuffer) {
462
+ this.onResponseStreamCallback(cleanBuffer);
463
+ }
464
+ streamBuffer = '';
465
+ }
334
466
  break;
335
467
  }
336
468
  }
@@ -342,6 +474,21 @@ Press Enter to continue...
342
474
  }
343
475
  // If there are tool calls, execute them and continue loop
344
476
  if (toolCalls.length > 0) {
477
+ // Limit tool calls per turn to prevent overthinking
478
+ if (toolCalls.length > MAX_TOOL_CALLS_PER_TURN) {
479
+ console.warn(`⚠️ Model attempted ${toolCalls.length} tool calls, limiting to ${MAX_TOOL_CALLS_PER_TURN}`);
480
+ toolCalls = toolCalls.slice(0, MAX_TOOL_CALLS_PER_TURN);
481
+ }
482
+ // Helper function to truncate large results
483
+ const truncateResult = (result, maxLength = 500000) => {
484
+ const resultStr = typeof result === 'string' ? result : JSON.stringify(result);
485
+ if (resultStr.length > maxLength) {
486
+ const truncated = resultStr.substring(0, maxLength);
487
+ const linesRemoved = (resultStr.match(/\n/g) || []).length - (truncated.match(/\n/g) || []).length;
488
+ return truncated + `\n\n[... truncated ${resultStr.length - maxLength} characters, ~${linesRemoved} lines removed for brevity ...]`;
489
+ }
490
+ return result;
491
+ };
345
492
  const toolResults = [];
346
493
  let userCancelledOperation = false;
347
494
  for (let i = 0; i < toolCalls.length; i++) {
@@ -351,7 +498,7 @@ Press Enter to continue...
351
498
  // Don't send 'executing' status here - it causes duplication with approval UI
352
499
  const result = await this.toolRegistry.execute(toolCall.name, toolCall.arguments, context);
353
500
  if (result.success) {
354
- // Notify UI: tool succeeded
501
+ // Notify UI: tool succeeded (send full result to UI)
355
502
  if (this.onToolExecutionUpdate) {
356
503
  this.onToolExecutionUpdate({
357
504
  toolName: toolCall.name,
@@ -371,10 +518,12 @@ Press Enter to continue...
371
518
  parsedResult = result.result;
372
519
  }
373
520
  }
521
+ // Truncate result before sending to AI (to avoid exceeding message size limits)
522
+ const truncatedResult = truncateResult(parsedResult);
374
523
  toolResults.push({
375
524
  tool_call_id: toolCall.id,
376
525
  name: toolCall.name,
377
- result: parsedResult,
526
+ result: truncatedResult,
378
527
  });
379
528
  }
380
529
  else {
@@ -433,6 +582,7 @@ Press Enter to continue...
433
582
  this.conversationHistory.push({
434
583
  role: 'assistant',
435
584
  content: assistantMessage || '',
585
+ tool_calls: toolCalls, // Store tool calls for MaaS models
436
586
  });
437
587
  // Add tool results to history
438
588
  for (const toolResult of toolResults) {
@@ -454,6 +604,7 @@ Press Enter to continue...
454
604
  this.conversationHistory.push({
455
605
  role: 'assistant',
456
606
  content: assistantMessage || '',
607
+ tool_calls: toolCalls, // Store tool calls for MaaS models
457
608
  });
458
609
  // Add tool results to conversation history as tool messages
459
610
  // Format: { tool_call_id, name, result: <object or string> }
@@ -545,7 +696,8 @@ Press Enter to continue...
545
696
  finalAssistantMessage = (finalAssistantMessage || 'Task processing limit reached.') + warningMessage;
546
697
  }
547
698
  // Send final message to user (without tool execution logs)
548
- const finalMessage = finalAssistantMessage || 'Task completed.';
699
+ // Always remove the completion marker before displaying
700
+ const finalMessage = this.removeCompletionMarker(finalAssistantMessage || 'Task completed.');
549
701
  // Save to conversation history
550
702
  this.conversationHistory.push({
551
703
  role: 'assistant',
@@ -593,6 +745,7 @@ Press Enter to continue...
593
745
  `/config - View current configuration\n` +
594
746
  `/model - Select from available Google models\n` +
595
747
  `/plan - Toggle plan mode for complex implementations\n` +
748
+ `/quality - Toggle enhanced quality features (thinking protocol, validation)\n` +
596
749
  `/sign-in - Sign in with Google (if not already signed in)\n` +
597
750
  `/logout - Sign out, clear session, and exit CLI\n` +
598
751
  `/exit - Exit the application\n\n` +
@@ -693,6 +846,24 @@ Press Enter to continue...
693
846
  }
694
847
  // Don't send any response message - the status bar shows the mode
695
848
  return;
849
+ case 'quality':
850
+ // Toggle enhanced quality features
851
+ const currentQuality = this.configManager.get('enhancedQuality');
852
+ const newQuality = currentQuality === false; // Toggle (default is true)
853
+ this.configManager.set('enhancedQuality', newQuality);
854
+ responseMessage = newQuality
855
+ ? '✅ Enhanced quality features enabled\n\n' +
856
+ 'The AI will now use:\n' +
857
+ '• Structured thinking protocol before actions\n' +
858
+ '• Enhanced command execution hygiene\n' +
859
+ '• Intelligent file editing validation\n' +
860
+ '• Professional SRE/Architect persona'
861
+ : '⚠️ Enhanced quality features disabled\n\n' +
862
+ 'The AI will use the basic system prompt without:\n' +
863
+ '• Thinking protocol\n' +
864
+ '• Advanced validation\n' +
865
+ '• Enhanced tool descriptions';
866
+ break;
696
867
  case 'clear':
697
868
  this.conversationHistory = [];
698
869
  this.conversationStarted = false;
@@ -720,8 +891,19 @@ Press Enter to continue...
720
891
  responseMessage = `❌ Failed to update configuration: ${error.message}`;
721
892
  }
722
893
  }
894
+ else if (configKey === 'enhancedQuality') {
895
+ // Parse boolean value
896
+ const boolValue = configValue.toLowerCase() === 'true' || configValue === '1';
897
+ try {
898
+ this.configManager.set('enhancedQuality', boolValue);
899
+ responseMessage = `✅ Configuration updated: ${configKey} = ${boolValue}`;
900
+ }
901
+ catch (error) {
902
+ responseMessage = `❌ Failed to update configuration: ${error.message}`;
903
+ }
904
+ }
723
905
  else {
724
- responseMessage = `❌ Error: Unknown config key: ${configKey}\nValid keys: model`;
906
+ responseMessage = `❌ Error: Unknown config key: ${configKey}\nValid keys: model, enhancedQuality`;
725
907
  }
726
908
  }
727
909
  else {
@@ -732,7 +914,8 @@ Press Enter to continue...
732
914
  const currentVersion = getCurrentVersion();
733
915
  responseMessage = `Current Configuration:\n\n` +
734
916
  `Version: ${currentVersion}\n` +
735
- `Model: ${config.model || 'gemini-2.0-flash-exp (default)'}\n` +
917
+ `Model: ${config.model || 'gemini-2.5-flash (default)'}\n` +
918
+ `Enhanced Quality: ${config.enhancedQuality !== false ? '✅ Enabled' : '❌ Disabled'}\n` +
736
919
  `Authentication: ${apiClient.isAuthenticated() ? '✅ Signed in' : '❌ Not signed in'}`;
737
920
  }
738
921
  break;
@@ -740,13 +923,16 @@ Press Enter to continue...
740
923
  if (args.length === 0) {
741
924
  // Show picker for model selection
742
925
  if (this.onShowPickerCallback) {
743
- const currentModel = this.configManager.load().model || 'gemini-2.0-flash-exp';
926
+ const config = this.configManager.load();
927
+ const currentModelName = config.modelName || '';
928
+ // Import ALL_MODELS to show all variants including duplicates
929
+ const { ALL_MODELS } = await import('./config/models.js');
744
930
  this.onShowPickerCallback({
745
931
  message: 'Select Model',
746
932
  type: 'model',
747
- choices: SUPPORTED_MODELS.map(model => ({
748
- label: `${getModelDisplayName(model)}${currentModel === model ? ' [CURRENT]' : ''}`,
749
- value: model
933
+ choices: ALL_MODELS.map((modelConfig, index) => ({
934
+ label: `${modelConfig.name} - ${modelConfig.description}${currentModelName === modelConfig.name ? ' [CURRENT]' : ''}`,
935
+ value: `${index}` // Use index as unique identifier
750
936
  }))
751
937
  });
752
938
  return; // Don't send a text response, picker will handle it
@@ -1 +1 @@
1
- {"version":3,"file":"cli-adapter.js","sourceRoot":"","sources":["../src/cli-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-adapter.js","sourceRoot":"","sources":["../src/cli-adapter.ts"],"names":[],"mappings":"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"}