(function attachOperatorSearch(global) {
  function formatQueryStatus(status) {
    const labels = {
      ok: "성공",
      covered: "근거 있음",
      empty: "결과 없음",
      failed: "실패",
      disabled: "중지",
      skipped: "건너뜀",
      pending: "대기",
      not_run: "미실행",
    };
    return labels[status] || status || "미실행";
  }

  function formatQueryStrategy(strategy) {
    const labels = {
      google_title: "구글 페이지 제목 기반",
      google_page_title: "구글 페이지 제목 기반",
      submission_title: "제출 제목/파일명 기반",
      submission_filename: "제출 제목/파일명 기반",
      manual: "운영자 입력",
      suggested: "추천 쿼리",
    };
    return labels[strategy] || strategy || "";
  }

  function normalizeManualSearchProvider(provider) {
    return provider === "google_search" ? "google_search" : "naver";
  }

  global.OperatorSearch = {
    formatQueryStatus,
    formatQueryStrategy,
    normalizeManualSearchProvider,
  };
})(window);
