"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$metadataRulesListMetadataRules = void 0;
const metadataRulesListMetadataRules_js_1 = require("../../funcs/metadataRulesListMetadataRules.js");
const operations = __importStar(require("../../models/operations/index.js"));
const tools_js_1 = require("../tools.js");
const args = {
    request: operations.ListMetadataRulesRequest$inboundSchema,
};
exports.tool$metadataRulesListMetadataRules = {
    name: "list-metadata-rules",
    description: `Purpose: Retrieves all automated metadata rules configured in your Cloudinary account, providing complete visibility into your metadata automation workflows and rule configurations.
Usage: Use this to audit existing metadata rules, understand current automation logic, troubleshoot metadata assignment issues, or review rule configurations before creating new ones. Essential for metadata rule management and workflow optimization.
Example request: GET /metadata_rules
Parameters: None required - returns all rules in the account
When Not to Use: Not needed for simple metadata operations that don't involve automation. Avoid frequent polling as metadata rules change infrequently.
Output: Returns comprehensive rule list: metadata_rules array containing external_id(unique identifiers), metadata_field_id(target fields), name(rule descriptions), condition(trigger criteria), result(assigned values), state(activation status), position(execution order), created_at(creation timestamps), updated_at(modification times)
Example output: {"metadata_rules":[{"external_id":"rule_123","metadata_field_id":"product_category","name":"Auto-tag electronics","condition":{"tags":{"$in":["electronics"]}},"result":{"value":"electronics"},"state":"active","position":1,"created_at":"2023-01-15T16:00:00Z"}]}
`,
    scopes: ["builder"],
    args,
    tool: async (client, args, ctx) => {
        const [result, apiCall] = await (0, metadataRulesListMetadataRules_js_1.metadataRulesListMetadataRules)(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=metadataRulesListMetadataRules.js.map