@vqp/core
Version:
Core VQP protocol implementation - adapter-agnostic
40 lines • 1.37 kB
TypeScript
/**
* Response Mode Port - Handles different response modes for VQP queries
*/
import { VQPQuery, ResponseModeType, ConsentProof, MutualVerificationProof, ObfuscationDetails } from '../types.js';
export interface QueryEvaluation {
booleanResult: boolean;
actualValue: any;
timestamp: string;
metadata?: Record<string, any>;
}
export interface ConsentRequest {
query: object;
justification?: string;
requestedValue: any;
requester: string;
timestamp: string;
}
export interface ResponseModePort {
processResponseMode(query: VQPQuery, evaluation: QueryEvaluation): Promise<{
mode: ResponseModeType;
result: boolean | number | string | null;
value?: any;
consentProof?: ConsentProof;
mutualProof?: MutualVerificationProof;
obfuscationApplied?: ObfuscationDetails;
}>;
}
export interface ConsentPort {
requestConsent(request: ConsentRequest): Promise<ConsentProof>;
}
export interface ObfuscationPort {
applyObfuscation(value: any, method: 'range' | 'noise' | 'rounding', config: any): Promise<{
obfuscatedValue: any;
details: ObfuscationDetails;
}>;
}
export interface MutualVerificationPort {
verifyRequesterClaims(requesterProof: any, requiredClaims: string[]): Promise<MutualVerificationProof>;
}
//# sourceMappingURL=response-mode.d.ts.map