/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod";
import { foldersSearchFolders } from "../../funcs/foldersSearchFolders.js";
import * as operations from "../../models/operations/index.js";
import { formatResult } from "../tools.js";
const args = {
    expression: operations.ExpressionUnion$inboundSchema.optional(),
    sortBy: z.array(z.string()).optional(),
    maxResults: z.number().int().default(50),
    nextCursor: z.string().optional(),
};
export const tool$foldersSearchFolders = {
    name: "search-folders",
    description: `Searches for folders whose attributes match a given expression

Lists the folders that match the specified search expression. Limited to 2000 results. If no parameters are passed, returns the 50 most recently created folders in descending order of creation time.
`,
    scopes: ["librarian"],
    args,
    tool: async (client, args, ctx) => {
        const [result, apiCall] = await foldersSearchFolders(client, args.expression, args.sortBy, args.maxResults, args.nextCursor, { fetchOptions: { signal: ctx.signal } }).$inspect();
        if (!result.ok) {
            return {
                content: [{ type: "text", text: result.error.message }],
                isError: true,
            };
        }
        const value = result.value;
        return formatResult(value, apiCall);
    },
};
//# sourceMappingURL=foldersSearchFolders.js.map