@defai.digital/ax-cli 2.3.0 → 2.4.0

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 (104) hide show
  1. package/.ax-cli/CUSTOM.md +111 -89
  2. package/.ax-cli/index.json +4 -3
  3. package/README.md +43 -16
  4. package/config/prompts.yaml +9 -0
  5. package/config/settings.yaml +2 -0
  6. package/dist/agent/llm-agent.d.ts +17 -0
  7. package/dist/agent/llm-agent.js +151 -52
  8. package/dist/agent/llm-agent.js.map +1 -1
  9. package/dist/commands/init/wizard.d.ts +66 -0
  10. package/dist/commands/init/wizard.js +310 -0
  11. package/dist/commands/init/wizard.js.map +1 -0
  12. package/dist/commands/init.js +146 -26
  13. package/dist/commands/init.js.map +1 -1
  14. package/dist/commands/mcp.js +3 -2
  15. package/dist/commands/mcp.js.map +1 -1
  16. package/dist/commands/memory.d.ts +5 -0
  17. package/dist/commands/memory.js +257 -0
  18. package/dist/commands/memory.js.map +1 -0
  19. package/dist/commands/setup.js +1 -1
  20. package/dist/commands/setup.js.map +1 -1
  21. package/dist/commands/templates.d.ts +5 -0
  22. package/dist/commands/templates.js +244 -0
  23. package/dist/commands/templates.js.map +1 -0
  24. package/dist/commands/update.js +9 -2
  25. package/dist/commands/update.js.map +1 -1
  26. package/dist/commands/usage.js +1 -1
  27. package/dist/commands/usage.js.map +1 -1
  28. package/dist/constants.d.ts +2 -0
  29. package/dist/constants.js +2 -0
  30. package/dist/constants.js.map +1 -1
  31. package/dist/hooks/use-input-handler.js +49 -12
  32. package/dist/hooks/use-input-handler.js.map +1 -1
  33. package/dist/index.js +143 -16
  34. package/dist/index.js.map +1 -1
  35. package/dist/llm/client.d.ts +5 -0
  36. package/dist/llm/client.js +43 -37
  37. package/dist/llm/client.js.map +1 -1
  38. package/dist/schemas/index.d.ts +69 -0
  39. package/dist/schemas/index.js +29 -0
  40. package/dist/schemas/index.js.map +1 -1
  41. package/dist/schemas/yaml-schemas.d.ts +10 -0
  42. package/dist/schemas/yaml-schemas.js +2 -0
  43. package/dist/schemas/yaml-schemas.js.map +1 -1
  44. package/dist/tools/search.js +7 -1
  45. package/dist/tools/search.js.map +1 -1
  46. package/dist/tools/text-editor.js +24 -14
  47. package/dist/tools/text-editor.js.map +1 -1
  48. package/dist/tools/todo-tool.js +62 -21
  49. package/dist/tools/todo-tool.js.map +1 -1
  50. package/dist/types/template.d.ts +53 -0
  51. package/dist/types/template.js +5 -0
  52. package/dist/types/template.js.map +1 -0
  53. package/dist/ui/components/command-suggestions.js +2 -2
  54. package/dist/ui/components/command-suggestions.js.map +1 -1
  55. package/dist/utils/cache.d.ts +1 -0
  56. package/dist/utils/cache.js +39 -5
  57. package/dist/utils/cache.js.map +1 -1
  58. package/dist/utils/config-loader.d.ts +2 -0
  59. package/dist/utils/config-loader.js +2 -1
  60. package/dist/utils/config-loader.js.map +1 -1
  61. package/dist/utils/confirmation-service.js +6 -3
  62. package/dist/utils/confirmation-service.js.map +1 -1
  63. package/dist/utils/error-handler.d.ts +5 -0
  64. package/dist/utils/error-handler.js +9 -3
  65. package/dist/utils/error-handler.js.map +1 -1
  66. package/dist/utils/init-previewer.d.ts +56 -0
  67. package/dist/utils/init-previewer.js +217 -0
  68. package/dist/utils/init-previewer.js.map +1 -0
  69. package/dist/utils/init-validator.d.ts +61 -0
  70. package/dist/utils/init-validator.js +248 -0
  71. package/dist/utils/init-validator.js.map +1 -0
  72. package/dist/utils/llm-optimized-instruction-generator.d.ts +31 -0
  73. package/dist/utils/llm-optimized-instruction-generator.js +296 -0
  74. package/dist/utils/llm-optimized-instruction-generator.js.map +1 -0
  75. package/dist/utils/onboarding-manager.d.ts +45 -0
  76. package/dist/utils/onboarding-manager.js +130 -0
  77. package/dist/utils/onboarding-manager.js.map +1 -0
  78. package/dist/utils/path-utils.d.ts +83 -0
  79. package/dist/utils/path-utils.js +122 -0
  80. package/dist/utils/path-utils.js.map +1 -0
  81. package/dist/utils/progress-tracker.d.ts +51 -0
  82. package/dist/utils/progress-tracker.js +152 -0
  83. package/dist/utils/progress-tracker.js.map +1 -0
  84. package/dist/utils/project-analyzer.js +8 -14
  85. package/dist/utils/project-analyzer.js.map +1 -1
  86. package/dist/utils/settings-manager.d.ts +3 -3
  87. package/dist/utils/settings-manager.js +6 -13
  88. package/dist/utils/settings-manager.js.map +1 -1
  89. package/dist/utils/string-utils.d.ts +19 -0
  90. package/dist/utils/string-utils.js +28 -0
  91. package/dist/utils/string-utils.js.map +1 -0
  92. package/dist/utils/template-manager.d.ts +54 -0
  93. package/dist/utils/template-manager.js +421 -0
  94. package/dist/utils/template-manager.js.map +1 -0
  95. package/dist/utils/text-utils.js +3 -1
  96. package/dist/utils/text-utils.js.map +1 -1
  97. package/package.json +2 -1
  98. package/vitest.config.ts +6 -0
  99. package/dist/utils/model-config.d.ts +0 -28
  100. package/dist/utils/model-config.js +0 -43
  101. package/dist/utils/model-config.js.map +0 -1
  102. package/dist/utils/tool-helpers.d.ts +0 -25
  103. package/dist/utils/tool-helpers.js +0 -53
  104. package/dist/utils/tool-helpers.js.map +0 -1
