@defai.digital/ax-cli 3.13.0 → 3.14.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 (91) hide show
  1. package/README.md +14 -4
  2. package/dist/agent/loop-detector.d.ts +2 -0
  3. package/dist/agent/loop-detector.js +11 -15
  4. package/dist/agent/loop-detector.js.map +1 -1
  5. package/dist/agent/subagent.js +3 -3
  6. package/dist/agent/subagent.js.map +1 -1
  7. package/dist/commands/doctor.js +86 -1
  8. package/dist/commands/doctor.js.map +1 -1
  9. package/dist/commands/mcp.js +206 -0
  10. package/dist/commands/mcp.js.map +1 -1
  11. package/dist/commands/setup.js +50 -0
  12. package/dist/commands/setup.js.map +1 -1
  13. package/dist/constants.js +1 -1
  14. package/dist/hooks/hook-runner.js +1 -1
  15. package/dist/hooks/hook-runner.js.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/llm/tools.d.ts +29 -0
  19. package/dist/llm/tools.js +41 -0
  20. package/dist/llm/tools.js.map +1 -1
  21. package/dist/mcp/client-v2.d.ts +33 -0
  22. package/dist/mcp/client-v2.js +68 -0
  23. package/dist/mcp/client-v2.js.map +1 -1
  24. package/dist/mcp/client.d.ts +17 -0
  25. package/dist/mcp/client.js +17 -0
  26. package/dist/mcp/client.js.map +1 -1
  27. package/dist/mcp/index.d.ts +5 -1
  28. package/dist/mcp/index.js +6 -0
  29. package/dist/mcp/index.js.map +1 -1
  30. package/dist/mcp/prompts.d.ts +68 -0
  31. package/dist/mcp/prompts.js +129 -0
  32. package/dist/mcp/prompts.js.map +1 -0
  33. package/dist/mcp/resources.d.ts +1 -0
  34. package/dist/mcp/resources.js +9 -2
  35. package/dist/mcp/resources.js.map +1 -1
  36. package/dist/mcp/zai-detector.d.ts +63 -0
  37. package/dist/mcp/zai-detector.js +193 -0
  38. package/dist/mcp/zai-detector.js.map +1 -0
  39. package/dist/mcp/zai-templates.d.ts +90 -0
  40. package/dist/mcp/zai-templates.js +148 -0
  41. package/dist/mcp/zai-templates.js.map +1 -0
  42. package/dist/planner/task-planner.js +2 -2
  43. package/dist/planner/task-planner.js.map +1 -1
  44. package/dist/sdk/index.d.ts +7 -1
  45. package/dist/sdk/index.js +16 -1
  46. package/dist/sdk/index.js.map +1 -1
  47. package/dist/sdk/version.d.ts +3 -2
  48. package/dist/sdk/version.js +3 -2
  49. package/dist/sdk/version.js.map +1 -1
  50. package/dist/tools/ask-user.js +2 -1
  51. package/dist/tools/ask-user.js.map +1 -1
  52. package/dist/tools/bash.js +4 -5
  53. package/dist/tools/bash.js.map +1 -1
  54. package/dist/ui/components/chat-history.js +2 -63
  55. package/dist/ui/components/chat-history.js.map +1 -1
  56. package/dist/ui/components/chat-interface.js +11 -5
  57. package/dist/ui/components/chat-interface.js.map +1 -1
  58. package/dist/ui/components/collapsible-tool-result.d.ts +12 -0
  59. package/dist/ui/components/collapsible-tool-result.js +56 -50
  60. package/dist/ui/components/collapsible-tool-result.js.map +1 -1
  61. package/dist/ui/components/mcp-dashboard.d.ts +15 -0
  62. package/dist/ui/components/mcp-dashboard.js +520 -0
  63. package/dist/ui/components/mcp-dashboard.js.map +1 -0
  64. package/dist/ui/components/phase-progress.js +26 -69
  65. package/dist/ui/components/phase-progress.js.map +1 -1
  66. package/dist/ui/components/status-bar.js +7 -13
  67. package/dist/ui/components/status-bar.js.map +1 -1
  68. package/dist/ui/components/subagent-monitor.js +2 -25
  69. package/dist/ui/components/subagent-monitor.js.map +1 -1
  70. package/dist/ui/components/toast-notification.js +9 -14
  71. package/dist/ui/components/toast-notification.js.map +1 -1
  72. package/dist/ui/components/tool-group-display.js +8 -4
  73. package/dist/ui/components/tool-group-display.js.map +1 -1
  74. package/dist/ui/components/virtualized-chat-history.js +1 -44
  75. package/dist/ui/components/virtualized-chat-history.js.map +1 -1
  76. package/dist/ui/hooks/use-enhanced-input.js +10 -11
  77. package/dist/ui/hooks/use-enhanced-input.js.map +1 -1
  78. package/dist/ui/hooks/use-input-handler.d.ts +5 -1
  79. package/dist/ui/hooks/use-input-handler.js +277 -14
  80. package/dist/ui/hooks/use-input-handler.js.map +1 -1
  81. package/dist/ui/utils/change-summarizer.js +25 -11
  82. package/dist/ui/utils/change-summarizer.js.map +1 -1
  83. package/dist/ui/utils/semantic-action-detector.js +33 -30
  84. package/dist/ui/utils/semantic-action-detector.js.map +1 -1
  85. package/dist/ui/utils/tool-grouper.d.ts +4 -0
  86. package/dist/ui/utils/tool-grouper.js +71 -67
  87. package/dist/ui/utils/tool-grouper.js.map +1 -1
  88. package/eslint.config.js +2 -0
  89. package/node_modules/@ax-cli/schemas/package.json +2 -2
  90. package/package.json +1 -1
  91. package/packages/schemas/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"use-enhanced-input.js","sourceRoot":"","sources":["../../../src/ui/hooks/use-enhanced-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-enhanced-input.js","sourceRoot":"","sources":["../../../src/ui/hooks/use-enhanced-input.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { LLMAgent, ChatEntry } from "../../agent/llm-agent.js";
2
2
  import { VerbosityLevel } from "../../constants.js";
3
+ import type { MCPResource } from "../../mcp/resources.js";
3
4
  interface UseInputHandlerProps {
4
5
  agent: LLMAgent;
5
6
  chatHistory: ChatEntry[];
@@ -27,6 +28,7 @@ interface UseInputHandlerProps {
27
28
  onLargePaste?: (charCount: number) => void;
28
29
  onPasteTruncated?: (originalLength: number, truncatedLength: number) => void;
29
30
  onKeyboardHelp?: () => void;
31
+ onMcpDashboardToggle?: () => void;
30
32
  onThinkingModeChange?: (enabled: boolean) => void;
31
33
  onEditorOpening?: (editorName: string) => void;
32
34
  onEditorSuccess?: () => void;
@@ -42,12 +44,14 @@ interface ModelOption {
42
44
  }
43
45
  export declare function useInputHandler({ agent, chatHistory, setChatHistory, setIsProcessing, setIsStreaming, setTokenCount, setProcessingTime, processingStartTime, isProcessing, isStreaming, isConfirmationActive, onQuickActionsToggle, onVerboseModeChange, onBackgroundModeChange, onAutoEditModeChange, onTaskMovedToBackground, onOperationInterrupted, onChatCleared, onCopyLastResponse, onMemoryWarmed, onMemoryRefreshed, onCheckpointCreated: _onCheckpointCreated, // Reserved for future checkpoint UI
44
46
  onCheckpointRestored: _onCheckpointRestored, // Reserved for future checkpoint UI
45
- onLargePaste, onPasteTruncated, onKeyboardHelp, onThinkingModeChange, onEditorOpening, onEditorSuccess, onEditorCancelled, onEditorError, }: UseInputHandlerProps): {
47
+ onLargePaste, onPasteTruncated, onKeyboardHelp, onMcpDashboardToggle, onThinkingModeChange, onEditorOpening, onEditorSuccess, onEditorCancelled, onEditorError, }: UseInputHandlerProps): {
46
48
  input: string;
47
49
  cursorPosition: number;
48
50
  showCommandSuggestions: boolean;
49
51
  selectedCommandIndex: number;
50
52
  commandSuggestions: CommandSuggestion[];
53
+ resourceSuggestions: MCPResource[];
54
+ suggestionMode: "resource" | "command";
51
55
  availableModels: ModelOption[];
52
56
  agent: LLMAgent;
53
57
  autoEditEnabled: boolean;
@@ -20,14 +20,21 @@ import { openExternalEditor, getPreferredEditor, getEditorDisplayName } from "..
20
20
  import { extractErrorMessage } from "../../utils/error-handler.js";
21
21
  import { getCustomCommandsManager } from "../../commands/custom-commands.js";
22
22
  import { getHooksManager } from "../../hooks/index.js";
23
+ import { getMCPPrompts, getMCPManager, getMCPResources } from "../../llm/tools.js";
24
+ import { promptToSlashCommand, parsePromptCommand, formatPromptResult, getPromptDescription } from "../../mcp/prompts.js";
25
+ import { getPermissionManager, PermissionTier } from "../../permissions/permission-manager.js";
23
26
  import { parseFileMentions } from "../../utils/file-mentions.js";
24
27
  import * as fs from "fs";
25
28
  import * as path from "path";
26
29
  export function useInputHandler({ agent, chatHistory, setChatHistory, setIsProcessing, setIsStreaming, setTokenCount, setProcessingTime, processingStartTime, isProcessing, isStreaming, isConfirmationActive = false, onQuickActionsToggle, onVerboseModeChange, onBackgroundModeChange, onAutoEditModeChange, onTaskMovedToBackground, onOperationInterrupted, onChatCleared, onCopyLastResponse, onMemoryWarmed, onMemoryRefreshed, onCheckpointCreated: _onCheckpointCreated, // Reserved for future checkpoint UI
27
30
  onCheckpointRestored: _onCheckpointRestored, // Reserved for future checkpoint UI
28
- onLargePaste, onPasteTruncated, onKeyboardHelp, onThinkingModeChange, onEditorOpening, onEditorSuccess, onEditorCancelled, onEditorError, }) {
31
+ onLargePaste, onPasteTruncated, onKeyboardHelp, onMcpDashboardToggle, onThinkingModeChange, onEditorOpening, onEditorSuccess, onEditorCancelled, onEditorError, }) {
29
32
  const [showCommandSuggestions, setShowCommandSuggestions] = useState(false);
30
33
  const [selectedCommandIndex, setSelectedCommandIndex] = useState(0);
34
+ const [resourceSuggestions, setResourceSuggestions] = useState([]);
35
+ const [suggestionMode, setSuggestionMode] = useState("command");
36
+ // BUG FIX: Track current MCP query to prevent race condition with stale async results
37
+ const currentMcpQueryRef = useRef(null);
31
38
  const retryTimeoutRef = useRef(null);
32
39
  const [autoEditEnabled, setAutoEditEnabled] = useState(() => {
33
40
  const confirmationService = ConfirmationService.getInstance();
@@ -69,6 +76,11 @@ onLargePaste, onPasteTruncated, onKeyboardHelp, onThinkingModeChange, onEditorOp
69
76
  if (showCommandSuggestions) {
70
77
  setShowCommandSuggestions(false);
71
78
  setSelectedCommandIndex(0);
79
+ // Reset resource mode if active
80
+ if (suggestionMode === "resource") {
81
+ setResourceSuggestions([]);
82
+ setSuggestionMode("command");
83
+ }
72
84
  return true;
73
85
  }
74
86
  if (isProcessing || isStreaming) {
@@ -84,33 +96,51 @@ onLargePaste, onPasteTruncated, onKeyboardHelp, onThinkingModeChange, onEditorOp
84
96
  }
85
97
  return false; // Let default escape handling work
86
98
  }
87
- // Handle command suggestions navigation
99
+ // Handle command/resource suggestions navigation
88
100
  if (showCommandSuggestions) {
89
- const filteredSuggestions = filterCommandSuggestions(commandSuggestions, input);
90
- if (filteredSuggestions.length === 0) {
101
+ // Get appropriate suggestions based on mode
102
+ const currentSuggestions = suggestionMode === "resource"
103
+ ? resourceSuggestions.map((r) => ({ command: r.reference, description: r.description || r.name }))
104
+ : filterCommandSuggestions(commandSuggestions, input);
105
+ if (currentSuggestions.length === 0) {
91
106
  setShowCommandSuggestions(false);
92
107
  setSelectedCommandIndex(0);
93
108
  return false; // Continue processing
94
109
  }
95
110
  else {
96
111
  if (key.upArrow) {
97
- setSelectedCommandIndex((prev) => prev === 0 ? filteredSuggestions.length - 1 : prev - 1);
112
+ setSelectedCommandIndex((prev) => prev === 0 ? currentSuggestions.length - 1 : prev - 1);
98
113
  return true;
99
114
  }
100
115
  if (key.downArrow) {
101
- setSelectedCommandIndex((prev) => (prev + 1) % filteredSuggestions.length);
116
+ setSelectedCommandIndex((prev) => (prev + 1) % currentSuggestions.length);
102
117
  return true;
103
118
  }
104
119
  if (key.tab || key.return) {
105
120
  // Check if there are any suggestions available
106
- if (filteredSuggestions.length === 0) {
121
+ if (currentSuggestions.length === 0) {
107
122
  return true; // No suggestions, do nothing
108
123
  }
109
- const safeIndex = Math.min(selectedCommandIndex, filteredSuggestions.length - 1);
110
- const selectedCommand = filteredSuggestions[safeIndex];
111
- const newInput = selectedCommand.command + " ";
112
- setInput(newInput);
113
- setCursorPosition(newInput.length);
124
+ const safeIndex = Math.min(selectedCommandIndex, currentSuggestions.length - 1);
125
+ const selected = currentSuggestions[safeIndex];
126
+ if (suggestionMode === "resource") {
127
+ // Replace @mcp:partial with the full reference
128
+ const mcpMatch = input.match(/@mcp:[^\s]*$/);
129
+ if (mcpMatch) {
130
+ const newInput = input.replace(/@mcp:[^\s]*$/, selected.command + " ");
131
+ setInput(newInput);
132
+ setCursorPosition(newInput.length);
133
+ }
134
+ // Reset resource mode
135
+ setResourceSuggestions([]);
136
+ setSuggestionMode("command");
137
+ }
138
+ else {
139
+ // Command suggestion - replace entire input
140
+ const newInput = selected.command + " ";
141
+ setInput(newInput);
142
+ setCursorPosition(newInput.length);
143
+ }
114
144
  setShowCommandSuggestions(false);
115
145
  setSelectedCommandIndex(0);
116
146
  return true;
@@ -132,6 +162,41 @@ onLargePaste, onPasteTruncated, onKeyboardHelp, onThinkingModeChange, onEditorOp
132
162
  }
133
163
  };
134
164
  const handleInputChange = useCallback((newInput) => {
165
+ // Check for @mcp: resource auto-complete
166
+ const mcpMatch = newInput.match(/@mcp:([^\s]*)$/);
167
+ if (mcpMatch) {
168
+ const query = mcpMatch[1].toLowerCase();
169
+ // BUG FIX: Track current query to prevent race condition
170
+ // If user types faster than async completes, stale results are discarded
171
+ currentMcpQueryRef.current = query;
172
+ // Load resources asynchronously
173
+ getMCPResources().then((resources) => {
174
+ // BUG FIX: Only apply results if query hasn't changed (prevents stale suggestions)
175
+ if (currentMcpQueryRef.current !== query) {
176
+ return; // Query changed, discard stale results
177
+ }
178
+ const filtered = resources.filter((r) => r.reference.toLowerCase().includes(query) ||
179
+ r.name.toLowerCase().includes(query) ||
180
+ (r.description && r.description.toLowerCase().includes(query)));
181
+ setResourceSuggestions(filtered);
182
+ setSuggestionMode("resource");
183
+ setShowCommandSuggestions(true);
184
+ setSelectedCommandIndex(0);
185
+ }).catch(() => {
186
+ // Only clear if this is still the current query
187
+ if (currentMcpQueryRef.current === query) {
188
+ setResourceSuggestions([]);
189
+ }
190
+ });
191
+ return;
192
+ }
193
+ // Reset resource mode if it was active but no longer matches
194
+ // BUG FIX: Also clear the query ref when leaving resource mode
195
+ if (suggestionMode === "resource") {
196
+ currentMcpQueryRef.current = null;
197
+ setResourceSuggestions([]);
198
+ setSuggestionMode("command");
199
+ }
135
200
  // Update command suggestions based on input
136
201
  if (newInput.startsWith("/")) {
137
202
  setShowCommandSuggestions(true);
@@ -141,7 +206,7 @@ onLargePaste, onPasteTruncated, onKeyboardHelp, onThinkingModeChange, onEditorOp
141
206
  setShowCommandSuggestions(false);
142
207
  setSelectedCommandIndex(0);
143
208
  }
144
- }, []);
209
+ }, [suggestionMode]);
145
210
  const handleVerboseToggle = useCallback(() => {
146
211
  // Cycle through verbosity levels: QUIET -> CONCISE -> VERBOSE -> QUIET
147
212
  setVerbosityLevel((prev) => {
@@ -265,6 +330,8 @@ onLargePaste, onPasteTruncated, onKeyboardHelp, onThinkingModeChange, onEditorOp
265
330
  { command: "/init", description: "Initialize project with smart analysis" },
266
331
  { command: "/usage", description: "Show API usage statistics" },
267
332
  { command: "/doctor", description: "Run health check diagnostics" },
333
+ { command: "/mcp", description: "Open MCP server dashboard" },
334
+ { command: "/permissions", description: "View/manage tool permissions" },
268
335
  { command: "/tasks", description: "List background tasks" },
269
336
  { command: "/task", description: "View output of a background task" },
270
337
  { command: "/kill", description: "Kill a background task" },
@@ -291,7 +358,13 @@ onLargePaste, onPasteTruncated, onKeyboardHelp, onThinkingModeChange, onEditorOp
291
358
  command: `/${cmd.name}`,
292
359
  description: `${cmd.description} [${cmd.scope}]`,
293
360
  }));
294
- return [...builtIn, ...customSuggestions];
361
+ // Add MCP prompts as slash commands
362
+ const mcpPrompts = getMCPPrompts();
363
+ const mcpPromptSuggestions = mcpPrompts.map((prompt) => ({
364
+ command: promptToSlashCommand(prompt),
365
+ description: getPromptDescription(prompt),
366
+ }));
367
+ return [...builtIn, ...customSuggestions, ...mcpPromptSuggestions];
295
368
  }, [customCommandsManager]);
296
369
  // Load models from configuration with fallback to defaults
297
370
  const availableModels = useMemo(() => {
@@ -626,6 +699,7 @@ Built-in Commands:
626
699
  /shortcuts - Show keyboard shortcuts guide
627
700
  /usage - Show API usage statistics
628
701
  /doctor - Run health check diagnostics
702
+ /mcp - Open MCP server dashboard
629
703
  /exit - Exit application
630
704
  exit, quit - Exit application
631
705
 
@@ -819,6 +893,193 @@ Examples:
819
893
  clearInput();
820
894
  return true;
821
895
  }
896
+ // MCP Dashboard command
897
+ if (trimmedInput === "/mcp") {
898
+ if (onMcpDashboardToggle) {
899
+ onMcpDashboardToggle();
900
+ }
901
+ clearInput();
902
+ return true;
903
+ }
904
+ // Permissions management command
905
+ if (trimmedInput === "/permissions" || trimmedInput.startsWith("/permissions ")) {
906
+ const args = trimmedInput.replace("/permissions", "").trim();
907
+ const permManager = getPermissionManager();
908
+ const config = permManager.getConfig();
909
+ if (!args || args === "show" || args === "list") {
910
+ // Show current permissions configuration
911
+ const permissionLines = [
912
+ "**Permission Configuration**\n",
913
+ `Default Tier: **${config.permissions.default_tier}**\n`,
914
+ "\n**Tool Permissions:**\n",
915
+ ];
916
+ const tierEmoji = {
917
+ [PermissionTier.AutoApprove]: "✅",
918
+ [PermissionTier.Notify]: "🔔",
919
+ [PermissionTier.Confirm]: "⚠️",
920
+ [PermissionTier.Block]: "🚫",
921
+ };
922
+ for (const [tool, toolConfig] of Object.entries(config.permissions.tools)) {
923
+ const emoji = tierEmoji[toolConfig.tier] || "❓";
924
+ permissionLines.push(`- ${emoji} **${tool}**: ${toolConfig.tier}\n`);
925
+ }
926
+ permissionLines.push("\n**Session Settings:**\n");
927
+ permissionLines.push(`- Allow all bash: ${config.permissions.session_approvals.allow_all_bash ? "Yes" : "No"}\n`);
928
+ permissionLines.push(`- Trust current directory: ${config.permissions.session_approvals.trust_current_directory ? "Yes" : "No"}\n`);
929
+ permissionLines.push("\n*Tip: Use `/permissions set <tool> <tier>` to change permissions*\n");
930
+ permissionLines.push("*Tiers: auto_approve, notify, confirm, block*");
931
+ const permEntry = {
932
+ type: "assistant",
933
+ content: permissionLines.join(""),
934
+ timestamp: new Date(),
935
+ };
936
+ setChatHistory((prev) => [...prev, permEntry]);
937
+ }
938
+ else if (args.startsWith("set ")) {
939
+ // Set permission for a tool
940
+ const setArgs = args.replace("set ", "").trim().split(/\s+/);
941
+ if (setArgs.length >= 2) {
942
+ const [tool, tier] = setArgs;
943
+ const validTiers = ["auto_approve", "notify", "confirm", "block"];
944
+ if (!validTiers.includes(tier)) {
945
+ const errorEntry = {
946
+ type: "assistant",
947
+ content: `❌ Invalid tier: "${tier}"\n\nValid tiers are: ${validTiers.join(", ")}`,
948
+ timestamp: new Date(),
949
+ };
950
+ setChatHistory((prev) => [...prev, errorEntry]);
951
+ }
952
+ else {
953
+ // Update the permission
954
+ const newTools = { ...config.permissions.tools };
955
+ newTools[tool] = { tier: tier };
956
+ permManager.updateConfig({ tools: newTools }).then(() => {
957
+ const successEntry = {
958
+ type: "assistant",
959
+ content: `✅ Set **${tool}** permission to **${tier}**`,
960
+ timestamp: new Date(),
961
+ };
962
+ setChatHistory((prev) => [...prev, successEntry]);
963
+ }).catch((error) => {
964
+ const errorEntry = {
965
+ type: "assistant",
966
+ content: `❌ Failed to update permission: ${extractErrorMessage(error)}`,
967
+ timestamp: new Date(),
968
+ };
969
+ setChatHistory((prev) => [...prev, errorEntry]);
970
+ });
971
+ }
972
+ }
973
+ else {
974
+ const helpEntry = {
975
+ type: "assistant",
976
+ content: "Usage: `/permissions set <tool> <tier>`\n\nExample: `/permissions set bash confirm`",
977
+ timestamp: new Date(),
978
+ };
979
+ setChatHistory((prev) => [...prev, helpEntry]);
980
+ }
981
+ }
982
+ else if (args === "reset") {
983
+ // Reset to default permissions
984
+ permManager.clearSessionApprovals();
985
+ const resetEntry = {
986
+ type: "assistant",
987
+ content: "✅ Session permissions cleared. Tool permissions reset to defaults.",
988
+ timestamp: new Date(),
989
+ };
990
+ setChatHistory((prev) => [...prev, resetEntry]);
991
+ }
992
+ else {
993
+ // Show help
994
+ const helpEntry = {
995
+ type: "assistant",
996
+ content: "**Permission Commands:**\n\n" +
997
+ "- `/permissions` - Show current permissions\n" +
998
+ "- `/permissions set <tool> <tier>` - Set tool permission tier\n" +
999
+ "- `/permissions reset` - Reset session approvals\n\n" +
1000
+ "**Permission Tiers:**\n" +
1001
+ "- `auto_approve` - Automatically allow (safe operations)\n" +
1002
+ "- `notify` - Allow with notification\n" +
1003
+ "- `confirm` - Require user confirmation\n" +
1004
+ "- `block` - Always block",
1005
+ timestamp: new Date(),
1006
+ };
1007
+ setChatHistory((prev) => [...prev, helpEntry]);
1008
+ }
1009
+ clearInput();
1010
+ return true;
1011
+ }
1012
+ // MCP Prompt commands (format: /mcp__servername__promptname [args])
1013
+ if (trimmedInput.startsWith("/mcp__")) {
1014
+ const parts = trimmedInput.split(" ");
1015
+ const commandPart = parts[0];
1016
+ const argsPart = parts.slice(1).join(" ");
1017
+ const parsed = parsePromptCommand(commandPart);
1018
+ if (parsed) {
1019
+ const { serverName, promptName } = parsed;
1020
+ // Add user command to chat history
1021
+ const userEntry = {
1022
+ type: "user",
1023
+ content: trimmedInput,
1024
+ timestamp: new Date(),
1025
+ };
1026
+ setChatHistory((prev) => [...prev, userEntry]);
1027
+ // Execute the prompt asynchronously
1028
+ (async () => {
1029
+ try {
1030
+ const manager = getMCPManager();
1031
+ const v2 = manager.getV2Instance();
1032
+ const { createServerName } = await import("../../mcp/client-v2.js");
1033
+ const serverNameBranded = createServerName(serverName);
1034
+ if (!serverNameBranded) {
1035
+ throw new Error(`Invalid server name: ${serverName}`);
1036
+ }
1037
+ // Parse arguments if provided (format: key=value key2=value2)
1038
+ const promptArgs = {};
1039
+ if (argsPart) {
1040
+ const argMatches = argsPart.match(/(\w+)=("[^"]+"|[^\s]+)/g);
1041
+ if (argMatches) {
1042
+ for (const match of argMatches) {
1043
+ const [key, ...valueParts] = match.split("=");
1044
+ let value = valueParts.join("=");
1045
+ // Remove quotes if present
1046
+ if (value.startsWith('"') && value.endsWith('"')) {
1047
+ value = value.slice(1, -1);
1048
+ }
1049
+ promptArgs[key] = value;
1050
+ }
1051
+ }
1052
+ }
1053
+ const result = await v2.getPrompt(serverNameBranded, promptName, Object.keys(promptArgs).length > 0 ? promptArgs : undefined);
1054
+ if (!result.success) {
1055
+ throw result.error;
1056
+ }
1057
+ // Cast to GetPromptResult format for formatPromptResult
1058
+ const promptResult = result.value;
1059
+ const formattedContent = formatPromptResult(promptResult);
1060
+ // Add the prompt result as an assistant message
1061
+ const promptEntry = {
1062
+ type: "assistant",
1063
+ content: `**MCP Prompt: ${serverName}/${promptName}**\n\n${formattedContent}`,
1064
+ timestamp: new Date(),
1065
+ };
1066
+ setChatHistory((prev) => [...prev, promptEntry]);
1067
+ }
1068
+ catch (error) {
1069
+ const errorMessage = extractErrorMessage(error);
1070
+ // Use assistant type with error content since "error" is not a valid ChatEntry type
1071
+ const errorEntry = {
1072
+ type: "assistant",
1073
+ content: `❌ **Failed to execute MCP prompt:** ${errorMessage}`,
1074
+ timestamp: new Date(),
1075
+ };
1076
+ setChatHistory((prev) => [...prev, errorEntry]);
1077
+ }
1078
+ })();
1079
+ clearInput();
1080
+ return true;
1081
+ }
1082
+ }
822
1083
  if (trimmedInput === "/exit") {
823
1084
  process.exit(0);
824
1085
  return true;
@@ -1708,6 +1969,8 @@ Respond with ONLY the commit message, no additional text.`;
1708
1969
  showCommandSuggestions,
1709
1970
  selectedCommandIndex,
1710
1971
  commandSuggestions,
1972
+ resourceSuggestions,
1973
+ suggestionMode,
1711
1974
  availableModels,
1712
1975
  agent,
1713
1976
  autoEditEnabled,