@vqp/core
Version:
Core VQP protocol implementation - adapter-agnostic
60 lines • 2.05 kB
TypeScript
/**
* 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