"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$triggersListTrigger = void 0;
const z = __importStar(require("zod"));
const triggersListTrigger_js_1 = require("../../funcs/triggersListTrigger.js");
const tools_js_1 = require("../tools.js");
const args = {
    eventType: z.string().optional(),
};
exports.tool$triggersListTrigger = {
    name: "list-triggers",
    description: `Purpose: Retrieves a comprehensive list of all event triggers and notification configurations in your Cloudinary account. Event triggers automatically send HTTP notifications to your specified URLs when specific events occur (like asset uploads, deletions, or transformations).
Usage: Use this to audit existing webhook configurations, manage event notification setups, or discover what events are currently being monitored. Essential for webhook management and event-driven integration monitoring.
Example request: GET /notifications/triggers?event_type=upload
Parameters: event_type(filter triggers by specific event type - upload, delete, transformation, etc.)
When Not to Use: Don't use for creating or modifying triggers (use create-trigger or update-trigger instead), real-time event processing, or when you need immediate notification delivery status.
Output: Returns array of trigger configurations: triggers(array of trigger objects), total(total count of triggers). Each trigger object contains: id(trigger identifier), uri(notification URL), event_type(triggering event), created_at(creation timestamp), updated_at(last modification time)
Example output: {"triggers":[{"id":"12345678","uri":"https://webhook.site/124","event_type":"upload","created_at":"2023-01-15T10:00:00Z","updated_at":"2023-01-15T10:00:00Z"}],"total":1}
`,
    scopes: ["admin"],
    args,
    tool: async (client, args, ctx) => {
        const [result, apiCall] = await (0, triggersListTrigger_js_1.triggersListTrigger)(client, args.eventType, { 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=triggersListTrigger.js.map