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.
- package/.claude/settings.local.json +26 -0
- package/.prettierignore +7 -0
- package/.prettierrc +11 -0
- package/CONTRIBUTING.md +209 -0
- package/LICENSE +21 -0
- package/README.md +109 -0
- package/app/(dashboard)/coach/page.tsx +11 -0
- package/app/(dashboard)/commands/page.tsx +7 -0
- package/app/(dashboard)/community/[slug]/page.tsx +23 -0
- package/app/(dashboard)/community/page.tsx +71 -0
- package/app/(dashboard)/daily/page.tsx +19 -0
- package/app/(dashboard)/images/page.tsx +5 -0
- package/app/(dashboard)/layout.tsx +12 -0
- package/app/(dashboard)/page.tsx +23 -0
- package/app/(dashboard)/personality/page.tsx +11 -0
- package/app/(dashboard)/projects/page.tsx +11 -0
- package/app/(dashboard)/sessions/page.tsx +11 -0
- package/app/(dashboard)/tokens/page.tsx +11 -0
- package/app/(dashboard)/tools/page.tsx +11 -0
- package/app/api/check/route.ts +13 -0
- package/app/api/commands/route.ts +16 -0
- package/app/api/images/[...path]/route.ts +33 -0
- package/app/api/images-analysis/route.ts +177 -0
- package/app/api/sync/route.ts +14 -0
- package/app/api/usage/route.ts +117 -0
- package/app/favicon.ico +0 -0
- package/app/globals.css +144 -0
- package/app/icon.svg +3 -0
- package/app/layout.tsx +35 -0
- package/bin/agentfit.mjs +69 -0
- package/components/.gitkeep +0 -0
- package/components/agent-coach.tsx +248 -0
- package/components/app-sidebar.tsx +161 -0
- package/components/command-usage.tsx +294 -0
- package/components/daily-chart.tsx +118 -0
- package/components/daily-table.tsx +115 -0
- package/components/dashboard-shell.tsx +149 -0
- package/components/data-provider.tsx +213 -0
- package/components/fitness-score.tsx +95 -0
- package/components/overview-cards.tsx +198 -0
- package/components/pagination-controls.tsx +104 -0
- package/components/personality-fit.tsx +446 -0
- package/components/projects-table.tsx +70 -0
- package/components/screenshots-analysis.tsx +359 -0
- package/components/sessions-table.tsx +97 -0
- package/components/theme-provider.tsx +71 -0
- package/components/token-breakdown.tsx +179 -0
- package/components/tool-usage-chart.tsx +63 -0
- package/components/ui/badge.tsx +52 -0
- package/components/ui/button.tsx +60 -0
- package/components/ui/card.tsx +103 -0
- package/components/ui/chart.tsx +373 -0
- package/components/ui/dialog.tsx +160 -0
- package/components/ui/input.tsx +20 -0
- package/components/ui/scroll-area.tsx +55 -0
- package/components/ui/select.tsx +201 -0
- package/components/ui/separator.tsx +25 -0
- package/components/ui/sheet.tsx +138 -0
- package/components/ui/sidebar.tsx +723 -0
- package/components/ui/skeleton.tsx +13 -0
- package/components/ui/table.tsx +116 -0
- package/components/ui/tabs.tsx +82 -0
- package/components/ui/tooltip.tsx +66 -0
- package/components.json +25 -0
- package/generated/prisma/browser.ts +34 -0
- package/generated/prisma/client.ts +58 -0
- package/generated/prisma/commonInputTypes.ts +237 -0
- package/generated/prisma/enums.ts +15 -0
- package/generated/prisma/internal/class.ts +224 -0
- package/generated/prisma/internal/prismaNamespace.ts +920 -0
- package/generated/prisma/internal/prismaNamespaceBrowser.ts +130 -0
- package/generated/prisma/models/Image.ts +1310 -0
- package/generated/prisma/models/Session.ts +1695 -0
- package/generated/prisma/models/SyncLog.ts +1203 -0
- package/generated/prisma/models.ts +14 -0
- package/hooks/.gitkeep +0 -0
- package/hooks/use-mobile.ts +19 -0
- package/hooks/use-pagination.ts +60 -0
- package/lib/.gitkeep +0 -0
- package/lib/coach.ts +425 -0
- package/lib/commands.ts +239 -0
- package/lib/db.ts +15 -0
- package/lib/format.ts +26 -0
- package/lib/parse-codex.ts +201 -0
- package/lib/parse-logs.ts +369 -0
- package/lib/personality.ts +481 -0
- package/lib/plugins.ts +107 -0
- package/lib/pricing.ts +112 -0
- package/lib/queries-codex.ts +130 -0
- package/lib/queries.ts +154 -0
- package/lib/resolve-icon.ts +12 -0
- package/lib/sync.ts +335 -0
- package/lib/utils.ts +6 -0
- package/next.config.mjs +4 -0
- package/package.json +73 -0
- package/plugins/cost-heatmap/component.test.tsx +52 -0
- package/plugins/cost-heatmap/component.tsx +227 -0
- package/plugins/cost-heatmap/manifest.ts +13 -0
- package/plugins/index.ts +18 -0
- package/prisma/migrations/20260328152517_init/migration.sql +41 -0
- package/prisma/migrations/20260328153801_add_image_model/migration.sql +18 -0
- package/prisma/migrations/migration_lock.toml +3 -0
- package/prisma/schema.prisma +57 -0
- package/prisma.config.ts +14 -0
- package/public/.gitkeep +0 -0
- package/public/logo.svg +3 -0
- 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 }
|
package/components.json
ADDED
|
@@ -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 {}
|