mirror of
https://github.com/modelcontextprotocol/servers.git
synced 2026-04-25 15:25:15 +02:00
Remove unrelated indentation changes
Keep only the core glob pattern functionality for search_files. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -287,7 +287,7 @@ function createUnifiedDiff(originalContent: string, newContent: string, filepath
|
|||||||
|
|
||||||
async function applyFileEdits(
|
async function applyFileEdits(
|
||||||
filePath: string,
|
filePath: string,
|
||||||
edits: Array<{ oldText: string, newText: string }>,
|
edits: Array<{oldText: string, newText: string}>,
|
||||||
dryRun = false
|
dryRun = false
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
// Read file content and normalize line endings
|
// Read file content and normalize line endings
|
||||||
@@ -578,10 +578,10 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|||||||
{
|
{
|
||||||
name: "directory_tree",
|
name: "directory_tree",
|
||||||
description:
|
description:
|
||||||
"Get a recursive tree view of files and directories as a JSON structure. " +
|
"Get a recursive tree view of files and directories as a JSON structure. " +
|
||||||
"Each entry includes 'name', 'type' (file/directory), and 'children' for directories. " +
|
"Each entry includes 'name', 'type' (file/directory), and 'children' for directories. " +
|
||||||
"Files have no children array, while directories always have a children array (which may be empty). " +
|
"Files have no children array, while directories always have a children array (which may be empty). " +
|
||||||
"The output is formatted with 2-space indentation for readability. Only works within allowed directories.",
|
"The output is formatted with 2-space indentation for readability. Only works within allowed directories.",
|
||||||
inputSchema: zodToJsonSchema(DirectoryTreeArgsSchema) as ToolInput,
|
inputSchema: zodToJsonSchema(DirectoryTreeArgsSchema) as ToolInput,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -868,43 +868,43 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|||||||
throw new Error(`Invalid arguments for directory_tree: ${parsed.error}`);
|
throw new Error(`Invalid arguments for directory_tree: ${parsed.error}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
interface TreeEntry {
|
interface TreeEntry {
|
||||||
name: string;
|
name: string;
|
||||||
type: 'file' | 'directory';
|
type: 'file' | 'directory';
|
||||||
children?: TreeEntry[];
|
children?: TreeEntry[];
|
||||||
}
|
|
||||||
|
|
||||||
async function buildTree(currentPath: string): Promise<TreeEntry[]> {
|
|
||||||
const validPath = await validatePath(currentPath);
|
|
||||||
const entries = await fs.readdir(validPath, { withFileTypes: true });
|
|
||||||
const result: TreeEntry[] = [];
|
|
||||||
|
|
||||||
for (const entry of entries) {
|
|
||||||
const entryData: TreeEntry = {
|
|
||||||
name: entry.name,
|
|
||||||
type: entry.isDirectory() ? 'directory' : 'file'
|
|
||||||
};
|
|
||||||
|
|
||||||
if (entry.isDirectory()) {
|
|
||||||
const subPath = path.join(currentPath, entry.name);
|
|
||||||
entryData.children = await buildTree(subPath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
result.push(entryData);
|
async function buildTree(currentPath: string): Promise<TreeEntry[]> {
|
||||||
}
|
const validPath = await validatePath(currentPath);
|
||||||
|
const entries = await fs.readdir(validPath, {withFileTypes: true});
|
||||||
|
const result: TreeEntry[] = [];
|
||||||
|
|
||||||
return result;
|
for (const entry of entries) {
|
||||||
|
const entryData: TreeEntry = {
|
||||||
|
name: entry.name,
|
||||||
|
type: entry.isDirectory() ? 'directory' : 'file'
|
||||||
|
};
|
||||||
|
|
||||||
|
if (entry.isDirectory()) {
|
||||||
|
const subPath = path.join(currentPath, entry.name);
|
||||||
|
entryData.children = await buildTree(subPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
result.push(entryData);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
const treeData = await buildTree(parsed.data.path);
|
||||||
|
return {
|
||||||
|
content: [{
|
||||||
|
type: "text",
|
||||||
|
text: JSON.stringify(treeData, null, 2)
|
||||||
|
}],
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const treeData = await buildTree(parsed.data.path);
|
|
||||||
return {
|
|
||||||
content: [{
|
|
||||||
type: "text",
|
|
||||||
text: JSON.stringify(treeData, null, 2)
|
|
||||||
}],
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
case "move_file": {
|
case "move_file": {
|
||||||
const parsed = MoveFileArgsSchema.safeParse(args);
|
const parsed = MoveFileArgsSchema.safeParse(args);
|
||||||
if (!parsed.success) {
|
if (!parsed.success) {
|
||||||
@@ -938,11 +938,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|||||||
const validPath = await validatePath(parsed.data.path);
|
const validPath = await validatePath(parsed.data.path);
|
||||||
const info = await getFileStats(validPath);
|
const info = await getFileStats(validPath);
|
||||||
return {
|
return {
|
||||||
content: [{
|
content: [{ type: "text", text: Object.entries(info)
|
||||||
type: "text", text: Object.entries(info)
|
.map(([key, value]) => `${key}: ${value}`)
|
||||||
.map(([key, value]) => `${key}: ${value}`)
|
.join("\n") }],
|
||||||
.join("\n")
|
|
||||||
}],
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user