agentfit 0.1.3 → 0.1.5

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.
Files changed (43) hide show
  1. package/.github/workflows/release.yml +4 -0
  2. package/README.md +0 -2
  3. package/app/(dashboard)/ai-insights/page.tsx +271 -0
  4. package/app/(dashboard)/models/page.tsx +21 -0
  5. package/app/(dashboard)/page.tsx +2 -0
  6. package/app/(dashboard)/sessions/[id]/page.tsx +16 -2
  7. package/app/(dashboard)/settings/page.tsx +168 -0
  8. package/app/api/analyze/aggregate/route.ts +88 -0
  9. package/app/api/analyze/estimate/route.ts +62 -0
  10. package/app/api/analyze/route.ts +142 -0
  11. package/app/api/cc-versions/route.ts +84 -0
  12. package/app/api/config/route.ts +35 -0
  13. package/bin/agentfit.mjs +18 -8
  14. package/components/analyze-confirm-dialog.tsx +81 -0
  15. package/components/app-sidebar.tsx +14 -0
  16. package/components/data-provider.tsx +4 -2
  17. package/components/model-usage-chart.tsx +216 -0
  18. package/components/overview-cards.tsx +1 -1
  19. package/components/session-ai-analysis.tsx +318 -0
  20. package/components/sessions-table.tsx +169 -15
  21. package/components/version-lag-chart.tsx +284 -0
  22. package/electron/main.mjs +61 -34
  23. package/generated/prisma/browser.ts +5 -0
  24. package/generated/prisma/client.ts +5 -0
  25. package/generated/prisma/internal/class.ts +14 -4
  26. package/generated/prisma/internal/prismaNamespace.ts +95 -2
  27. package/generated/prisma/internal/prismaNamespaceBrowser.ts +19 -1
  28. package/generated/prisma/models/Session.ts +57 -1
  29. package/generated/prisma/models/SessionAnalysis.ts +1321 -0
  30. package/generated/prisma/models.ts +1 -0
  31. package/lib/config.ts +45 -0
  32. package/lib/db.ts +1 -1
  33. package/lib/openai.ts +253 -0
  34. package/lib/parse-codex.ts +2 -0
  35. package/lib/parse-logs.ts +21 -7
  36. package/lib/queries.ts +5 -1
  37. package/lib/sync.ts +17 -5
  38. package/package.json +2 -1
  39. package/prisma/migrations/20260404151230_add_session_analysis/migration.sql +18 -0
  40. package/prisma/migrations/20260405230736_add_cli_version/migration.sql +41 -0
  41. package/prisma/migrations/20260406205546_add_model_counts/migration.sql +42 -0
  42. package/prisma/schema.prisma +16 -0
  43. package/prisma/schema.sql +20 -0
