kaze-cli 2.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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +224 -0
  3. package/dist/api/client.d.ts +15 -0
  4. package/dist/api/client.d.ts.map +1 -0
  5. package/dist/api/client.js +129 -0
  6. package/dist/api/client.js.map +1 -0
  7. package/dist/api/universal-client.d.ts +36 -0
  8. package/dist/api/universal-client.d.ts.map +1 -0
  9. package/dist/api/universal-client.js +184 -0
  10. package/dist/api/universal-client.js.map +1 -0
  11. package/dist/cli/config-command.d.ts +29 -0
  12. package/dist/cli/config-command.d.ts.map +1 -0
  13. package/dist/cli/config-command.js +458 -0
  14. package/dist/cli/config-command.js.map +1 -0
  15. package/dist/cli/repl.d.ts +98 -0
  16. package/dist/cli/repl.d.ts.map +1 -0
  17. package/dist/cli/repl.js +1782 -0
  18. package/dist/cli/repl.js.map +1 -0
  19. package/dist/config/interactive-setup.d.ts +26 -0
  20. package/dist/config/interactive-setup.d.ts.map +1 -0
  21. package/dist/config/interactive-setup.js +308 -0
  22. package/dist/config/interactive-setup.js.map +1 -0
  23. package/dist/config/manager.d.ts +125 -0
  24. package/dist/config/manager.d.ts.map +1 -0
  25. package/dist/config/manager.js +240 -0
  26. package/dist/config/manager.js.map +1 -0
  27. package/dist/config/setup.d.ts +29 -0
  28. package/dist/config/setup.d.ts.map +1 -0
  29. package/dist/config/setup.js +442 -0
  30. package/dist/config/setup.js.map +1 -0
  31. package/dist/context/memory.d.ts +65 -0
  32. package/dist/context/memory.d.ts.map +1 -0
  33. package/dist/context/memory.js +215 -0
  34. package/dist/context/memory.js.map +1 -0
  35. package/dist/index.d.ts +2 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +207 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/mcp/client.d.ts +38 -0
  40. package/dist/mcp/client.d.ts.map +1 -0
  41. package/dist/mcp/client.js +288 -0
  42. package/dist/mcp/client.js.map +1 -0
  43. package/dist/mcp/manager.d.ts +43 -0
  44. package/dist/mcp/manager.d.ts.map +1 -0
  45. package/dist/mcp/manager.js +230 -0
  46. package/dist/mcp/manager.js.map +1 -0
  47. package/dist/mcp/types.d.ts +106 -0
  48. package/dist/mcp/types.d.ts.map +1 -0
  49. package/dist/mcp/types.js +3 -0
  50. package/dist/mcp/types.js.map +1 -0
  51. package/dist/personality/manager.d.ts +24 -0
  52. package/dist/personality/manager.d.ts.map +1 -0
  53. package/dist/personality/manager.js +217 -0
  54. package/dist/personality/manager.js.map +1 -0
  55. package/dist/tools/codebase.d.ts +34 -0
  56. package/dist/tools/codebase.d.ts.map +1 -0
  57. package/dist/tools/codebase.js +291 -0
  58. package/dist/tools/codebase.js.map +1 -0
  59. package/dist/tools/filesystem.d.ts +41 -0
  60. package/dist/tools/filesystem.d.ts.map +1 -0
  61. package/dist/tools/filesystem.js +263 -0
  62. package/dist/tools/filesystem.js.map +1 -0
  63. package/dist/tools/terminal.d.ts +30 -0
  64. package/dist/tools/terminal.d.ts.map +1 -0
  65. package/dist/tools/terminal.js +217 -0
  66. package/dist/tools/terminal.js.map +1 -0
  67. package/dist/tools/todo.d.ts +58 -0
  68. package/dist/tools/todo.d.ts.map +1 -0
  69. package/dist/tools/todo.js +233 -0
  70. package/dist/tools/todo.js.map +1 -0
  71. package/dist/types/index.d.ts +104 -0
  72. package/dist/types/index.d.ts.map +1 -0
  73. package/dist/types/index.js +3 -0
  74. package/dist/types/index.js.map +1 -0
  75. package/dist/types/personality.d.ts +21 -0
  76. package/dist/types/personality.d.ts.map +1 -0
  77. package/dist/types/personality.js +3 -0
  78. package/dist/types/personality.js.map +1 -0
  79. package/dist/ui/logger.d.ts +76 -0
  80. package/dist/ui/logger.d.ts.map +1 -0
  81. package/dist/ui/logger.js +488 -0
  82. package/dist/ui/logger.js.map +1 -0
  83. package/dist/ui/renderer.d.ts +52 -0
  84. package/dist/ui/renderer.d.ts.map +1 -0
  85. package/dist/ui/renderer.js +294 -0
  86. package/dist/ui/renderer.js.map +1 -0
  87. package/dist/ui/tui.d.ts +53 -0
  88. package/dist/ui/tui.d.ts.map +1 -0
  89. package/dist/ui/tui.js +131 -0
  90. package/dist/ui/tui.js.map +1 -0
  91. package/package.json +70 -0
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConversationManager = exports.MemoryManager = void 0;
4
+ class MemoryManager {
5
+ userMemories = new Map();
6
+ projectMemories = new Map();
7
+ maxMemoriesPerScope = 20;
8
+ addMemory(entry) {
9
+ const id = this.generateId();
10
+ const memory = {
11
+ ...entry,
12
+ id,
13
+ timestamp: Date.now()
14
+ };
15
+ const targetMap = entry.scope === 'user' ? this.userMemories : this.projectMemories;
16
+ if (targetMap.size >= this.maxMemoriesPerScope) {
17
+ this.evictLeastRelevant(targetMap);
18
+ }
19
+ targetMap.set(id, memory);
20
+ return id;
21
+ }
22
+ updateMemory(id, updates) {
23
+ const memory = this.findMemoryById(id);
24
+ if (!memory)
25
+ return false;
26
+ const updatedMemory = {
27
+ ...memory,
28
+ ...updates,
29
+ timestamp: Date.now()
30
+ };
31
+ const targetMap = memory.scope === 'user' ? this.userMemories : this.projectMemories;
32
+ targetMap.set(id, updatedMemory);
33
+ return true;
34
+ }
35
+ deleteMemory(id) {
36
+ const memory = this.findMemoryById(id);
37
+ if (!memory)
38
+ return false;
39
+ const targetMap = memory.scope === 'user' ? this.userMemories : this.projectMemories;
40
+ return targetMap.delete(id);
41
+ }
42
+ searchMemories(query, scope) {
43
+ const tokens = this.tokenize(query.toLowerCase());
44
+ const allMemories = scope
45
+ ? (scope === 'user' ? Array.from(this.userMemories.values()) : Array.from(this.projectMemories.values()))
46
+ : [...this.userMemories.values(), ...this.projectMemories.values()];
47
+ return allMemories
48
+ .map(memory => ({
49
+ memory,
50
+ score: this.calculateRelevance(memory, tokens)
51
+ }))
52
+ .filter(item => item.score > 0)
53
+ .sort((a, b) => b.score - a.score)
54
+ .map(item => item.memory);
55
+ }
56
+ getMemoriesByCategory(category, scope) {
57
+ const targetMap = scope
58
+ ? (scope === 'user' ? this.userMemories : this.projectMemories)
59
+ : { ...this.userMemories, ...this.projectMemories };
60
+ return Array.from(targetMap.values())
61
+ .filter(memory => memory.category === category)
62
+ .sort((a, b) => b.timestamp - a.timestamp);
63
+ }
64
+ getMemoriesByScope(scope) {
65
+ const targetMap = scope === 'user' ? this.userMemories : this.projectMemories;
66
+ return Array.from(targetMap.values())
67
+ .sort((a, b) => b.timestamp - a.timestamp);
68
+ }
69
+ exportMemories(scope) {
70
+ return scope ? this.getMemoriesByScope(scope) : [...this.getMemoriesByScope('user'), ...this.getMemoriesByScope('project')];
71
+ }
72
+ getUserMemories() {
73
+ return this.getMemoriesByScope('user');
74
+ }
75
+ getProjectMemories() {
76
+ return this.getMemoriesByScope('project');
77
+ }
78
+ clearMemories(scope) {
79
+ if (scope === 'user') {
80
+ this.userMemories.clear();
81
+ }
82
+ else if (scope === 'project') {
83
+ this.projectMemories.clear();
84
+ }
85
+ else {
86
+ this.userMemories.clear();
87
+ this.projectMemories.clear();
88
+ }
89
+ }
90
+ findMemoryById(id) {
91
+ return this.userMemories.get(id) || this.projectMemories.get(id);
92
+ }
93
+ evictLeastRelevant(targetMap) {
94
+ const memories = Array.from(targetMap.values());
95
+ memories.sort((a, b) => a.timestamp - b.timestamp);
96
+ const toEvict = memories.slice(0, Math.max(1, Math.floor(memories.length * 0.2)));
97
+ toEvict.forEach(memory => targetMap.delete(memory.id));
98
+ }
99
+ calculateRelevance(memory, tokens) {
100
+ const memoryKeywords = memory.keywords.toLowerCase().split('|');
101
+ const titleTokens = this.tokenize(memory.title.toLowerCase());
102
+ const contentTokens = this.tokenize(memory.content.toLowerCase());
103
+ let score = 0;
104
+ for (const token of tokens) {
105
+ if (memoryKeywords.includes(token))
106
+ score += 3;
107
+ if (titleTokens.includes(token))
108
+ score += 2;
109
+ if (contentTokens.includes(token))
110
+ score += 1;
111
+ }
112
+ const ageFactor = Math.max(0, 1 - (Date.now() - memory.timestamp) / (30 * 24 * 60 * 60 * 1000));
113
+ score *= ageFactor;
114
+ return score;
115
+ }
116
+ tokenize(text) {
117
+ return text
118
+ .split(/[^a-z0-9]+/)
119
+ .filter(token => token.length > 2);
120
+ }
121
+ generateId() {
122
+ return `mem_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
123
+ }
124
+ }
125
+ exports.MemoryManager = MemoryManager;
126
+ class ConversationManager {
127
+ context;
128
+ maxMessageHistory = 100;
129
+ constructor(workingDirectory = process.cwd()) {
130
+ this.context = {
131
+ messages: [],
132
+ activeFiles: new Set(),
133
+ relevantCode: new Map(),
134
+ commandHistory: [],
135
+ workingDirectory
136
+ };
137
+ }
138
+ addMessage(message) {
139
+ this.context.messages.push(message);
140
+ if (this.context.messages.length > this.maxMessageHistory) {
141
+ this.context.messages = this.context.messages.slice(-this.maxMessageHistory);
142
+ }
143
+ }
144
+ getMessages(limit) {
145
+ if (limit) {
146
+ return this.context.messages.slice(-limit);
147
+ }
148
+ return [...this.context.messages];
149
+ }
150
+ addActiveFile(filePath) {
151
+ this.context.activeFiles.add(filePath);
152
+ }
153
+ removeActiveFile(filePath) {
154
+ this.context.activeFiles.delete(filePath);
155
+ }
156
+ getActiveFiles() {
157
+ return Array.from(this.context.activeFiles);
158
+ }
159
+ setRelevantCode(key, code) {
160
+ this.context.relevantCode.set(key, code);
161
+ }
162
+ getRelevantCode(key) {
163
+ if (key) {
164
+ return this.context.relevantCode.get(key) || '';
165
+ }
166
+ return new Map(this.context.relevantCode);
167
+ }
168
+ addCommand(command) {
169
+ this.context.commandHistory.push(command);
170
+ if (this.context.commandHistory.length > 50) {
171
+ this.context.commandHistory = this.context.commandHistory.slice(-50);
172
+ }
173
+ }
174
+ addCommandToHistory(command) {
175
+ this.addCommand(command);
176
+ }
177
+ getCommandHistory() {
178
+ return [...this.context.commandHistory];
179
+ }
180
+ getContext() {
181
+ return {
182
+ messages: [...this.context.messages],
183
+ activeFiles: new Set(this.context.activeFiles),
184
+ relevantCode: new Map(this.context.relevantCode),
185
+ commandHistory: [...this.context.commandHistory],
186
+ workingDirectory: this.context.workingDirectory
187
+ };
188
+ }
189
+ getRecentMessages(limit) {
190
+ return this.getMessages(limit);
191
+ }
192
+ setWorkingDirectory(path) {
193
+ this.context.workingDirectory = path;
194
+ }
195
+ getWorkingDirectory() {
196
+ return this.context.workingDirectory;
197
+ }
198
+ getContextSummary() {
199
+ return {
200
+ messageCount: this.context.messages.length,
201
+ activeFilesCount: this.context.activeFiles.size,
202
+ relevantCodeCount: this.context.relevantCode.size,
203
+ commandHistoryCount: this.context.commandHistory.length,
204
+ workingDirectory: this.context.workingDirectory
205
+ };
206
+ }
207
+ reset() {
208
+ this.context.messages = [];
209
+ this.context.activeFiles.clear();
210
+ this.context.relevantCode.clear();
211
+ this.context.commandHistory = [];
212
+ }
213
+ }
214
+ exports.ConversationManager = ConversationManager;
215
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/context/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const dotenv = __importStar(require("dotenv"));
37
+ const repl_1 = require("./cli/repl");
38
+ const manager_1 = require("./config/manager");
39
+ const setup_1 = require("./config/setup");
40
+ const interactive_setup_1 = require("./config/interactive-setup");
41
+ const logger_1 = require("./ui/logger");
42
+ async function main() {
43
+ const logger = new logger_1.Logger({ level: 0 });
44
+ const setup = new setup_1.ConfigSetup();
45
+ const configInfo = await setup.initialize();
46
+ const isFirstRun = await setup.checkFirstRun();
47
+ if (isFirstRun) {
48
+ console.log('');
49
+ logger.info('First run detected. Starting interactive setup...');
50
+ const interactiveSetup = new interactive_setup_1.InteractiveSetup(configInfo.configDir, configInfo.envFile);
51
+ const success = await interactiveSetup.run();
52
+ if (!success) {
53
+ logger.error('Setup failed. Exiting.');
54
+ process.exit(1);
55
+ }
56
+ await setup.markSetupComplete();
57
+ dotenv.config({ path: configInfo.envFile });
58
+ }
59
+ else {
60
+ dotenv.config({ path: configInfo.envFile });
61
+ }
62
+ const configManager = new manager_1.ConfigManager(configInfo.configDir, logger);
63
+ const apiConfig = await configManager.loadConfig('api.json', {
64
+ provider: 'zai',
65
+ apiKey: '',
66
+ baseUrl: '',
67
+ model: 'GLM-4.7',
68
+ maxTokens: 8192,
69
+ temperature: 1.0,
70
+ timeout: 60000
71
+ });
72
+ const experimentalConfig = await configManager.loadConfig('experimental.json', {
73
+ enabled: false,
74
+ features: {
75
+ systemPromptToolCalling: {
76
+ enabled: false,
77
+ description: 'Experimental system prompt-based tool calling for unsupported providers'
78
+ }
79
+ }
80
+ });
81
+ const provider = process.env.KAZE_PROVIDER || apiConfig.provider || 'zai';
82
+ let apiKey = '';
83
+ let baseUrl = '';
84
+ let model = apiConfig.model || 'GLM-4.7';
85
+ switch (provider) {
86
+ case 'zai':
87
+ apiKey = process.env.ZAI_API_KEY || apiConfig.apiKey || '';
88
+ baseUrl = process.env.ZAI_API_URL || apiConfig.baseUrl || 'https://api.z.ai/api/coding/paas/v4';
89
+ model = process.env.ZAI_MODEL || apiConfig.model || 'GLM-4.7';
90
+ break;
91
+ case 'openai':
92
+ apiKey = process.env.OPENAI_API_KEY || apiConfig.apiKey || '';
93
+ baseUrl = process.env.OPENAI_API_URL || apiConfig.baseUrl || 'https://api.openai.com/v1';
94
+ model = process.env.OPENAI_MODEL || apiConfig.model || 'gpt-4-turbo-preview';
95
+ break;
96
+ case 'anthropic':
97
+ apiKey = process.env.ANTHROPIC_API_KEY || apiConfig.apiKey || '';
98
+ baseUrl = process.env.ANTHROPIC_API_URL || apiConfig.baseUrl || 'https://api.anthropic.com/v1';
99
+ model = process.env.ANTHROPIC_MODEL || apiConfig.model || 'claude-3-opus-20240229';
100
+ break;
101
+ case 'azure':
102
+ apiKey = process.env.AZURE_OPENAI_API_KEY || apiConfig.apiKey || '';
103
+ baseUrl = process.env.AZURE_OPENAI_ENDPOINT || apiConfig.baseUrl || '';
104
+ model = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || apiConfig.model || '';
105
+ break;
106
+ case 'groq':
107
+ apiKey = process.env.GROQ_API_KEY || apiConfig.apiKey || '';
108
+ baseUrl = process.env.GROQ_API_URL || apiConfig.baseUrl || 'https://api.groq.com/v1';
109
+ model = process.env.GROQ_MODEL || apiConfig.model || 'mixtral-8x7b-32768';
110
+ break;
111
+ case 'mistral':
112
+ apiKey = process.env.MISTRAL_API_KEY || apiConfig.apiKey || '';
113
+ baseUrl = process.env.MISTRAL_API_URL || apiConfig.baseUrl || 'https://api.mistral.ai/v1';
114
+ model = process.env.MISTRAL_MODEL || apiConfig.model || 'mistral-large-latest';
115
+ break;
116
+ case 'cohere':
117
+ apiKey = process.env.COHERE_API_KEY || apiConfig.apiKey || '';
118
+ baseUrl = process.env.COHERE_API_URL || apiConfig.baseUrl || 'https://api.cohere.ai/v1';
119
+ model = process.env.COHERE_MODEL || apiConfig.model || 'command';
120
+ break;
121
+ case 'local':
122
+ apiKey = process.env.CUSTOM_API_KEY || apiConfig.apiKey || '';
123
+ baseUrl = process.env.CUSTOM_API_URL || apiConfig.baseUrl || 'http://localhost:11434/v1';
124
+ model = process.env.CUSTOM_MODEL || apiConfig.model || 'llama3';
125
+ break;
126
+ case 'custom':
127
+ apiKey = process.env.CUSTOM_API_KEY || apiConfig.apiKey || '';
128
+ baseUrl = process.env.CUSTOM_API_URL || apiConfig.baseUrl || '';
129
+ model = process.env.CUSTOM_MODEL || apiConfig.model || '';
130
+ break;
131
+ default:
132
+ logger.error(`Unknown provider: ${provider}`);
133
+ logger.info('Use /config provider list to see available providers');
134
+ process.exit(1);
135
+ }
136
+ if (!apiKey && provider !== 'local') {
137
+ logger.error(`API key not found for provider: ${provider}`);
138
+ logger.info(`Set ${provider.toUpperCase()}_API_KEY in your .env file or use /config set api.apiKey`);
139
+ logger.info(`Config directory: ${configInfo.configDir}`);
140
+ process.exit(1);
141
+ }
142
+ const interfaceConfig = await configManager.loadConfig('interface.json', {
143
+ theme: 'default',
144
+ showTimestamps: false,
145
+ showThinking: true,
146
+ showProgress: true,
147
+ lineWrap: 80,
148
+ markdownEnabled: true,
149
+ emojiEnabled: true,
150
+ compactMode: false
151
+ });
152
+ const conversationConfig = await configManager.loadConfig('conversation.json', {
153
+ maxHistory: 50,
154
+ autoSave: true,
155
+ saveInterval: 60,
156
+ contextWindow: 10000,
157
+ enableMemory: true,
158
+ enableTodo: true,
159
+ persistActiveFiles: true
160
+ });
161
+ const toolsConfig = await configManager.loadConfig('tools.json', {
162
+ enabled: true,
163
+ autoExecute: false,
164
+ confirmDestructive: true,
165
+ timeout: 30000,
166
+ tools: {
167
+ read_file: { enabled: true, maxSize: 1048576 },
168
+ edit_file: { enabled: true, autoBackup: true },
169
+ write_file: { enabled: true, confirmOverwrite: true },
170
+ search_files: { enabled: true, maxResults: 100, caseSensitive: false },
171
+ execute_command: { enabled: true, allowShell: false, timeout: 60000 },
172
+ search_code: { enabled: true, maxResults: 20 }
173
+ }
174
+ });
175
+ const experimentalEnabled = experimentalConfig.enabled || false;
176
+ const systemPromptToolCalling = experimentalConfig.features?.systemPromptToolCalling?.enabled || false;
177
+ const isExperimental = process.env.KAZE_EXPERIMENTAL_TOOL_CALLING === 'true' ||
178
+ process.env.KAZE_EXPERIMENTAL_SYSTEM_PROMPT_TOOLS === 'true' ||
179
+ systemPromptToolCalling;
180
+ if (isExperimental) {
181
+ logger.warning('EXPERIMENTAL features are enabled!');
182
+ logger.info('System prompt tool calling is experimental. Results may vary.');
183
+ }
184
+ const repl = new repl_1.REPL({
185
+ apiKey,
186
+ baseUrl,
187
+ model,
188
+ provider,
189
+ configManager,
190
+ configDir: configInfo.configDir,
191
+ workingDirectory: process.cwd(),
192
+ maxHistory: conversationConfig.maxHistory,
193
+ enableTools: toolsConfig.enabled,
194
+ maxTokens: apiConfig.maxTokens,
195
+ temperature: apiConfig.temperature,
196
+ interfaceConfig,
197
+ experimentalFeatures: {
198
+ systemPromptToolCalling: isExperimental
199
+ }
200
+ });
201
+ await repl.start();
202
+ }
203
+ main().catch(error => {
204
+ console.error('Fatal error:', error);
205
+ process.exit(1);
206
+ });
207
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { Logger } from '../ui/logger';
2
+ import { MCPServerConfig, MCPServerConnection, MCPTool, MCPResource, MCPPrompt, MCPToolResult, MCPResourceContent } from './types';
3
+ export declare class MCPClient {
4
+ private connections;
5
+ private requestId;
6
+ private pendingRequests;
7
+ private logger;
8
+ private capabilities;
9
+ private silentMode;
10
+ constructor(logger?: Logger);
11
+ setSilentMode(silent: boolean): void;
12
+ connect(config: MCPServerConfig): Promise<MCPServerConnection>;
13
+ private connectStdio;
14
+ private connectSSE;
15
+ private initialize;
16
+ disconnect(serverName: string): Promise<void>;
17
+ disconnectAll(): Promise<void>;
18
+ listTools(serverName: string): Promise<MCPTool[]>;
19
+ callTool(serverName: string, toolName: string, args: Record<string, any>): Promise<MCPToolResult>;
20
+ listResources(serverName: string): Promise<MCPResource[]>;
21
+ readResource(serverName: string, uri: string): Promise<MCPResourceContent>;
22
+ listPrompts(serverName: string): Promise<MCPPrompt[]>;
23
+ getPrompt(serverName: string, promptName: string, args?: Record<string, any>): Promise<any>;
24
+ getAllTools(): Promise<Map<string, MCPTool[]>>;
25
+ callToolAny(toolName: string, args: Record<string, any>): Promise<{
26
+ serverName: string;
27
+ result: MCPToolResult;
28
+ }>;
29
+ private getConnection;
30
+ private sendRequest;
31
+ private sendNotification;
32
+ private setupMessageHandler;
33
+ private handleMessage;
34
+ private handleNotification;
35
+ getConnections(): Map<string, MCPServerConnection>;
36
+ isConnected(serverName: string): boolean;
37
+ }
38
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAKL,eAAe,EACf,mBAAmB,EAGnB,OAAO,EACP,WAAW,EACX,SAAS,EACT,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAC;AACjB,qBAAa,SAAS;IACpB,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,eAAe,CAIR;IACf,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,UAAU,CAAkB;gBACxB,MAAM,CAAC,EAAE,MAAM;IAG3B,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAG9B,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAoBtD,YAAY;YAsCZ,UAAU;YAGV,UAAU;IAclB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAOjD,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,aAAa,CAAC;IAQnB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAOzD,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAK1E,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAOrD,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,OAAO,CAAC,GAAG,CAAC;IAQT,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAgB9C,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC;IAYzD,OAAO,CAAC,aAAa;YAOP,WAAW;YA0BX,gBAAgB;IAc9B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,kBAAkB;IAgB1B,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAGlD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;CAIzC"}