agentfit 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -107,4 +107,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide. Quick version:
107
107
 
108
108
  ## License
109
109
 
110
- [MIT](LICENSE)
110
+ [AGPL-3.0](LICENSE)
@@ -19,8 +19,15 @@ interface DailyTableProps {
19
19
  sessions: SessionSummary[]
20
20
  }
21
21
 
22
+ function shortModel(name: string): string {
23
+ // Strip the leading "claude-" so the table reads "opus-4-7" / "haiku-4-5"
24
+ return name.replace(/^claude-/, '')
25
+ }
26
+
22
27
  export function DailyTable({ daily, sessions }: DailyTableProps) {
23
- // Build models-per-day from sessions
28
+ // Fall back to session-derived models for days without modelBreakdowns
29
+ // (happens when the user filters by project on the client — see
30
+ // components/data-provider.tsx).
24
31
  const modelsByDate = new Map<string, Set<string>>()
25
32
  for (const s of sessions) {
26
33
  const date = s.startTime.slice(0, 10)
@@ -73,23 +80,25 @@ export function DailyTable({ daily, sessions }: DailyTableProps) {
73
80
  </TableHeader>
74
81
  <TableBody>
75
82
  {pagination.pageItems.map((d) => {
76
- const models = modelsByDate.get(d.date)
77
- const modelList = models ? Array.from(models).sort() : []
83
+ const modelList =
84
+ d.modelBreakdowns.length > 0
85
+ ? d.modelBreakdowns.map((b) => b.model)
86
+ : Array.from(modelsByDate.get(d.date) ?? []).sort()
78
87
  return (
79
88
  <TableRow key={d.date}>
80
- <TableCell className="font-medium whitespace-nowrap">{d.date}</TableCell>
81
- <TableCell className="text-xs text-muted-foreground max-w-[180px]">
89
+ <TableCell className="font-medium whitespace-nowrap align-top">{d.date}</TableCell>
90
+ <TableCell className="text-xs text-muted-foreground max-w-[180px] align-top">
82
91
  {modelList.map((m) => (
83
- <div key={m}>{m}</div>
92
+ <div key={m}>- {shortModel(m)}</div>
84
93
  ))}
85
94
  </TableCell>
86
- <TableCell className="text-right">{d.sessions}</TableCell>
87
- <TableCell className="text-right font-mono text-xs">{formatNumber(d.inputTokens)}</TableCell>
88
- <TableCell className="text-right font-mono text-xs">{formatNumber(d.outputTokens)}</TableCell>
89
- <TableCell className="text-right font-mono text-xs">{formatNumber(d.cacheCreationTokens)}</TableCell>
90
- <TableCell className="text-right font-mono text-xs">{formatNumber(d.cacheReadTokens)}</TableCell>
91
- <TableCell className="text-right font-mono text-xs">{formatNumber(d.totalTokens)}</TableCell>
92
- <TableCell className="text-right font-medium">{formatCost(d.costUSD)}</TableCell>
95
+ <TableCell className="text-right align-top">{d.sessions}</TableCell>
96
+ <TableCell className="text-right font-mono text-xs align-top">{formatNumber(d.inputTokens)}</TableCell>
97
+ <TableCell className="text-right font-mono text-xs align-top">{formatNumber(d.outputTokens)}</TableCell>
98
+ <TableCell className="text-right font-mono text-xs align-top">{formatNumber(d.cacheCreationTokens)}</TableCell>
99
+ <TableCell className="text-right font-mono text-xs align-top">{formatNumber(d.cacheReadTokens)}</TableCell>
100
+ <TableCell className="text-right font-mono text-xs align-top">{formatNumber(d.totalTokens)}</TableCell>
101
+ <TableCell className="text-right font-medium align-top">{formatCost(d.costUSD)}</TableCell>
93
102
  </TableRow>
94
103
  )
95
104
  })}
@@ -106,6 +106,10 @@ function filterData(raw: UsageData | null, range: TimeRange, project: string): U
106
106
  cacheCreationTokens: 0, cacheReadTokens: 0,
107
107
  totalTokens: 0, costUSD: 0, toolCalls: 0,
108
108
  toolCallsDetail: {}, interruptions: 0, rateLimitErrors: 0,
109
+ // Client-side rebuild: per-(date, model) breakdown is not derivable
110
+ // from session-level rows. The unfiltered case (project=all,
111
+ // range=all) returns raw and preserves the server's breakdowns.
112
+ modelBreakdowns: [],
109
113
  })
110
114
  }
111
115
  const day = dailyMap.get(date)!
@@ -22,6 +22,11 @@ export * from './enums';
22
22
  *
23
23
  */
24
24
  export type Session = Prisma.SessionModel
25
+ /**
26
+ * Model MessageUsage
27
+ *
28
+ */
29
+ export type MessageUsage = Prisma.MessageUsageModel
25
30
  /**
26
31
  * Model Image
27
32
  *
@@ -46,6 +46,11 @@ export { Prisma }
46
46
  *
47
47
  */
48
48
  export type Session = Prisma.SessionModel
