fix: show clear toast when agent definition is missing
Surface missing agent definitions during delete Avoid hiding delete errors behind generic failures Add localized toast copy
This commit is contained in:
@@ -181,19 +181,31 @@ export const AgentsSidebar: React.FC<AgentsSidebarProps> = ({ onItemSelect }) =>
|
||||
}
|
||||
|
||||
setIsConfirmActionPending(true);
|
||||
const success = await deleteAgent(confirmActionAgent.name, (confirmActionAgent as Agent & { scope?: AgentScope }).scope);
|
||||
try {
|
||||
const success = await deleteAgent(confirmActionAgent.name, (confirmActionAgent as Agent & { scope?: AgentScope }).scope);
|
||||
|
||||
if (success) {
|
||||
if (confirmActionType === 'delete') {
|
||||
toast.success(t('settings.agents.sidebar.toast.agentDeleted', { name: confirmActionAgent.name }));
|
||||
if (success) {
|
||||
if (confirmActionType === 'delete') {
|
||||
toast.success(t('settings.agents.sidebar.toast.agentDeleted', { name: confirmActionAgent.name }));
|
||||
} else {
|
||||
toast.success(t('settings.agents.sidebar.toast.agentReset', { name: confirmActionAgent.name }));
|
||||
}
|
||||
closeConfirmActionDialog();
|
||||
} else if (confirmActionType === 'delete') {
|
||||
toast.error(t('settings.agents.sidebar.toast.deleteFailed'));
|
||||
} else {
|
||||
toast.success(t('settings.agents.sidebar.toast.agentReset', { name: confirmActionAgent.name }));
|
||||
toast.error(t('settings.agents.sidebar.toast.resetFailed'));
|
||||
}
|
||||
} catch (error) {
|
||||
const message = error instanceof Error ? error.message : '';
|
||||
const definitionMissing = /built-in|not deletable|not found/i.test(message);
|
||||
if (confirmActionType === 'delete') {
|
||||
toast.error(definitionMissing
|
||||
? t('settings.agents.sidebar.toast.definitionNotFound')
|
||||
: t('settings.agents.sidebar.toast.deleteFailed'));
|
||||
} else {
|
||||
toast.error(t('settings.agents.sidebar.toast.resetFailed'));
|
||||
}
|
||||
closeConfirmActionDialog();
|
||||
} else if (confirmActionType === 'delete') {
|
||||
toast.error(t('settings.agents.sidebar.toast.deleteFailed'));
|
||||
} else {
|
||||
toast.error(t('settings.agents.sidebar.toast.resetFailed'));
|
||||
}
|
||||
|
||||
setIsConfirmActionPending(false);
|
||||
|
||||
Reference in New Issue
Block a user