grok-cli-hurry-mode 1.0.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 (137) hide show
  1. package/.grok/settings.json +3 -0
  2. package/LICENSE +21 -0
  3. package/README.md +452 -0
  4. package/dist/agent/grok-agent.d.ts +54 -0
  5. package/dist/agent/grok-agent.js +674 -0
  6. package/dist/agent/grok-agent.js.map +1 -0
  7. package/dist/agent/index.d.ts +14 -0
  8. package/dist/agent/index.js +137 -0
  9. package/dist/agent/index.js.map +1 -0
  10. package/dist/commands/mcp.d.ts +2 -0
  11. package/dist/commands/mcp.js +245 -0
  12. package/dist/commands/mcp.js.map +1 -0
  13. package/dist/grok/client.d.ts +49 -0
  14. package/dist/grok/client.js +85 -0
  15. package/dist/grok/client.js.map +1 -0
  16. package/dist/grok/tools.d.ts +8 -0
  17. package/dist/grok/tools.js +357 -0
  18. package/dist/grok/tools.js.map +1 -0
  19. package/dist/hooks/use-enhanced-input.d.ts +37 -0
  20. package/dist/hooks/use-enhanced-input.js +217 -0
  21. package/dist/hooks/use-enhanced-input.js.map +1 -0
  22. package/dist/hooks/use-input-handler.d.ts +34 -0
  23. package/dist/hooks/use-input-handler.js +611 -0
  24. package/dist/hooks/use-input-handler.js.map +1 -0
  25. package/dist/hooks/use-input-history.d.ts +9 -0
  26. package/dist/hooks/use-input-history.js +64 -0
  27. package/dist/hooks/use-input-history.js.map +1 -0
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.js +151949 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/mcp/client.d.ts +29 -0
  32. package/dist/mcp/client.js +167 -0
  33. package/dist/mcp/client.js.map +1 -0
  34. package/dist/mcp/config.d.ts +13 -0
  35. package/dist/mcp/config.js +51 -0
  36. package/dist/mcp/config.js.map +1 -0
  37. package/dist/mcp/transports.d.ts +51 -0
  38. package/dist/mcp/transports.js +229 -0
  39. package/dist/mcp/transports.js.map +1 -0
  40. package/dist/node_modules/react/index.js +1841 -0
  41. package/dist/tools/bash.d.ts +10 -0
  42. package/dist/tools/bash.js +81 -0
  43. package/dist/tools/bash.js.map +1 -0
  44. package/dist/tools/confirmation-tool.d.ts +16 -0
  45. package/dist/tools/confirmation-tool.js +75 -0
  46. package/dist/tools/confirmation-tool.js.map +1 -0
  47. package/dist/tools/index.d.ts +6 -0
  48. package/dist/tools/index.js +16 -0
  49. package/dist/tools/index.js.map +1 -0
  50. package/dist/tools/morph-editor.d.ts +36 -0
  51. package/dist/tools/morph-editor.js +347 -0
  52. package/dist/tools/morph-editor.js.map +1 -0
  53. package/dist/tools/search.d.ts +69 -0
  54. package/dist/tools/search.js +341 -0
  55. package/dist/tools/search.js.map +1 -0
  56. package/dist/tools/text-editor.d.ts +16 -0
  57. package/dist/tools/text-editor.js +565 -0
  58. package/dist/tools/text-editor.js.map +1 -0
  59. package/dist/tools/todo-tool.d.ts +20 -0
  60. package/dist/tools/todo-tool.js +135 -0
  61. package/dist/tools/todo-tool.js.map +1 -0
  62. package/dist/types/index.d.ts +30 -0
  63. package/dist/types/index.js +3 -0
  64. package/dist/types/index.js.map +1 -0
  65. package/dist/ui/app.d.ts +7 -0
  66. package/dist/ui/app.js +160 -0
  67. package/dist/ui/app.js.map +1 -0
  68. package/dist/ui/components/api-key-input.d.ts +7 -0
  69. package/dist/ui/components/api-key-input.js +124 -0
  70. package/dist/ui/components/api-key-input.js.map +1 -0
  71. package/dist/ui/components/chat-history.d.ts +8 -0
  72. package/dist/ui/components/chat-history.js +177 -0
  73. package/dist/ui/components/chat-history.js.map +1 -0
  74. package/dist/ui/components/chat-input.d.ts +9 -0
  75. package/dist/ui/components/chat-input.js +87 -0
  76. package/dist/ui/components/chat-input.js.map +1 -0
  77. package/dist/ui/components/chat-interface.d.ts +8 -0
  78. package/dist/ui/components/chat-interface.js +344 -0
  79. package/dist/ui/components/chat-interface.js.map +1 -0
  80. package/dist/ui/components/command-suggestions.d.ts +17 -0
  81. package/dist/ui/components/command-suggestions.js +68 -0
  82. package/dist/ui/components/command-suggestions.js.map +1 -0
  83. package/dist/ui/components/confirmation-dialog.d.ts +11 -0
  84. package/dist/ui/components/confirmation-dialog.js +167 -0
  85. package/dist/ui/components/confirmation-dialog.js.map +1 -0
  86. package/dist/ui/components/diff-renderer.d.ts +13 -0
  87. package/dist/ui/components/diff-renderer.js +217 -0
  88. package/dist/ui/components/diff-renderer.js.map +1 -0
  89. package/dist/ui/components/loading-spinner.d.ts +8 -0
  90. package/dist/ui/components/loading-spinner.js +92 -0
  91. package/dist/ui/components/loading-spinner.js.map +1 -0
  92. package/dist/ui/components/mcp-status.d.ts +5 -0
  93. package/dist/ui/components/mcp-status.js +74 -0
  94. package/dist/ui/components/mcp-status.js.map +1 -0
  95. package/dist/ui/components/model-selection.d.ts +12 -0
  96. package/dist/ui/components/model-selection.js +28 -0
  97. package/dist/ui/components/model-selection.js.map +1 -0
  98. package/dist/ui/shared/max-sized-box.d.ts +8 -0
  99. package/dist/ui/shared/max-sized-box.js +15 -0
  100. package/dist/ui/shared/max-sized-box.js.map +1 -0
  101. package/dist/ui/utils/code-colorizer.d.ts +2 -0
  102. package/dist/ui/utils/code-colorizer.js +18 -0
  103. package/dist/ui/utils/code-colorizer.js.map +1 -0
  104. package/dist/ui/utils/colors.d.ts +14 -0
  105. package/dist/ui/utils/colors.js +18 -0
  106. package/dist/ui/utils/colors.js.map +1 -0
  107. package/dist/ui/utils/markdown-renderer.d.ts +4 -0
  108. package/dist/ui/utils/markdown-renderer.js +29 -0
  109. package/dist/ui/utils/markdown-renderer.js.map +1 -0
  110. package/dist/utils/confirmation-service.d.ts +33 -0
  111. package/dist/utils/confirmation-service.js +113 -0
  112. package/dist/utils/confirmation-service.js.map +1 -0
  113. package/dist/utils/custom-instructions.d.ts +1 -0
  114. package/dist/utils/custom-instructions.js +53 -0
  115. package/dist/utils/custom-instructions.js.map +1 -0
  116. package/dist/utils/model-config.d.ts +28 -0
  117. package/dist/utils/model-config.js +49 -0
  118. package/dist/utils/model-config.js.map +1 -0
  119. package/dist/utils/settings-manager.d.ts +94 -0
  120. package/dist/utils/settings-manager.js +275 -0
  121. package/dist/utils/settings-manager.js.map +1 -0
  122. package/dist/utils/settings.d.ts +1 -0
  123. package/dist/utils/settings.js +8 -0
  124. package/dist/utils/settings.js.map +1 -0
  125. package/dist/utils/text-utils.d.ts +80 -0
  126. package/dist/utils/text-utils.js +197 -0
  127. package/dist/utils/text-utils.js.map +1 -0
  128. package/dist/utils/token-counter.d.ts +33 -0
  129. package/dist/utils/token-counter.js +83 -0
  130. package/dist/utils/token-counter.js.map +1 -0
  131. package/dist/yoga.wasm +0 -0
  132. package/eslint.config.mjs +28 -0
  133. package/fix.awk +41 -0
  134. package/grok-logo-screenshot.png +0 -0
  135. package/package.json +68 -0
  136. package/sed_cmd.sh +35 -0
  137. package/temp.txt +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok-agent.js","sourceRoot":"","sources":["../../src/agent/grok-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ToolResult, AgentState } from '../types/index.js';
