remove_multiple_directory
Delete multiple directories at once by specifying their paths. Simplify file management for Obsidian vaults stored in iCloud Drive, enhancing organization and efficiency.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes |
Implementation Reference
- src/file-system.ts:336-348 (handler)Core handler function that validates input args using the schema, removes multiple directories asynchronously using rimraf on each path in parallel, and returns the results in a standardized content format. Note: contains a bug in the error message referring to 'edit_file' instead of the correct tool name.export async function removeMultipleDirectory(args?: Record<string, unknown>) { const parsed = RemoveMultipleDirectoryArgsSchema.safeParse(args) if (!parsed.success) { throw new Error(`Invalid arguments for edit_file: ${parsed.error}`) } const result = await Promise.all( parsed.data.paths.map((path) => rimraf(path)) ) return { content: [{ type: 'text', text: result }] } }
- src/schemas.ts:46-48 (schema)Zod schema defining the input for the tool: an object containing an array of strings representing directory paths to remove.export const RemoveMultipleDirectoryArgsSchema = z.object({ paths: z.array(z.string()) })
- src/index.ts:146-151 (registration)Registers the tool in the ListToolsRequest handler, specifying the tool name, a description generated from a prompt function, and the input schema converted to JSON schema.name: 'remove_multiple_directory', description: removeMultipleDirectoryPrompt(), inputSchema: zodToJsonSchema( RemoveMultipleDirectoryArgsSchema ) as ToolInput },
- src/index.ts:207-209 (registration)In the CallToolRequest switch statement, dispatches execution to the removeMultipleDirectory handler function when the tool name matches.case 'remove_multiple_directory': { return removeMultipleDirectory(args) }