src / tools / lsTool.ts
import { tool, ToolsProviderController } from "@lmstudio/sdk";
import { z } from "zod";
import { readdir } from "fs/promises";
export const getLsTool = (ctl: ToolsProviderController) => {
return tool({
name: "ls",
description:
"List files and directories in a specified path (default is current directory).",
parameters: {
path: z.string().optional().default("."),
},
implementation: async ({ path }) => {
try {
const files = await readdir(path);
return `Files in ${path}: ${files.join(", ")}`;
} catch (err) {
return `Error: ${err}`;
}
},
});
};