""" Admin configuration for the intelligence app. """ from django.contrib import admin from apps.intelligence.models import ( AIModel, AIPrompt, Anomaly, APIRequestLog, ChatMessage, ChatSession, ContentEmbedding, EventLog, FeatureUsageLog, Metric, ReadModelCache, RiskScore, ) class ChatMessageInline(admin.TabularInline): model = ChatMessage extra = 0 readonly_fields = ("created_at",) @admin.register(EventLog) class EventLogAdmin(admin.ModelAdmin): list_display = ("event_type", "actor_user", "org", "ip_address", "created_at") list_filter = ("event_type",) search_fields = ("event_type",) readonly_fields = ("created_at",) @admin.register(AIModel) class AIModelAdmin(admin.ModelAdmin): list_display = ("name", "provider", "is_active", "created_at") list_filter = ("provider", "is_active") @admin.register(AIPrompt) class AIPromptAdmin(admin.ModelAdmin): list_display = ("slug", "version", "is_active", "created_at") list_filter = ("is_active",) search_fields = ("slug",) @admin.register(ChatSession) class ChatSessionAdmin(admin.ModelAdmin): list_display = ("title", "user", "model", "created_at") list_filter = ("model",) inlines = [ChatMessageInline] @admin.register(ChatMessage) class ChatMessageAdmin(admin.ModelAdmin): list_display = ("session", "role", "tokens_used", "created_at") list_filter = ("role",) @admin.register(ContentEmbedding) class ContentEmbeddingAdmin(admin.ModelAdmin): list_display = ("content_type", "content_id", "created_at") list_filter = ("content_type",) @admin.register(RiskScore) class RiskScoreAdmin(admin.ModelAdmin): list_display = ("user", "score", "calculated_at") @admin.register(Anomaly) class AnomalyAdmin(admin.ModelAdmin): list_display = ("user", "anomaly_type", "severity", "created_at") list_filter = ("severity", "anomaly_type") @admin.register(Metric) class MetricAdmin(admin.ModelAdmin): list_display = ("metric_key", "value", "recorded_at") list_filter = ("metric_key",) @admin.register(ReadModelCache) class ReadModelCacheAdmin(admin.ModelAdmin): list_display = ("cache_key", "org", "refreshed_at") @admin.register(FeatureUsageLog) class FeatureUsageLogAdmin(admin.ModelAdmin): list_display = ("feature_key", "user", "org", "used_at") list_filter = ("feature_key",) @admin.register(APIRequestLog) class APIRequestLogAdmin(admin.ModelAdmin): list_display = ("request_id", "method", "endpoint", "status_code", "duration_ms", "created_at") list_filter = ("method", "status_code")