import type { SettingSource } from 'src/utils/settings/constants.js' import type { AgentDefinition } from '../../tools/AgentTool/loadAgentsDir.js' export const AGENT_PATHS = { FOLDER_NAME: '.claude', AGENTS_DIR: 'agents', } as const // Base types for common patterns type WithPreviousMode = { previousMode: ModeState } type WithAgent = { agent: AgentDefinition } // Simplified state type using intersection types export type ModeState = | { mode: 'main-menu' } | { mode: 'list-agents'; source: SettingSource | 'all' | 'built-in' } | ({ mode: 'agent-menu' } & WithAgent & WithPreviousMode) | ({ mode: 'view-agent' } & WithAgent & WithPreviousMode) | { mode: 'create-agent' } | ({ mode: 'edit-agent' } & WithAgent & WithPreviousMode) | ({ mode: 'delete-confirm' } & WithAgent & WithPreviousMode) export type AgentValidationResult = { isValid: boolean warnings: string[] errors: string[] }