/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import { assetsGenerateArchive } from "../../funcs/assetsGenerateArchive.js";
import * as operations from "../../models/operations/index.js";
import { formatResult } from "../tools.js";
const args = {
    resourceType: operations.GenerateArchiveResourceType$inboundSchema,
    requestBody: operations.GenerateArchiveRequestBody$inboundSchema,
};
export const tool$assetsGenerateArchive = {
    name: "generate-archive",
    description: `Creates an archive (ZIP or TGZ file) that contains a set of assets from

Creates a downloadable ZIP or other archive format containing the specified resources.`,
    scopes: ["librarian"],
    args,
    tool: async (client, args, ctx) => {
        const [result, apiCall] = await assetsGenerateArchive(client, args.resourceType, args.requestBody, { 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=assetsGenerateArchive.js.map