interface AuditCommitment {
/** Message ID this commitment refers to */
messageId: string;
/** Sender agent ID */
sender: string;
/** Recipient agent ID */
recipient: string;
/** SHA256 hash proving message existence */
hash: string;
/** Timestamp of commitment generation */
timestamp: number;
/** Attestation level for this communication */
attestationLevel: 'bilateral' | 'unilateral' | 'none';
// Unilateral-specific fields (present only for A2A-only recipients)
/** Direction of unilateral interaction */
direction?: 'outbound' | 'inbound';
/** URL of the A2A-only agent */
a2aAgentUrl?: string;
/** Whether the A2A agent was reachable */
reachable?: boolean;
/** HTTP status code if a response was received */
httpStatus?: number;
/** Correlation ID linking outbound request to inbound response */
correlationId?: string;
}