import type { audit_log_AuditEventType } from './audit_log_AuditEventType'; export type audit_log_AuditLog = { /** * ActorID is the ID of the user or system actor that triggered the event. */ actorId?: string; /** * ActorRole is the normalized role of the actor (e.g. "admin", "staff"). Internal-only. */ actorRole?: string; /** * ActorType identifies whether the actor is an internal user or a client user. */ actorType?: audit_log_AuditLog.actorType; /** * APIKeyRef references the API key used for platform-API-sourced events. Internal-only. */ apiKeyRef?: string; /** * AutomationID is the ID of the automation that triggered the event, when applicable. */ automationId?: string; /** * CompanyID is the ID of the company the actor belongs to, when the actor is a client user. */ companyId?: string; /** * Context carries event-specific metadata as arbitrary key/value pairs. */ context?: Record; createdAt?: string; creatorId?: string; data?: string; /** * EventDescription is a human-readable description of the event. */ eventDescription?: string; eventDetails?: string; eventTextEntity?: string; /** * EventTextPrefix / EventTextEntity / EventDetails are computed at read * time by FormatEvent (see event_formatter.go) and exposed to the internal * audit log page and the CSV export so both render identical text. Not * persisted, and tagged omitexternal — these are UI helpers, not part of * the public platform API contract. * * Prefix and Entity intentionally omit `omitempty`: FormatEvent sets one * of them to "" on purpose for events like messageSent (entity is the * linked label, no prefix). With omitempty the empty string would drop * from the wire, the client would `??` back to eventDescription, and the * row would render as `Message sent "Message sent"` instead of a single * linked `Message sent`. */ eventTextPrefix?: string; /** * EventType categorizes the event. */ eventType?: audit_log_AuditEventType; id?: string; identityId?: string; /** * IP is the client IP address that triggered the event. */ ip?: string; /** * IsSuperAdminTriggered is set when the event originated from an Assembly super-admin * proxy session (the admin signed in via /admin and is acting on behalf of a portal user). * Hidden from external / platform-API consumers via omitexternal. */ isSuperAdminTriggered?: boolean; object?: string; previousAttributes?: Record; ref?: string; /** * Source indicates where the event originated from. */ source?: audit_log_AuditLog.source; updatedAt?: string; /** * UserAgent is the User-Agent header of the request that triggered the event. * UserAgent and IP are intentionally exposed to external consumers (no omitexternal tag). * These fields contain PII; consumers are responsible for GDPR/CCPA compliance */ userAgent?: string; }; export declare namespace audit_log_AuditLog { /** * ActorType identifies whether the actor is an internal user or a client user. */ enum actorType { INTERNAL_USER = "internalUser", CLIENT_USER = "clientUser" } /** * Source indicates where the event originated from. */ enum source { WEB = "web", PLATFORM = "platform", AUTOMATION = "automation", SYSTEM = "system" } }