@merabylabs/promptarchitect-mcp 0.3.1 → 0.3.2
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.
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +524 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/executeCommand.d.ts +151 -0
- package/dist/tools/executeCommand.d.ts.map +1 -0
- package/dist/tools/executeCommand.js +229 -0
- package/dist/tools/executeCommand.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +7 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/workflowTools.d.ts +179 -0
- package/dist/tools/workflowTools.d.ts.map +1 -0
- package/dist/tools/workflowTools.js +384 -0
- package/dist/tools/workflowTools.js.map +1 -0
- package/dist/tools/workspaceTools.d.ts +255 -0
- package/dist/tools/workspaceTools.d.ts.map +1 -0
- package/dist/tools/workspaceTools.js +463 -0
- package/dist/tools/workspaceTools.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace Tools
|
|
3
|
+
* File system and workspace operations for the MCP agent
|
|
4
|
+
*
|
|
5
|
+
* These tools enable the agent to:
|
|
6
|
+
* - Read files from the workspace
|
|
7
|
+
* - Write/create files
|
|
8
|
+
* - List directory contents
|
|
9
|
+
* - Search for files by pattern
|
|
10
|
+
* - Get workspace context
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import * as fs from 'fs/promises';
|
|
14
|
+
import * as path from 'path';
|
|
15
|
+
import { logger } from '../utils/index.js';
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// READ FILE TOOL
|
|
18
|
+
// ============================================================================
|
|
19
|
+
export const readFileSchema = z.object({
|
|
20
|
+
filePath: z.string().describe('The path to the file to read (absolute or relative to workspace)'),
|
|
21
|
+
startLine: z.number().optional().describe('Start reading from this line (1-indexed)'),
|
|
22
|
+
endLine: z.number().optional().describe('Stop reading at this line (inclusive)'),
|
|
23
|
+
encoding: z.enum(['utf-8', 'base64']).optional().default('utf-8').describe('File encoding'),
|
|
24
|
+
});
|
|
25
|
+
export async function readFile(input) {
|
|
26
|
+
const { filePath, startLine, endLine, encoding } = input;
|
|
27
|
+
logger.info('Reading file', { filePath, startLine, endLine });
|
|
28
|
+
try {
|
|
29
|
+
const absolutePath = path.isAbsolute(filePath) ? filePath : path.resolve(process.cwd(), filePath);
|
|
30
|
+
const content = await fs.readFile(absolutePath, encoding === 'base64' ? 'base64' : 'utf-8');
|
|
31
|
+
let lines = content.split('\n');
|
|
32
|
+
const totalLines = lines.length;
|
|
33
|
+
let truncated = false;
|
|
34
|
+
// Apply line range if specified
|
|
35
|
+
if (startLine !== undefined || endLine !== undefined) {
|
|
36
|
+
const start = (startLine ?? 1) - 1;
|
|
37
|
+
const end = endLine ?? lines.length;
|
|
38
|
+
lines = lines.slice(start, end);
|
|
39
|
+
truncated = start > 0 || end < totalLines;
|
|
40
|
+
}
|
|
41
|
+
// Limit to prevent massive outputs
|
|
42
|
+
const MAX_LINES = 500;
|
|
43
|
+
if (lines.length > MAX_LINES) {
|
|
44
|
+
lines = lines.slice(0, MAX_LINES);
|
|
45
|
+
truncated = true;
|
|
46
|
+
}
|
|
47
|
+
const language = detectLanguage(filePath);
|
|
48
|
+
return {
|
|
49
|
+
content: lines.join('\n'),
|
|
50
|
+
filePath: absolutePath,
|
|
51
|
+
lineCount: totalLines,
|
|
52
|
+
language,
|
|
53
|
+
truncated,
|
|
54
|
+
startLine,
|
|
55
|
+
endLine,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
60
|
+
logger.error('Failed to read file', { filePath, error: errorMessage });
|
|
61
|
+
throw new Error(`Failed to read file: ${errorMessage}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// ============================================================================
|
|
65
|
+
// WRITE FILE TOOL
|
|
66
|
+
// ============================================================================
|
|
67
|
+
export const writeFileSchema = z.object({
|
|
68
|
+
filePath: z.string().describe('The path where to write the file'),
|
|
69
|
+
content: z.string().describe('The content to write to the file'),
|
|
70
|
+
createDirectories: z.boolean().optional().default(true).describe('Create parent directories if they don\'t exist'),
|
|
71
|
+
overwrite: z.boolean().optional().default(false).describe('Overwrite existing file (false = fail if exists)'),
|
|
72
|
+
});
|
|
73
|
+
export async function writeFile(input) {
|
|
74
|
+
const { filePath, content, createDirectories, overwrite } = input;
|
|
75
|
+
logger.info('Writing file', { filePath, contentLength: content.length });
|
|
76
|
+
try {
|
|
77
|
+
const absolutePath = path.isAbsolute(filePath) ? filePath : path.resolve(process.cwd(), filePath);
|
|
78
|
+
// Check if file exists
|
|
79
|
+
let fileExists = false;
|
|
80
|
+
try {
|
|
81
|
+
await fs.access(absolutePath);
|
|
82
|
+
fileExists = true;
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
fileExists = false;
|
|
86
|
+
}
|
|
87
|
+
if (fileExists && !overwrite) {
|
|
88
|
+
throw new Error(`File already exists: ${filePath}. Set overwrite=true to replace it.`);
|
|
89
|
+
}
|
|
90
|
+
// Create directories if needed
|
|
91
|
+
if (createDirectories) {
|
|
92
|
+
const dir = path.dirname(absolutePath);
|
|
93
|
+
await fs.mkdir(dir, { recursive: true });
|
|
94
|
+
}
|
|
95
|
+
// Write the file
|
|
96
|
+
await fs.writeFile(absolutePath, content, 'utf-8');
|
|
97
|
+
const bytesWritten = Buffer.byteLength(content, 'utf-8');
|
|
98
|
+
return {
|
|
99
|
+
filePath: absolutePath,
|
|
100
|
+
created: !fileExists,
|
|
101
|
+
bytesWritten,
|
|
102
|
+
message: fileExists ? 'File updated successfully' : 'File created successfully',
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
107
|
+
logger.error('Failed to write file', { filePath, error: errorMessage });
|
|
108
|
+
throw new Error(`Failed to write file: ${errorMessage}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// ============================================================================
|
|
112
|
+
// LIST FILES TOOL
|
|
113
|
+
// ============================================================================
|
|
114
|
+
export const listFilesSchema = z.object({
|
|
115
|
+
directory: z.string().optional().default('.').describe('Directory to list (default: current directory)'),
|
|
116
|
+
pattern: z.string().optional().describe('Glob pattern to filter files (e.g., "*.ts", "**/*.json")'),
|
|
117
|
+
recursive: z.boolean().optional().default(false).describe('List files recursively'),
|
|
118
|
+
includeHidden: z.boolean().optional().default(false).describe('Include hidden files (starting with .)'),
|
|
119
|
+
maxDepth: z.number().optional().default(5).describe('Maximum recursion depth'),
|
|
120
|
+
});
|
|
121
|
+
export async function listFiles(input) {
|
|
122
|
+
const { directory, pattern, recursive, includeHidden, maxDepth } = input;
|
|
123
|
+
logger.info('Listing files', { directory, pattern, recursive });
|
|
124
|
+
try {
|
|
125
|
+
const absolutePath = path.isAbsolute(directory) ? directory : path.resolve(process.cwd(), directory);
|
|
126
|
+
const files = [];
|
|
127
|
+
const MAX_FILES = 200;
|
|
128
|
+
await scanDirectory(absolutePath, absolutePath, files, {
|
|
129
|
+
recursive,
|
|
130
|
+
includeHidden,
|
|
131
|
+
maxDepth,
|
|
132
|
+
pattern,
|
|
133
|
+
currentDepth: 0,
|
|
134
|
+
});
|
|
135
|
+
const truncated = files.length > MAX_FILES;
|
|
136
|
+
const result = truncated ? files.slice(0, MAX_FILES) : files;
|
|
137
|
+
return {
|
|
138
|
+
directory: absolutePath,
|
|
139
|
+
files: result,
|
|
140
|
+
totalCount: files.length,
|
|
141
|
+
truncated,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
146
|
+
logger.error('Failed to list files', { directory, error: errorMessage });
|
|
147
|
+
throw new Error(`Failed to list files: ${errorMessage}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
async function scanDirectory(basePath, currentPath, files, options) {
|
|
151
|
+
if (options.currentDepth > options.maxDepth)
|
|
152
|
+
return;
|
|
153
|
+
const entries = await fs.readdir(currentPath, { withFileTypes: true });
|
|
154
|
+
for (const entry of entries) {
|
|
155
|
+
// Skip hidden files unless requested
|
|
156
|
+
if (!options.includeHidden && entry.name.startsWith('.'))
|
|
157
|
+
continue;
|
|
158
|
+
// Skip common non-essential directories
|
|
159
|
+
if (entry.isDirectory() && SKIP_DIRECTORIES.has(entry.name))
|
|
160
|
+
continue;
|
|
161
|
+
const fullPath = path.join(currentPath, entry.name);
|
|
162
|
+
const relativePath = path.relative(basePath, fullPath);
|
|
163
|
+
// Check pattern match if specified
|
|
164
|
+
if (options.pattern && !matchesPattern(entry.name, options.pattern)) {
|
|
165
|
+
if (!entry.isDirectory())
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
if (entry.isDirectory()) {
|
|
169
|
+
files.push({
|
|
170
|
+
name: entry.name,
|
|
171
|
+
path: relativePath,
|
|
172
|
+
type: 'directory',
|
|
173
|
+
});
|
|
174
|
+
if (options.recursive) {
|
|
175
|
+
await scanDirectory(basePath, fullPath, files, {
|
|
176
|
+
...options,
|
|
177
|
+
currentDepth: options.currentDepth + 1,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
const stats = await fs.stat(fullPath);
|
|
183
|
+
files.push({
|
|
184
|
+
name: entry.name,
|
|
185
|
+
path: relativePath,
|
|
186
|
+
type: 'file',
|
|
187
|
+
size: stats.size,
|
|
188
|
+
language: detectLanguage(entry.name),
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// ============================================================================
|
|
194
|
+
// SEARCH FILES TOOL
|
|
195
|
+
// ============================================================================
|
|
196
|
+
export const searchFilesSchema = z.object({
|
|
197
|
+
query: z.string().describe('Text or regex pattern to search for'),
|
|
198
|
+
directory: z.string().optional().default('.').describe('Directory to search in'),
|
|
199
|
+
filePattern: z.string().optional().describe('File pattern to limit search (e.g., "*.ts")'),
|
|
200
|
+
caseSensitive: z.boolean().optional().default(false).describe('Case-sensitive search'),
|
|
201
|
+
maxResults: z.number().optional().default(50).describe('Maximum number of results'),
|
|
202
|
+
contextLines: z.number().optional().default(2).describe('Lines of context around matches'),
|
|
203
|
+
});
|
|
204
|
+
export async function searchFiles(input) {
|
|
205
|
+
const { query, directory, filePattern, caseSensitive, maxResults, contextLines } = input;
|
|
206
|
+
logger.info('Searching files', { query, directory, filePattern });
|
|
207
|
+
try {
|
|
208
|
+
const absolutePath = path.isAbsolute(directory) ? directory : path.resolve(process.cwd(), directory);
|
|
209
|
+
const matches = [];
|
|
210
|
+
let filesSearched = 0;
|
|
211
|
+
let totalMatches = 0;
|
|
212
|
+
const regex = new RegExp(query, caseSensitive ? 'g' : 'gi');
|
|
213
|
+
// Get all files
|
|
214
|
+
const filesResult = await listFiles({
|
|
215
|
+
directory: absolutePath,
|
|
216
|
+
pattern: filePattern,
|
|
217
|
+
recursive: true,
|
|
218
|
+
includeHidden: false,
|
|
219
|
+
maxDepth: 10,
|
|
220
|
+
});
|
|
221
|
+
for (const file of filesResult.files) {
|
|
222
|
+
if (file.type !== 'file')
|
|
223
|
+
continue;
|
|
224
|
+
if (!isSearchableFile(file.name))
|
|
225
|
+
continue;
|
|
226
|
+
if (matches.length >= maxResults)
|
|
227
|
+
break;
|
|
228
|
+
filesSearched++;
|
|
229
|
+
try {
|
|
230
|
+
const fullPath = path.join(absolutePath, file.path);
|
|
231
|
+
const content = await fs.readFile(fullPath, 'utf-8');
|
|
232
|
+
const lines = content.split('\n');
|
|
233
|
+
for (let i = 0; i < lines.length; i++) {
|
|
234
|
+
const line = lines[i];
|
|
235
|
+
let match;
|
|
236
|
+
regex.lastIndex = 0;
|
|
237
|
+
while ((match = regex.exec(line)) !== null) {
|
|
238
|
+
totalMatches++;
|
|
239
|
+
if (matches.length < maxResults) {
|
|
240
|
+
// Get context lines
|
|
241
|
+
const startLine = Math.max(0, i - contextLines);
|
|
242
|
+
const endLine = Math.min(lines.length - 1, i + contextLines);
|
|
243
|
+
const contextText = lines.slice(startLine, endLine + 1).join('\n');
|
|
244
|
+
matches.push({
|
|
245
|
+
file: file.path,
|
|
246
|
+
line: i + 1,
|
|
247
|
+
column: match.index + 1,
|
|
248
|
+
match: match[0],
|
|
249
|
+
context: contextText,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
// Skip files that can't be read
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return {
|
|
260
|
+
query,
|
|
261
|
+
matches,
|
|
262
|
+
filesSearched,
|
|
263
|
+
totalMatches,
|
|
264
|
+
truncated: totalMatches > maxResults,
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
catch (error) {
|
|
268
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
269
|
+
logger.error('Failed to search files', { query, error: errorMessage });
|
|
270
|
+
throw new Error(`Failed to search files: ${errorMessage}`);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
// ============================================================================
|
|
274
|
+
// GET WORKSPACE CONTEXT TOOL
|
|
275
|
+
// ============================================================================
|
|
276
|
+
export const getWorkspaceContextSchema = z.object({
|
|
277
|
+
directory: z.string().optional().default('.').describe('Workspace root directory'),
|
|
278
|
+
includePackageJson: z.boolean().optional().default(true).describe('Parse package.json for dependencies'),
|
|
279
|
+
maxFiles: z.number().optional().default(100).describe('Max files to include in structure'),
|
|
280
|
+
});
|
|
281
|
+
export async function getWorkspaceContext(input) {
|
|
282
|
+
const { directory, includePackageJson, maxFiles } = input;
|
|
283
|
+
logger.info('Getting workspace context', { directory });
|
|
284
|
+
try {
|
|
285
|
+
const absolutePath = path.isAbsolute(directory) ? directory : path.resolve(process.cwd(), directory);
|
|
286
|
+
const workspaceName = path.basename(absolutePath);
|
|
287
|
+
let dependencies = {};
|
|
288
|
+
let devDependencies = {};
|
|
289
|
+
const techStack = [];
|
|
290
|
+
const patterns = [];
|
|
291
|
+
// Parse package.json if exists
|
|
292
|
+
if (includePackageJson) {
|
|
293
|
+
try {
|
|
294
|
+
const pkgPath = path.join(absolutePath, 'package.json');
|
|
295
|
+
const pkgContent = await fs.readFile(pkgPath, 'utf-8');
|
|
296
|
+
const pkg = JSON.parse(pkgContent);
|
|
297
|
+
dependencies = pkg.dependencies || {};
|
|
298
|
+
devDependencies = pkg.devDependencies || {};
|
|
299
|
+
// Detect tech stack from dependencies
|
|
300
|
+
const allDeps = { ...dependencies, ...devDependencies };
|
|
301
|
+
if (allDeps['react'])
|
|
302
|
+
techStack.push('React');
|
|
303
|
+
if (allDeps['next'])
|
|
304
|
+
techStack.push('Next.js');
|
|
305
|
+
if (allDeps['vue'])
|
|
306
|
+
techStack.push('Vue.js');
|
|
307
|
+
if (allDeps['svelte'])
|
|
308
|
+
techStack.push('Svelte');
|
|
309
|
+
if (allDeps['express'])
|
|
310
|
+
techStack.push('Express.js');
|
|
311
|
+
if (allDeps['typescript'])
|
|
312
|
+
techStack.push('TypeScript');
|
|
313
|
+
if (allDeps['tailwindcss'])
|
|
314
|
+
techStack.push('Tailwind CSS');
|
|
315
|
+
if (allDeps['prisma'])
|
|
316
|
+
techStack.push('Prisma');
|
|
317
|
+
if (allDeps['firebase'])
|
|
318
|
+
techStack.push('Firebase');
|
|
319
|
+
if (allDeps['@google/generative-ai'])
|
|
320
|
+
techStack.push('Google Gemini');
|
|
321
|
+
if (allDeps['openai'])
|
|
322
|
+
techStack.push('OpenAI');
|
|
323
|
+
if (allDeps['@anthropic-ai/sdk'])
|
|
324
|
+
techStack.push('Anthropic Claude');
|
|
325
|
+
if (allDeps['zod'])
|
|
326
|
+
techStack.push('Zod');
|
|
327
|
+
if (allDeps['vite'])
|
|
328
|
+
techStack.push('Vite');
|
|
329
|
+
}
|
|
330
|
+
catch {
|
|
331
|
+
// No package.json or can't parse
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
// Get file structure
|
|
335
|
+
const filesResult = await listFiles({
|
|
336
|
+
directory: absolutePath,
|
|
337
|
+
recursive: true,
|
|
338
|
+
includeHidden: false,
|
|
339
|
+
maxDepth: 3,
|
|
340
|
+
});
|
|
341
|
+
const structure = filesResult.files
|
|
342
|
+
.slice(0, maxFiles)
|
|
343
|
+
.map(f => f.type === 'directory' ? `${f.path}/` : f.path);
|
|
344
|
+
// Detect patterns from structure
|
|
345
|
+
const dirs = new Set(structure.filter(s => s.endsWith('/')).map(s => s.split('/')[0]));
|
|
346
|
+
if (dirs.has('src/'))
|
|
347
|
+
patterns.push('src/ directory structure');
|
|
348
|
+
if (dirs.has('components/') || structure.some(s => s.includes('/components/')))
|
|
349
|
+
patterns.push('Component-based architecture');
|
|
350
|
+
if (dirs.has('api/') || dirs.has('routes/'))
|
|
351
|
+
patterns.push('API routes');
|
|
352
|
+
if (dirs.has('hooks/') || structure.some(s => s.includes('/use')))
|
|
353
|
+
patterns.push('Custom hooks');
|
|
354
|
+
if (dirs.has('services/'))
|
|
355
|
+
patterns.push('Service layer');
|
|
356
|
+
if (dirs.has('utils/'))
|
|
357
|
+
patterns.push('Utility functions');
|
|
358
|
+
if (structure.some(s => s.includes('.test.') || s.includes('.spec.')))
|
|
359
|
+
patterns.push('Test suite');
|
|
360
|
+
if (structure.some(s => s.endsWith('.ts') || s.endsWith('.tsx')))
|
|
361
|
+
patterns.push('TypeScript');
|
|
362
|
+
// Generate summary
|
|
363
|
+
const summaryParts = [];
|
|
364
|
+
if (techStack.length > 0) {
|
|
365
|
+
summaryParts.push(`${techStack.slice(0, 3).join(', ')} project`);
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
summaryParts.push(`${workspaceName} project`);
|
|
369
|
+
}
|
|
370
|
+
if (patterns.length > 0) {
|
|
371
|
+
summaryParts.push(`with ${patterns.slice(0, 2).join(' and ')}`);
|
|
372
|
+
}
|
|
373
|
+
return {
|
|
374
|
+
name: workspaceName,
|
|
375
|
+
path: absolutePath,
|
|
376
|
+
techStack,
|
|
377
|
+
dependencies,
|
|
378
|
+
devDependencies,
|
|
379
|
+
structure,
|
|
380
|
+
patterns,
|
|
381
|
+
summary: summaryParts.join(' '),
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
catch (error) {
|
|
385
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
386
|
+
logger.error('Failed to get workspace context', { directory, error: errorMessage });
|
|
387
|
+
throw new Error(`Failed to get workspace context: ${errorMessage}`);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
// ============================================================================
|
|
391
|
+
// HELPER FUNCTIONS
|
|
392
|
+
// ============================================================================
|
|
393
|
+
const SKIP_DIRECTORIES = new Set([
|
|
394
|
+
'node_modules', '.git', 'dist', 'build', 'out', '.next', '.nuxt',
|
|
395
|
+
'coverage', '.vscode', '.idea', '__pycache__', 'venv', 'vendor',
|
|
396
|
+
'target', 'bin', 'obj', '.cache', '.turbo',
|
|
397
|
+
]);
|
|
398
|
+
const SEARCHABLE_EXTENSIONS = new Set([
|
|
399
|
+
'.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs',
|
|
400
|
+
'.py', '.java', '.go', '.rs', '.c', '.cpp', '.h', '.hpp',
|
|
401
|
+
'.cs', '.rb', '.php', '.swift', '.kt',
|
|
402
|
+
'.vue', '.svelte', '.html', '.css', '.scss', '.less',
|
|
403
|
+
'.json', '.yaml', '.yml', '.toml', '.xml',
|
|
404
|
+
'.md', '.mdx', '.txt',
|
|
405
|
+
'.sql', '.sh', '.bash',
|
|
406
|
+
]);
|
|
407
|
+
function detectLanguage(filePath) {
|
|
408
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
409
|
+
const languageMap = {
|
|
410
|
+
'.ts': 'TypeScript',
|
|
411
|
+
'.tsx': 'TypeScript React',
|
|
412
|
+
'.js': 'JavaScript',
|
|
413
|
+
'.jsx': 'JavaScript React',
|
|
414
|
+
'.py': 'Python',
|
|
415
|
+
'.java': 'Java',
|
|
416
|
+
'.go': 'Go',
|
|
417
|
+
'.rs': 'Rust',
|
|
418
|
+
'.c': 'C',
|
|
419
|
+
'.cpp': 'C++',
|
|
420
|
+
'.cs': 'C#',
|
|
421
|
+
'.rb': 'Ruby',
|
|
422
|
+
'.php': 'PHP',
|
|
423
|
+
'.swift': 'Swift',
|
|
424
|
+
'.kt': 'Kotlin',
|
|
425
|
+
'.vue': 'Vue',
|
|
426
|
+
'.svelte': 'Svelte',
|
|
427
|
+
'.html': 'HTML',
|
|
428
|
+
'.css': 'CSS',
|
|
429
|
+
'.scss': 'SCSS',
|
|
430
|
+
'.json': 'JSON',
|
|
431
|
+
'.yaml': 'YAML',
|
|
432
|
+
'.yml': 'YAML',
|
|
433
|
+
'.md': 'Markdown',
|
|
434
|
+
'.sql': 'SQL',
|
|
435
|
+
'.sh': 'Shell',
|
|
436
|
+
};
|
|
437
|
+
return languageMap[ext] || 'Text';
|
|
438
|
+
}
|
|
439
|
+
function isSearchableFile(filename) {
|
|
440
|
+
const ext = path.extname(filename).toLowerCase();
|
|
441
|
+
return SEARCHABLE_EXTENSIONS.has(ext);
|
|
442
|
+
}
|
|
443
|
+
function matchesPattern(filename, pattern) {
|
|
444
|
+
// Simple glob matching
|
|
445
|
+
const regexPattern = pattern
|
|
446
|
+
.replace(/\./g, '\\.')
|
|
447
|
+
.replace(/\*/g, '.*')
|
|
448
|
+
.replace(/\?/g, '.');
|
|
449
|
+
return new RegExp(`^${regexPattern}$`, 'i').test(filename);
|
|
450
|
+
}
|
|
451
|
+
export default {
|
|
452
|
+
readFile,
|
|
453
|
+
readFileSchema,
|
|
454
|
+
writeFile,
|
|
455
|
+
writeFileSchema,
|
|
456
|
+
listFiles,
|
|
457
|
+
listFilesSchema,
|
|
458
|
+
searchFiles,
|
|
459
|
+
searchFilesSchema,
|
|
460
|
+
getWorkspaceContext,
|
|
461
|
+
getWorkspaceContextSchema,
|
|
462
|
+
};
|
|
463
|
+
//# sourceMappingURL=workspaceTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaceTools.js","sourceRoot":"","sources":["../../src/tools/workspaceTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IACjG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACrF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAChF,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;CAC5F,CAAC,CAAC;AAcH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEzD,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9D,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClG,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE5F,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,gCAAgC;QAChC,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;YACpC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChC,SAAS,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,UAAU,CAAC;QAC5C,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC7B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAClC,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE1C,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,UAAU;YACrB,QAAQ;YACR,SAAS;YACT,SAAS;YACT,OAAO;SACR,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAChE,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAClH,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAC9G,CAAC,CAAC;AAWH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAqB;IACnD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAElE,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEzE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QAElG,uBAAuB;QACvB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9B,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;QAED,IAAI,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,qCAAqC,CAAC,CAAC;QACzF,CAAC;QAED,+BAA+B;QAC/B,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACvC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB;QACjB,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEzD,OAAO;YACL,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,CAAC,UAAU;YACpB,YAAY;YACZ,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B;SAChF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACxG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IACnG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACnF,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACvG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CAC/E,CAAC,CAAC;AAmBH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAqB;IACnD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEzE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACrG,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,GAAG,CAAC;QAEtB,MAAM,aAAa,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE;YACrD,SAAS;YACT,aAAa;YACb,QAAQ;YACR,OAAO;YACP,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE7D,OAAO;YACL,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,QAAgB,EAChB,WAAmB,EACnB,KAAiB,EACjB,OAMC;IAED,IAAI,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ;QAAE,OAAO;IAEpD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEvE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,qCAAqC;QACrC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAEnE,wCAAwC;QACxC,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAEtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEvD,mCAAmC;QACnC,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;QACrC,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAC7C,GAAG,OAAO;oBACV,YAAY,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAChF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC1F,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACtF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACnF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAC3F,CAAC,CAAC;AAoBH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAuB;IACvD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEzF,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACrG,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE5D,gBAAgB;QAChB,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC;YAClC,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS;YACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC3C,IAAI,OAAO,CAAC,MAAM,IAAI,UAAW;gBAAE,MAAM;YAEzC,aAAa,EAAE,CAAC;YAEhB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,KAAK,CAAC;oBACV,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;oBAEpB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC3C,YAAY,EAAE,CAAC;wBAEf,IAAI,OAAO,CAAC,MAAM,GAAG,UAAW,EAAE,CAAC;4BACjC,oBAAoB;4BACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,YAAa,CAAC,CAAC;4BACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,YAAa,CAAC,CAAC;4BAC9D,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAEnE,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,IAAI,EAAE,CAAC,GAAG,CAAC;gCACX,MAAM,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;gCACvB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gCACf,OAAO,EAAE,WAAW;6BACrB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK;YACL,OAAO;YACP,aAAa;YACb,YAAY;YACZ,SAAS,EAAE,YAAY,GAAG,UAAW;SACtC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAClF,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACxG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC3F,CAAC,CAAC;AAeH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAA+B;IACvE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE1D,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAExD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACrG,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,YAAY,GAA2B,EAAE,CAAC;QAC9C,IAAI,eAAe,GAA2B,EAAE,CAAC;QACjD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,+BAA+B;QAC/B,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;gBACxD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAEnC,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;gBACtC,eAAe,GAAG,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;gBAE5C,sCAAsC;gBACtC,MAAM,OAAO,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;gBAExD,IAAI,OAAO,CAAC,OAAO,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9C,IAAI,OAAO,CAAC,MAAM,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,OAAO,CAAC,KAAK,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,CAAC,SAAS,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACrD,IAAI,OAAO,CAAC,YAAY,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxD,IAAI,OAAO,CAAC,aAAa,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC3D,IAAI,OAAO,CAAC,QAAQ,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,CAAC,UAAU,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAI,OAAO,CAAC,uBAAuB,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACtE,IAAI,OAAO,CAAC,QAAQ,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,CAAC,mBAAmB,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACrE,IAAI,OAAO,CAAC,KAAK,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,OAAO,CAAC,MAAM,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,iCAAiC;YACnC,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC;YAClC,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK;aAChC,KAAK,CAAC,CAAC,EAAE,QAAS,CAAC;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE5D,iCAAiC;QACjC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvF,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9H,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACjG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC3D,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9F,mBAAmB;QACnB,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,GAAG,aAAa,UAAU,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,YAAY;YAClB,SAAS;YACT,YAAY;YACZ,eAAe;YACf,SAAS;YACT,QAAQ;YACR,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;SAChC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO;IAChE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ;IAC/D,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;CAC3C,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC5C,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IACxD,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK;IACrC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IACpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IACzC,KAAK,EAAE,MAAM,EAAE,MAAM;IACrB,MAAM,EAAE,KAAK,EAAE,OAAO;CACvB,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,WAAW,GAA2B;QAC1C,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,OAAO;KACf,CAAC;IACF,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAe;IACvD,uBAAuB;IACvB,MAAM,YAAY,GAAG,OAAO;SACzB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,eAAe;IACb,QAAQ;IACR,cAAc;IACd,SAAS;IACT,eAAe;IACf,SAAS;IACT,eAAe;IACf,WAAW;IACX,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB;CAC1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merabylabs/promptarchitect-mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "MCP server for PromptArchitect Prompt Lab - AI-powered prompt engineering with workspace-aware refinement. Works with Claude, Cursor, VS Code, Windsurf, Zed & more",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|