import { Disk, Workspace } from "disk"; import { BoundSpecs, inferSpecResult } from "disk/internal/tools"; import z from "zod"; //#region src/index.d.ts /** * Filesystem tools for the Vercel AI SDK. Pass a single {@link Disk} or a * {@link Workspace}; returns a `ToolSet` ready to spread into `generateText`, * `streamText`, or an `Agent`'s `tools`. * * ```ts * import { createDiskTools } from "@archildata/ai-sdk"; * const result = await generateText({ model, tools: createDiskTools(disk), prompt }); * ``` */ type AISDKTools = { [Spec in BoundSpecs[number] as Spec["name"]]: { description: Spec["description"]; inputSchema: Spec["schema"]; execute: (args: z.infer) => Promise>; } }; declare function createDiskTools(input: Disk | Workspace): AISDKTools; //#endregion export { createDiskTools };