/**
 * Proactive suggestion tip 한 줄 텍스트 — 사이드바가 사용자의 특정 탐색 행동
 * (settings 열기, brain sync 보기, agent 선택 등) 을 감지하면 채팅에 callout 으로
 * 잠깐 띄우는 도움말.
 *
 * Stateless lookup table — sidebarProvider 의 옛 `_handleProactiveSuggestion` 안에
 * 박혀 있던 switch 를 1:1 추출. webview send 호출은 provider 가 한다.
 */

export type ProactiveContext =
    | 'settings_exploration'
    | 'brain_sync_exploration'
    | 'agent_selection_exploration'
    | string;

const SUGGESTIONS: Record<string, string> = {
    settings_exploration:
        '💡 **Tip:** 모델 설정을 최적화하여 답변 속도를 2배 이상 높일 수 있습니다. 설정에서 `Max Context Size`를 조정해보세요!',
    brain_sync_exploration:
        '🧠 **Knowledge Sync:** 최근에 수정한 파일이 지식 베이스에 반영되지 않았나요? 지금 동기화 버튼을 눌러 최신 정보를 업데이트하세요.',
    agent_selection_exploration:
        '🤖 **Agent Skills:** 특정 언어나 프레임워크에 특화된 에이전트 스킬을 선택하면 더 정확한 코드를 생성할 수 있습니다.',
};

const DEFAULT_SUGGESTION =
    '💡 새로운 기능을 발견하셨나요? 궁금한 점이 있다면 언제든 물어보세요!';

export function proactiveSuggestionFor(context: ProactiveContext): string {
    return SUGGESTIONS[context] ?? DEFAULT_SUGGESTION;
}