@@ -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 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",
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",
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\":\"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}},\"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},\"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\",\"AND\",\"OR\",\"NOT\",\"id\",\"title\",\"generatedAt\",\"contentJson\",\"sessionCount\",\"createdAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"syncedAt\",\"filesProcessed\",\"sessionsAdded\",\"sessionsSkipped\",\"sessionId\",\"messageId\",\"filename\",\"mediaType\",\"sizeBytes\",\"timestamp\",\"role\",\"sessionId_messageId_filename\",\"project\",\"projectPath\",\"startTime\",\"endTime\",\"durationMinutes\",\"userMessages\",\"assistantMessages\",\"totalMessages\",\"inputTokens\",\"outputTokens\",\"cacheCreationTokens\",\"cacheReadTokens\",\"totalTokens\",\"costUSD\",\"model\",\"toolCallsTotal\",\"toolCallsJson\",\"skillCallsJson\",\"messageTimestamps\",\"apiErrors\",\"rateLimitErrors\",\"userInterruptions\",\"permissionModesJson\",\"systemPromptEdits\",\"set\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
38
- graph: "lQEpQB5MAAB8ADBNAAAEABBOAAB8ADBPAQAAAAFUQAByACFkAQAAAAFsAQBxACFtAQBxACFuQAByACFvQAByACFwCAB9ACFxAgBzACFyAgBzACFzAgBzACF0AgBzACF1AgBzACF2AgBzACF3AgBzACF4AgBzACF5CAB9ACF6AQBxACF7AgBzACF8AQBxACF9AQBxACF-AQBxACF_AgBzACGAAQIAcwAhgQECAHMAIYIBAQBxACGDAQIAcwAhAQAAAAEAIAEAAAABACAeTAAAfAAwTQAABAAQTgAAfAAwTwEAcQAhVEAAcgAhZAEAcQAhbAEAcQAhbQEAcQAhbkAAcgAhb0AAcgAhcAgAfQAhcQIAcwAhcgIAcwAhcwIAcwAhdAIAcwAhdQIAcwAhdgIAcwAhdwIAcwAheAIAcwAheQgAfQAhegEAcQAhewIAcwAhfAEAcQAhfQEAcQAhfgEAcQAhfwIAcwAhgAECAHMAIYEBAgBzACGCAQEAcQAhgwECAHMAIQADAAAABAAgAwAABQAwBAAAAQAgAwAAAAQAIAMAAAUAMAQAAAEAIAMAAAAEACADAAAFADAEAAABACAbTwEAAAABVEAAAAABZAEAAAABbAEAAAABbQEAAAABbkAAAAABb0AAAAABcAgAAAABcQIAAAABcgIAAAABcwIAAAABdAIAAAABdQIAAAABdgIAAAABdwIAAAABeAIAAAABeQgAAAABegEAAAABewIAAAABfAEAAAABfQEAAAABfgEAAAABfwIAAAABgAECAAAAAYEBAgAAAAGCAQEAAAABgwECAAAAAQEIAAAJACAbTwEAAAABVEAAAAABZAEAAAABbAEAAAABbQEAAAABbkAAAAABb0AAAAABcAgAAAABcQIAAAABcgIAAAABcwIAAAABdAIAAAABdQIAAAABdgIAAAABdwIAAAABeAIAAAABeQgAAAABegEAAAABewIAAAABfAEAAAABfQEAAAABfgEAAAABfwIAAAABgAECAAAAAYEBAgAAAAGCAQEAAAABgwECAAAAAQEIAAALADABCAAACwAwG08BAIMBACFUQACEAQAhZAEAgwEAIWwBAIMBACFtAQCDAQAhbkAAhAEAIW9AAIQBACFwCACVAQAhcQIAhQEAIXICAIUBACFzAgCFAQAhdAIAhQEAIXUCAIUBACF2AgCFAQAhdwIAhQEAIXgCAIUBACF5CACVAQAhegEAgwEAIXsCAIUBACF8AQCDAQAhfQEAgwEAIX4BAIMBACF_AgCFAQAhgAECAIUBACGBAQIAhQEAIYIBAQCDAQAhgwECAIUBACECAAAAAQAgCAAADgAgG08BAIMBACFUQACEAQAhZAEAgwEAIWwBAIMBACFtAQCDAQAhbkAAhAEAIW9AAIQBACFwCACVAQAhcQIAhQEAIXICAIUBACFzAgCFAQAhdAIAhQEAIXUCAIUBACF2AgCFAQAhdwIAhQEAIXgCAIUBACF5CACVAQAhegEAgwEAIXsCAIUBACF8AQCDAQAhfQEAgwEAIX4BAIMBACF_AgCFAQAhgAECAIUBACGBAQIAhQEAIYIBAQCDAQAhgwECAIUBACECAAAABAAgCAAAEAAgAgAAAAQAIAgAABAAIAMAAAABACAPAAAJACAQAAAOACABAAAAAQAgAQAAAAQAIAUVAACQAQAgFgAAkQEAIBcAAJQBACAYAACTAQAgGQAAkgEAIB5MAAB5ADBNAAAXABBOAAB5ADBPAQBmACFUQABnACFkAQBmACFsAQBmACFtAQBmACFuQABnACFvQABnACFwCAB6ACFxAgBoACFyAgBoACFzAgBoACF0AgBoACF1AgBoACF2AgBoACF3AgBoACF4AgBoACF5CAB6ACF6AQBmACF7AgBoACF8AQBmACF9AQBmACF-AQBmACF_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-AQBxACF_AgBzACGAAQIAcwAhgQECAHMAIYIBAQBxACGDAQIAcwAhCFUIAAAAAVYIAAAABFcIAAAABFgIAAAAAVkIAAAAAVoIAAAAAVsIAAAAAVwIAGsAIQAAAAAAAYQBAQAAAAEBhAFAAAAAAQWEAQIAAAABhQECAAAAAYYBAgAAAAGHAQIAAAABiAECAAAAAQAAAAAAAAAAAAAAAAAAAAWEAQgAAAABhQEIAAAAAYYBCAAAAAGHAQgAAAABiAEIAAAAAQAAAAAFFQAGFgAHFwAIGAAJGQAKAAAAAAAFFQAGFgAHFwAIGAAJGQAKAAAABRUAEBYAERcAEhgAExkAFAAAAAAABRUAEBYAERcAEhgAExkAFAAAAAUVABoWABsXABwYAB0ZAB4AAAAAAAUVABoWABsXABwYAB0ZAB4AAAAFFQAkFgAlFwAmGAAnGQAoAAAAAAAFFQAkFgAlFwAmGAAnGQAoAQIBAgMBBQYBBgcBBwgBCQoBCgwCCw0DDA8BDRECDhIEERMBEhQBExUCGhgFGxkLHBsMHRwMHh8MHyAMICEMISMMIiUCIyYNJCgMJSoCJisOJywMKC0MKS4CKjEPKzIVLDQWLTUWLjgWLzkWMDoWMTwWMj4CMz8XNEEWNUMCNkQYN0UWOEYWOUcCOkoZO0sfPE0gPU4gPlEgP1IgQFMgQVUgQlcCQ1ghRFogRVwCRl0iR14gSF8gSWACSmMjS2Qp"
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"
39
39
  }
