"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.modelThrottledBanner = exports.modelUnavailableBanner = exports.getModelSelectionChatItem = exports.modelSelection = exports.BedrockModel = void 0;
const mynah_ui_1 = require("@aws/mynah-ui");
/**
 * @deprecated use aws/chat/listAvailableModels server request instead
 */
var BedrockModel;
(function (BedrockModel) {
    BedrockModel["CLAUDE_SONNET_4_20250514_V1_0"] = "CLAUDE_SONNET_4_20250514_V1_0";
})(BedrockModel || (exports.BedrockModel = BedrockModel = {}));
const modelRecord = {
    [BedrockModel.CLAUDE_SONNET_4_20250514_V1_0]: {
        label: 'Claude Sonnet 4',
        description: 'Hybrid reasoning and coding for regular use',
    },
};
const modelOptions = Object.entries(modelRecord).map(([value, { label, description }]) => ({
    value,
    label,
    description,
}));
exports.modelSelection = {
    type: 'select',
    id: 'model-selection',
    mandatory: true,
    hideMandatoryIcon: true,
    options: modelOptions,
    border: false,
    autoWidth: true,
};
const getModelSelectionChatItem = (modelName) => ({
    type: mynah_ui_1.ChatItemType.DIRECTIVE,
    contentHorizontalAlignment: 'center',
    fullWidth: true,
    body: `Switched model to ${modelName}`,
});
exports.getModelSelectionChatItem = getModelSelectionChatItem;
exports.modelUnavailableBanner = {
    messageId: 'model-unavailable-banner',
    header: {
        icon: 'warning',
        iconStatus: 'warning',
        body: '### Model Unavailable',
    },
    body: `The model you've selected is experiencing high load. Please switch to another model and try again.`,
    canBeDismissed: true,
};
exports.modelThrottledBanner = {
    messageId: 'model-throttled-banner',
    header: {
        icon: 'warning',
        iconStatus: 'warning',
        body: '### Model Unavailable',
    },
    body: `I am experiencing high traffic, please try again shortly.`,
    canBeDismissed: true,
};
//# sourceMappingURL=modelSelection.js.map