49
+ /**
50
+ * Model MessageUsage
51
+ *
52
+ */
53
+ export type MessageUsage = Prisma.MessageUsageModel
49
54
  /**
50
55
  * Model Image
51
56
  *
@@ -20,7 +20,7 @@ const config: runtime.GetPrismaClientConfig = {
20
20
  "clientVersion": "7.6.0",
21
21
  "engineVersion": "75cbdc1eb7150937890ad5465d861175c6624711",
22
22
  "activeProvider": "sqlite",
23
- "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n}\n\nmodel Session {\n id String @id @default(cuid())\n sessionId String @unique\n project String\n projectPath String\n startTime DateTime\n endTime DateTime\n durationMinutes Float\n userMessages Int\n assistantMessages Int\n totalMessages Int\n inputTokens Int\n outputTokens Int\n cacheCreationTokens Int\n cacheReadTokens Int\n totalTokens Int\n costUSD Float\n model String\n toolCallsTotal Int\n toolCallsJson String // JSON string of Record<string, number>\n skillCallsJson String @default(\"{}\") // JSON string of Record<string, number>\n messageTimestamps String @default(\"[]\") // JSON array of ISO timestamp strings\n apiErrors Int @default(0)\n rateLimitErrors Int @default(0)\n userInterruptions Int @default(0)\n permissionModesJson String @default(\"{}\") // JSON: {default:N, acceptEdits:N, bypassPermissions:N, plan:N}\n systemPromptEdits Int @default(0) // Edits/writes to CLAUDE.md, AGENTS.md, agent.md\n cliVersion String @default(\"unknown\") // Claude Code CLI version from JSONL logs\n modelCountsJson String @default(\"{}\") // JSON: {model_name: message_count}\n createdAt DateTime @default(now())\n\n @@index([project])\n @@index([startTime])\n}\n\nmodel Image {\n id String @id @default(cuid())\n sessionId String\n messageId String // uuid of the message containing the image\n filename String // relative path under data/images/\n mediaType String // e.g. image/png\n sizeBytes Int\n timestamp DateTime\n role String // user or assistant\n createdAt DateTime @default(now())\n\n @@unique([sessionId, messageId, filename])\n @@index([sessionId])\n}\n\nmodel SyncLog {\n id String @id @default(cuid())\n syncedAt DateTime @default(now())\n filesProcessed Int\n sessionsAdded Int\n sessionsSkipped Int\n}\n\nmodel Report {\n id String @id @default(cuid())\n title String\n generatedAt DateTime @default(now())\n contentJson String\n sessionCount Int\n createdAt DateTime @default(now())\n\n @@index([generatedAt])\n}\n\nmodel SessionAnalysis {\n id String @id @default(cuid())\n sessionId String @unique\n model String\n classifications String // JSON array of per-message classifications\n totalMessages Int\n inputTokens Int\n outputTokens Int\n costUSD Float\n analyzedAt DateTime @default(now())\n\n @@index([sessionId])\n}\n",
23
+ "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n}\n\nmodel Session {\n id String @id @default(cuid())\n sessionId String @unique\n project String\n projectPath String\n startTime DateTime\n endTime DateTime\n durationMinutes Float\n userMessages Int\n assistantMessages Int\n totalMessages Int\n inputTokens Int\n outputTokens Int\n cacheCreationTokens Int\n cacheReadTokens Int\n totalTokens Int\n costUSD Float\n model String\n toolCallsTotal Int\n toolCallsJson String // JSON string of Record<string, number>\n skillCallsJson String @default(\"{}\") // JSON string of Record<string, number>\n messageTimestamps String @default(\"[]\") // JSON array of ISO timestamp strings\n apiErrors Int @default(0)\n rateLimitErrors Int @default(0)\n userInterruptions Int @default(0)\n permissionModesJson String @default(\"{}\") // JSON: {default:N, acceptEdits:N, bypassPermissions:N, plan:N}\n systemPromptEdits Int @default(0) // Edits/writes to CLAUDE.md, AGENTS.md, agent.md\n cliVersion String @default(\"unknown\") // Claude Code CLI version from JSONL logs\n modelCountsJson String @default(\"{}\") // JSON: {model_name: message_count}\n createdAt DateTime @default(now())\n\n @@index([project])\n @@index([startTime])\n}\n\nmodel MessageUsage {\n id String @id @default(cuid())\n sessionId String\n messageId String\n requestId String\n model String\n speed String @default(\"standard\") // \"standard\" | \"fast\"\n timestamp DateTime\n date String // YYYY-MM-DD bucket of timestamp (local date)\n inputTokens Int\n outputTokens Int\n cacheCreationTokens Int\n cacheReadTokens Int\n costUSD Float\n createdAt DateTime @default(now())\n\n @@unique([messageId, requestId])\n @@index([date])\n @@index([sessionId])\n @@index([model])\n}\n\nmodel Image {\n id String @id @default(cuid())\n sessionId String\n messageId String // uuid of the message containing the image\n filename String // relative path under data/images/\n mediaType String // e.g. image/png\n sizeBytes Int\n timestamp DateTime\n role String // user or assistant\n createdAt DateTime @default(now())\n\n @@unique([sessionId, messageId, filename])\n @@index([sessionId])\n}\n\nmodel SyncLog {\n id String @id @default(cuid())\n syncedAt DateTime @default(now())\n filesProcessed Int\n sessionsAdded Int\n sessionsSkipped Int\n}\n\nmodel Report {\n id String @id @default(cuid())\n title String\n generatedAt DateTime @default(now())\n contentJson String\n sessionCount Int\n createdAt DateTime @default(now())\n\n @@index([generatedAt])\n}\n\nmodel SessionAnalysis {\n id String @id @default(cuid())\n sessionId String @unique\n model String\n classifications String // JSON array of per-message classifications\n totalMessages Int\n inputTokens Int\n outputTokens Int\n costUSD Float\n analyzedAt DateTime @default(now())\n\n @@index([sessionId])\n}\n",
24
24
  "runtimeDataModel": {
25
25
  "models": {},
26
26
  "enums": {},
@@ -32,10 +32,10 @@ const config: runtime.GetPrismaClientConfig = {
32
32
  }
33
33
  }
34
34
 
35
- config.runtimeDataModel = JSON.parse("{\"models\":{\"Session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"project\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"projectPath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startTime\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endTime\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"durationMinutes\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"userMessages\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"assistantMessages\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"totalMessages\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"inputTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"outputTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cacheCreationTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cacheReadTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"totalTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"costUSD\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toolCallsTotal\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"toolCallsJson\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skillCallsJson\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"messageTimestamps\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"apiErrors\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rateLimitErrors\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userInterruptions\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"permissionModesJson\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"systemPromptEdits\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cliVersion\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"modelCountsJson\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Image\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"messageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mediaType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sizeBytes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"SyncLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"syncedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"filesProcessed\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"sessionsAdded\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"sessionsSkipped\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":null},\"Report\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"generatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"contentJson\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"SessionAnalysis\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"classifications\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"totalMessages\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"inputTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"outputTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"costUSD\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"analyzedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
35
+ config.runtimeDataModel = JSON.parse("{\"models\":{\"Session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"project\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"projectPath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startTime\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"endTime\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"durationMinutes\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"userMessages\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"assistantMessages\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"totalMessages\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"inputTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"outputTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cacheCreationTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cacheReadTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"totalTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"costUSD\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toolCallsTotal\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"toolCallsJson\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"skillCallsJson\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"messageTimestamps\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"apiErrors\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"rateLimitErrors\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userInterruptions\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"permissionModesJson\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"systemPromptEdits\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cliVersion\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"modelCountsJson\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"MessageUsage\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"messageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"requestId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"speed\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inputTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"outputTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cacheCreationTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cacheReadTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"costUSD\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Image\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"messageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mediaType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sizeBytes\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"SyncLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"syncedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"filesProcessed\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"sessionsAdded\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"sessionsSkipped\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":null},\"Report\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"generatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"contentJson\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"SessionAnalysis\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"classifications\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"totalMessages\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"inputTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"outputTokens\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"costUSD\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"analyzedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
36
36
  config.parameterizationSchema = {
37
- strings: JSON.parse("[\"where\",\"Session.findUnique\",\"Session.findUniqueOrThrow\",\"orderBy\",\"cursor\",\"Session.findFirst\",\"Session.findFirstOrThrow\",\"Session.findMany\",\"data\",\"Session.createOne\",\"Session.createMany\",\"Session.createManyAndReturn\",\"Session.updateOne\",\"Session.updateMany\",\"Session.updateManyAndReturn\",\"create\",\"update\",\"Session.upsertOne\",\"Session.deleteOne\",\"Session.deleteMany\",\"having\",\"_count\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"Session.groupBy\",\"Session.aggregate\",\"Image.findUnique\",\"Image.findUniqueOrThrow\",\"Image.findFirst\",\"Image.findFirstOrThrow\",\"Image.findMany\",\"Image.createOne\",\"Image.createMany\",\"Image.createManyAndReturn\",\"Image.updateOne\",\"Image.updateMany\",\"Image.updateManyAndReturn\",\"Image.upsertOne\",\"Image.deleteOne\",\"Image.deleteMany\",\"Image.groupBy\",\"Image.aggregate\",\"SyncLog.findUnique\",\"SyncLog.findUniqueOrThrow\",\"SyncLog.findFirst\",\"SyncLog.findFirstOrThrow\",\"SyncLog.findMany\",\"SyncLog.createOne\",\"SyncLog.createMany\",\"SyncLog.createManyAndReturn\",\"SyncLog.updateOne\",\"SyncLog.updateMany\",\"SyncLog.updateManyAndReturn\",\"SyncLog.upsertOne\",\"SyncLog.deleteOne\",\"SyncLog.deleteMany\",\"SyncLog.groupBy\",\"SyncLog.aggregate\",\"Report.findUnique\",\"Report.findUniqueOrThrow\",\"Report.findFirst\",\"Report.findFirstOrThrow\",\"Report.findMany\",\"Report.createOne\",\"Report.createMany\",\"Report.createManyAndReturn\",\"Report.updateOne\",\"Report.updateMany\",\"Report.updateManyAndReturn\",\"Report.upsertOne\",\"Report.deleteOne\",\"Report.deleteMany\",\"Report.groupBy\",\"Report.aggregate\",\"SessionAnalysis.findUnique\",\"SessionAnalysis.findUniqueOrThrow\",\"SessionAnalysis.findFirst\",\"SessionAnalysis.findFirstOrThrow\",\"SessionAnalysis.findMany\",\"SessionAnalysis.createOne\",\"SessionAnalysis.createMany\",\"SessionAnalysis.createManyAndReturn\",\"SessionAnalysis.updateOne\",\"SessionAnalysis.updateMany\",\"SessionAnalysis.updateManyAndReturn\",\"SessionAnalysis.upsertOne\",\"SessionAnalysis.deleteOne\",\"SessionAnalysis.deleteMany\",\"SessionAnalysis.groupBy\",\"SessionAnalysis.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"sessionId\",\"model\",\"classifications\",\"totalMessages\",\"inputTokens\",\"outputTokens\",\"costUSD\",\"analyzedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"title\",\"generatedAt\",\"contentJson\",\"sessionCount\",\"createdAt\",\"syncedAt\",\"filesProcessed\",\"sessionsAdded\",\"sessionsSkipped\",\"messageId\",\"filename\",\"mediaType\",\"sizeBytes\",\"timestamp\",\"role\",\"sessionId_messageId_filename\",\"project\",\"projectPath\",\"startTime\",\"endTime\",\"durationMinutes\",\"userMessages\",\"assistantMessages\",\"cacheCreationTokens\",\"cacheReadTokens\",\"totalTokens\",\"toolCallsTotal\",\"toolCallsJson\",\"skillCallsJson\",\"messageTimestamps\",\"apiErrors\",\"rateLimitErrors\",\"userInterruptions\",\"permissionModesJson\",\"systemPromptEdits\",\"cliVersion\",\"modelCountsJson\",\"set\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
38
- graph: "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_ACFgAQB_ACFhAQB_ACFjAgCAAQAhZAIAgAEAIWUCAIABACFmCACBAQAhd0AAggEAIYMBAQB_ACGEAQEAfwAhhQFAAIIBACGGAUAAggEAIYcBCACBAQAhiAECAIABACGJAQIAgAEAIYoBAgCAAQAhiwECAIABACGMAQIAgAEAIY0BAgCAAQAhjgEBAH8AIY8BAQB_ACGQAQEAfwAhkQECAIABACGSAQIAgAEAIZMBAgCAAQAhlAEBAH8AIZUBAgCAAQAhlgEBAH8AIZcBAQB_ACEDAAAABAAgAwAAFgAwFAAAFwAgAwAAAAQAIAMAAAUAMAQAAAEAIA1cAACVAQAwXQAAHQAQXgAAlQEAMF8BAAAAAWABAIwBACF3QACPAQAhfAEAjAEAIX0BAIwBACF-AQCMAQAhfwIAjQEAIYABQACPAQAhgQEBAIwBACGCAQAAlgEAIAEAAAAaACABAAAAGgAgDFwAAJUBADBdAAAdABBeAACVAQAwXwEAjAEAIWABAIwBACF3QACPAQAhfAEAjAEAIX0BAIwBACF-AQCMAQAhfwIAjQEAIYABQACPAQAhgQEBAIwBACEAAwAAAB0AIAMAAB4AMAQAABoAIAMAAAAdACADAAAeADAEAAAaACADAAAAHQAgAwAAHgAwBAAAGgAgCV8BAAAAAWABAAAAAXdAAAAAAXwBAAAAAX0BAAAAAX4BAAAAAX8CAAAAAYABQAAAAAGBAQEAAAABAQgAACIAIAlfAQAAAAFgAQAAAAF3QAAAAAF8AQAAAAF9AQAAAAF-AQAAAAF_AgAAAAGAAUAAAAABgQEBAAAAAQEIAAAkADABCAAAJAAwCV8BAJ4BACFgAQCeAQAhd0AAoQEAIXwBAJ4BACF9AQCeAQAhfgEAngEAIX8CAJ8BACGAAUAAoQEAIYEBAQCeAQAhAgAAABoAIAgAACcAIAlfAQCeAQAhYAEAngEAIXdAAKEBACF8AQCeAQAhfQEAngEAIX4BAJ4BACF_AgCfAQAhgAFAAKEBACGBAQEAngEAIQIAAAAdACAIAAApACACAAAAHQAgCAAAKQAgAwAAABoAIA8AACIAIBAAACcAIAEAAAAaACABAAAAHQAgBRUAAKwBACAWAACtAQAgFwAAsAEAIBgAAK8BACAZAACuAQAgDFwAAJQBADBdAAAwABBeAACUAQAwXwEAfwAhYAEAfwAhd0AAggEAIXwBAH8AIX0BAH8AIX4BAH8AIX8CAIABACGAAUAAggEAIYEBAQB_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-ADBdAAB7ABBeAAB-ADBfAQB_ACFgAQB_ACFhAQB_ACFiAQB_ACFjAgCAAQAhZAIAgAEAIWUCAIABACFmCACBAQAhZ0AAggEAIQMAAABoACADAAB6ADAUAAB7ACADAAAAaAAgAwAAaQAwBAAAZQAgDFwAAH4AMF0AAHsAEF4AAH4AMF8BAH8AIWABAH8AIWEBAH8AIWIBAH8AIWMCAIABACFkAgCAAQAhZQIAgAEAIWYIAIEBACFnQACCAQAhDhUAAIQBACAYAACKAQAgGQAAigEAIGgBAAAAAWkBAAAABGoBAAAABGsBAAAAAWwBAAAAAW0BAAAAAW4BAAAAAW8BAIkBACFwAQAAAAFxAQAAAAFyAQAAAAENFQAAhAEAIBYAAIcBACAXAACEAQAgGAAAhAEAIBkAAIQBACBoAgAAAAFpAgAAAARqAgAAAARrAgAAAAFsAgAAAAFtAgAAAAFuAgAAAAFvAgCIAQAhDRUAAIQBACAWAACHAQAgFwAAhwEAIBgAAIcBACAZAACHAQAgaAgAAAABaQgAAAAEaggAAAAEawgAAAABbAgAAAABbQgAAAABbggAAAABbwgAhgEAIQsVAACEAQAgGAAAhQEAIBkAAIUBACBoQAAAAAFpQAAAAARqQAAAAARrQAAAAAFsQAAAAAFtQAAAAAFuQAAAAAFvQACDAQAhCxUAAIQBACAYAACFAQAgGQAAhQEAIGhAAAAAAWlAAAAABGpAAAAABGtAAAAAAWxAAAAAAW1AAAAAAW5AAAAAAW9AAIMBACEIaAIAAAABaQIAAAAEagIAAAAEawIAAAABbAIAAAABbQIAAAABbgIAAAABbwIAhAEAIQhoQAAAAAFpQAAAAARqQAAAAARrQAAAAAFsQAAAAAFtQAAAAAFuQAAAAAFvQACFAQAhDRUAAIQBACAWAACHAQAgFwAAhwEAIBgAAIcBACAZAACHAQAgaAgAAAABaQgAAAAEaggAAAAEawgAAAABbAgAAAABbQgAAAABbggAAAABbwgAhgEAIQhoCAAAAAFpCAAAAARqCAAAAARrCAAAAAFsCAAAAAFtCAAAAAFuCAAAAAFvCACHAQAhDRUAAIQBACAWAACHAQAgFwAAhAEAIBgAAIQBACAZAACEAQAgaAIAAAABaQIAAAAEagIAAAAEawIAAAABbAIAAAABbQIAAAABbgIAAAABbwIAiAEAIQ4VAACEAQAgGAAAigEAIBkAAIoBACBoAQAAAAFpAQAAAARqAQAAAARrAQAAAAFsAQAAAAFtAQAAAAFuAQAAAAFvAQCJAQAhcAEAAAABcQEAAAABcgEAAAABC2gBAAAAAWkBAAAABGoBAAAABGsBAAAAAWwBAAAAAW0BAAAAAW4BAAAAAW8BAIoBACFwAQAAAAFxAQAAAAFyAQAAAAEMXAAAiwEAMF0AAGgAEF4AAIsBADBfAQCMAQAhYAEAjAEAIWEBAIwBACFiAQCMAQAhYwIAjQEAIWQCAI0BACFlAgCNAQAhZggAjgEAIWdAAI8BACELaAEAAAABaQEAAAAEagEAAAAEawEAAAABbAEAAAABbQEAAAABbgEAAAABbwEAigEAIXABAAAAAXEBAAAAAXIBAAAAAQhoAgAAAAFpAgAAAARqAgAAAARrAgAAAAFsAgAAAAFtAgAAAAFuAgAAAAFvAgCEAQAhCGgIAAAAAWkIAAAABGoIAAAABGsIAAAAAWwIAAAAAW0IAAAAAW4IAAAAAW8IAIcBACEIaEAAAAABaUAAAAAEakAAAAAEa0AAAAABbEAAAAABbUAAAAABbkAAAAABb0AAhQEAIQlcAACQAQAwXQAAYgAQXgAAkAEAMF8BAH8AIXMBAH8AIXRAAIIBACF1AQB_ACF2AgCAAQAhd0AAggEAIQlcAACRAQAwXQAATwAQXgAAkQEAMF8BAIwBACFzAQCMAQAhdEAAjwEAIXUBAIwBACF2AgCNAQAhd0AAjwEAIQhcAACSAQAwXQAASQAQXgAAkgEAMF8BAH8AIXhAAIIBACF5AgCAAQAhegIAgAEAIXsCAIABACEIXAAAkwEAMF0AADYAEF4AAJMBADBfAQCMAQAheEAAjwEAIXkCAI0BACF6AgCNAQAhewIAjQEAIQxcAACUAQAwXQAAMAAQXgAAlAEAMF8BAH8AIWABAH8AIXdAAIIBACF8AQB_ACF9AQB_ACF-AQB_ACF_AgCAAQAhgAFAAIIBACGBAQEAfwAhDFwAAJUBADBdAAAdABBeAACVAQAwXwEAjAEAIWABAIwBACF3QACPAQAhfAEAjAEAIX0BAIwBACF-AQCMAQAhfwIAjQEAIYABQACPAQAhgQEBAIwBACEDYAEAAAABfAEAAAABfQEAAAABIFwAAJcBADBdAAAXABBeAACXAQAwXwEAfwAhYAEAfwAhYQEAfwAhYwIAgAEAIWQCAIABACFlAgCAAQAhZggAgQEAIXdAAIIBACGDAQEAfwAhhAEBAH8AIYUBQACCAQAhhgFAAIIBACGHAQgAgQEAIYgBAgCAAQAhiQECAIABACGKAQIAgAEAIYsBAgCAAQAhjAECAIABACGNAQIAgAEAIY4BAQB_ACGPAQEAfwAhkAEBAH8AIZEBAgCAAQAhkgECAIABACGTAQIAgAEAIZQBAQB_ACGVAQIAgAEAIZYBAQB_ACGXAQEAfwAhIFwAAJgBADBdAAAEABBeAACYAQAwXwEAjAEAIWABAIwBACFhAQCMAQAhYwIAjQEAIWQCAI0BACFlAgCNAQAhZggAjgEAIXdAAI8BACGDAQEAjAEAIYQBAQCMAQAhhQFAAI8BACGGAUAAjwEAIYcBCACOAQAhiAECAI0BACGJAQIAjQEAIYoBAgCNAQAhiwECAI0BACGMAQIAjQEAIY0BAgCNAQAhjgEBAIwBACGPAQEAjAEAIZABAQCMAQAhkQECAI0BACGSAQIAjQEAIZMBAgCNAQAhlAEBAIwBACGVAQIAjQEAIZYBAQCMAQAhlwEBAIwBACEAAAAAAAGYAQEAAAABBZgBAgAAAAGZAQIAAAABmgECAAAAAZsBAgAAAAGcAQIAAAABBZgBCAAAAAGZAQgAAAABmgEIAAAAAZsBCAAAAAGcAQgAAAABAZgBQAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFQAGFgAHFwAIGAAJGQAKAAAAAAAFFQAGFgAHFwAIGAAJGQAKAAAABRUAEBYAERcAEhgAExkAFAAAAAAABRUAEBYAERcAEhgAExkAFAAAAAUVABoWABsXABwYAB0ZAB4AAAAAAAUVABoWABsXABwYAB0ZAB4AAAAFFQAkFgAlFwAmGAAnGQAoAAAAAAAFFQAkFgAlFwAmGAAnGQAoAAAABRUALhYALxcAMBgAMRkAMgAAAAAABRUALhYALxcAMBgAMRkAMgECAQIDAQUGAQYHAQcIAQkKAQoMAgsNAwwPAQ0RAg4SBBETARIUARMVAhoYBRsZCxwbDB0cDB4fDB8gDCAhDCEjDCIlAiMmDSQoDCUqAiYrDicsDCgtDCkuAioxDysyFSw0Fi01Fi44Fi85FjA6FjE8FjI-AjM_FzRBFjVDAjZEGDdFFjhGFjlHAjpKGTtLHzxNID1OID5RID9SIEBTIEFVIEJXAkNYIURaIEVcAkZdIkdeIEhfIElgAkpjI0tkKUxmKk1nKk5qKk9rKlBsKlFuKlJwAlNxK1RzKlV1AlZ2LFd3Klh4Kll5Alp8LVt9Mw"
37
+ strings: JSON.parse("[\"where\",\"Session.findUnique\",\"Session.findUniqueOrThrow\",\"orderBy\",\"cursor\",\"Session.findFirst\",\"Session.findFirstOrThrow\",\"Session.findMany\",\"data\",\"Session.createOne\",\"Session.createMany\",\"Session.createManyAndReturn\",\"Session.updateOne\",\"Session.updateMany\",\"Session.updateManyAndReturn\",\"create\",\"update\",\"Session.upsertOne\",\"Session.deleteOne\",\"Session.deleteMany\",\"having\",\"_count\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"Session.groupBy\",\"Session.aggregate\",\"MessageUsage.findUnique\",\"MessageUsage.findUniqueOrThrow\",\"MessageUsage.findFirst\",\"MessageUsage.findFirstOrThrow\",\"MessageUsage.findMany\",\"MessageUsage.createOne\",\"MessageUsage.createMany\",\"MessageUsage.createManyAndReturn\",\"MessageUsage.updateOne\",\"MessageUsage.updateMany\",\"MessageUsage.updateManyAndReturn\",\"MessageUsage.upsertOne\",\"MessageUsage.deleteOne\",\"MessageUsage.deleteMany\",\"MessageUsage.groupBy\",\"MessageUsage.aggregate\",\"Image.findUnique\",\"Image.findUniqueOrThrow\",\"Image.findFirst\",\"Image.findFirstOrThrow\",\"Image.findMany\",\"Image.createOne\",\"Image.createMany\",\"Image.createManyAndReturn\",\"Image.updateOne\",\"Image.updateMany\",\"Image.updateManyAndReturn\",\"Image.upsertOne\",\"Image.deleteOne\",\"Image.deleteMany\",\"Image.groupBy\",\"Image.aggregate\",\"SyncLog.findUnique\",\"SyncLog.findUniqueOrThrow\",\"SyncLog.findFirst\",\"SyncLog.findFirstOrThrow\",\"SyncLog.findMany\",\"SyncLog.createOne\",\"SyncLog.createMany\",\"SyncLog.createManyAndReturn\",\"SyncLog.updateOne\",\"SyncLog.updateMany\",\"SyncLog.updateManyAndReturn\",\"SyncLog.upsertOne\",\"SyncLog.deleteOne\",\"SyncLog.deleteMany\",\"SyncLog.groupBy\",\"SyncLog.aggregate\",\"Report.findUnique\",\"Report.findUniqueOrThrow\",\"Report.findFirst\",\"Report.findFirstOrThrow\",\"Report.findMany\",\"Report.createOne\",\"Report.createMany\",\"Report.createManyAndReturn\",\"Report.updateOne\",\"Report.updateMany\",\"Report.updateManyAndReturn\",\"Report.upsertOne\",\"Report.deleteOne\",\"Report.deleteMany\",\"Report.groupBy\",\"Report.aggregate\",\"SessionAnalysis.findUnique\",\"SessionAnalysis.findUniqueOrThrow\",\"SessionAnalysis.findFirst\",\"SessionAnalysis.findFirstOrThrow\",\"SessionAnalysis.findMany\",\"SessionAnalysis.createOne\",\"SessionAnalysis.createMany\",\"SessionAnalysis.createManyAndReturn\",\"SessionAnalysis.updateOne\",\"SessionAnalysis.updateMany\",\"SessionAnalysis.updateManyAndReturn\",\"SessionAnalysis.upsertOne\",\"SessionAnalysis.deleteOne\",\"SessionAnalysis.deleteMany\",\"SessionAnalysis.groupBy\",\"SessionAnalysis.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"sessionId\",\"model\",\"classifications\",\"totalMessages\",\"inputTokens\",\"outputTokens\",\"costUSD\",\"analyzedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"title\",\"generatedAt\",\"contentJson\",\"sessionCount\",\"createdAt\",\"syncedAt\",\"filesProcessed\",\"sessionsAdded\",\"sessionsSkipped\",\"messageId\",\"filename\",\"mediaType\",\"sizeBytes\",\"timestamp\",\"role\",\"sessionId_messageId_filename\",\"requestId\",\"speed\",\"date\",\"cacheCreationTokens\",\"cacheReadTokens\",\"messageId_requestId\",\"project\",\"projectPath\",\"startTime\",\"endTime\",\"durationMinutes\",\"userMessages\",\"assistantMessages\",\"totalTokens\",\"toolCallsTotal\",\"toolCallsJson\",\"skillCallsJson\",\"messageTimestamps\",\"apiErrors\",\"rateLimitErrors\",\"userInterruptions\",\"permissionModesJson\",\"systemPromptEdits\",\"cliVersion\",\"modelCountsJson\",\"set\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
38
+ graph: "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-AgAAAAF_AgChAQAhDRUAAJ0BACAWAACgAQAgFwAAoAEAIBgAAKABACAZAACgAQAgeAgAAAABeQgAAAAEeggAAAAEewgAAAABfAgAAAABfQgAAAABfggAAAABfwgAnwEAIQsVAACdAQAgGAAAngEAIBkAAJ4BACB4QAAAAAF5QAAAAAR6QAAAAAR7QAAAAAF8QAAAAAF9QAAAAAF-QAAAAAF_QACcAQAhCxUAAJ0BACAYAACeAQAgGQAAngEAIHhAAAAAAXlAAAAABHpAAAAABHtAAAAAAXxAAAAAAX1AAAAAAX5AAAAAAX9AAJwBACEIeAIAAAABeQIAAAAEegIAAAAEewIAAAABfAIAAAABfQIAAAABfgIAAAABfwIAnQEAIQh4QAAAAAF5QAAAAAR6QAAAAAR7QAAAAAF8QAAAAAF9QAAAAAF-QAAAAAF_QACeAQAhDRUAAJ0BACAWAACgAQAgFwAAoAEAIBgAAKABACAZAACgAQAgeAgAAAABeQgAAAAEeggAAAAEewgAAAABfAgAAAABfQgAAAABfggAAAABfwgAnwEAIQh4CAAAAAF5CAAAAAR6CAAAAAR7CAAAAAF8CAAAAAF9CAAAAAF-CAAAAAF_CACgAQAhDRUAAJ0BACAWAACgAQAgFwAAnQEAIBgAAJ0BACAZAACdAQAgeAIAAAABeQIAAAAEegIAAAAEewIAAAABfAIAAAABfQIAAAABfgIAAAABfwIAoQEAIQ4VAACdAQAgGAAAowEAIBkAAKMBACB4AQAAAAF5AQAAAAR6AQAAAAR7AQAAAAF8AQAAAAF9AQAAAAF-AQAAAAF_AQCiAQAhgAEBAAAAAYEBAQAAAAGCAQEAAAABC3gBAAAAAXkBAAAABHoBAAAABHsBAAAAAXwBAAAAAX0BAAAAAX4BAAAAAX8BAKMBACGAAQEAAAABgQEBAAAAAYIBAQAAAAEMbAAApAEAMG0AAIEBABBuAACkAQAwbwEApQEAIXABAKUBACFxAQClAQAhcgEApQEAIXMCAKYBACF0AgCmAQAhdQIApgEAIXYIAKcBACF3QACoAQAhC3gBAAAAAXkBAAAABHoBAAAABHsBAAAAAXwBAAAAAX0BAAAAAX4BAAAAAX8BAKMBACGAAQEAAAABgQEBAAAAAYIBAQAAAAEIeAIAAAABeQIAAAAEegIAAAAEewIAAAABfAIAAAABfQIAAAABfgIAAAABfwIAnQEAIQh4CAAAAAF5CAAAAAR6CAAAAAR7CAAAAAF8CAAAAAF9CAAAAAF-CAAAAAF_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"
39
39
  }
40
40
 
41
41
  async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
@@ -198,6 +198,16 @@ export interface PrismaClient<
198
198
  */
