Skip to content

Commit 55526e4

Browse files
authored
Show the mode used (#60)
1 parent cc39440 commit 55526e4

File tree

6 files changed

+27
-5
lines changed

6 files changed

+27
-5
lines changed

src/actions/analytics/events.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,8 @@ export const getTasks = async ({
258258
WITH first_messages AS (
259259
SELECT
260260
taskId,
261-
argMin(text, ts) as title
261+
argMin(text, ts) as title,
262+
argMin(mode, ts) as mode
262263
FROM messages
263264
WHERE orgId = {orgId: String}
264265
GROUP BY taskId
@@ -268,6 +269,7 @@ export const getTasks = async ({
268269
e.userId,
269270
e.apiProvider AS provider,
270271
e.modelId as model,
272+
any(fm.mode) AS mode,
271273
MAX(CASE WHEN e.type = 'Task Completed' THEN 1 ELSE 0 END) AS completed,
272274
SUM(CASE WHEN e.type = 'LLM Completion' THEN COALESCE(e.inputTokens, 0) + COALESCE(e.outputTokens, 0) ELSE 0 END) AS tokens,
273275
SUM(CASE WHEN e.type = 'LLM Completion' THEN COALESCE(e.cost, 0) ELSE 0 END) AS cost,

src/app/(authenticated)/usage/Messages.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,17 @@ export const Messages = ({ messages }: MessagesProps) => {
2828
message.role === 'user' ? 'bg-primary/10' : 'bg-secondary/10',
2929
)}
3030
>
31-
<div className="flex flex-row items-center gap-1 text-xs font-medium text-muted-foreground">
32-
<div>{message.name}</div>
33-
<div>&middot;</div>
34-
<div>{message.timestamp}</div>
31+
<div className="flex flex-row items-center justify-between gap-1 text-xs font-medium text-muted-foreground">
32+
<div className="flex items-center gap-1">
33+
<div>{message.name}</div>
34+
<div>&middot;</div>
35+
<div>{message.timestamp}</div>
36+
</div>
37+
{message.mode && (
38+
<div className="px-2 py-1 bg-muted rounded text-xs font-medium">
39+
{message.mode}
40+
</div>
41+
)}
3542
</div>
3643
<div className="text-sm markdown-prose">
3744
<ReactMarkdown>{message.text}</ReactMarkdown>

src/app/(authenticated)/usage/TaskDrawer.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,12 @@ export const TaskDrawer = ({ task, onClose }: TaskDrawerProps) => {
5656
<span className="text-muted-foreground">Model</span>
5757
<span className="max-w-64 truncate font-mono">{task.model}</span>
5858
</div>
59+
{task.mode && (
60+
<div className="flex justify-between items-center">
61+
<span className="text-muted-foreground">Mode</span>
62+
<span className="max-w-64 truncate">{task.mode}</span>
63+
</div>
64+
)}
5965
<div className="flex justify-between items-center">
6066
<span className="text-muted-foreground">Tokens</span>
6167
<span className="max-w-64 truncate font-mono">

src/components/usage/TaskCard.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ export const TaskCard = ({ task, onFilter, onTaskSelected }: TaskCardProps) => {
5151
>
5252
{task.user.name}
5353
</Button>
54+
{task.mode && (
55+
<span className="px-2 py-1 bg-muted rounded text-xs font-medium">
56+
{task.mode}
57+
</span>
58+
)}
5459
<Button
5560
variant="link"
5661
size="sm"

src/types/analytics/message.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export const messageSchema = z.object({
55
orgId: z.string(),
66
userId: z.string(),
77
taskId: z.string(),
8+
mode: z.string().nullable(),
89
ts: z.number(),
910
type: z.enum(['ask', 'say']),
1011
ask: z.string().nullable(),

src/types/analytics/task.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export const taskSchema = z.object({
55
userId: z.string(),
66
provider: z.string(),
77
model: z.string(),
8+
mode: z.string().nullable(),
89
completed: z.coerce.boolean(),
910
tokens: z.coerce.number(),
1011
cost: z.coerce.number(),

0 commit comments

Comments
 (0)