@@ -3,12 +3,14 @@ import { getAllGrokTools, getMCPManager, initializeMCPServers, } from "../llm/to
3
3
  import { loadMCPConfig } from "../mcp/config.js";
4
4
  import { TextEditorTool, BashTool, TodoTool, SearchTool, } from "../tools/index.js";
5
5
  import { EventEmitter } from "events";
6
+ import { AGENT_CONFIG } from "../constants.js";
6
7
  import { createTokenCounter } from "../utils/token-counter.js";
7
8
  import { loadCustomInstructions } from "../utils/custom-instructions.js";
8
9
  import { getSettingsManager } from "../utils/settings-manager.js";
9
10
  import { ContextManager } from "./context-manager.js";
10
11
  import { buildSystemPrompt } from "../utils/prompt-builder.js";
11
12
  import { getUsageTracker } from "../utils/usage-tracker.js";
13
+ import { extractErrorMessage } from "../utils/error-handler.js";
12
14
  export class LLMAgent extends EventEmitter {
13
15
  llmClient;
14
16
  textEditor;
@@ -21,11 +23,15 @@ export class LLMAgent extends EventEmitter {
21
23
  contextManager;
22
24
  abortController = null;
23
25
  maxToolRounds;
26
+ recentToolCalls = new Map(); // Track recent tool calls to detect loops
24
27
  constructor(apiKey, baseURL, model, maxToolRounds) {
25
28
  super();
26
29
  const manager = getSettingsManager();
27
30
  const savedModel = manager.getCurrentModel();
28
- const modelToUse = model || savedModel || "grok-code-fast-1";
31
+ const modelToUse = model || savedModel;
32
+ if (!modelToUse) {
33
+ throw new Error('No model configured. Please run "ax-cli setup" to configure your AI provider and model.');
34
+ }
29
35
  this.maxToolRounds = maxToolRounds || 400;
30
36
  this.llmClient = new LLMClient(apiKey, modelToUse, baseURL);
31
37
  this.textEditor = new TextEditorTool();
@@ -54,20 +60,69 @@ export class LLMAgent extends EventEmitter {
54
60
  const config = loadMCPConfig();
55
61
  if (config.servers.length > 0) {
56
62
  await initializeMCPServers();
63
+ this.emit('system', 'MCP servers initialized successfully');
57
64
  }
58
65
  }
59
66
  catch (error) {
60
- console.warn("MCP initialization failed:", error);
67
+ const errorMsg = extractErrorMessage(error);
68
+ console.warn("MCP initialization failed:", errorMsg);
69
+ this.emit('system', `MCP initialization failed: ${errorMsg}`);
61
70
  }
62
71
  }).catch((error) => {
63
72
  // Catch any unhandled promise rejections
64
- console.warn("Unexpected error during MCP initialization:", error);
73
+ const errorMsg = extractErrorMessage(error);
74
+ console.warn("Unexpected error during MCP initialization:", errorMsg);
75
+ this.emit('system', `Unexpected MCP error: ${errorMsg}`);
65
76
  });
66
77
  }