2
+ export declare class Agent {
3
+ private textEditor;
4
+ private bash;
5
+ private state;
6
+ constructor();
7
+ processCommand(input: string): Promise<ToolResult>;
8
+ private parseViewCommand;
9
+ private parseStrReplaceCommand;
10
+ private parseCreateCommand;
11
+ private parseInsertCommand;
12
+ private getHelp;
13
+ getCurrentState(): AgentState;
14
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Agent = void 0;
4
+ const index_js_1 = require("../tools/index.js");
5
+ class Agent {
6
+ constructor() {
7
+ this.textEditor = new index_js_1.TextEditorTool();
8
+ this.bash = new index_js_1.BashTool();
9
+ this.state = {
10
+ currentDirectory: process.cwd(),
11
+ editHistory: [],
12
+ tools: []
13
+ };
14
+ }
15
+ async processCommand(input) {
16
+ const trimmedInput = input.trim();
17
+ if (trimmedInput.startsWith('view ')) {
18
+ const args = this.parseViewCommand(trimmedInput);
19
+ return this.textEditor.view(args.path, args.range);
20
+ }
21
+ if (trimmedInput.startsWith('str_replace ')) {
22
+ const args = this.parseStrReplaceCommand(trimmedInput);
23
+ if (!args) {
24
+ return { success: false, error: 'Invalid str_replace command format' };
25
+ }
26
+ return this.textEditor.strReplace(args.path, args.oldStr, args.newStr);
27
+ }
28
+ if (trimmedInput.startsWith('create ')) {
29
+ const args = this.parseCreateCommand(trimmedInput);
30
+ if (!args) {
31
+ return { success: false, error: 'Invalid create command format' };
32
+ }
33
+ return this.textEditor.create(args.path, args.content);
34
+ }
35
+ if (trimmedInput.startsWith('insert ')) {
36
+ const args = this.parseInsertCommand(trimmedInput);
37
+ if (!args) {
38
+ return { success: false, error: 'Invalid insert command format' };
39
+ }
40
+ return this.textEditor.insert(args.path, args.line, args.content);
41
+ }
42
+ if (trimmedInput === 'undo_edit') {
43
+ return this.textEditor.undoEdit();
44
+ }
45
+ if (trimmedInput.startsWith('bash ') || trimmedInput.startsWith('$ ')) {
46
+ const command = trimmedInput.startsWith('bash ')
47
+ ? trimmedInput.substring(5)
48
+ : trimmedInput.substring(2);
49
+ return this.bash.execute(command);
50
+ }
51
+ if (trimmedInput === 'pwd') {
52
+ return {
53
+ success: true,
54
+ output: this.bash.getCurrentDirectory()
55
+ };
56
+ }
57
+ if (trimmedInput === 'history') {
58
+ const history = this.textEditor.getEditHistory();
59
+ return {
60
+ success: true,
61
+ output: history.length > 0
62
+ ? JSON.stringify(history, null, 2)
63
+ : 'No edit history'
64
+ };
65
+ }
66
+ if (trimmedInput === 'help') {
67
+ return this.getHelp();
68
+ }
69
+ return this.bash.execute(trimmedInput);
70
+ }
71
+ parseViewCommand(input) {
72
+ const parts = input.split(' ');
73
+ const path = parts[1];
74
+ if (parts.length > 2) {
75
+ const rangePart = parts[2];
76
+ if (rangePart.includes('-')) {
77
+ const [start, end] = rangePart.split('-').map(Number);
78
+ return { path, range: [start, end] };
79
+ }
80
+ }
81
+ return { path };
82
+ }
83
+ parseStrReplaceCommand(input) {
84
+ const match = input.match(/str_replace\s+(\S+)\s+"([^"]+)"\s+"([^"]*)"/);
85
+ if (!match)
86
+ return null;
87
+ return {
88
+ path: match[1],
89
+ oldStr: match[2],
90
+ newStr: match[3]
91
+ };
92
+ }
93
+ parseCreateCommand(input) {
94
+ const match = input.match(/create\s+(\S+)\s+"([^"]*)"/);
95
+ if (!match)
96
+ return null;
97
+ return {
98
+ path: match[1],
99
+ content: match[2]
100
+ };
101
+ }
102
+ parseInsertCommand(input) {
103
+ const match = input.match(/insert\s+(\S+)\s+(\d+)\s+"([^"]*)"/);
104
+ if (!match)
105
+ return null;
106
+ return {
107
+ path: match[1],
108
+ line: parseInt(match[2]),
109
+ content: match[3]
110
+ };
111
+ }
112
+ getHelp() {
113
+ return {
114
+ success: true,
115
+ output: `Available commands:
116
+ view <path> [start-end] - View file contents or directory
117
+ str_replace <path> "old" "new" - Replace text in file
118
+ create <path> "content" - Create new file with content
119
+ insert <path> <line> "text" - Insert text at specific line
120
+ undo_edit - Undo last edit operation
121
+ bash <command> - Execute bash command
122
+ $ <command> - Execute bash command (shorthand)
123
+ pwd - Show current directory
124
+ history - Show edit history
125
+ help - Show this help message`
126
+ };
127
+ }
128
+ getCurrentState() {
129
+ return {
130
+ ...this.state,
131
+ currentDirectory: this.bash.getCurrentDirectory(),
132
+ editHistory: this.textEditor.getEditHistory()
133
+ };
134
+ }
135
+ }
136
+ exports.Agent = Agent;
137
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function createMCPCommand(): Command;
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createMCPCommand = createMCPCommand;
7
+ const commander_1 = require("commander");
8
+ const config_js_1 = require("../mcp/config.js");
9
+ const tools_js_1 = require("../grok/tools.js");
10
+ const chalk_1 = __importDefault(require("chalk"));
11
+ function createMCPCommand() {
12
+ const mcpCommand = new commander_1.Command('mcp');
13
+ mcpCommand.description('Manage MCP (Model Context Protocol) servers');
14
+ // Add server command
15
+ mcpCommand
16
+ .command('add <name>')
17
+ .description('Add an MCP server')
18
+ .option('-t, --transport <type>', 'Transport type (stdio, http, sse, streamable_http)', 'stdio')
19
+ .option('-c, --command <command>', 'Command to run the server (for stdio transport)')
20
+ .option('-a, --args [args...]', 'Arguments for the server command (for stdio transport)', [])
21
+ .option('-u, --url <url>', 'URL for HTTP/SSE transport')
22
+ .option('-h, --headers [headers...]', 'HTTP headers (key=value format)', [])
23
+ .option('-e, --env [env...]', 'Environment variables (key=value format)', [])
24
+ .action(async (name, options) => {
25
+ try {
26
+ // Check if it's a predefined server
27
+ if (config_js_1.PREDEFINED_SERVERS[name]) {
28
+ const config = config_js_1.PREDEFINED_SERVERS[name];
29
+ (0, config_js_1.addMCPServer)(config);
30
+ console.log(chalk_1.default.green(`✓ Added predefined MCP server: ${name}`));
31
+ // Try to connect immediately
32
+ const manager = (0, tools_js_1.getMCPManager)();
33
+ await manager.addServer(config);
34
+ console.log(chalk_1.default.green(`✓ Connected to MCP server: ${name}`));
35
+ const tools = manager.getTools().filter(t => t.serverName === name);
36
+ console.log(chalk_1.default.blue(` Available tools: ${tools.length}`));
37
+ return;
38
+ }
39
+ // Custom server
40
+ const transportType = options.transport.toLowerCase();
41
+ if (transportType === 'stdio') {
42
+ if (!options.command) {
43
+ console.error(chalk_1.default.red('Error: --command is required for stdio transport'));
44
+ process.exit(1);
45
+ }
46
+ }
47
+ else if (transportType === 'http' || transportType === 'sse' || transportType === 'streamable_http') {
48
+ if (!options.url) {
49
+ console.error(chalk_1.default.red(`Error: --url is required for ${transportType} transport`));
50
+ process.exit(1);
51
+ }
52
+ }
53
+ else {
54
+ console.error(chalk_1.default.red('Error: Transport type must be stdio, http, sse, or streamable_http'));
55
+ process.exit(1);
56
+ }
57
+ // Parse environment variables
58
+ const env = {};
59
+ for (const envVar of options.env || []) {
60
+ const [key, value] = envVar.split('=', 2);
61
+ if (key && value) {
62
+ env[key] = value;
63
+ }
64
+ }
65
+ // Parse headers
66
+ const headers = {};
67
+ for (const header of options.headers || []) {
68
+ const [key, value] = header.split('=', 2);
69
+ if (key && value) {
70
+ headers[key] = value;
71
+ }
72
+ }
73
+ const config = {
74
+ name,
75
+ transport: {
76
+ type: transportType,
77
+ command: options.command,
78
+ args: options.args || [],
79
+ url: options.url,
80
+ env,
81
+ headers: Object.keys(headers).length > 0 ? headers : undefined
82
+ }
83
+ };
84
+ (0, config_js_1.addMCPServer)(config);
85
+ console.log(chalk_1.default.green(`✓ Added MCP server: ${name}`));
86
+ // Try to connect immediately
87
+ const manager = (0, tools_js_1.getMCPManager)();
88
+ await manager.addServer(config);
89
+ console.log(chalk_1.default.green(`✓ Connected to MCP server: ${name}`));
90
+ const tools = manager.getTools().filter(t => t.serverName === name);
91
+ console.log(chalk_1.default.blue(` Available tools: ${tools.length}`));
92
+ }
93
+ catch (error) {
94
+ console.error(chalk_1.default.red(`Error adding MCP server: ${error.message}`));
95
+ process.exit(1);
96
+ }
97
+ });
98
+ // Add server from JSON command
99
+ mcpCommand
100
+ .command('add-json <name> <json>')
101
+ .description('Add an MCP server from JSON configuration')
102
+ .action(async (name, jsonConfig) => {
103
+ try {
104
+ let config;
105
+ try {
106
+ config = JSON.parse(jsonConfig);
107
+ }
108
+ catch (error) {
109
+ console.error(chalk_1.default.red('Error: Invalid JSON configuration'));
110
+ process.exit(1);
111
+ }
112
+ const serverConfig = {
113
+ name,
114
+ transport: {
115
+ type: 'stdio', // default
116
+ command: config.command,
117
+ args: config.args || [],
118
+ env: config.env || {},
119
+ url: config.url,
120
+ headers: config.headers
121
+ }
122
+ };
123
+ // Override transport type if specified
124
+ if (config.transport) {
125
+ if (typeof config.transport === 'string') {
126
+ serverConfig.transport.type = config.transport;
127
+ }
128
+ else if (typeof config.transport === 'object') {
129
+ serverConfig.transport = { ...serverConfig.transport, ...config.transport };
130
+ }
131
+ }
132
+ (0, config_js_1.addMCPServer)(serverConfig);
133
+ console.log(chalk_1.default.green(`✓ Added MCP server: ${name}`));
134
+ // Try to connect immediately
135
+ const manager = (0, tools_js_1.getMCPManager)();
136
+ await manager.addServer(serverConfig);
137
+ console.log(chalk_1.default.green(`✓ Connected to MCP server: ${name}`));
138
+ const tools = manager.getTools().filter(t => t.serverName === name);
139
+ console.log(chalk_1.default.blue(` Available tools: ${tools.length}`));
140
+ }
141
+ catch (error) {
142
+ console.error(chalk_1.default.red(`Error adding MCP server: ${error.message}`));
143
+ process.exit(1);
144
+ }
145
+ });
146
+ // Remove server command
147
+ mcpCommand
148
+ .command('remove <name>')
149
+ .description('Remove an MCP server')
150
+ .action(async (name) => {
151
+ try {
152
+ const manager = (0, tools_js_1.getMCPManager)();
153
+ await manager.removeServer(name);
154
+ (0, config_js_1.removeMCPServer)(name);
155
+ console.log(chalk_1.default.green(`✓ Removed MCP server: ${name}`));
156
+ }
157
+ catch (error) {
158
+ console.error(chalk_1.default.red(`Error removing MCP server: ${error.message}`));
159
+ process.exit(1);
160
+ }
161
+ });
162
+ // List servers command
163
+ mcpCommand
164
+ .command('list')
165
+ .description('List configured MCP servers')
166
+ .action(() => {
167
+ const config = (0, config_js_1.loadMCPConfig)();
168
+ const manager = (0, tools_js_1.getMCPManager)();
169
+ if (config.servers.length === 0) {
170
+ console.log(chalk_1.default.yellow('No MCP servers configured'));
171
+ return;
172
+ }
173
+ console.log(chalk_1.default.bold('Configured MCP servers:'));
174
+ console.log();
175
+ for (const server of config.servers) {
176
+ const isConnected = manager.getServers().includes(server.name);
177
+ const status = isConnected
178
+ ? chalk_1.default.green('✓ Connected')
179
+ : chalk_1.default.red('✗ Disconnected');
180
+ console.log(`${chalk_1.default.bold(server.name)}: ${status}`);
181
+ // Display transport information
182
+ if (server.transport) {
183
+ console.log(` Transport: ${server.transport.type}`);
184
+ if (server.transport.type === 'stdio') {
185
+ console.log(` Command: ${server.transport.command} ${(server.transport.args || []).join(' ')}`);
186
+ }
187
+ else if (server.transport.type === 'http' || server.transport.type === 'sse') {
188
+ console.log(` URL: ${server.transport.url}`);
189
+ }
190
+ }
191
+ else if (server.command) {
192
+ // Legacy format
193
+ console.log(` Command: ${server.command} ${(server.args || []).join(' ')}`);
194
+ }
195
+ if (isConnected) {
196
+ const transportType = manager.getTransportType(server.name);
197
+ if (transportType) {
198
+ console.log(` Active Transport: ${transportType}`);
199
+ }
200
+ const tools = manager.getTools().filter(t => t.serverName === server.name);
201
+ console.log(` Tools: ${tools.length}`);
202
+ if (tools.length > 0) {
203
+ tools.forEach(tool => {
204
+ const displayName = tool.name.replace(`mcp__${server.name}__`, '');
205
+ console.log(` - ${displayName}: ${tool.description}`);
206
+ });
207
+ }
208
+ }
209
+ console.log();
210
+ }
211
+ });
212
+ // Test server command
213
+ mcpCommand
214
+ .command('test <name>')
215
+ .description('Test connection to an MCP server')
216
+ .action(async (name) => {
217
+ try {
218
+ const config = (0, config_js_1.loadMCPConfig)();
219
+ const serverConfig = config.servers.find(s => s.name === name);
220
+ if (!serverConfig) {
221
+ console.error(chalk_1.default.red(`Server ${name} not found`));
222
+ process.exit(1);
223
+ }
224
+ console.log(chalk_1.default.blue(`Testing connection to ${name}...`));
225
+ const manager = (0, tools_js_1.getMCPManager)();
226
+ await manager.addServer(serverConfig);
227
+ const tools = manager.getTools().filter(t => t.serverName === name);
228
+ console.log(chalk_1.default.green(`✓ Successfully connected to ${name}`));
229
+ console.log(chalk_1.default.blue(` Available tools: ${tools.length}`));
230
+ if (tools.length > 0) {
231
+ console.log(' Tools:');
232
+ tools.forEach(tool => {
233
+ const displayName = tool.name.replace(`mcp__${name}__`, '');
234
+ console.log(` - ${displayName}: ${tool.description}`);
235
+ });
236
+ }
237
+ }
238
+ catch (error) {
239
+ console.error(chalk_1.default.red(`✗ Failed to connect to ${name}: ${error.message}`));
240
+ process.exit(1);
241
+ }
242
+ });
243
+ return mcpCommand;
244
+ }
245
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { ChatCompletionMessageParam } from "openai/resources/chat";
2
+ export type GrokMessage = ChatCompletionMessageParam;
3
+ export interface GrokTool {
4
+ type: "function";
5
+ function: {
6
+ name: string;
7
+ description: string;
8
+ parameters: {
9
+ type: "object";
10
+ properties: Record<string, any>;
11
+ required: string[];
12
+ };
13
+ };
14
+ }
15
+ export interface GrokToolCall {
16
+ id: string;
17
+ type: "function";
18
+ function: {
19
+ name: string;
20
+ arguments: string;
21
+ };
22
+ }
23
+ export interface SearchParameters {
24
+ mode?: "auto" | "on" | "off";
25
+ }
26
+ export interface SearchOptions {
27
+ search_parameters?: SearchParameters;
28
+ }
29
+ export interface GrokResponse {
30
+ choices: Array<{
31
+ message: {
32
+ role: string;
33
+ content: string | null;
34
+ tool_calls?: GrokToolCall[];
35
+ };
36
+ finish_reason: string;
37
+ }>;
38
+ }
39
+ export declare class GrokClient {
40
+ private client;
41
+ private currentModel;
42
+ private defaultMaxTokens;
43
+ constructor(apiKey: string, model?: string, baseURL?: string);
44
+ setModel(model: string): void;
45
+ getCurrentModel(): string;
46
+ chat(messages: GrokMessage[], tools?: GrokTool[], model?: string, searchOptions?: SearchOptions): Promise<GrokResponse>;
47
+ chatStream(messages: GrokMessage[], tools?: GrokTool[], model?: string, searchOptions?: SearchOptions): AsyncGenerator<any, void, unknown>;
48
+ search(query: string, searchParameters?: SearchParameters): Promise<GrokResponse>;
49
+ }
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GrokClient = void 0;
7
+ const openai_1 = __importDefault(require("openai"));
8
+ class GrokClient {
9
+ constructor(apiKey, model, baseURL) {
10
+ this.currentModel = "grok-code-fast-1";
11
+ this.client = new openai_1.default({
12
+ apiKey,
13
+ baseURL: baseURL || process.env.GROK_BASE_URL || "https://api.x.ai/v1",
14
+ timeout: 360000,
15
+ });
16
+ const envMax = Number(process.env.GROK_MAX_TOKENS);
17
+ this.defaultMaxTokens = Number.isFinite(envMax) && envMax > 0 ? envMax : 1536;
18
+ if (model) {
19
+ this.currentModel = model;
20
+ }
21
+ }
22
+ setModel(model) {
23
+ this.currentModel = model;
24
+ }
25
+ getCurrentModel() {
26
+ return this.currentModel;
27
+ }
28
+ async chat(messages, tools, model, searchOptions) {
29
+ try {
30
+ const requestPayload = {
31
+ model: model || this.currentModel,
32
+ messages,
33
+ tools: tools || [],
34
+ tool_choice: tools && tools.length > 0 ? "auto" : undefined,
35
+ temperature: 0.7,
36
+ max_tokens: this.defaultMaxTokens,
37
+ };
38
+ // Add search parameters if specified
39
+ if (searchOptions?.search_parameters) {
40
+ requestPayload.search_parameters = searchOptions.search_parameters;
41
+ }
42
+ const response = await this.client.chat.completions.create(requestPayload);
43
+ return response;
44
+ }
45
+ catch (error) {
46
+ throw new Error(`Grok API error: ${error.message}`);
47
+ }
48
+ }
49
+ async *chatStream(messages, tools, model, searchOptions) {
50
+ try {
51
+ const requestPayload = {
52
+ model: model || this.currentModel,
53
+ messages,
54
+ tools: tools || [],
55
+ tool_choice: tools && tools.length > 0 ? "auto" : undefined,
56
+ temperature: 0.7,
57
+ max_tokens: this.defaultMaxTokens,
58
+ stream: true,
59
+ };
60
+ // Add search parameters if specified
61
+ if (searchOptions?.search_parameters) {
62
+ requestPayload.search_parameters = searchOptions.search_parameters;
63
+ }
64
+ const stream = (await this.client.chat.completions.create(requestPayload));
65
+ for await (const chunk of stream) {
66
+ yield chunk;
67
+ }
68
+ }
69
+ catch (error) {
70
+ throw new Error(`Grok API error: ${error.message}`);
71
+ }
72
+ }
73
+ async search(query, searchParameters) {
74
+ const searchMessage = {
75
+ role: "user",
76
+ content: query,
77
+ };
78
+ const searchOptions = {
79
+ search_parameters: searchParameters || { mode: "on" },
80
+ };
81
+ return this.chat([searchMessage], [], undefined, searchOptions);
82
+ }
83
+ }
84
+ exports.GrokClient = GrokClient;
85
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/grok/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { GrokTool } from "./client.js";
2
+ import { MCPManager, MCPTool } from "../mcp/client.js";
3
+ export declare const GROK_TOOLS: GrokTool[];
4
+ export declare function getMCPManager(): MCPManager;
5
+ export declare function initializeMCPServers(): Promise<void>;
6
+ export declare function convertMCPToolToGrokTool(mcpTool: MCPTool): GrokTool;
7
+ export declare function addMCPToolsToGrokTools(baseTools: GrokTool[]): GrokTool[];
8
+ export declare function getAllGrokTools(): Promise<GrokTool[]>;