"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.tool$uploadMappingsCreateUploadMapping = void 0;
const uploadMappingsCreateUploadMapping_js_1 = require("../../funcs/uploadMappingsCreateUploadMapping.js");
const operations = __importStar(require("../../models/operations/index.js"));
const tools_js_1 = require("../tools.js");
const args = {
    request: operations.CreateUploadMappingRequest$inboundSchema,
};
exports.tool$uploadMappingsCreateUploadMapping = {
    name: "create-upload-mapping",
    description: `Purpose: Creates custom URL mappings that define how assets in specific folders are delivered through branded or custom domain URLs, enabling consistent branding and custom URL structures for asset delivery.
Usage: Use this to set up branded asset delivery, create custom domain mappings for specific folders, implement consistent URL patterns, or establish dedicated delivery paths for different content types. Essential for white-label solutions and custom branding.
Example request: {"folder": "products", "template": "https://cdn.mystore.com/images/{public_id}"}
Parameters: folder(target folder path), template(URL pattern with {public_id} placeholder)
When Not to Use: Don't create mappings for temporary folders or without proper DNS/domain setup. Avoid overly complex URL patterns that might cause routing issues.
Output: Returns creation confirmation: message(creation status), folder(mapped folder path), external_id(unique mapping identifier)
Example output: {"message": "created", "folder": "products", "external_id": "mapping_456"}
`,
    scopes: ["builder"],
    args,
    tool: async (client, args, ctx) => {
        const [result, apiCall] = await (0, uploadMappingsCreateUploadMapping_js_1.uploadMappingsCreateUploadMapping)(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
        if (!result.ok) {
            return {
                content: [{ type: "text", text: result.error.message }],
                isError: true,
            };
        }
        const value = result.value;
        return (0, tools_js_1.formatResult)(value, apiCall);
    },
};
//# sourceMappingURL=uploadMappingsCreateUploadMapping.js.map