67
78
  isGrokModel() {
68
79
  const currentModel = this.llmClient.getCurrentModel();
69
80
  return currentModel.toLowerCase().includes("grok");
70
81
  }
82
+ /**
83
+ * Detect if a tool call is repetitive (likely causing a loop)
84
+ * Returns true if the same tool with similar arguments was called multiple times recently
85
+ */
86
+ isRepetitiveToolCall(toolCall) {
87
+ try {
88
+ const args = JSON.parse(toolCall.function.arguments || '{}');
89
+ // For bash commands, extract the base command (first word) for similarity checking
90
+ let baseSignature = toolCall.function.name;
91
+ if (toolCall.function.name === 'bash' && args.command) {
92
+ // Extract base command (e.g., "find", "ls", "grep") from full command
93
+ const commandParts = args.command.trim().split(/\s+/);
94
+ const baseCommand = commandParts.length > 0 ? commandParts[0] : 'unknown';
95
+ baseSignature = `bash:${baseCommand}`;
96
+ }
97
+ // Track by base signature (tool name or bash:command)
98
+ const count = this.recentToolCalls.get(baseSignature) || 0;
99
+ this.recentToolCalls.set(baseSignature, count + 1);
100
+ // If we've seen this tool/command type 2+ times in recent history, it's likely looping
101
+ // This catches both exact duplicates and similar commands (e.g., multiple "find" variations)
102
+ if (count >= 2) {
103
+ return true;
104
+ }
105
+ // Clean up old entries (keep only last N unique calls)
106
+ if (this.recentToolCalls.size > AGENT_CONFIG.MAX_RECENT_TOOL_CALLS) {
107
+ const firstKey = this.recentToolCalls.keys().next().value;
108
+ // Map.keys().next().value is guaranteed to exist when size > 0, but TypeScript doesn't know this
109
+ if (firstKey) {
110
+ this.recentToolCalls.delete(firstKey);
111
+ }
112
+ }
113
+ return false;
114
+ }
115
+ catch {
116
+ // If we can't parse, assume it's not repetitive
117
+ return false;
118
+ }
119
+ }
120
+ /**
121
+ * Reset the tool call tracking (called at start of new user message)
122
+ */
123
+ resetToolCallTracking() {
124
+ this.recentToolCalls.clear();
125
+ }
71
126
  // Heuristic: enable web search only when likely needed