199
199
  get session(): Prisma.SessionDelegate<ExtArgs, { omit: OmitOpts }>;
200
200
 
201
+ /**
202
+ * `prisma.messageUsage`: Exposes CRUD operations for the **MessageUsage** model.
203
+ * Example usage:
204
+ * ```ts
205
+ * // Fetch zero or more MessageUsages
206
+ * const messageUsages = await prisma.messageUsage.findMany()
207
+ * ```
208
+ */
209
+ get messageUsage(): Prisma.MessageUsageDelegate<ExtArgs, { omit: OmitOpts }>;
210
+
201
211
  /**
202
212
  * `prisma.image`: Exposes CRUD operations for the **Image** model.
203
213
  * Example usage:
@@ -385,6 +385,7 @@ type FieldRefInputType<Model, FieldType> = Model extends never ? never : FieldRe
385
385
 
386
386
  export const ModelName = {
387
387
  Session: 'Session',
388
+ MessageUsage: 'MessageUsage',
388
389
  Image: 'Image',
389
390
  SyncLog: 'SyncLog',
390
391
  Report: 'Report',
@@ -404,7 +405,7 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
404
405
  omit: GlobalOmitOptions
405
406
  }
406
407
  meta: {
407
- modelProps: "session" | "image" | "syncLog" | "report" | "sessionAnalysis"
408
+ modelProps: "session" | "messageUsage" | "image" | "syncLog" | "report" | "sessionAnalysis"
408
409
  txIsolationLevel: TransactionIsolationLevel
409
410
  }
410
411
  model: {
@@ -482,6 +483,80 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
482
483
  }
483
484
  }
484
485
  }
486
+ MessageUsage: {
487
+ payload: Prisma.$MessageUsagePayload<ExtArgs>
488
+ fields: Prisma.MessageUsageFieldRefs
489
+ operations: {
490
+ findUnique: {
491
+ args: Prisma.MessageUsageFindUniqueArgs<ExtArgs>
492
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload> | null
493
+ }
494
+ findUniqueOrThrow: {
495
+ args: Prisma.MessageUsageFindUniqueOrThrowArgs<ExtArgs>
496
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload>
497
+ }
498
+ findFirst: {
499
+ args: Prisma.MessageUsageFindFirstArgs<ExtArgs>
500
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload> | null
501
+ }
502
+ findFirstOrThrow: {
503
+ args: Prisma.MessageUsageFindFirstOrThrowArgs<ExtArgs>
504
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload>
505
+ }
506
+ findMany: {
507
+ args: Prisma.MessageUsageFindManyArgs<ExtArgs>
508
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload>[]
509
+ }
510
+ create: {
511
+ args: Prisma.MessageUsageCreateArgs<ExtArgs>
512
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload>
513
+ }
514
+ createMany: {
515
+ args: Prisma.MessageUsageCreateManyArgs<ExtArgs>
516
+ result: BatchPayload
517
+ }
518
+ createManyAndReturn: {
519
+ args: Prisma.MessageUsageCreateManyAndReturnArgs<ExtArgs>
520
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload>[]
521
+ }
522
+ delete: {
523
+ args: Prisma.MessageUsageDeleteArgs<ExtArgs>
524
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload>
525
+ }
526
+ update: {
527
+ args: Prisma.MessageUsageUpdateArgs<ExtArgs>
528
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload>
529
+ }
530
+ deleteMany: {
531
+ args: Prisma.MessageUsageDeleteManyArgs<ExtArgs>
532
+ result: BatchPayload
533
+ }
534
+ updateMany: {
535
+ args: Prisma.MessageUsageUpdateManyArgs<ExtArgs>
536
+ result: BatchPayload
537
+ }
538
+ updateManyAndReturn: {
539
+ args: Prisma.MessageUsageUpdateManyAndReturnArgs<ExtArgs>
540
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload>[]
541
+ }
542
+ upsert: {
543
+ args: Prisma.MessageUsageUpsertArgs<ExtArgs>
544
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$MessageUsagePayload>
545
+ }
546
+ aggregate: {
547
+ args: Prisma.MessageUsageAggregateArgs<ExtArgs>
548
+ result: runtime.Types.Utils.Optional<Prisma.AggregateMessageUsage>
549
+ }
550
+ groupBy: {
551
+ args: Prisma.MessageUsageGroupByArgs<ExtArgs>
552
+ result: runtime.Types.Utils.Optional<Prisma.MessageUsageGroupByOutputType>[]
553
+ }
554
+ count: {
555
+ args: Prisma.MessageUsageCountArgs<ExtArgs>
556
+ result: runtime.Types.Utils.Optional<Prisma.MessageUsageCountAggregateOutputType> | number
557
+ }
558
+ }
559
+ }
485
560
  Image: {
486
561
  payload: Prisma.$ImagePayload<ExtArgs>
487
562
  fields: Prisma.ImageFieldRefs
@@ -849,6 +924,26 @@ export const SessionScalarFieldEnum = {
849
924
  export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum]
850
925
 
851
926
 
927
+ export const MessageUsageScalarFieldEnum = {
928
+ id: 'id',
929
+ sessionId: 'sessionId',
930
+ messageId: 'messageId',
931
+ requestId: 'requestId',
932
+ model: 'model',
933
+ speed: 'speed',
934
+ timestamp: 'timestamp',
935
+ date: 'date',
936
+ inputTokens: 'inputTokens',
937
+ outputTokens: 'outputTokens',
938
+ cacheCreationTokens: 'cacheCreationTokens',
939
+ cacheReadTokens: 'cacheReadTokens',
940
+ costUSD: 'costUSD',
941
+ createdAt: 'createdAt'
942
+ } as const
943
+
944
+ export type MessageUsageScalarFieldEnum = (typeof MessageUsageScalarFieldEnum)[keyof typeof MessageUsageScalarFieldEnum]
945
+
946
+
852
947
  export const ImageScalarFieldEnum = {
853
948
  id: 'id',
854
949
  sessionId: 'sessionId',
@@ -1039,6 +1134,7 @@ export type PrismaClientOptions = ({
1039
1134
  }
1040
1135
  export type GlobalOmitConfig = {
1041
1136
  session?: Prisma.SessionOmit
1137
+ messageUsage?: Prisma.MessageUsageOmit
1042
1138
  image?: Prisma.ImageOmit
1043
1139
  syncLog?: Prisma.SyncLogOmit
1044
1140
  report?: Prisma.ReportOmit
@@ -52,6 +52,7 @@ export const AnyNull = runtime.AnyNull
52
52
 
53
53
  export const ModelName = {
54
54
  Session: 'Session',
55
+ MessageUsage: 'MessageUsage',
55
56
  Image: 'Image',
56
57
  SyncLog: 'SyncLog',
57
58
  Report: 'Report',
@@ -106,6 +107,26 @@ export const SessionScalarFieldEnum = {
106
107
  export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum]
107
108
 
108
109
 
110
+ export const MessageUsageScalarFieldEnum = {
111
+ id: 'id',
112
+ sessionId: 'sessionId',
113
+ messageId: 'messageId',
114
+ requestId: 'requestId',
115
+ model: 'model',
116
+ speed: 'speed',
117
+ timestamp: 'timestamp',
118
+ date: 'date',
119
+ inputTokens: 'inputTokens',
120
+ outputTokens: 'outputTokens',
121
+ cacheCreationTokens: 'cacheCreationTokens',
122
+ cacheReadTokens: 'cacheReadTokens',
123
+ costUSD: 'costUSD',
124
+ createdAt: 'createdAt'
125
+ } as const
126
+
127
+ export type MessageUsageScalarFieldEnum = (typeof MessageUsageScalarFieldEnum)[keyof typeof MessageUsageScalarFieldEnum]
128
+
129
+
109
130
  export const ImageScalarFieldEnum = {
110
131
  id: 'id',
111
132
  sessionId: 'sessionId',