{error.message}
+| Title | +User | +Messages | +Tokens (In/Out) | +Total Request Tokens | +Total Tokens | +Est. Cost | +Model | +Last Updated | +Actions | +
|---|---|---|---|---|---|---|---|---|---|
|
+ |
+ + {formatUserDisplay(thread)} + | +{thread.messageCount} | ++ {inputTokens.toLocaleString()} / {outputTokens.toLocaleString()} + | ++ {requestTokens.toLocaleString()} + | ++ {totalTokens.toLocaleString()} + | ++ ${cost.toFixed(4)} + | +{thread.model || 'N/A'} | +{new Date(thread.updatedAt).toLocaleString()} | +
+ |
+
| Date | +Source | +Rating | +Feedback | +Thread | +User | +
|---|---|---|---|---|---|
| {new Date(item.createdAt).toLocaleString()} | +{item.source} | +{item.rating === 1 ? '👍' : item.rating === -1 ? '👎' : 'N/A'} | ++ {item.feedbackText || '-'} + | +
+ {item.threadId ? (
+ |
+ + {formatUserDisplay(item)} + | +
+ Most frequently clicked suggestion pills, helping understand which features users find most useful. +
+ +| Rank | +Suggestion Title | +Suggestion Message | +Click Count | +
|---|---|---|---|
| {idx + 1} | +{stat.suggestion_title || 'N/A'} | +{stat.suggestion_message || 'N/A'} | +
+ |
+
+ Note: Suggestion click tracking is implemented but requires frontend instrumentation to capture events. + Data will appear here once users start clicking suggestion pills. +
+| Model | +Threads | +Messages | +Total Request Tokens | +Output Tokens | +Est. Cost (USD) | +
|---|---|---|---|---|---|
| {stat.model || 'Unknown'} | +{formatNumber(stat.total_threads)} | +{formatNumber(stat.total_messages)} | +{formatNumber(requestTokens)} | +{formatNumber(outputTokens)} | +${cost.toFixed(4)} | +
| Model | +System Prompt | +Tool Definitions | +History | +User Message | +
|---|---|---|---|---|
| {stat.model || 'Unknown'} | +{formatNumber(stat.total_system_prompt_tokens)} | +{formatNumber(stat.total_tool_definition_tokens)} | +{formatNumber(stat.total_history_tokens)} | +{formatNumber(stat.total_user_message_tokens)} | +
| Model | +Input (per 1M tokens) | +Output (per 1M tokens) | +
|---|---|---|
| {model} | +${pricing.input.toFixed(2)} | +${pricing.output.toFixed(2)} | +
+ Note: Token usage data is only available after implementing token tracking in the backend. + Costs are estimates based on Google Gemini API pricing. +
+| Name | +User ID | +First Seen | +Last Seen | +|
|---|---|---|---|---|
| + {user.email || No email} + | +{user.name || '-'} | +
+ |
+ + {new Date(user.createdAt).toLocaleDateString()} + | ++ {formatRelativeTime(user.lastSeenAt)} + | +
+ To help us improve the gnomAD Assistant, you can allow administrators to review your conversation history. Your data is not used for any other purpose. +
++ Have feedback about the gnomAD Assistant? We'd love to hear it! +
+ +Coming soon: Save your favorite genes, variants, and regions for quick access.
+