72
127
  shouldUseSearchFor(message) {
73
128
  const q = message.toLowerCase();
@@ -98,6 +153,8 @@ export class LLMAgent extends EventEmitter {
98
153
  return false;
99
154
  }
100
155
  async processUserMessage(message) {
156
+ // Reset tool call tracking for new message
157
+ this.resetToolCallTracking();
101
158
  // Add user message to conversation
102
159
  const userEntry = {
103
160
  type: "user",
@@ -126,6 +183,18 @@ export class LLMAgent extends EventEmitter {
126
183
  if (assistantMessage.tool_calls &&
127
184
  assistantMessage.tool_calls.length > 0) {
128
185
  toolRounds++;
186
+ // Check for repetitive tool calls (loop detection)
187
+ const hasRepetitiveCall = assistantMessage.tool_calls.some((tc) => this.isRepetitiveToolCall(tc));
188
+ if (hasRepetitiveCall) {
189
+ const warningEntry = {
190
+ type: "assistant",
191
+ content: "⚠️ Detected repetitive tool calls. Stopping to prevent infinite loop.\n\nI apologize, but I seem to be stuck in a loop trying to answer your question. Let me provide what I can without further tool use.",
192
+ timestamp: new Date(),
193
+ };
194
+ this.chatHistory.push(warningEntry);
195
+ newEntries.push(warningEntry);
196
+ break;
197
+ }
129
198
  // Add assistant message with tool calls
130
199
  const assistantEntry = {
131
200
  type: "assistant",
@@ -219,53 +288,60 @@ export class LLMAgent extends EventEmitter {
219
288
  return newEntries;
220
289
  }
221
290
  catch (error) {
291
+ const errorMsg = extractErrorMessage(error);
222
292
  const errorEntry = {
223
293
  type: "assistant",
224
- content: `Sorry, I encountered an error: ${error.message}`,
294
+ content: `Sorry, I encountered an error: ${errorMsg}`,
225
295
  timestamp: new Date(),
226
296
  };
227
297
  this.chatHistory.push(errorEntry);
228
298
  return [userEntry, errorEntry];
229
299
  }
230
300
  }
231
- messageReducer(previous, item) {
232
- const reduce = (acc, delta) => {
233
- acc = { ...acc };
234
- for (const [key, value] of Object.entries(delta)) {
235
- if (acc[key] === undefined || acc[key] === null) {
236
- acc[key] = value;
237
- // Clean up index properties from tool calls
238
- if (Array.isArray(acc[key])) {
239
- for (const arr of acc[key]) {
240
- delete arr.index;
241
- }
242
- }
243
- }
244
- else if (typeof acc[key] === "string" && typeof value === "string") {
245
- acc[key] += value;
246
- }
247
- else if (Array.isArray(acc[key]) && Array.isArray(value)) {
248
- const accArray = acc[key];
249
- for (let i = 0; i < value.length; i++) {
250
- // Validate that value[i] exists before processing
251
- if (value[i] === undefined || value[i] === null)
252
- continue;
253
- if (!accArray[i])
254
- accArray[i] = {};
255
- accArray[i] = reduce(accArray[i], value[i]);
301
+ /**
302
+ * Recursively merge streaming delta into accumulated message
303
+ */
304
+ reduceStreamDelta(acc, delta) {
305
+ acc = { ...acc };
306
+ for (const [key, value] of Object.entries(delta)) {
307
+ if (acc[key] === undefined || acc[key] === null) {
308
+ acc[key] = value;
309
+ // Clean up index properties from tool calls
310
+ if (Array.isArray(acc[key])) {
311
+ for (const arr of acc[key]) {
312
+ delete arr.index;
256
313
  }
257
314
  }
258
- else if (typeof acc[key] === "object" && typeof value === "object") {
259
- acc[key] = reduce(acc[key], value);
315
+ }
316
+ else if (typeof acc[key] === "string" && typeof value === "string") {
317
+ acc[key] += value;
318
+ }
319
+ else if (Array.isArray(acc[key]) && Array.isArray(value)) {
320
+ const accArray = acc[key];
321
+ for (let i = 0; i < value.length; i++) {
322
+ // Validate that value[i] exists before processing
323
+ if (value[i] === undefined || value[i] === null)
324
+ continue;
325
+ if (!accArray[i])
326
+ accArray[i] = {};
327
+ accArray[i] = this.reduceStreamDelta(accArray[i], value[i]);
260
328
  }
261
329
  }
262
- return acc;
263
- };
330
+ else if (typeof acc[key] === "object" && typeof value === "object") {
331
+ acc[key] = this.reduceStreamDelta(acc[key], value);
332
+ }
333
+ }
334
+ return acc;
335
+ }
336
+ /**
337
+ * Accumulate streaming message chunks
338
+ */
339
+ messageReducer(previous, item) {
264
340
  // Safety check: ensure item has valid structure
265
341
  if (!item?.choices || item.choices.length === 0 || !item.choices[0]?.delta) {
266
342
  return previous;
267
343
  }
268
- return reduce(previous, item.choices[0].delta);
344
+ return this.reduceStreamDelta(previous, item.choices[0].delta);
269
345
  }
270
346
  /**
271
347
  * Prepare user message and apply context management
@@ -326,7 +402,8 @@ export class LLMAgent extends EventEmitter {
326
402
  }
327
403
  catch (error) {
328
404
  // Log error but don't throw - continue with empty tools
329
- console.warn(`⚠️ Error loading tools: ${error.message}`);
405
+ const errorMsg = extractErrorMessage(error);
406
+ console.warn(`⚠️ Error loading tools: ${errorMsg}`);
330
407
  return [];
331
408
  }
332
409
  }
@@ -472,6 +549,8 @@ export class LLMAgent extends EventEmitter {
472
549
  async *processUserMessageStream(message) {
473
550
  // Create new abort controller for this request
474
551
  this.abortController = new AbortController();
552
+ // Reset tool call tracking for new message
553
+ this.resetToolCallTracking();
475
554
  // Prepare user message and get input tokens
476
555
  const inputTokensRef = { value: this.prepareUserMessageForStreaming(message) };
477
556
  yield {
@@ -525,6 +604,15 @@ export class LLMAgent extends EventEmitter {
525
604
  // Handle tool calls if present
526
605
  if (streamResult.accumulated.tool_calls?.length > 0) {
527
606
  toolRounds++;
607
+ // Check for repetitive tool calls (loop detection)
608
+ const hasRepetitiveCall = streamResult.accumulated.tool_calls.some((tc) => this.isRepetitiveToolCall(tc));
609
+ if (hasRepetitiveCall) {
610
+ yield {
611
+ type: "content",
612
+ content: "\n\n⚠️ Detected repetitive tool calls. Stopping to prevent infinite loop.\n\nI apologize, but I seem to be stuck in a loop trying to answer your question. Let me provide what I can without further tool use.",
613
+ };
614
+ break;
615
+ }
528
616
  yield* this.executeToolCalls(streamResult.accumulated.tool_calls, streamResult.yielded, inputTokensRef, totalOutputTokensRef);
529
617
  // Continue loop to get next response
530
618
  }
@@ -548,9 +636,10 @@ export class LLMAgent extends EventEmitter {
548
636
  yield* this.yieldCancellation();
549
637
  return;
550
638
  }
639
+ const errorMsg = extractErrorMessage(error);
551
640
  const errorEntry = {
552
641
  type: "assistant",
553
- content: `Sorry, I encountered an error: ${error.message}`,
642
+ content: `Sorry, I encountered an error: ${errorMsg}`,
554
643
  timestamp: new Date(),
555
644
  };
556
645
  this.chatHistory.push(errorEntry);
@@ -643,9 +732,10 @@ export class LLMAgent extends EventEmitter {
643
732
  }
644
733
  }
645
734
  catch (error) {
735
+ const errorMsg = extractErrorMessage(error);
646
736
  return {
647
737
  success: false,
648
- error: `Tool execution error: ${error.message}`,
738
+ error: `Tool execution error: ${errorMsg}`,
649
739
  };
650
740
  }
651
741
  }
@@ -660,35 +750,44 @@ export class LLMAgent extends EventEmitter {
660
750
  const result = await mcpManager.callTool(toolCall.function.name, args);
661
751
  if (result.isError) {
662
752
  // Extract error message from MCP result content
663
- const errorMsg = result.content && result.content.length > 0
664
- ? result.content[0]?.text || "MCP tool error"
665
- : "MCP tool error";
753
+ // Safely check content structure before accessing
754
+ let errorMsg = "MCP tool error";
755
+ if (result.content && result.content.length > 0) {
756
+ const firstContent = result.content[0];
757
+ if (typeof firstContent === 'object' && firstContent !== null && 'text' in firstContent) {
758
+ errorMsg = String(firstContent.text) || errorMsg;
759
+ }
760
+ }
666
761
  return {
667
762
  success: false,
668
763
  error: errorMsg,
669
764
  };
670
765
  }
671
766
  // Extract content from result
672
- const output = result.content
673
- .map((item) => {
674
- if (item.type === "text") {
675
- return item.text;
676
- }
677
- else if (item.type === "resource") {
678
- return `Resource: ${item.resource?.uri || "Unknown"}`;
679
- }
680
- return String(item);
681
- })
682
- .join("\n");
767
+ // Ensure result.content exists and is an array before mapping
768
+ const output = result.content && Array.isArray(result.content)
769
+ ? result.content
770
+ .map((item) => {
771
+ if (item.type === "text") {
772
+ return item.text;
773
+ }
774
+ else if (item.type === "resource") {
775
+ return `Resource: ${item.resource?.uri || "Unknown"}`;
776
+ }
777
+ return String(item);
778
+ })
779
+ .join("\n")
780
+ : "";
683
781
  return {
684
782
  success: true,
685
783
  output: output || "Success",
686
784
  };
687
785
  }
688
786
  catch (error) {
787
+ const errorMsg = extractErrorMessage(error);
689
788
  return {
690
789
  success: false,
691
- error: `MCP tool execution error: ${error.message}`,
790
+ error: `MCP tool execution error: ${errorMsg}`,
692
791
  };
693
792
  }
694
793
  }
@@ -1 +1 @@
1
- {"version":3,"file":"llm-agent.js","sourceRoot":"","sources":["../../src/agent/llm-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-agent.js","sourceRoot":"","sources":["../../src/agent/llm-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Interactive Setup Wizard for Init Command
3
+ */
4
+ import type { ProjectInfo } from '../../types/project-analysis.js';
5
+ import type { ProjectTemplate } from '../../schemas/index.js';
6
+ export interface WizardOptions {
7
+ nonInteractive?: boolean;
8
+ yes?: boolean;
9
+ template?: string;
10
+ preset?: string;
11
+ }
12
+ export interface APIConfig {
13
+ provider: 'glm' | 'openai' | 'anthropic' | 'ollama' | 'custom';
14
+ apiKey?: string;
15
+ baseUrl?: string;
16
+ model: string;
17
+ }
18
+ export interface UserPreferences {
19
+ verbose: boolean;
20
+ autoConfirm: boolean;
21
+ editor?: string;
22
+ }
23
+ export interface WizardResult {
24
+ apiConfig?: APIConfig;
25
+ preferences: UserPreferences;
26
+ generateInstructions: boolean;
27
+ skipWelcome: boolean;
28
+ selectedTemplate?: ProjectTemplate;
29
+ }
30
+ export declare class InitWizard {
31
+ private options;
32
+ private isFirstRun;
33
+ constructor(options?: WizardOptions);
34
+ /**
35
+ * Run the interactive wizard
36
+ */
37
+ run(): Promise<WizardResult>;
38
+ /**
39
+ * Show welcome screen for first-time users
40
+ */
41
+ private showWelcome;
42
+ /**
43
+ * Step 1: API Configuration
44
+ */
45
+ private stepAPIConfiguration;
46
+ /**
47
+ * Step 2: User Preferences
48
+ */
49
+ private stepPreferences;
50
+ /**
51
+ * Step 3: Template Selection
52
+ */
53
+ private stepTemplateSelection;
54
+ /**
55
+ * Step 4: Instruction Generation Confirmation
56
+ */
57
+ private stepInstructionGeneration;
58
+ /**
59
+ * Show completion summary
60
+ */
61
+ showCompletion(result: WizardResult, projectInfo?: ProjectInfo): Promise<void>;
62
+ /**
63
+ * Get default values for non-interactive mode
64
+ */
65
+ private getDefaults;
66
+ }