/**
 * 관계 추출 엔진 타입 정의
 * 기억 간의 의미적 관계를 추출하고 관리하기 위한 타입들
 */
/**
 * 기억 타입별 적용 가능한 관계 유형 매핑
 */
export const MEMORY_TYPE_RELATION_MAP = {
    working: ['REFERENCES'], // 임시적이므로 참조만
    episodic: ['CAUSES', 'FOLLOWS', 'CONTRASTS_WITH', 'REFERENCES', 'BELONGS_TO'],
    semantic: ['DEPENDS_ON', 'CONTRASTS_WITH', 'REFERENCES', 'BELONGS_TO'],
    procedural: ['DEPENDS_ON', 'FOLLOWS', 'REFERENCES', 'VERSION_OF'] // VERSION_OF 추가 (Procedural Memory Enhancement v7.0)
};
/**
 * 관계 유형별 카테고리 매핑
 */
export const RELATION_TYPE_CATEGORY_MAP = {
    CAUSES: 'Causal',
    DEPENDS_ON: 'Structural',
    FOLLOWS: 'Temporal',
    CONTRASTS_WITH: 'Semantic',
    REFERENCES: 'Semantic',
    BELONGS_TO: 'Structural',
    VERSION_OF: 'Structural', // 버전 관리 관계는 구조적 관계 (Procedural Memory Enhancement v7.0)
    extracted_from: 'Structural',
    supported_by: 'Structural'
};
/**
 * 관계 유형별 검색 부스트 가중치 (기본값)
 * 실제 값은 relation_type_registry 테이블에서 관리
 */
export const RELATION_TYPE_BOOST_MAP = {
    CAUSES: 1.2,
    DEPENDS_ON: 1.1,
    FOLLOWS: 1.0,
    CONTRASTS_WITH: 0.9,
    REFERENCES: 0.8,
    BELONGS_TO: 1.0,
    VERSION_OF: 1.0, // 버전 관리 관계 부스트 (Procedural Memory Enhancement v7.0)
    extracted_from: 0.7,
    supported_by: 0.7
};
/**
 * 기억 타입에 적용 가능한 관계 유형인지 확인
 */
export function isApplicableRelationType(memoryType, relationType) {
    return MEMORY_TYPE_RELATION_MAP[memoryType].includes(relationType);
}
/**
 * 관계 유형의 카테고리를 반환
 */
export function getRelationCategory(relationType) {
    return RELATION_TYPE_CATEGORY_MAP[relationType];
}
/**
 * 관계 유형의 검색 부스트 가중치를 반환
 */
export function getRelationBoost(relationType) {
    return RELATION_TYPE_BOOST_MAP[relationType];
}
/**
 * 모든 관계 유형 목록
 * 여러 파일에서 중복 정의를 방지하기 위한 공통 상수
 */
export const ALL_RELATION_TYPES = [
    'CAUSES',
    'DEPENDS_ON',
    'FOLLOWS',
    'CONTRASTS_WITH',
    'REFERENCES',
    'BELONGS_TO',
    'VERSION_OF', // 버전 관리 관계 (Procedural Memory Enhancement v7.0)
    'extracted_from',
    'supported_by'
];
//# sourceMappingURL=relation.js.map