/** * CapabilityVerifier Adapter * * Adapts {@link verifyCapabilities} into the small, duck-typed verifier shape an * entity-card consumer expects: given a list of capabilities and a verification * context, return which capability names are `verified` (backed by a verified * attestation) and which are `unverified` (self-declared or failed). * * The capability and verifier types are defined locally rather than imported * from `@kya-os/mcp`: mcp-i-core pins `@kya-os/mcp@1.6.1`, which predates the * entity-card export, so importing it would not resolve. * * Mapping: * - bare-string capability → `unverified` (Level 1, self-declared) * - L2 object capability → checked via {@link verifyCapabilities}; its * `valid` names become `verified`, its `invalid` names become `unverified`. */ import { type CapabilityVCSignatureVerifier } from './validate-level2.js'; import type { DIDResolver } from '../delegation/vc-verifier.js'; /** * Duck-typed capability. A bare string is a Level 1 self-declared capability; * an object with a `name` (and optional `attestations`) is a Level 2 attested * capability. */ export type DuckTypedCapability = string | { name: string; attestations?: readonly unknown[]; [key: string]: unknown; }; /** Context describing whose capabilities are being checked, and against whom. */ export interface CapabilityVerificationContext { /** The subject (agent) DID the capabilities are claimed for. */ subjectDid: string; /** Issuer DIDs trusted to attest capabilities. */ trustedIssuers: readonly string[]; } /** Partition of capability names by verification outcome. */ export interface CapabilityVerificationResult { /** Capability names backed by a verified attestation. */ verified: string[]; /** Capability names that are self-declared or failed verification. */ unverified: string[]; } /** The duck-typed verifier returned by {@link createCapabilityVerifier}. */ export type CapabilityVerifier = (capabilities: readonly DuckTypedCapability[], ctx: CapabilityVerificationContext) => Promise; /** Options for {@link createCapabilityVerifier}. */ export interface CreateCapabilityVerifierOptions { /** * Signature verifier for Level 2 attestations. Defaults to a VC-JWT verifier * (see {@link createVcJwtSignatureVerifier}). */ signatureVerifier?: CapabilityVCSignatureVerifier; /** * DID resolver for the default signature verifier. Ignored when a * `signatureVerifier` is supplied. */ didResolver?: DIDResolver; } /** * Create a capability verifier. * * @param options - Optional signature-verifier / DID-resolver overrides. * @returns A verifier mapping capabilities to `{ verified, unverified }`. */ export declare function createCapabilityVerifier(options?: CreateCapabilityVerifierOptions): CapabilityVerifier; //# sourceMappingURL=capability-verifier-adapter.d.ts.map