40
40
 
41
41
  async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
@@ -227,6 +227,16 @@ export interface PrismaClient<
227
227
  * ```
228
228
  */
229
229
  get report(): Prisma.ReportDelegate<ExtArgs, { omit: OmitOpts }>;
230
+
231
+ /**
232
+ * `prisma.sessionAnalysis`: Exposes CRUD operations for the **SessionAnalysis** model.
233
+ * Example usage:
234
+ * ```ts
235
+ * // Fetch zero or more SessionAnalyses
236
+ * const sessionAnalyses = await prisma.sessionAnalysis.findMany()
237
+ * ```
238
+ */
239
+ get sessionAnalysis(): Prisma.SessionAnalysisDelegate<ExtArgs, { omit: OmitOpts }>;
230
240
  }
231
241
 
232
242
  export function getPrismaClientClass(): PrismaClientConstructor {
@@ -387,7 +387,8 @@ export const ModelName = {
387
387
  Session: 'Session',
388
388
  Image: 'Image',
389
389
  SyncLog: 'SyncLog',
390
- Report: 'Report'
390
+ Report: 'Report',
391
+ SessionAnalysis: 'SessionAnalysis'
391
392
  } as const
392
393
 
393
394
  export type ModelName = (typeof ModelName)[keyof typeof ModelName]
@@ -403,7 +404,7 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
403
404
  omit: GlobalOmitOptions
404
405
  }
405
406
  meta: {
406
- modelProps: "session" | "image" | "syncLog" | "report"
407
+ modelProps: "session" | "image" | "syncLog" | "report" | "sessionAnalysis"
407
408
  txIsolationLevel: TransactionIsolationLevel
408
409
  }
409
410
  model: {
@@ -703,6 +704,80 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
703
704
  }
704
705
  }
705
706
  }
707
+ SessionAnalysis: {
708
+ payload: Prisma.$SessionAnalysisPayload<ExtArgs>
709
+ fields: Prisma.SessionAnalysisFieldRefs
710
+ operations: {
711
+ findUnique: {
712
+ args: Prisma.SessionAnalysisFindUniqueArgs<ExtArgs>
713
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload> | null
714
+ }
715
+ findUniqueOrThrow: {
716
+ args: Prisma.SessionAnalysisFindUniqueOrThrowArgs<ExtArgs>
717
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload>
718
+ }
719
+ findFirst: {
720
+ args: Prisma.SessionAnalysisFindFirstArgs<ExtArgs>
721
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload> | null
722
+ }
723
+ findFirstOrThrow: {
724
+ args: Prisma.SessionAnalysisFindFirstOrThrowArgs<ExtArgs>
725
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload>
726
+ }
727
+ findMany: {
728
+ args: Prisma.SessionAnalysisFindManyArgs<ExtArgs>
729
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload>[]
730
+ }
731
+ create: {
732
+ args: Prisma.SessionAnalysisCreateArgs<ExtArgs>
733
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload>
734
+ }
735
+ createMany: {
736
+ args: Prisma.SessionAnalysisCreateManyArgs<ExtArgs>
737
+ result: BatchPayload
738
+ }
739
+ createManyAndReturn: {
740
+ args: Prisma.SessionAnalysisCreateManyAndReturnArgs<ExtArgs>
741
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload>[]
742
+ }
743
+ delete: {
744
+ args: Prisma.SessionAnalysisDeleteArgs<ExtArgs>
745
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload>
746
+ }
747
+ update: {
748
+ args: Prisma.SessionAnalysisUpdateArgs<ExtArgs>
749
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload>
750
+ }
751
+ deleteMany: {
752
+ args: Prisma.SessionAnalysisDeleteManyArgs<ExtArgs>
753
+ result: BatchPayload
754
+ }
755
+ updateMany: {
756
+ args: Prisma.SessionAnalysisUpdateManyArgs<ExtArgs>
757
+ result: BatchPayload
758
+ }
759
+ updateManyAndReturn: {
760
+ args: Prisma.SessionAnalysisUpdateManyAndReturnArgs<ExtArgs>
761
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload>[]
762
+ }
763
+ upsert: {
764
+ args: Prisma.SessionAnalysisUpsertArgs<ExtArgs>
765
+ result: runtime.Types.Utils.PayloadToResult<Prisma.$SessionAnalysisPayload>
766
+ }
767
+ aggregate: {
768
+ args: Prisma.SessionAnalysisAggregateArgs<ExtArgs>
769
+ result: runtime.Types.Utils.Optional<Prisma.AggregateSessionAnalysis>
770
+ }
771
+ groupBy: {
772
+ args: Prisma.SessionAnalysisGroupByArgs<ExtArgs>
773
+ result: runtime.Types.Utils.Optional<Prisma.SessionAnalysisGroupByOutputType>[]
774
+ }
775
+ count: {
776
+ args: Prisma.SessionAnalysisCountArgs<ExtArgs>
777
+ result: runtime.Types.Utils.Optional<Prisma.SessionAnalysisCountAggregateOutputType> | number
778
+ }
779
+ }
780
+ }
706
781
  }
707
782
  } & {
708
783
  other: {
@@ -766,6 +841,8 @@ export const SessionScalarFieldEnum = {
766
841
  userInterruptions: 'userInterruptions',
767
842
  permissionModesJson: 'permissionModesJson',
768
843
  systemPromptEdits: 'systemPromptEdits',
844
+ cliVersion: 'cliVersion',
845
+ modelCountsJson: 'modelCountsJson',
769
846
  createdAt: 'createdAt'
770
847
  } as const
771
848
 
@@ -810,6 +887,21 @@ export const ReportScalarFieldEnum = {
810
887
  export type ReportScalarFieldEnum = (typeof ReportScalarFieldEnum)[keyof typeof ReportScalarFieldEnum]
811
888
 
812
889
 
890
+ export const SessionAnalysisScalarFieldEnum = {
891
+ id: 'id',
892
+ sessionId: 'sessionId',
893
+ model: 'model',
894
+ classifications: 'classifications',
895
+ totalMessages: 'totalMessages',
896
+ inputTokens: 'inputTokens',
897
+ outputTokens: 'outputTokens',
898
+ costUSD: 'costUSD',
899
+ analyzedAt: 'analyzedAt'
900
+ } as const
901
+
902
+ export type SessionAnalysisScalarFieldEnum = (typeof SessionAnalysisScalarFieldEnum)[keyof typeof SessionAnalysisScalarFieldEnum]
903
+
904
+
813
905
  export const SortOrder = {
814
906
  asc: 'asc',
815
907
  desc: 'desc'
@@ -950,6 +1042,7 @@ export type GlobalOmitConfig = {
950
1042
  image?: Prisma.ImageOmit
951
1043
  syncLog?: Prisma.SyncLogOmit
952
1044
  report?: Prisma.ReportOmit
1045
+ sessionAnalysis?: Prisma.SessionAnalysisOmit
953
1046
  }
954
1047
 
955
1048
  /* Types for Logging */
@@ -54,7 +54,8 @@ export const ModelName = {
54
54
  Session: 'Session',
55
55
  Image: 'Image',
56
56
  SyncLog: 'SyncLog',
57
- Report: 'Report'
57
+ Report: 'Report',
58
+ SessionAnalysis: 'SessionAnalysis'
58
59
  } as const
59
60
 
60
61
  export type ModelName = (typeof ModelName)[keyof typeof ModelName]
@@ -97,6 +98,8 @@ export const SessionScalarFieldEnum = {
97
98
  userInterruptions: 'userInterruptions',
98
99
  permissionModesJson: 'permissionModesJson',
99
100
  systemPromptEdits: 'systemPromptEdits',
101
+ cliVersion: 'cliVersion',
102
+ modelCountsJson: 'modelCountsJson',
100
103
  createdAt: 'createdAt'
101
104
  } as const
102
105
 
@@ -141,6 +144,21 @@ export const ReportScalarFieldEnum = {
141
144
  export type ReportScalarFieldEnum = (typeof ReportScalarFieldEnum)[keyof typeof ReportScalarFieldEnum]
142
145
 
143
146
 
147
+ export const SessionAnalysisScalarFieldEnum = {
148
+ id: 'id',
149
+ sessionId: 'sessionId',
150
+ model: 'model',
151
+ classifications: 'classifications',
152
+ totalMessages: 'totalMessages',
153
+ inputTokens: 'inputTokens',
154
+ outputTokens: 'outputTokens',
155
+ costUSD: 'costUSD',
156
+ analyzedAt: 'analyzedAt'
157
+ } as const
158
+
159
+ export type SessionAnalysisScalarFieldEnum = (typeof SessionAnalysisScalarFieldEnum)[keyof typeof SessionAnalysisScalarFieldEnum]
160
+
161
+
144
162
  export const SortOrder = {
145
163
  asc: 'asc',
146
164
  desc: 'desc'
@@ -89,6 +89,8 @@ export type SessionMinAggregateOutputType = {
89
89
  userInterruptions: number | null
90
90
  permissionModesJson: string | null
91
91
  systemPromptEdits: number | null
92
+ cliVersion: string | null
93
+ modelCountsJson: string | null
92
94
  createdAt: Date | null
93
95
  }
94
96
 
@@ -119,6 +121,8 @@ export type SessionMaxAggregateOutputType = {
119
121
  userInterruptions: number | null
120
122
  permissionModesJson: string | null
121
123
  systemPromptEdits: number | null
124
+ cliVersion: string | null
125
+ modelCountsJson: string | null
122
126
  createdAt: Date | null
123
127
  }
124
128
 
@@ -149,6 +153,8 @@ export type SessionCountAggregateOutputType = {
149
153
  userInterruptions: number
150
154
  permissionModesJson: number
151
155
  systemPromptEdits: number
156
+ cliVersion: number
157
+ modelCountsJson: number
152
158
  createdAt: number
153
159
  _all: number
154
160
  }
@@ -217,6 +223,8 @@ export type SessionMinAggregateInputType = {
217
223
  userInterruptions?: true
218
224
  permissionModesJson?: true
219
225
  systemPromptEdits?: true
226
+ cliVersion?: true
227
+ modelCountsJson?: true
220
228
  createdAt?: true
221
229
  }
222
230
 
@@ -247,6 +255,8 @@ export type SessionMaxAggregateInputType = {
247
255
  userInterruptions?: true
248
256
  permissionModesJson?: true
249
257
  systemPromptEdits?: true
258
+ cliVersion?: true
259
+ modelCountsJson?: true
250
260
  createdAt?: true
251
261
  }
252
262
 
@@ -277,6 +287,8 @@ export type SessionCountAggregateInputType = {
277
287
  userInterruptions?: true
278
288
  permissionModesJson?: true
279
289
  systemPromptEdits?: true
290
+ cliVersion?: true
291
+ modelCountsJson?: true
280
292
  createdAt?: true
281
293
  _all?: true
282
294
  }
@@ -394,6 +406,8 @@ export type SessionGroupByOutputType = {
394
406
  userInterruptions: number
395
407
  permissionModesJson: string
396
408
  systemPromptEdits: number
409
+ cliVersion: string
410
+ modelCountsJson: string
397
411
  createdAt: Date
398
412
  _count: SessionCountAggregateOutputType | null
399
413
  _avg: SessionAvgAggregateOutputType | null
@@ -447,6 +461,8 @@ export type SessionWhereInput = {
447
461
  userInterruptions?: Prisma.IntFilter<"Session"> | number
448
462
  permissionModesJson?: Prisma.StringFilter<"Session"> | string
449
463
  systemPromptEdits?: Prisma.IntFilter<"Session"> | number
464
+ cliVersion?: Prisma.StringFilter<"Session"> | string
465
+ modelCountsJson?: Prisma.StringFilter<"Session"> | string
450
466
  createdAt?: Prisma.DateTimeFilter<"Session"> | Date | string
451
467
  }
452
468
 
@@ -477,6 +493,8 @@ export type SessionOrderByWithRelationInput = {
477
493
  userInterruptions?: Prisma.SortOrder
478
494
  permissionModesJson?: Prisma.SortOrder
479
495
  systemPromptEdits?: Prisma.SortOrder
496
+ cliVersion?: Prisma.SortOrder
497
+ modelCountsJson?: Prisma.SortOrder
480
498
  createdAt?: Prisma.SortOrder
481
499
  }
482
500
 
@@ -510,6 +528,8 @@ export type SessionWhereUniqueInput = Prisma.AtLeast<{
510
528
  userInterruptions?: Prisma.IntFilter<"Session"> | number
511
529
  permissionModesJson?: Prisma.StringFilter<"Session"> | string
512
530
  systemPromptEdits?: Prisma.IntFilter<"Session"> | number
531
+ cliVersion?: Prisma.StringFilter<"Session"> | string
532
+ modelCountsJson?: Prisma.StringFilter<"Session"> | string
513
533
  createdAt?: Prisma.DateTimeFilter<"Session"> | Date | string
514
534
  }, "id" | "sessionId">
515
535
 
@@ -540,6 +560,8 @@ export type SessionOrderByWithAggregationInput = {
540
560
  userInterruptions?: Prisma.SortOrder
541
561
  permissionModesJson?: Prisma.SortOrder
542
562
  systemPromptEdits?: Prisma.SortOrder
563
+ cliVersion?: Prisma.SortOrder
564
+ modelCountsJson?: Prisma.SortOrder
543
565
  createdAt?: Prisma.SortOrder
544
566
  _count?: Prisma.SessionCountOrderByAggregateInput
545
567
  _avg?: Prisma.SessionAvgOrderByAggregateInput
@@ -578,6 +600,8 @@ export type SessionScalarWhereWithAggregatesInput = {
578
600
  userInterruptions?: Prisma.IntWithAggregatesFilter<"Session"> | number
579
601
  permissionModesJson?: Prisma.StringWithAggregatesFilter<"Session"> | string
580
602
  systemPromptEdits?: Prisma.IntWithAggregatesFilter<"Session"> | number
603
+ cliVersion?: Prisma.StringWithAggregatesFilter<"Session"> | string
604
+ modelCountsJson?: Prisma.StringWithAggregatesFilter<"Session"> | string
581
605
  createdAt?: Prisma.DateTimeWithAggregatesFilter<"Session"> | Date | string
582
606
  }
583
607
 
@@ -608,6 +632,8 @@ export type SessionCreateInput = {
608
632
  userInterruptions?: number
609
633
  permissionModesJson?: string
610
634
  systemPromptEdits?: number
635
+ cliVersion?: string
636
+ modelCountsJson?: string
611
637
  createdAt?: Date | string
612
638
  }
613
639
 
@@ -638,6 +664,8 @@ export type SessionUncheckedCreateInput = {
638
664
  userInterruptions?: number
639
665
  permissionModesJson?: string
640
666
  systemPromptEdits?: number
667
+ cliVersion?: string
668
+ modelCountsJson?: string
641
669
  createdAt?: Date | string
642
670
  }
643
671
 
@@ -668,6 +696,8 @@ export type SessionUpdateInput = {
668
696
  userInterruptions?: Prisma.IntFieldUpdateOperationsInput | number
669
697
  permissionModesJson?: Prisma.StringFieldUpdateOperationsInput | string
670
698
  systemPromptEdits?: Prisma.IntFieldUpdateOperationsInput | number
699
+ cliVersion?: Prisma.StringFieldUpdateOperationsInput | string
700
+ modelCountsJson?: Prisma.StringFieldUpdateOperationsInput | string
671
701
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
672
702
  }
673
703
 
@@ -698,6 +728,8 @@ export type SessionUncheckedUpdateInput = {
698
728
  userInterruptions?: Prisma.IntFieldUpdateOperationsInput | number
699
729
  permissionModesJson?: Prisma.StringFieldUpdateOperationsInput | string
700
730
  systemPromptEdits?: Prisma.IntFieldUpdateOperationsInput | number
731
+ cliVersion?: Prisma.StringFieldUpdateOperationsInput | string
732
+ modelCountsJson?: Prisma.StringFieldUpdateOperationsInput | string
701
733
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
702
734
  }
703
735
 
@@ -728,6 +760,8 @@ export type SessionCreateManyInput = {
728
760
  userInterruptions?: number
729
761
  permissionModesJson?: string
730
762
  systemPromptEdits?: number
763
+ cliVersion?: string
764
+ modelCountsJson?: string
731
765
  createdAt?: Date | string
732
766
  }
733
767
 
@@ -758,6 +792,8 @@ export type SessionUpdateManyMutationInput = {
758
792
  userInterruptions?: Prisma.IntFieldUpdateOperationsInput | number
759
793
  permissionModesJson?: Prisma.StringFieldUpdateOperationsInput | string
760
794
  systemPromptEdits?: Prisma.IntFieldUpdateOperationsInput | number
795
+ cliVersion?: Prisma.StringFieldUpdateOperationsInput | string
796
+ modelCountsJson?: Prisma.StringFieldUpdateOperationsInput | string
761
797
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
762
798
  }
763
799
 
@@ -788,6 +824,8 @@ export type SessionUncheckedUpdateManyInput = {
788
824
  userInterruptions?: Prisma.IntFieldUpdateOperationsInput | number
789
825
  permissionModesJson?: Prisma.StringFieldUpdateOperationsInput | string
790
826
  systemPromptEdits?: Prisma.IntFieldUpdateOperationsInput | number
827
+ cliVersion?: Prisma.StringFieldUpdateOperationsInput | string
828
+ modelCountsJson?: Prisma.StringFieldUpdateOperationsInput | string
791
829
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
792
830
  }
793
831
 
@@ -818,6 +856,8 @@ export type SessionCountOrderByAggregateInput = {
818
856
  userInterruptions?: Prisma.SortOrder
819
857
  permissionModesJson?: Prisma.SortOrder
820
858
  systemPromptEdits?: Prisma.SortOrder
859
+ cliVersion?: Prisma.SortOrder
860
+ modelCountsJson?: Prisma.SortOrder
821
861
  createdAt?: Prisma.SortOrder
822
862
  }
823
863
 
@@ -866,6 +906,8 @@ export type SessionMaxOrderByAggregateInput = {
866
906
  userInterruptions?: Prisma.SortOrder
867
907
  permissionModesJson?: Prisma.SortOrder
868
908
  systemPromptEdits?: Prisma.SortOrder
909
+ cliVersion?: Prisma.SortOrder
910
+ modelCountsJson?: Prisma.SortOrder
869
911
  createdAt?: Prisma.SortOrder
870
912
  }
871
913
 
@@ -896,6 +938,8 @@ export type SessionMinOrderByAggregateInput = {
896
938
  userInterruptions?: Prisma.SortOrder
897
939
  permissionModesJson?: Prisma.SortOrder
898
940
  systemPromptEdits?: Prisma.SortOrder
941
+ cliVersion?: Prisma.SortOrder
942
+ modelCountsJson?: Prisma.SortOrder
899
943
  createdAt?: Prisma.SortOrder
900
944
  }
901
945
 
@@ -970,6 +1014,8 @@ export type SessionSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs
970
1014
  userInterruptions?: boolean
971
1015
  permissionModesJson?: boolean
972
1016
  systemPromptEdits?: boolean
1017
+ cliVersion?: boolean
1018
+ modelCountsJson?: boolean
973
1019
  createdAt?: boolean
974
1020
  }, ExtArgs["result"]["session"]>
975
1021
 
@@ -1000,6 +1046,8 @@ export type SessionSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Exten
1000
1046
  userInterruptions?: boolean
1001
1047
  permissionModesJson?: boolean
1002
1048
  systemPromptEdits?: boolean
1049
+ cliVersion?: boolean
1050
+ modelCountsJson?: boolean
1003
1051
  createdAt?: boolean
1004
1052
  }, ExtArgs["result"]["session"]>
1005
1053
 
@@ -1030,6 +1078,8 @@ export type SessionSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Exten
1030
1078
  userInterruptions?: boolean
1031
1079
  permissionModesJson?: boolean
1032
1080
  systemPromptEdits?: boolean
1081
+ cliVersion?: boolean
1082
+ modelCountsJson?: boolean
1033
1083
  createdAt?: boolean
1034
1084
  }, ExtArgs["result"]["session"]>
1035
1085
 
@@ -1060,10 +1110,12 @@ export type SessionSelectScalar = {
1060
1110
  userInterruptions?: boolean
1061
1111
  permissionModesJson?: boolean
1062
1112
  systemPromptEdits?: boolean
1113
+ cliVersion?: boolean
1114
+ modelCountsJson?: boolean
1063
1115
  createdAt?: boolean
1064
1116
  }
1065
1117
 
1066
- export type SessionOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "sessionId" | "project" | "projectPath" | "startTime" | "endTime" | "durationMinutes" | "userMessages" | "assistantMessages" | "totalMessages" | "inputTokens" | "outputTokens" | "cacheCreationTokens" | "cacheReadTokens" | "totalTokens" | "costUSD" | "model" | "toolCallsTotal" | "toolCallsJson" | "skillCallsJson" | "messageTimestamps" | "apiErrors" | "rateLimitErrors" | "userInterruptions" | "permissionModesJson" | "systemPromptEdits" | "createdAt", ExtArgs["result"]["session"]>
1118
+ export type SessionOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "sessionId" | "project" | "projectPath" | "startTime" | "endTime" | "durationMinutes" | "userMessages" | "assistantMessages" | "totalMessages" | "inputTokens" | "outputTokens" | "cacheCreationTokens" | "cacheReadTokens" | "totalTokens" | "costUSD" | "model" | "toolCallsTotal" | "toolCallsJson" | "skillCallsJson" | "messageTimestamps" | "apiErrors" | "rateLimitErrors" | "userInterruptions" | "permissionModesJson" | "systemPromptEdits" | "cliVersion" | "modelCountsJson" | "createdAt", ExtArgs["result"]["session"]>
1067
1119
 
1068
1120
  export type $SessionPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1069
1121
  name: "Session"
@@ -1095,6 +1147,8 @@ export type $SessionPayload<ExtArgs extends runtime.Types.Extensions.InternalArg
1095
1147
  userInterruptions: number
1096
1148
  permissionModesJson: string
1097
1149
  systemPromptEdits: number
1150
+ cliVersion: string
1151
+ modelCountsJson: string
1098
1152
  createdAt: Date
1099
1153
  }, ExtArgs["result"]["session"]>
1100
1154
  composites: {}
@@ -1545,6 +1599,8 @@ export interface SessionFieldRefs {
1545
1599
  readonly userInterruptions: Prisma.FieldRef<"Session", 'Int'>
1546
1600
  readonly permissionModesJson: Prisma.FieldRef<"Session", 'String'>
1547
1601
  readonly systemPromptEdits: Prisma.FieldRef<"Session", 'Int'>
1602
+ readonly cliVersion: Prisma.FieldRef<"Session", 'String'>
1603
+ readonly modelCountsJson: Prisma.FieldRef<"Session", 'String'>
1548
1604
  readonly createdAt: Prisma.FieldRef<"Session", 'DateTime'>
1549
1605
  }
1550
1606