"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$metadataFieldsDeleteMetadataField = void 0;
const z = __importStar(require("zod"));
const metadataFieldsDeleteMetadataField_js_1 = require("../../funcs/metadataFieldsDeleteMetadataField.js");
const tools_js_1 = require("../tools.js");
const args = {
    externalId: z.string(),
};
exports.tool$metadataFieldsDeleteMetadataField = {
    name: "delete-metadata-field",
    description: `Purpose: Permanently removes a structured metadata field from your Cloudinary account, including all associated data, values, and configurations. This action also removes the field from any assets that currently have values for this field.
Usage: Use this to clean up unused metadata fields, remove deprecated data structures, or reorganize metadata schemas when fields are no longer needed. Essential for maintaining clean metadata organization and reducing schema complexity.
Example request: DELETE /metadata_fields/old_product_field (external_id in URL path)
Parameters: external_id(field identifier from URL path)
Warning: This is irreversible and will permanently delete all field data from assets. Ensure the field is not needed for production workflows before deletion.
When Not to Use: Don't delete fields that are still being used in production applications or contain valuable data. Avoid deletion without backing up field data if it might be needed later.
Output: Returns deletion confirmation: message(deletion status confirmation)
Example output: {"message": "Field deleted successfully"}
`,
    scopes: ["builder"],
    args,
    tool: async (client, args, ctx) => {
        const [result, apiCall] = await (0, metadataFieldsDeleteMetadataField_js_1.metadataFieldsDeleteMetadataField)(client, args.externalId, { 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=metadataFieldsDeleteMetadataField.js.map