/** * W3C DID Core DID Document with all five verification relationships * typed: `authentication`, `assertionMethod`, `capabilityDelegation`, * `keyAgreement`, `capabilityInvocation`. Each is an array of references * (key IDs) into `verificationMethod[]`. */ export interface DIDDocument { '@context': string[]; id: string; controller: string | string[]; verificationMethod: VerificationMethod[]; authentication: string[]; assertionMethod: string[]; capabilityDelegation?: string[]; keyAgreement?: string[]; capabilityInvocation?: string[]; service?: ServiceEndpoint[]; created: string; updated: string; } export interface VerificationMethod { id: string; type: 'Ed25519VerificationKey2020'; controller: string; publicKeyMultibase: string; } export interface ServiceEndpoint { id: string; type: string; serviceEndpoint: string; } export interface VerifiableCredential { '@context': string[]; id: string; type: string[]; issuer: string | { id: string; name?: string; }; issuanceDate: string; expirationDate?: string; credentialSubject: Record; proof: LinkedDataProof; } export interface LinkedDataProof { type: 'Ed25519Signature2020'; created: string; verificationMethod: string; proofPurpose: 'assertionMethod' | 'authentication' | 'capabilityDelegation' | 'capabilityInvocation'; proofValue: string; } export interface VerifiablePresentation { '@context': string[]; id: string; type: string[]; holder: string; verifiableCredential: VerifiableCredential[]; proof: LinkedDataProof; } export interface PassportCredentialSubject { id: string; agentName: string; ownerAlias: string; mission: string; capabilities: string[]; runtime: { platform: string; models: string[]; }; beneficiary?: string; } export interface DelegationCredentialSubject { id: string; delegatedBy: string; scope: string[]; spendLimit?: number; maxDepth: number; currentDepth: number; expiresAt: string; } export interface FloorAttestationCredentialSubject { id: string; floorVersion: string; principles: string[]; extensions?: string[]; attestedAt: string; } export interface PolicyReceiptCredentialSubject { id: string; intentId: string; actionType: string; target: string; verdict: 'approve' | 'deny' | 'escalate'; rationale: string; signatureChain: { intentSignature: string; evaluationSignature: string; receiptSignature: string; }; } export interface DIDResolutionResult { didDocument: DIDDocument | null; didDocumentMetadata: { created: string; updated: string; deactivated?: boolean; }; didResolutionMetadata: { contentType: string; error?: string; }; } /** DID resolution status — makes failure mode visible in the artifact */ export type DIDResolutionStatus = 'live' | 'cached' | 'failed'; /** Cached DID resolution entry */ export interface DIDResolutionCacheEntry { did: string; publicKey: string; resolvedAt: string; expiresAt: string; status: DIDResolutionStatus; } /** Public proof surface — minimum fields a verifier can rely on without authentication */ export interface PublicProofSurface { entity_id: string; name: string; status: string; entity_type: string; authority_ceiling: string[]; verified_at: string; } /** Full entity verification result */ export interface EntityVerificationResult { /** Overall pass/fail */ verified: boolean; /** DID resolution status */ didResolutionStatus: DIDResolutionStatus; /** Resolved Ed25519 public key (hex) */ resolvedPublicKey: string | null; /** Entity from Corpo API (or equivalent) */ entity: PublicProofSurface | null; /** When the DID was resolved */ resolvedAt: string | null; /** If cached, when the cache entry was created */ cachedAt?: string; /** Sender ID (QSP-1 §4: Trunc16(SHA-256(pubkey))) */ senderId: string | null; /** Error details */ errors: string[]; } //# sourceMappingURL=did.d.ts.map