verification-service.interface.ts•3.73 kB
import { ThoughtNode, VerificationResult, VerificationStatus, CalculationVerificationResult, VerificationDetailedStatus } from '../types';
import { VerificationSearchResult } from '../verification-memory';
/**
* Interface pour le résultat de vérification préliminaire
*/
export interface PreliminaryVerificationResult {
verifiedCalculations?: CalculationVerificationResult[];
initialVerification: boolean;
verificationInProgress: boolean;
preverifiedThought: string;
}
/**
* Interface pour le résultat de vérification existante
*/
export interface PreviousVerificationResult {
previousVerification: VerificationSearchResult | null;
verification?: VerificationResult;
isVerified: boolean;
verificationStatus: VerificationDetailedStatus;
certaintySummary: string;
}
/**
* Interface pour le service de vérification
*
* Cette interface définit toutes les méthodes nécessaires pour vérifier des informations
* et gérer la persistance des vérifications entre les sessions.
*/
export interface IVerificationService {
/**
* Effectue une vérification préliminaire d'une pensée (détection de calculs)
*
* @param content Le contenu de la pensée à vérifier
* @param explicitlyRequested Si la vérification est explicitement demandée
* @returns Le résultat de la vérification préliminaire
*/
performPreliminaryVerification(
content: string,
explicitlyRequested?: boolean
): Promise<PreliminaryVerificationResult>;
/**
* Recherche une vérification similaire existante
*
* @param content Le contenu de la pensée à vérifier
* @param sessionId L'identifiant de la session
* @param thoughtType Le type de pensée (regular, conclusion, etc.)
* @param connectedThoughtIds IDs des pensées connectées
* @returns Le résultat de la recherche de vérification existante
*/
checkPreviousVerification(
content: string,
sessionId?: string,
thoughtType?: string,
connectedThoughtIds?: string[]
): Promise<PreviousVerificationResult>;
/**
* Effectue une vérification approfondie d'une pensée
*
* @param thought La pensée à vérifier
* @param containsCalculations Si la pensée contient des calculs à vérifier
* @param forceVerification Forcer une nouvelle vérification même si déjà vérifiée
* @param sessionId L'identifiant de la session
* @returns Le résultat de la vérification
*/
deepVerify(
thought: ThoughtNode,
containsCalculations?: boolean,
forceVerification?: boolean,
sessionId?: string
): Promise<VerificationResult>;
/**
* Détecte et vérifie les calculs dans un texte
*
* @param content Le texte à vérifier
* @returns Les résultats de vérification des calculs
*/
detectAndVerifyCalculations(
content: string
): Promise<CalculationVerificationResult[]>;
/**
* Annote une pensée avec les résultats de vérification
*
* @param content Le contenu de la pensée
* @param verifications Les résultats de vérification
* @returns Le contenu annoté
*/
annotateThoughtWithVerifications(
content: string,
verifications: CalculationVerificationResult[]
): string;
/**
* Stocke une vérification dans la mémoire
*
* @param content Le contenu vérifié
* @param status Le statut de vérification
* @param confidence Le niveau de confiance
* @param sources Les sources utilisées
* @param sessionId L'identifiant de la session
* @returns L'identifiant de la vérification stockée
*/
storeVerification(
content: string,
status: VerificationStatus,
confidence: number,
sources: string[],
sessionId?: string
): Promise<string>;
}