/** * @license * Copyright 2025 Qwen * SPDX-License-Identifier: Apache-2.0 */ import type { SlashCommand, CommandContext, OpenDialogActionReturn, MessageActionReturn, } from './types.js'; import { CommandKind } from './types.js'; import { t } from '../../i18n/index.js'; export const modelCommand: SlashCommand = { name: 'model', get description() { return t('Switch the model for this session'); }, kind: CommandKind.BUILT_IN, action: async ( context: CommandContext, ): Promise => { const { services } = context; const { config } = services; if (!config) { return { type: 'message', messageType: 'error', content: 'Configuration not available.', }; } const contentGeneratorConfig = config.getContentGeneratorConfig(); if (!contentGeneratorConfig) { return { type: 'message', messageType: 'error', content: t('Content generator configuration not available.'), }; } const authType = contentGeneratorConfig.authType; if (!authType) { return { type: 'message', messageType: 'error', content: t('Authentication type not available.'), }; } return { type: 'dialog', dialog: 'model', }; }, };