/**
 * Anchor 서비스 인터페이스 정의
 * 순환 의존성 방지를 위한 인터페이스 기반 설계
 * Phase 1.1: anchor-manager.ts 리팩토링
 */
/**
 * 앵커 설정 에러
 */
export class AnchorError extends Error {
    constructor(message) {
        super(message);
        this.name = 'AnchorError';
    }
}
/**
 * 메모리를 찾을 수 없을 때 발생하는 에러
 */
export class MemoryNotFoundError extends Error {
    constructor(memoryId) {
        super(`Memory with ID '${memoryId}' not found`);
        this.name = 'MemoryNotFoundError';
    }
}
/**
 * 데이터베이스 검증 에러 (Phase 8.4)
 */
export class DatabaseValidationError extends Error {
    constructor(message) {
        super(message);
        this.name = 'DatabaseValidationError';
    }
}
/**
 * 앵커를 찾을 수 없을 때 발생하는 에러 (Phase 8.4)
 */
export class AnchorNotFoundError extends Error {
    constructor(agentId, slot) {
        super(`Anchor not found for agent_id: ${agentId}, slot: ${slot}`);
        this.name = 'AnchorNotFoundError';
    }
}
/**
 * 임베딩을 찾을 수 없을 때 발생하는 에러 (Phase 8.4)
 */
export class EmbeddingNotFoundError extends Error {
    constructor(memoryId) {
        super(`Embedding not found for anchor memory_id: ${memoryId}`);
        this.name = 'EmbeddingNotFoundError';
    }
}
/**
 * 서비스 초기화 에러 (Phase 8.4)
 */
export class ServiceNotInitializedError extends Error {
    constructor(serviceName, operation) {
        super(`${serviceName} is not initialized. Call ${operation} first.`);
        this.name = 'ServiceNotInitializedError';
    }
}
/**
 * 벡터 차원 불일치 에러 (Phase 8.4)
 */
export class VectorDimensionMismatchError extends Error {
    constructor(vectorA_length, vectorB_length) {
        super(`벡터 차원이 일치하지 않습니다 (${vectorA_length} vs ${vectorB_length})`);
        this.name = 'VectorDimensionMismatchError';
    }
}
//# sourceMappingURL=anchor-interfaces.js.map