UNPKG

@kya-os/mcp-i

Version:

The TypeScript MCP framework with identity features built-in

85 lines (84 loc) 2.08 kB
import type { Receipt } from "@kya-os/contracts/registry"; /** * Merkle log verifier for receipt verification */ export interface MerkleProofNode { hash: string; isLeft: boolean; } export interface LogRoot { root: string; size: number; timestamp: number; } export interface VerificationResult { valid: boolean; error?: string; logRoot?: LogRoot; } /** * Merkle log verifier implementation */ export declare class MerkleLogVerifier { /** * Verify a receipt's inclusion proof against a log root */ static verifyInclusion(receipt: Receipt, logRoot: LogRoot): Promise<VerificationResult>; /** * Compute leaf hash from receipt content */ private static computeLeafHash; /** * Compute root hash from inclusion proof */ private static computeRootFromProof; /** * Hash a pair of nodes */ private static hashPair; /** * Verify consistency between two log roots */ static verifyConsistency(oldRoot: LogRoot, newRoot: LogRoot, consistencyProof: string[]): Promise<VerificationResult>; } /** * Receipt verifier with policy controls */ export declare class ReceiptVerifier { private options; constructor(options?: ReceiptVerifierOptions); /** * Verify a receipt against KTA log */ verify(receipt: Receipt): Promise<VerificationResult>; /** * Batch verify multiple receipts */ verifyBatch(receipts: Receipt[]): Promise<VerificationResult[]>; /** * Fetch current log root from KTA */ private fetchLogRoot; } export interface ReceiptVerifierOptions { /** * Enable receipt verification */ enabled?: boolean; /** * KTA base URL */ ktaBaseUrl?: string; /** * Allow mock data for testing */ allowMockData?: boolean; /** * Cache log root for this duration (seconds) */ cacheLogRootTtl?: number; } /** * Create receipt verifier instance */ export declare function createReceiptVerifier(options?: ReceiptVerifierOptions): ReceiptVerifier;