(id: string)
| 271 | } |
| 272 | |
| 273 | async function duplicateAssistant(id: string): Promise<{ success: boolean; error?: string }> { |
| 274 | try { |
| 275 | const svc = useAssistantService() |
| 276 | const config = await svc.getConfig(id) |
| 277 | if (!config) return { success: false, error: 'Assistant not found' } |
| 278 | const { id: _id, builtinId: _bid, ...rest } = config |
| 279 | const result = await svc.create({ |
| 280 | ...rest, |
| 281 | name: `${config.name}${i18n.global.t('ai.assistant.duplicateSuffix')}`, |
| 282 | }) |
| 283 | if (result.success) await loadAssistants() |
| 284 | return result |
| 285 | } catch (error) { |
| 286 | return { success: false, error: String(error) } |
| 287 | } |
| 288 | } |
| 289 | |
| 290 | async function deleteAssistant(id: string): Promise<{ success: boolean; error?: string }> { |
| 291 | try { |
nothing calls this directly
no test coverage detected