"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ListPermanentMailboxesDefinition = exports.listPermanentMailboxesResponseSchema = exports.listPermanentMailboxesArgumentsSchema = void 0;
var zod_1 = require("zod");
var toolDefinition_js_1 = require("../toolDefinition.js");
var agentToolNames_js_1 = require("../shared/agentToolNames.js");
exports.listPermanentMailboxesArgumentsSchema = zod_1.z.object({});
var mailboxSummarySchema = zod_1.z.object({
    name: zod_1.z.string().meta({
        description: 'The display name of the permanent mailbox',
    }),
    email_address: zod_1.z.string().meta({
        description: 'The email address of the permanent mailbox. Use this with execute_open_mabl_email mailboxAddress parameter.',
    }),
    description: zod_1.z.string().optional().meta({
        description: 'Optional description of the permanent mailbox',
    }),
});
exports.listPermanentMailboxesResponseSchema = zod_1.z.object({
    mailboxes_found: zod_1.z.number().meta({
        description: 'Number of permanent mailboxes found in the workspace',
    }),
    mailboxes: zod_1.z.array(mailboxSummarySchema).meta({
        description: 'List of permanent mailboxes available in the workspace',
    }),
});
exports.ListPermanentMailboxesDefinition = (0, toolDefinition_js_1.defineTool)({
    name: agentToolNames_js_1.AgentToolNames.ListPermanentMailboxes,
    description: 'Lists the permanent mabl mailboxes available in the current workspace. Permanent mailboxes are long-lived email addresses that persist across test runs, unlike variable mailboxes created with execute_create_mabl_mailbox. Use this to discover available permanent mailbox addresses, then use their email_address with execute_open_mabl_email to open emails sent to them.',
    argumentsSchema: exports.listPermanentMailboxesArgumentsSchema,
    responseSchema: exports.listPermanentMailboxesResponseSchema,
});
//# sourceMappingURL=ListPermanentMailboxesDefinition.js.map