UNPKG

@vqp/core

Version:

Core VQP protocol implementation - adapter-agnostic

60 lines 2.05 kB
/** * Default Response Mode Adapter - Handles all VQP response modes */ import { VQPQuery, ResponseModeType, ConsentProof, MutualVerificationProof, ObfuscationDetails } from '../domain/types.js'; import { ResponseModePort } from '../domain/ports/secondary.js'; export interface ResponseModeAdapterConfig { defaultMode?: ResponseModeType; autoConsent?: boolean; consentTimeout?: number; defaultPrecision?: number; defaultNoiseLevel?: number; requireActualMutualVerification?: boolean; } export declare class ResponseModeAdapter implements ResponseModePort { private config; constructor(config?: ResponseModeAdapterConfig); processResponseMode(query: VQPQuery, evaluationResult: any, actualValue: any): Promise<{ mode: ResponseModeType; result: any; value?: any; additionalData?: any; }>; processStrict(result: any): Promise<{ mode: 'strict'; result: any; }>; processConsensual(query: VQPQuery, result: any, actualValue: any): Promise<{ mode: 'consensual'; result: any; value?: any; additionalData?: { consentProof: ConsentProof; }; }>; processReciprocal(query: VQPQuery, result: any, actualValue: any): Promise<{ mode: 'reciprocal'; result: any; value?: any; additionalData?: { mutualProof: MutualVerificationProof; }; }>; processObfuscated(query: VQPQuery, result: any, actualValue: any): Promise<{ mode: 'obfuscated'; result: any; value?: any; additionalData?: { obfuscationApplied: ObfuscationDetails; }; }>; private requestConsent; private verifyRequesterClaims; private applyObfuscation; private createRange; private addNoise; private roundToPrecision; private laplacianNoise; } export declare function createResponseModeAdapter(config?: ResponseModeAdapterConfig): ResponseModeAdapter; //# sourceMappingURL=response-mode-adapter.d.ts.map