"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FieldsValidationSchema = exports.fields = exports.SummaryFormatEnum = void 0;
const extensions_core_1 = require("@awell-health/extensions-core");
const zod_1 = __importDefault(require("zod"));
var SummaryFormatEnum;
(function (SummaryFormatEnum) {
    SummaryFormatEnum["BULLET_POINTS"] = "Bullet-points";
    SummaryFormatEnum["TEXT_PARAGRAPH"] = "Text paragraph";
})(SummaryFormatEnum || (exports.SummaryFormatEnum = SummaryFormatEnum = {}));
exports.fields = {
    summaryFormat: {
        id: 'summaryFormat',
        label: 'Summary Format',
        description: 'Format of the summary. Acceptable values are "Bullet-points" and "Text paragraph". Defaults to Bullet-points.',
        type: extensions_core_1.FieldType.STRING,
        required: false,
        options: {
            dropdownOptions: Object.values(SummaryFormatEnum).map((format) => ({
                label: format,
                value: format,
            })),
        },
    },
    language: {
        id: 'language',
        label: 'Language',
        description: '[Optional] Language of the summarization. Defaults to the language of the form.',
        type: extensions_core_1.FieldType.STRING,
        required: false,
    },
    additionalInstructions: {
        id: 'additionalInstructions',
        label: 'Additional Instructions',
        description: '[Optional] Specify additional instructions for the AI to generate the form summary. You can include details about: specific questions to focus on, desired level of detail, information to emphasize or exclude, etc.',
        type: extensions_core_1.FieldType.TEXT,
        required: false,
    },
};
// Step 3: Define the validation schema using zod
exports.FieldsValidationSchema = zod_1.default.object({
    summaryFormat: zod_1.default
        .enum([SummaryFormatEnum.BULLET_POINTS, SummaryFormatEnum.TEXT_PARAGRAPH])
        .optional()
        .default(SummaryFormatEnum.BULLET_POINTS)
        .transform((value) => Object.values(SummaryFormatEnum).includes(value)
        ? value
        : SummaryFormatEnum.BULLET_POINTS),
    language: zod_1.default.string().optional().default('Default'),
    additionalInstructions: zod_1.default.string().optional().default('No additional instructions'),
});
//# sourceMappingURL=fields.js.map