agentfit 0.1.0

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 (107) hide show
  1. package/.claude/settings.local.json +26 -0
  2. package/.prettierignore +7 -0
  3. package/.prettierrc +11 -0
  4. package/CONTRIBUTING.md +209 -0
  5. package/LICENSE +21 -0
  6. package/README.md +109 -0
  7. package/app/(dashboard)/coach/page.tsx +11 -0
  8. package/app/(dashboard)/commands/page.tsx +7 -0
  9. package/app/(dashboard)/community/[slug]/page.tsx +23 -0
  10. package/app/(dashboard)/community/page.tsx +71 -0
  11. package/app/(dashboard)/daily/page.tsx +19 -0
  12. package/app/(dashboard)/images/page.tsx +5 -0
  13. package/app/(dashboard)/layout.tsx +12 -0
  14. package/app/(dashboard)/page.tsx +23 -0
  15. package/app/(dashboard)/personality/page.tsx +11 -0
  16. package/app/(dashboard)/projects/page.tsx +11 -0
  17. package/app/(dashboard)/sessions/page.tsx +11 -0
  18. package/app/(dashboard)/tokens/page.tsx +11 -0
  19. package/app/(dashboard)/tools/page.tsx +11 -0
  20. package/app/api/check/route.ts +13 -0
  21. package/app/api/commands/route.ts +16 -0
  22. package/app/api/images/[...path]/route.ts +33 -0
  23. package/app/api/images-analysis/route.ts +177 -0
  24. package/app/api/sync/route.ts +14 -0
  25. package/app/api/usage/route.ts +117 -0
  26. package/app/favicon.ico +0 -0
  27. package/app/globals.css +144 -0
  28. package/app/icon.svg +3 -0
  29. package/app/layout.tsx +35 -0
  30. package/bin/agentfit.mjs +69 -0
  31. package/components/.gitkeep +0 -0
  32. package/components/agent-coach.tsx +248 -0
  33. package/components/app-sidebar.tsx +161 -0
  34. package/components/command-usage.tsx +294 -0
  35. package/components/daily-chart.tsx +118 -0
  36. package/components/daily-table.tsx +115 -0
  37. package/components/dashboard-shell.tsx +149 -0
  38. package/components/data-provider.tsx +213 -0
  39. package/components/fitness-score.tsx +95 -0
  40. package/components/overview-cards.tsx +198 -0
  41. package/components/pagination-controls.tsx +104 -0
  42. package/components/personality-fit.tsx +446 -0
  43. package/components/projects-table.tsx +70 -0
  44. package/components/screenshots-analysis.tsx +359 -0
  45. package/components/sessions-table.tsx +97 -0
  46. package/components/theme-provider.tsx +71 -0
  47. package/components/token-breakdown.tsx +179 -0
  48. package/components/tool-usage-chart.tsx +63 -0
  49. package/components/ui/badge.tsx +52 -0
  50. package/components/ui/button.tsx +60 -0
  51. package/components/ui/card.tsx +103 -0
  52. package/components/ui/chart.tsx +373 -0
  53. package/components/ui/dialog.tsx +160 -0
  54. package/components/ui/input.tsx +20 -0
  55. package/components/ui/scroll-area.tsx +55 -0
  56. package/components/ui/select.tsx +201 -0
  57. package/components/ui/separator.tsx +25 -0
  58. package/components/ui/sheet.tsx +138 -0
  59. package/components/ui/sidebar.tsx +723 -0
  60. package/components/ui/skeleton.tsx +13 -0
  61. package/components/ui/table.tsx +116 -0
  62. package/components/ui/tabs.tsx +82 -0
  63. package/components/ui/tooltip.tsx +66 -0
  64. package/components.json +25 -0
  65. package/generated/prisma/browser.ts +34 -0
  66. package/generated/prisma/client.ts +58 -0
  67. package/generated/prisma/commonInputTypes.ts +237 -0
  68. package/generated/prisma/enums.ts +15 -0
  69. package/generated/prisma/internal/class.ts +224 -0
  70. package/generated/prisma/internal/prismaNamespace.ts +920 -0
  71. package/generated/prisma/internal/prismaNamespaceBrowser.ts +130 -0
  72. package/generated/prisma/models/Image.ts +1310 -0
  73. package/generated/prisma/models/Session.ts +1695 -0
  74. package/generated/prisma/models/SyncLog.ts +1203 -0
  75. package/generated/prisma/models.ts +14 -0
  76. package/hooks/.gitkeep +0 -0
  77. package/hooks/use-mobile.ts +19 -0
  78. package/hooks/use-pagination.ts +60 -0
  79. package/lib/.gitkeep +0 -0
  80. package/lib/coach.ts +425 -0
  81. package/lib/commands.ts +239 -0
  82. package/lib/db.ts +15 -0
  83. package/lib/format.ts +26 -0
  84. package/lib/parse-codex.ts +201 -0
  85. package/lib/parse-logs.ts +369 -0
  86. package/lib/personality.ts +481 -0
  87. package/lib/plugins.ts +107 -0
  88. package/lib/pricing.ts +112 -0
  89. package/lib/queries-codex.ts +130 -0
  90. package/lib/queries.ts +154 -0
  91. package/lib/resolve-icon.ts +12 -0
  92. package/lib/sync.ts +335 -0
  93. package/lib/utils.ts +6 -0
  94. package/next.config.mjs +4 -0
  95. package/package.json +73 -0
  96. package/plugins/cost-heatmap/component.test.tsx +52 -0
  97. package/plugins/cost-heatmap/component.tsx +227 -0
  98. package/plugins/cost-heatmap/manifest.ts +13 -0
  99. package/plugins/index.ts +18 -0
  100. package/prisma/migrations/20260328152517_init/migration.sql +41 -0
  101. package/prisma/migrations/20260328153801_add_image_model/migration.sql +18 -0
  102. package/prisma/migrations/migration_lock.toml +3 -0
  103. package/prisma/schema.prisma +57 -0
  104. package/prisma.config.ts +14 -0
  105. package/public/.gitkeep +0 -0
  106. package/public/logo.svg +3 -0
  107. package/setup.sh +73 -0
