QPIDS / src /types.ts
Hyungseoky's picture
Rename src/types+.ts to src/types.ts
cbe5e16 verified
Raw
History Blame Contribute Delete
2.3 kB
/**
* @license
* SPDX-License-Identifier: Apache-2.0
*/
// ─────────────────────────────────────────────────────────────
// 인증 μ‚¬μš©μž 정보 (LDAP AD 응닡 기반)
// ─────────────────────────────────────────────────────────────
export interface AuthUser {
name: string;
username: string;
department: string;
company: string;
email: string;
section: string;
title: string;
}
// ─────────────────────────────────────────────────────────────
// 검색 κ²°κ³Ό νƒ€μž…
// ─────────────────────────────────────────────────────────────
export interface ResultPage {
page: number | null;
score: number;
rerank_score: number | null;
content: string | null;
thumbnail: string;
display_rel_path: string | null;
image_name: string | null;
source: string;
}
export interface SearchResult {
id: string;
title: string;
summary: string;
relevance: number;
priority: string;
type: string;
thumbnail: string;
url: string;
page: number;
relatedPages?: number[];
/** 검색에 맀칭된 νŽ˜μ΄μ§€ 수 (λ¬Έμ„œ 전체 νŽ˜μ΄μ§€ μˆ˜κ°€ μ•„λ‹˜) */
matchedPageCount?: number;
complexity: string;
answerability: number;
llmInsights?: string[];
// λ°±μ—”λ“œ 응닡 μΆ”κ°€ 메타데이터 (선택)
docId?: string;
documentType?: string | null;
applyRegion?: string | null;
applyProduct?: string | null;
deptName?: string | null;
regDate?: string | null;
docPageLink?: string | null;
pages?: ResultPage[];
}
export interface SearchMeta {
total: number;
complexity: "Simple" | "Complex";
strategy: "Text" | "Vision" | "Hybrid";
answerabilityScore: number;
}
export type ViewState = "search" | "results";
export interface SearchSession {
id: string;
query: string;
timestamp: number;
results: SearchResult[];
meta: SearchMeta;
}