@@ -0,0 +1,13 @@
1
+ import { cn } from "@/lib/utils"
2
+
3
+ function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
4
+ return (
5
+ <div
6
+ data-slot="skeleton"
7
+ className={cn("animate-pulse rounded-md bg-muted", className)}
8
+ {...props}
9
+ />
10
+ )
11
+ }
12
+
13
+ export { Skeleton }
@@ -0,0 +1,116 @@
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+
5
+ import { cn } from "@/lib/utils"
6
+
7
+ function Table({ className, ...props }: React.ComponentProps<"table">) {
8
+ return (
9
+ <div
10
+ data-slot="table-container"
11
+ className="relative w-full overflow-x-auto"
12
+ >
13
+ <table
14
+ data-slot="table"
15
+ className={cn("w-full caption-bottom text-sm", className)}
16
+ {...props}
17
+ />
18
+ </div>
19
+ )
20
+ }
21
+
22
+ function TableHeader({ className, ...props }: React.ComponentProps<"thead">) {
23
+ return (
24
+ <thead
25
+ data-slot="table-header"
26
+ className={cn("[&_tr]:border-b", className)}
27
+ {...props}
28
+ />
29
+ )
30
+ }
31
+
32
+ function TableBody({ className, ...props }: React.ComponentProps<"tbody">) {
33
+ return (
34
+ <tbody
35
+ data-slot="table-body"
36
+ className={cn("[&_tr:last-child]:border-0", className)}
37
+ {...props}
38
+ />
39
+ )
40
+ }
41
+
42
+ function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) {
43
+ return (
44
+ <tfoot
45
+ data-slot="table-footer"
46
+ className={cn(
47
+ "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
48
+ className
49
+ )}
50
+ {...props}
51
+ />
52
+ )
53
+ }
54
+
55
+ function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
56
+ return (
57
+ <tr
58
+ data-slot="table-row"
59
+ className={cn(
60
+ "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
61
+ className
62
+ )}
63
+ {...props}
64
+ />
65
+ )
66
+ }
67
+
68
+ function TableHead({ className, ...props }: React.ComponentProps<"th">) {
69
+ return (
70
+ <th
71
+ data-slot="table-head"
72
+ className={cn(
73
+ "h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",
74
+ className
75
+ )}
76
+ {...props}
77
+ />
78
+ )
79
+ }
80
+
81
+ function TableCell({ className, ...props }: React.ComponentProps<"td">) {
82
+ return (
83
+ <td
84
+ data-slot="table-cell"
85
+ className={cn(
86
+ "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",
87
+ className
88
+ )}
89
+ {...props}
90
+ />
91
+ )
92
+ }
93
+
94
+ function TableCaption({
95
+ className,
96
+ ...props
97
+ }: React.ComponentProps<"caption">) {
98
+ return (
99
+ <caption
100
+ data-slot="table-caption"
101
+ className={cn("mt-4 text-sm text-muted-foreground", className)}
102
+ {...props}
103
+ />
104
+ )
105
+ }
106
+
107
+ export {
108
+ Table,
109
+ TableHeader,
110
+ TableBody,
111
+ TableFooter,
112
+ TableHead,
113
+ TableRow,
114
+ TableCell,
115
+ TableCaption,
116
+ }
@@ -0,0 +1,82 @@
1
+ "use client"
2
+
3
+ import { Tabs as TabsPrimitive } from "@base-ui/react/tabs"
4
+ import { cva, type VariantProps } from "class-variance-authority"
5
+
6
+ import { cn } from "@/lib/utils"
7
+
8
+ function Tabs({
9
+ className,
10
+ orientation = "horizontal",
11
+ ...props
12
+ }: TabsPrimitive.Root.Props) {
13
+ return (
14
+ <TabsPrimitive.Root
15
+ data-slot="tabs"
16
+ data-orientation={orientation}
17
+ className={cn(
18
+ "group/tabs flex gap-2 data-horizontal:flex-col",
19
+ className
20
+ )}
21
+ {...props}
22
+ />
23
+ )
24
+ }
25
+
26
+ const tabsListVariants = cva(
27
+ "group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none",
28
+ {
29
+ variants: {
30
+ variant: {
31
+ default: "bg-muted",
32
+ line: "gap-1 bg-transparent",
33
+ },
34
+ },
35
+ defaultVariants: {
36
+ variant: "default",
37
+ },
38
+ }
39
+ )
40
+
41
+ function TabsList({
42
+ className,
43
+ variant = "default",
44
+ ...props
45
+ }: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>) {
46
+ return (
47
+ <TabsPrimitive.List
48
+ data-slot="tabs-list"
49
+ data-variant={variant}
50
+ className={cn(tabsListVariants({ variant }), className)}
51
+ {...props}
52
+ />
53
+ )
54
+ }
55
+
56
+ function TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props) {
57
+ return (
58
+ <TabsPrimitive.Tab
59
+ data-slot="tabs-trigger"
60
+ className={cn(
61
+ "relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
62
+ "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent",
63
+ "data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground",
64
+ "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100",
65
+ className
66
+ )}
67
+ {...props}
68
+ />
69
+ )
70
+ }
71
+
72
+ function TabsContent({ className, ...props }: TabsPrimitive.Panel.Props) {
73
+ return (
74
+ <TabsPrimitive.Panel
75
+ data-slot="tabs-content"
76
+ className={cn("flex-1 text-sm outline-none", className)}
77
+ {...props}
78
+ />
79
+ )
80
+ }
81
+
82
+ export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }
@@ -0,0 +1,66 @@
1
+ "use client"
2
+
3
+ import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip"
4
+
5
+ import { cn } from "@/lib/utils"
6
+
7
+ function TooltipProvider({
8
+ delay = 0,
9
+ ...props
10
+ }: TooltipPrimitive.Provider.Props) {
11
+ return (
12
+ <TooltipPrimitive.Provider
13
+ data-slot="tooltip-provider"
14
+ delay={delay}
15
+ {...props}
16
+ />
17
+ )
18
+ }
19
+
20
+ function Tooltip({ ...props }: TooltipPrimitive.Root.Props) {
21
+ return <TooltipPrimitive.Root data-slot="tooltip" {...props} />
22
+ }
23
+
24
+ function TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {
25
+ return <TooltipPrimitive.Trigger data-slot="tooltip-trigger" {...props} />
26
+ }
27
+
28
+ function TooltipContent({
29
+ className,
30
+ side = "top",
31
+ sideOffset = 4,
32
+ align = "center",
33
+ alignOffset = 0,
34
+ children,
35
+ ...props
36
+ }: TooltipPrimitive.Popup.Props &
37
+ Pick<
38
+ TooltipPrimitive.Positioner.Props,
39
+ "align" | "alignOffset" | "side" | "sideOffset"
40
+ >) {
41
+ return (
42
+ <TooltipPrimitive.Portal>
43
+ <TooltipPrimitive.Positioner
44
+ align={align}
45
+ alignOffset={alignOffset}
46
+ side={side}
47
+ sideOffset={sideOffset}
48
+ className="isolate z-50"
49
+ >
50
+ <TooltipPrimitive.Popup
51
+ data-slot="tooltip-content"
52
+ className={cn(
53
+ "z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
54
+ className
55
+ )}
56
+ {...props}
57
+ >
58
+ {children}
59
+ <TooltipPrimitive.Arrow className="z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5" />
60
+ </TooltipPrimitive.Popup>
61
+ </TooltipPrimitive.Positioner>
62
+ </TooltipPrimitive.Portal>
63
+ )
64
+ }
65
+
66
+ export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "base-nova",
4
+ "rsc": true,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "",
8
+ "css": "app/globals.css",
9
+ "baseColor": "neutral",
10
+ "cssVariables": true,
11
+ "prefix": ""
12
+ },
13
+ "iconLibrary": "tabler",
14
+ "rtl": false,
15
+ "aliases": {
16
+ "components": "@/components",
17
+ "utils": "@/lib/utils",
18
+ "ui": "@/components/ui",
19
+ "lib": "@/lib",
20
+ "hooks": "@/hooks"
21
+ },
22
+ "menuColor": "default",
23
+ "menuAccent": "subtle",
24
+ "registries": {}
25
+ }
@@ -0,0 +1,34 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * This file should be your main import to use Prisma-related types and utilities in a browser.
8
+ * Use it to get access to models, enums, and input types.
9
+ *
10
+ * This file does not contain a `PrismaClient` class, nor several other helpers that are intended as server-side only.
11
+ * See `client.ts` for the standard, server-side entry point.
12
+ *
13
+ * 🟢 You can import this file directly.
14
+ */
15
+
16
+ import * as Prisma from './internal/prismaNamespaceBrowser'
17
+ export { Prisma }
18
+ export * as $Enums from './enums'
19
+ export * from './enums';
20
+ /**
21
+ * Model Session
22
+ *
23
+ */
24
+ export type Session = Prisma.SessionModel
25
+ /**
26
+ * Model Image
27
+ *
28
+ */
29
+ export type Image = Prisma.ImageModel
30
+ /**
31
+ * Model SyncLog
32
+ *
33
+ */
34
+ export type SyncLog = Prisma.SyncLogModel
@@ -0,0 +1,58 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * This file should be your main import to use Prisma. Through it you get access to all the models, enums, and input types.
8
+ * If you're looking for something you can import in the client-side of your application, please refer to the `browser.ts` file instead.
9
+ *
10
+ * 🟢 You can import this file directly.
11
+ */
12
+
13
+ import * as process from 'node:process'
14
+ import * as path from 'node:path'
15
+ import { fileURLToPath } from 'node:url'
16
+ globalThis['__dirname'] = path.dirname(fileURLToPath(import.meta.url))
17
+
18
+ import * as runtime from "@prisma/client/runtime/client"
19
+ import * as $Enums from "./enums"
20
+ import * as $Class from "./internal/class"
21
+ import * as Prisma from "./internal/prismaNamespace"
22
+
23
+ export * as $Enums from './enums'
24
+ export * from "./enums"
25
+ /**
26
+ * ## Prisma Client
27
+ *
28
+ * Type-safe database client for TypeScript
29
+ * @example
30
+ * ```
31
+ * const prisma = new PrismaClient({
32
+ * adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
33
+ * })
34
+ * // Fetch zero or more Sessions
35
+ * const sessions = await prisma.session.findMany()
36
+ * ```
37
+ *
38
+ * Read more in our [docs](https://pris.ly/d/client).
39
+ */
40
+ export const PrismaClient = $Class.getPrismaClientClass()
41
+ export type PrismaClient<LogOpts extends Prisma.LogLevel = never, OmitOpts extends Prisma.PrismaClientOptions["omit"] = Prisma.PrismaClientOptions["omit"], ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = $Class.PrismaClient<LogOpts, OmitOpts, ExtArgs>
42
+ export { Prisma }
43
+
44
+ /**
45
+ * Model Session
46
+ *
47
+ */
48
+ export type Session = Prisma.SessionModel
49
+ /**
50
+ * Model Image
51
+ *
52
+ */
53
+ export type Image = Prisma.ImageModel
54
+ /**
55
+ * Model SyncLog
56
+ *
57
+ */
58
+ export type SyncLog = Prisma.SyncLogModel
@@ -0,0 +1,237 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * This file exports various common sort, input & filter types that are not directly linked to a particular model.
8
+ *
9
+ * 🟢 You can import this file directly.
10
+ */
11
+
12
+ import type * as runtime from "@prisma/client/runtime/client"
13
+ import * as $Enums from "./enums"
14
+ import type * as Prisma from "./internal/prismaNamespace"
15
+
16
+
17
+ export type StringFilter<$PrismaModel = never> = {
18
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
19
+ in?: string[]
20
+ notIn?: string[]
21
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
22
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
23
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
24
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
25
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
26
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
27
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
28
+ not?: Prisma.NestedStringFilter<$PrismaModel> | string
29
+ }
30
+
31
+ export type DateTimeFilter<$PrismaModel = never> = {
32
+ equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
33
+ in?: Date[] | string[]
34
+ notIn?: Date[] | string[]
35
+ lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
36
+ lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
37
+ gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
38
+ gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
39
+ not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string
40
+ }
41
+
42
+ export type FloatFilter<$PrismaModel = never> = {
43
+ equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
44
+ in?: number[]
45
+ notIn?: number[]
46
+ lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
47
+ lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
48
+ gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
49
+ gte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
50
+ not?: Prisma.NestedFloatFilter<$PrismaModel> | number
51
+ }
52
+
53
+ export type IntFilter<$PrismaModel = never> = {
54
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
55
+ in?: number[]
56
+ notIn?: number[]
57
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
58
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
59
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
60
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
61
+ not?: Prisma.NestedIntFilter<$PrismaModel> | number
62
+ }
63
+
64
+ export type StringWithAggregatesFilter<$PrismaModel = never> = {
65
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
66
+ in?: string[]
67
+ notIn?: string[]
68
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
69
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
70
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
71
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
72
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
73
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
74
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
75
+ not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string
76
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
77
+ _min?: Prisma.NestedStringFilter<$PrismaModel>
78
+ _max?: Prisma.NestedStringFilter<$PrismaModel>
79
+ }
80
+
81
+ export type DateTimeWithAggregatesFilter<$PrismaModel = never> = {
82
+ equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
83
+ in?: Date[] | string[]
84
+ notIn?: Date[] | string[]
85
+ lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
86
+ lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
87
+ gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
88
+ gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
89
+ not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string
90
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
91
+ _min?: Prisma.NestedDateTimeFilter<$PrismaModel>
92
+ _max?: Prisma.NestedDateTimeFilter<$PrismaModel>
93
+ }
94
+
95
+ export type FloatWithAggregatesFilter<$PrismaModel = never> = {
96
+ equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
97
+ in?: number[]
98
+ notIn?: number[]
99
+ lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
100
+ lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
101
+ gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
102
+ gte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
103
+ not?: Prisma.NestedFloatWithAggregatesFilter<$PrismaModel> | number
104
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
105
+ _avg?: Prisma.NestedFloatFilter<$PrismaModel>
106
+ _sum?: Prisma.NestedFloatFilter<$PrismaModel>
107
+ _min?: Prisma.NestedFloatFilter<$PrismaModel>
108
+ _max?: Prisma.NestedFloatFilter<$PrismaModel>
109
+ }
110
+
111
+ export type IntWithAggregatesFilter<$PrismaModel = never> = {
112
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
113
+ in?: number[]
114
+ notIn?: number[]
115
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
116
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
117
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
118
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
119
+ not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number
120
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
121
+ _avg?: Prisma.NestedFloatFilter<$PrismaModel>
122
+ _sum?: Prisma.NestedIntFilter<$PrismaModel>
123
+ _min?: Prisma.NestedIntFilter<$PrismaModel>
124
+ _max?: Prisma.NestedIntFilter<$PrismaModel>
125
+ }
126
+
127
+ export type NestedStringFilter<$PrismaModel = never> = {
128
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
129
+ in?: string[]
130
+ notIn?: string[]
131
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
132
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
133
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
134
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
135
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
136
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
137
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
138
+ not?: Prisma.NestedStringFilter<$PrismaModel> | string
139
+ }
140
+
141
+ export type NestedDateTimeFilter<$PrismaModel = never> = {
142
+ equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
143
+ in?: Date[] | string[]
144
+ notIn?: Date[] | string[]
145
+ lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
146
+ lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
147
+ gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
148
+ gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
149
+ not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string
150
+ }
151
+
152
+ export type NestedFloatFilter<$PrismaModel = never> = {
153
+ equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
154
+ in?: number[]
155
+ notIn?: number[]
156
+ lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
157
+ lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
158
+ gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
159
+ gte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
160
+ not?: Prisma.NestedFloatFilter<$PrismaModel> | number
161
+ }
162
+
163
+ export type NestedIntFilter<$PrismaModel = never> = {
164
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
165
+ in?: number[]
166
+ notIn?: number[]
167
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
168
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
169
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
170
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
171
+ not?: Prisma.NestedIntFilter<$PrismaModel> | number
172
+ }
173
+
174
+ export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
175
+ equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
176
+ in?: string[]
177
+ notIn?: string[]
178
+ lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
179
+ lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
180
+ gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
181
+ gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
182
+ contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
183
+ startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
184
+ endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
185
+ not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string
186
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
187
+ _min?: Prisma.NestedStringFilter<$PrismaModel>
188
+ _max?: Prisma.NestedStringFilter<$PrismaModel>
189
+ }
190
+
191
+ export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = {
192
+ equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
193
+ in?: Date[] | string[]
194
+ notIn?: Date[] | string[]
195
+ lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
196
+ lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
197
+ gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
198
+ gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
199
+ not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string
200
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
201
+ _min?: Prisma.NestedDateTimeFilter<$PrismaModel>
202
+ _max?: Prisma.NestedDateTimeFilter<$PrismaModel>
203
+ }
204
+
205
+ export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = {
206
+ equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
207
+ in?: number[]
208
+ notIn?: number[]
209
+ lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
210
+ lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
211
+ gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
212
+ gte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
213
+ not?: Prisma.NestedFloatWithAggregatesFilter<$PrismaModel> | number
214
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
215
+ _avg?: Prisma.NestedFloatFilter<$PrismaModel>
216
+ _sum?: Prisma.NestedFloatFilter<$PrismaModel>
217
+ _min?: Prisma.NestedFloatFilter<$PrismaModel>
218
+ _max?: Prisma.NestedFloatFilter<$PrismaModel>
219
+ }
220
+
221
+ export type NestedIntWithAggregatesFilter<$PrismaModel = never> = {
222
+ equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
223
+ in?: number[]
224
+ notIn?: number[]
225
+ lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
226
+ lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
227
+ gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
228
+ gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
229
+ not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number
230
+ _count?: Prisma.NestedIntFilter<$PrismaModel>
231
+ _avg?: Prisma.NestedFloatFilter<$PrismaModel>
232
+ _sum?: Prisma.NestedIntFilter<$PrismaModel>
233
+ _min?: Prisma.NestedIntFilter<$PrismaModel>
234
+ _max?: Prisma.NestedIntFilter<$PrismaModel>
235
+ }
236
+
237
+
@@ -0,0 +1,15 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * This file exports all enum related types from the schema.
8
+ *
9
+ * 🟢 You can import this file directly.
10
+ */
11
+
12
+
13
+
14
+ // This file is empty because there are no enums in the schema.
15
+ export {}