@exulu/frontend 1.7.0 → 1.8.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/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +98 -99
- package/dist/.next/app-path-routes-manifest.json +1 -1
- package/dist/.next/build-manifest.json +2 -2
- package/dist/.next/prerender-manifest.json +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/data/[[...query]]/page.js +3 -3
- package/dist/.next/server/app/(application)/data/[[...query]]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/prompts/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.rsc +1 -1
- package/dist/.next/server/app/api/auth/[...nextauth]/route.js +2 -2
- package/dist/.next/server/app-paths-manifest.json +4 -4
- package/dist/.next/server/chunks/1051.js +2 -2
- package/dist/.next/server/chunks/2270.js +1 -0
- package/dist/.next/server/chunks/2948.js +1 -1
- package/dist/.next/server/chunks/3434.js +1 -1
- package/dist/.next/server/chunks/3575.js +1 -1
- package/dist/.next/server/chunks/5485.js +1 -0
- package/dist/.next/server/chunks/8050.js +1 -1
- package/dist/.next/server/middleware-manifest.json +5 -5
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/static/chunks/1685-9cacdee7e3f0942f.js +2 -0
- package/dist/.next/static/chunks/1685-9cacdee7e3f0942f.js.map +1 -0
- package/dist/.next/static/chunks/1957-39a01a3915f246ab.js +2 -0
- package/dist/.next/static/chunks/1957-39a01a3915f246ab.js.map +1 -0
- package/dist/.next/static/chunks/{3750-90a213a3c7cceb29.js → 3750-f45c59ef1cc79417.js} +2 -2
- package/dist/.next/static/chunks/3750-f45c59ef1cc79417.js.map +1 -0
- package/dist/.next/static/chunks/{7856-9fa733bdd6429ba8.js → 6066-65606593516b2a3a.js} +18 -18
- package/dist/.next/static/chunks/6066-65606593516b2a3a.js.map +1 -0
- package/dist/.next/static/chunks/{6373-7908bd5269f95aa3.js → 6373-4c5dffaf4193621c.js} +2 -2
- package/dist/.next/static/chunks/6373-4c5dffaf4193621c.js.map +1 -0
- package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js +2 -0
- package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/{page-29794b9c33d2bf7e.js → page-4e7e02768ed1a72a.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-4e7e02768ed1a72a.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-38f845d5ccdad76b.js +2 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-38f845d5ccdad76b.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/layout-093baa26f89338bc.js +2 -0
- package/dist/.next/static/chunks/app/(application)/chat/layout-093baa26f89338bc.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-a391b8407f74e9b4.js +2 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-a391b8407f74e9b4.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-cf6f8d2bd4e9c819.js +2 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-cf6f8d2bd4e9c819.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/projects/[project]/{page-0b2d9832e5a023e7.js → page-bc859da58d8505f7.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-bc859da58d8505f7.js.map +1 -0
- package/dist/.next/static/css/c8c015815c72d053.css +4 -0
- package/dist/.next/static/css/c8c015815c72d053.css.map +1 -0
- package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
- package/dist/package.json +1 -0
- package/package.json +1 -1
- package/dist/.next/server/chunks/6623.js +0 -1
- package/dist/.next/static/chunks/1685-39351b8a15bbecab.js +0 -2
- package/dist/.next/static/chunks/1685-39351b8a15bbecab.js.map +0 -1
- package/dist/.next/static/chunks/1957-899d0d6d0d9c11fd.js +0 -2
- package/dist/.next/static/chunks/1957-899d0d6d0d9c11fd.js.map +0 -1
- package/dist/.next/static/chunks/3750-90a213a3c7cceb29.js.map +0 -1
- package/dist/.next/static/chunks/6373-7908bd5269f95aa3.js.map +0 -1
- package/dist/.next/static/chunks/7856-9fa733bdd6429ba8.js.map +0 -1
- package/dist/.next/static/chunks/8269-0e17dac508340ccf.js +0 -2
- package/dist/.next/static/chunks/8269-0e17dac508340ccf.js.map +0 -1
- package/dist/.next/static/chunks/9105-78d236e8399181e0.js +0 -2
- package/dist/.next/static/chunks/9105-78d236e8399181e0.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-29794b9c33d2bf7e.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-57021bb06089261a.js +0 -2
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-57021bb06089261a.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/chat/layout-42021d301fc609b6.js +0 -2
- package/dist/.next/static/chunks/app/(application)/chat/layout-42021d301fc609b6.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-841b2ed48010048e.js +0 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-841b2ed48010048e.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-c1e7e0c81ca508c3.js +0 -2
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-c1e7e0c81ca508c3.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-0b2d9832e5a023e7.js.map +0 -1
- package/dist/.next/static/css/a181dac3df0dc7a7.css +0 -4
- package/dist/.next/static/css/a181dac3df0dc7a7.css.map +0 -1
- /package/dist/.next/static/{J23NmkaMjAJYnE0jX_kO0 → GOwerAkBncYx0J8q1TqQb}/_buildManifest.js +0 -0
- /package/dist/.next/static/{J23NmkaMjAJYnE0jX_kO0 → GOwerAkBncYx0J8q1TqQb}/_ssgManifest.js +0 -0
package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-841b2ed48010048e.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/chunks/app/(application)/data/[[...query]]/page-841b2ed48010048e.js","mappings":"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","sources":["webpack://_N_E/?e213","webpack://_N_E/../../../src/icons/x-square.ts","webpack://_N_E/../../../src/icons/expand.ts","webpack://_N_E/../../../src/icons/message-circle-plus.ts","webpack://_N_E/./app/(application)/data/components/data-display.tsx","webpack://_N_E/./app/(application)/data/components/contexts-dashboard.tsx","webpack://_N_E/./components/custom/recent-embeddings.tsx","webpack://_N_E/./app/(application)/data/components/embeddings.tsx","webpack://_N_E/./app/(application)/data/components/sources.tsx","webpack://_N_E/./app/(application)/data/[[...query]]/page.tsx","webpack://_N_E/./components/ui/calendar.tsx","webpack://_N_E/./components/dashboard/date-range-selector.tsx","webpack://_N_E/./components/dashboard/donut-chart.tsx","webpack://_N_E/./components/dashboard/time-series-chart.tsx","webpack://_N_E/./components/truncated-text.tsx","webpack://_N_E/./components/ui/alert-dialog.tsx","webpack://_N_E/./components/ui/chart.tsx","webpack://_N_E/./components/ui/table.tsx","webpack://_N_E/../../../src/icons/archive.ts","webpack://_N_E/../../../src/icons/package-open.ts","webpack://_N_E/./types/enums/statistics.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/data/[[...query]]/page.tsx\");\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name XSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/x-square\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst XSquare = createLucideIcon('XSquare', [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', ry: '2', key: '1m3agn' }],\n ['path', { d: 'm15 9-6 6', key: '1uzhvr' }],\n ['path', { d: 'm9 9 6 6', key: 'z0biqf' }],\n]);\n\nexport default XSquare;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Expand\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/expand\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Expand = createLucideIcon('Expand', [\n ['path', { d: 'm21 21-6-6m6 6v-4.8m0 4.8h-4.8', key: '1c15vz' }],\n ['path', { d: 'M3 16.2V21m0 0h4.8M3 21l6-6', key: '1fsnz2' }],\n ['path', { d: 'M21 7.8V3m0 0h-4.8M21 3l-6 6', key: 'hawz9i' }],\n ['path', { d: 'M3 7.8V3m0 0h4.8M3 3l6 6', key: 'u9ee12' }],\n]);\n\nexport default Expand;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name MessageCirclePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/message-circle-plus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst MessageCirclePlus = createLucideIcon('MessageCirclePlus', [\n ['path', { d: 'M7.9 20A9 9 0 1 0 4 16.1L2 22Z', key: 'vv11sd' }],\n ['path', { d: 'M8 12h8', key: '1wcyev' }],\n ['path', { d: 'M12 8v8', key: 'napkw2' }],\n]);\n\nexport default MessageCirclePlus;\n","\"use client\"\n\nimport { useQuery, useMutation } from \"@apollo/client\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport {\n Archive,\n ChevronsUpDown,\n Edit,\n Expand,\n MessageCirclePlus,\n MoreVertical,\n PackageOpen,\n SaveIcon,\n Trash2,\n XCircle,\n XSquare,\n} from \"lucide-react\";\nimport { useRouter } from \"next/navigation\";\nimport { useEffect, useState } from \"react\";\nimport * as React from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport * as z from \"zod\";\nimport { CodePreview } from \"@/components/custom/code-preview\";\nimport { TextPreview } from \"@/components/custom/text-preview\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormMessage,\n} from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Loading } from \"@/components/ui/loading\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { Switch } from \"@/components/ui/switch\";\nimport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"@/components/ui/dialog\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\";\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from \"@/components/ui/alert-dialog\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { cn } from \"@/lib/utils\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { ExclamationTriangleIcon } from \"@radix-ui/react-icons\";\nimport { Item } from \"@EXULU_SHARED/models/item\";\nimport { Context } from \"@/types/models/context\";\nimport { DELETE_CHUNKS, DELETE_ITEM, GENERATE_CHUNKS, GET_ITEM_BY_ID, PROCESS_ITEM_FIELD, UPDATE_ITEM } from \"@/queries/queries\";\nimport { RBACControl } from \"@/components/rbac\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@/components/ui/collapsible\";\nimport {\n Card,\n CardContent,\n CardHeader,\n} from \"@/components/ui/card\";\nimport UppyDashboard, { FileDataCard } from \"@/components/uppy-dashboard\";\n\ninterface DataDisplayProps {\n actions: boolean;\n itemId: string | null;\n context: Context;\n}\n\nexport function DataDisplay(props: DataDisplayProps) {\n\n const [data, setData] = useState<Item>();\n const { toast } = useToast();\n const router = useRouter();\n\n const [rbac, setRbac] = useState<{\n rights_mode?: 'private' | 'users' | 'roles' | 'public' | 'projects';\n users?: Array<{ id: number; rights: 'read' | 'write' }>;\n roles?: Array<{ id: string; rights: 'read' | 'write' }>;\n projects?: Array<{ id: string; rights: 'read' | 'write' }>;\n }>()\n\n const context = props.context;\n const fields = props.context.fields.map(field => field.name);\n\n console.log(\"fields\", fields);\n console.log(\"context\", context);\n\n const { loading, error, refetch } = useQuery<{\n item: Item;\n }>(GET_ITEM_BY_ID(props.context.id, fields, true), {\n skip: !props.itemId || !props.context?.id,\n variables: {\n context: props.context.id,\n id: props.itemId\n },\n fetchPolicy: \"no-cache\",\n nextFetchPolicy: \"network-only\",\n onCompleted: (data) => {\n const item = data[props.context.id + \"_itemsById\"];\n setData({\n ...item,\n tags: item.tags ? item.tags.split(\",\") : [],\n });\n\n setRbac({\n rights_mode: item.rights_mode,\n users: item.RBAC?.users,\n roles: item.RBAC?.roles,\n projects: item.RBAC?.projects\n })\n }\n });\n\n useEffect(() => {\n refetch();\n }, [props.itemId]);\n\n\n const [updateItemMutation, updateItemMutationResult] = useMutation<{\n [key: string]: {\n job: string;\n item: {\n name?: string;\n archived?: boolean;\n description?: string;\n tags?: string[];\n external_id?: string;\n [key: string]: any;\n }\n }\n }>(UPDATE_ITEM(props.context.id), {\n onCompleted: () => {\n toast({\n title: \"Item updated\",\n description: \"Item updated successfully.\",\n })\n },\n onError: (error) => {\n toast({\n title: \"Error updating item\",\n description: error.message,\n })\n }\n });\n\n const [deleteItemMutation, deleteItemMutationResult] = useMutation<{\n id: string;\n }>(DELETE_ITEM(props.context.id, []), {\n onCompleted: () => {\n toast({\n title: \"Item deleted\",\n description: \"Item deleted successfully.\",\n })\n },\n onError: (error) => {\n toast({\n title: \"Error deleting item\",\n description: error.message,\n })\n }\n });\n\n const [generateChunksMutation, generateChunksMutationResult] = useMutation<{\n [key: string]: {\n jobs: string[];\n items: number;\n }\n }>(GENERATE_CHUNKS(props.context.id), {\n onCompleted: (output) => {\n const data = output[props.context.id + \"_itemsGenerateChunks\"];\n if (data.jobs?.length > 0) {\n toast({\n title: \"Chunks generation started\",\n description: \"Jobs have been started in the background, depending on the size of the item this may take a while.\",\n })\n return;\n }\n toast({\n title: \"Chunks generated\",\n description: \"Chunks generated successfully.\",\n })\n },\n });\n\n\n const [deleteChunksMutation, deleteChunksMutationResult] = useMutation<{\n [key: string]: {\n jobs: string[];\n items: number;\n }\n }>(DELETE_CHUNKS(props.context.id), {\n onCompleted: (output) => {\n const data = output[props.context.id + \"_itemsDeleteChunks\"];\n if (data.jobs?.length > 0) {\n toast({\n title: \"Chunks deletion started\",\n description: \"Jobs have been started in the background, depending on the size of the item this may take a while.\",\n })\n return;\n }\n toast({\n title: \"Chunks deleted\",\n description: \"Chunks deleted successfully.\",\n })\n },\n });\n\n const [processFieldMutation, processFieldMutationResult] = useMutation<{\n [key: string]: {\n job: string;\n result: string;\n }\n }>(PROCESS_ITEM_FIELD(props.context.id), {\n onCompleted: () => {\n toast({\n title: \"Field processed\",\n description: \"Field processed successfully.\",\n })\n },\n onError: (error) => {\n toast({\n title: \"Error processing field\",\n description: error.message,\n })\n }\n });\n\n const itemFormSchema = z.object({\n name: z.string().nullable().optional(),\n tags: z.string().nullable().optional(),\n external_id: z.string().nullable().optional(),\n description: z.string()\n .min(2, { message: \"Text must be at least 2 characters.\" })\n .max(10000, { message: \"Text must not be longer than 10.0000 characters.\" }),\n ...(context?.fields?.reduce((acc, field) => ({\n ...acc,\n [field.name]: z.string().nullable()\n }), {}) ?? {})\n });\n\n type ItemFormValues = z.infer<typeof itemFormSchema>;\n\n const form = useForm<ItemFormValues>({\n resolver: zodResolver(itemFormSchema),\n defaultValues: {\n description: data?.description,\n },\n mode: \"onChange\",\n });\n\n const handleTags = (e: any) => {\n if (!e.target.value) {\n return;\n }\n if (e.key === \"Enter\") {\n let values = data?.tags ?? [];\n let copy;\n if (!Array.isArray(values)) {\n copy = [];\n } else {\n copy = [...values];\n }\n const tags: string[] = [...copy];\n tags.push(e.target.value);\n console.log(\"tags\", tags);\n form.setValue(\"tags\", tags.join(\",\"));\n setData({\n ...data,\n tags: tags,\n });\n e.target.value = \"\";\n }\n };\n\n const [editing, setEditing] = useState(false);\n const [expandedField, setExpandedField] = useState<{ name: string, value: string, disabled: boolean } | null>(null);\n const [confirmationModal, setConfirmationModal] = useState<\"generate\" | \"delete\" | null>(null);\n\n useEffect(() => {\n if (data?.text === \"New item\") {\n setEditing(true);\n } else {\n setEditing(false);\n }\n }, [data?.id]);\n\n if (loading) {\n return (\n <div className=\"p-8 text-center text-muted-foreground\">\n <Skeleton className=\"w-full h-[80px] rounded-md\" />\n <Skeleton className=\"w-full h-[50px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n </div>\n )\n }\n if (error) {\n return (\n <Alert variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n {error?.message || \"Error loading item.\"}\n </AlertDescription>\n </Alert>\n )\n }\n\n return (\n <div className=\"flex h-full flex-col\">\n\n {data ? (\n <>\n {props.actions ? (\n <>\n <div className=\"flex items-center p-2\">\n <div className=\"flex items-center gap-2\">\n {data?.archived ? (\n <>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n onClick={async () => {\n if (!data.id) {\n return;\n }\n updateItemMutation({\n variables: {\n id: data.id,\n input: {\n archived: false,\n },\n }\n });\n setData({\n ...data,\n archived: false,\n });\n router.push(\"./\");\n }}\n variant=\"ghost\"\n size=\"icon\"\n disabled={!data || updateItemMutationResult.loading}\n >\n {updateItemMutationResult.loading ? (\n <Loading />\n ) : (\n <PackageOpen className=\"size-4\" />\n )}\n <span className=\"sr-only\">Unarchive</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>Unarchive</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n onClick={async () => {\n if (!data.id) {\n return;\n }\n deleteItemMutation({\n variables: {\n id: data.id,\n }\n });\n router.push(\"./\");\n }}\n variant=\"ghost\"\n size=\"icon\"\n disabled={!data || deleteItemMutationResult.loading}\n >\n {deleteItemMutationResult.loading ? (\n <Loading />\n ) : (\n <Trash2 className=\"size-4\" />\n )}\n <span className=\"sr-only\">Delete</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>Delete</TooltipContent>\n </Tooltip>\n </>\n ) : (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n onClick={async () => {\n if (!data?.id) {\n return;\n }\n updateItemMutation({\n variables: {\n id: data.id,\n input: { archived: true },\n }\n });\n setData({\n ...data,\n archived: true,\n });\n router.push(\"./\");\n }}\n variant=\"ghost\"\n size=\"icon\"\n disabled={!data || updateItemMutationResult.loading}\n >\n {updateItemMutationResult.loading ? (\n <Loading />\n ) : (\n <Archive className=\"size-4\" />\n )}\n <span className=\"sr-only\">Archive</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>Archive</TooltipContent>\n </Tooltip>\n )}\n {editing ? (\n <>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n onClick={() => {\n setEditing(false);\n }}\n variant=\"ghost\"\n size=\"icon\"\n >\n <XSquare className=\"size-4\" />\n <span className=\"sr-only\">Cancel</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>Cancel</TooltipContent>\n </Tooltip>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n disabled={updateItemMutationResult.loading}\n onClick={() => {\n if (!data?.id) {\n return;\n }\n updateItemMutation({\n variables: {\n id: data.id,\n input: {\n textlength: data?.text?.length,\n description: data?.description,\n name: data?.name,\n externalId: data?.externalId,\n tags: data?.tags?.join(\",\"),\n source: data?.source,\n archived: data?.archived,\n rights_mode: rbac?.rights_mode,\n RBAC: {\n users: rbac?.users || [],\n roles: rbac?.roles || [],\n projects: rbac?.projects || []\n },\n ...(context?.fields?.reduce((acc, field) => ({\n ...acc,\n [field.name]: data?.[field.name]\n }), {}) ?? {})\n },\n }\n });\n setEditing(false);\n }}\n variant=\"ghost\"\n size=\"icon\"\n >\n <SaveIcon className=\"size-4\" />\n <span className=\"sr-only\">\n Save {updateItemMutationResult.loading ?? <Loading />}\n </span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>Save</TooltipContent>\n </Tooltip>\n </>\n ) : (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n onClick={() => {\n setEditing(true);\n }}\n variant=\"ghost\"\n size=\"icon\"\n disabled={!data || updateItemMutationResult.loading}\n >\n <Edit className=\"size-4\" />\n <span className=\"sr-only\">Edit</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent>Edit</TooltipContent>\n </Tooltip>\n )}\n </div>\n </div>\n <Separator />\n </>\n ) : null}\n <div className=\"flex flex-1 flex-col\">\n <div className={cn(\"space-y-2\")}>\n <div className=\"flex items-center justify-between space-x-4 px-4 bg-muted rounded\">\n <h3 className=\"text-lg p-5 font-semibold tracking-tight text-lg\">\n Fields\n </h3>\n </div>\n <div className=\"p-5\">\n <Form {...form}>\n <form className=\"space-y-8\">\n <div>\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Name</TableHead>\n <TableHead>Value</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n\n <TableRow key={\"name\"}>\n <TableCell className=\"font-medium capitalize\">\n Name\n </TableCell>\n <TableCell>\n <FormField\n control={form.control}\n name=\"name\"\n render={({ field }) => (\n <FormItem>\n {!editing ? (\n <div\n onClick={async () => {\n await navigator.clipboard.writeText(\n data.name ?? \"\",\n );\n toast({ title: \"Copied to clipboard\" });\n }}\n className=\"flex-1 whitespace-pre-wrap text-sm cursor-copy\"\n >\n {data.name && data.name?.length > 200 ? data.name?.slice(0, 200) + \"...\" : data.name}\n </div>\n ) : (\n <>\n <FormControl>\n <Input\n type=\"text\"\n disabled={!editing}\n onChange={(e) => {\n setData({\n ...data,\n name: e.target.value,\n });\n }}\n placeholder=\"Item name\"\n value={data.name ?? \"\"}\n />\n </FormControl>\n <FormMessage />\n </>\n )}\n </FormItem>\n )}\n />\n </TableCell>\n </TableRow>\n\n <TableRow key={\"tags\"}>\n <TableCell className=\"font-medium capitalize\">\n Tags\n </TableCell>\n <TableCell>\n {editing ? (\n <div className=\"grid-row grid grid-flow-col gap-4 pt-2\">\n <FormField\n control={form.control}\n name=\"tags\"\n render={({ field }) => (\n <FormItem>\n <FormControl>\n <Input\n id=\"includes\"\n type=\"text\"\n onKeyUp={(e) => handleTags(e)}\n placeholder=\"Type and press enter to add\"\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n </div>\n ) : null}\n\n {data?.tags?.length ? (\n <div className=\"gap-2 pt-2\">\n {data?.tags?.map(\n (text: string, index: number) => {\n return (\n <Badge\n key={`tag-${index}`}\n variant={\"secondary\"}\n className=\"px-3 py-2 mr-2 mb-2\"\n >\n <div className=\"flex items-center\">\n <div className=\"text-muted-foreground truncate max-w-[200px]\">\n {text}\n </div>\n {editing ? (\n <span\n className=\"size-4 cursor-pointer text-muted-foreground\"\n onClick={() => {\n const tags: string[] = [...data.tags ?? []];\n tags.splice(index, 1);\n form.setValue(\"tags\", tags.join(\",\"));\n setData({\n ...data,\n tags: tags,\n });\n }}\n >\n <XCircle\n className=\"ml-1\"\n size={15}\n />\n </span>\n ) : null}\n </div>\n </Badge>\n );\n },\n )}\n </div>\n ) : null}\n </TableCell>\n </TableRow>\n\n <TableRow key={19091}>\n <TableCell className=\"font-medium capitalize\">\n Description\n </TableCell>\n <TableCell>\n <FormField\n control={form.control}\n name=\"description\"\n render={({ field }) => (\n <FormItem>\n {!editing ? (\n <div\n onClick={async () => {\n await navigator.clipboard.writeText(\n data.description ?? \"\",\n );\n toast({ title: \"Copied to clipboard\" });\n }}\n className=\"flex-1 whitespace-pre-wrap text-sm cursor-copy\"\n >\n <TextPreview text={data.description ?? \"\"} />\n </div>\n ) : (\n <>\n <FormControl>\n <div className=\"relative\">\n <Textarea\n autoFocus={true}\n disabled={!editing}\n onChange={(e) => {\n setData({\n ...data,\n description: e.target.value,\n });\n }}\n placeholder=\"Item text content\"\n className=\"resize-none\"\n value={data.description ?? \"\"}\n />\n <Dialog>\n <DialogTrigger asChild>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-2 right-2 h-6 w-6 p-0\"\n onClick={() => setExpandedField({\n name: \"description\",\n value: data.description ?? \"\",\n disabled: false\n })}\n >\n <Expand className=\"h-3 w-3\" />\n <span className=\"sr-only\">Expand</span>\n </Button>\n </DialogTrigger>\n <DialogContent className=\"max-w-4xl max-h-[80vh]\">\n <DialogHeader>\n <DialogTitle>Edit Description</DialogTitle>\n </DialogHeader>\n <div className=\"mt-4\">\n <Textarea\n rows={20}\n className=\"min-h-[400px] resize-none\"\n value={expandedField?.name === \"description\" ? expandedField.value : data.description ?? \"\"}\n onChange={(e) => {\n const newValue = e.target.value;\n setExpandedField(prev =>\n prev?.name === \"description\"\n ? { ...prev, value: newValue }\n : prev\n );\n setData({\n ...data,\n description: newValue,\n });\n }}\n />\n </div>\n </DialogContent>\n </Dialog>\n </div>\n </FormControl>\n <FormMessage />\n </>\n )}\n </FormItem>\n )}\n />\n </TableCell>\n </TableRow>\n\n <TableRow key={\"externalId\"}>\n <TableCell className=\"font-medium capitalize\">\n External ID\n </TableCell>\n <TableCell>\n <FormField\n control={form.control}\n name=\"external_id\"\n render={({ field }) => (\n <FormItem>\n {!editing ? (\n <div\n onClick={async () => {\n await navigator.clipboard.writeText(\n data.external_id ?? \"\",\n );\n toast({ title: \"Copied to clipboard\" });\n }}\n className=\"flex-1 whitespace-pre-wrap text-sm cursor-copy\"\n >\n {data.external_id ?? \"\"}\n </div>\n ) : (\n <>\n <FormControl>\n <Input\n type=\"text\"\n disabled={!editing}\n onChange={(e) => {\n console.log(\"e\", e)\n setData({\n ...data,\n external_id: e.target.value,\n });\n }}\n placeholder=\"xxxx-xxxx-xxxx-xxxx\"\n value={data.external_id ?? \"\"}\n />\n </FormControl>\n\n <FormMessage />\n </>\n )}\n </FormItem>\n )}\n />\n </TableCell>\n </TableRow>\n\n {/* todo: add fixed fields for \"file\" which can be a pdf, image, word doc etc...*/}\n\n {context?.fields?.length &&\n context.fields.map(\n (\n contextField,\n index: number,\n ) => {\n return (\n <TableRow key={index}>\n <TableCell className=\"font-medium capitalize flex flex-col\">\n {contextField.label}\n {\n contextField.calculated && (\n <span className=\"text-sm text-muted-foreground\">Calculated</span>\n )\n }\n {\n contextField.processor && (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"secondary\" size=\"sm\" className=\"w-auto mt-2\" onClick={() => {\n processFieldMutation({\n variables: {\n item: data?.id,\n field: contextField.name\n }\n });\n }} disabled={processFieldMutationResult.loading}>\n {\n processFieldMutationResult.loading ? (\n <Loading />\n ) : (\n <MessageCirclePlus className=\"size-4\" />\n )\n }\n <span className=\"ml-2\">Process</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent className=\"max-w-xs\">\n {contextField.processor.description}\n </TooltipContent>\n </Tooltip>\n )\n }\n </TableCell>\n {!editing ? (\n <TableCell>\n {\n <span>\n {contextField.type === \"code\" && (\n <CodePreview\n code={data[contextField.name]}\n />\n )}\n {contextField.type === \"json\" && (\n <CodePreview\n code={data[contextField.name]}\n language=\"json\"\n />\n )}\n {contextField.type === \"shortText\" && (\n <p\n className=\"cursor-copy\"\n onClick={async () => {\n await navigator.clipboard.writeText(\n data[contextField.name],\n );\n toast({\n title: \"Copied to clipboard\",\n });\n }}>\n {data[contextField.name]}\n </p>\n )}\n {contextField.type === \"longText\" && (\n <TextPreview\n text={data[contextField.name]}\n />\n )}\n\n {contextField.type === \"file\" && (\n <FileDataCard s3key={data[contextField.name]} />\n )}\n\n {contextField.type === \"markdown\" && (\n <TextPreview\n text={data[contextField.name]}\n />\n )}\n {!contextField.type && (\n <TextPreview\n text={data[contextField.name]}\n />\n )}\n {contextField.type === \"text\" && (\n <TextPreview\n text={data[contextField.name]}\n />\n )}\n {contextField.type === \"number\" && (\n <p\n className=\"cursor-copy\"\n onClick={async () => {\n await navigator.clipboard.writeText(\n data[contextField.name],\n );\n toast({\n title: \"Copied to clipboard\",\n });\n }}\n >\n {data[contextField.name]}\n </p>\n )}\n {contextField.type === \"boolean\" && (\n <p\n className=\"cursor-copy\"\n onClick={async () => {\n await navigator.clipboard.writeText(\n data[contextField.name],\n );\n toast({\n title: \"Copied to clipboard\",\n });\n }}\n >\n {data[contextField.name] ?? \"\"}\n </p>\n )}\n </span>\n }\n </TableCell>\n ) : (\n <>\n <TableCell>\n {contextField.type === \"code\" ||\n contextField.type === \"json\" ||\n contextField.type === \"text\" ||\n contextField.type === \"longText\" ||\n contextField.type === \"markdown\" ||\n contextField.type === \"shortText\" ? (\n <FormField\n control={form.control}\n name={contextField.name as keyof ItemFormValues}\n render={({ field }) => (\n <FormItem>\n <FormControl>\n <div className=\"relative\">\n <Textarea\n id={contextField.name}\n rows={\n contextField.type ===\n \"shortText\"\n ? 2\n : 7\n }\n onChange={(e) => {\n setData({\n ...data,\n [contextField.name]: e.target.value,\n });\n }}\n value={\n data[contextField.name] ?? \"\"\n }\n />\n <Dialog>\n <DialogTrigger asChild>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-2 right-2 h-6 w-6 p-0\"\n onClick={() => setExpandedField({\n name: contextField.name,\n disabled: false,\n value: data[contextField.name] ?? \"\"\n })}\n >\n <Expand className=\"h-3 w-3\" />\n <span className=\"sr-only\">Expand</span>\n </Button>\n </DialogTrigger>\n <DialogContent className=\"max-w-4xl max-h-[80vh]\">\n <DialogHeader>\n <DialogTitle>Edit {contextField.name}</DialogTitle>\n </DialogHeader>\n <div className=\"mt-4\">\n <Textarea\n rows={20}\n className=\"min-h-[400px] resize-none\"\n value={expandedField?.name === contextField.name ? expandedField.value : data[contextField.name] ?? \"\"}\n onChange={(e) => {\n const newValue = e.target.value;\n setExpandedField(prev =>\n prev?.name === contextField.name\n ? { ...prev, value: newValue }\n : prev\n );\n setData({\n ...data,\n [contextField.name]: newValue,\n });\n }}\n />\n </div>\n </DialogContent>\n </Dialog>\n </div>\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n ) : null}\n\n {contextField.type === \"number\" ? (\n <FormField\n control={form.control}\n name={contextField.name as keyof ItemFormValues}\n render={({ field }) => (\n <FormItem>\n <FormControl>\n <Input\n id={contextField.name}\n type=\"number\"\n onChange={(e) => {\n setData({\n ...data,\n [contextField.name]: e.target.value,\n });\n }}\n value={\n data[contextField.name] ?? \"\"\n }\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n ) : null}\n\n {contextField.type === \"boolean\" ? (\n <FormField\n control={form.control}\n name={contextField.name as keyof ItemFormValues}\n render={({ field }) => (\n <FormItem>\n <FormControl>\n <Switch\n checked={!!field.value}\n onCheckedChange={(\n value,\n ) => {\n setData({\n ...data,\n [contextField.name]: value,\n });\n }}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n ) : null}\n\n {contextField.type === \"file\" && (\n <div>\n <FileDataCard s3key={data[contextField.name]}>\n <UppyDashboard\n id={`item-${data.id}`}\n buttonText=\"Select File\"\n allowedFileTypes={contextField.allowedFileTypes}\n dependencies={[]}\n selectionLimit={1}\n onConfirm={(keys) => {\n console.log(\"keys\", keys)\n setData({\n ...data,\n [contextField.name]: keys[0],\n });\n }}\n />\n </FileDataCard>\n </div>\n )}\n </TableCell>\n </>\n )}\n </TableRow>\n );\n },\n )}\n </TableBody>\n </Table>\n\n <Separator className=\"my-4\" />\n </div>\n </form>\n </Form>\n <Card className=\"bg-transparent\">\n <Collapsible>\n <CardHeader className=\"p-4\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex flex-col\">\n <p className=\"text-base\">\n Access Control\n </p>\n <p className=\"text-sm text-muted-foreground mb-0\">\n Control access to this item.\n </p>\n </div>\n <CollapsibleTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"size-8\">\n <ChevronsUpDown className=\"size-4\" />\n <span className=\"sr-only\">Toggle</span>\n </Button>\n </CollapsibleTrigger>\n </div>\n </CardHeader>\n <CollapsibleContent className=\"mt-5\">\n <CardContent className=\"space-y-4\">\n <RBACControl\n initialRightsMode={data.rights_mode}\n initialUsers={data.RBAC?.users}\n initialRoles={data.RBAC?.roles}\n initialProjects={data.RBAC?.projects}\n onChange={(rights_mode, users, roles, projects) => {\n setRbac({\n rights_mode,\n users,\n roles,\n projects\n })\n }}\n />\n </CardContent>\n </CollapsibleContent>\n </Collapsible>\n </Card>\n\n\n <div className=\"mt-4 border border p-3 pb-5 rounded\">\n <div className=\"flex items-center justify-between ml-4 mt-3 mr-4 mb-2\">\n <h1 className=\"text-lg font-medium\">Embeddings</h1>\n <DropdownMenu modal={false}>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"sm\" className=\"h-8 w-8 p-0\">\n <MoreVertical className=\"h-4 w-4\" />\n <span className=\"sr-only\">Open menu</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => setConfirmationModal(\"generate\")}>\n Generate embeddings\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setConfirmationModal(\"delete\")}>\n Delete embeddings\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n <Table>\n <TableCaption>\n {\n data?.chunks?.length ? \"A list of all embeddings for this item.\" : \"No embeddings found.\"\n }\n </TableCaption>\n <TableHeader>\n <TableRow>\n <TableHead>Index</TableHead>\n <TableHead>Content</TableHead>\n <TableHead>Dimensions</TableHead>\n <TableHead>Created At</TableHead>\n <TableHead>Updated At</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {\n data?.chunks?.length ? (\n data?.chunks?.length && data.chunks.map((chunk) => (\n <TableRow key={chunk.id}>\n <TableCell className=\"font-medium capitalize\">\n {chunk.chunk_index + 1}\n </TableCell>\n <TableCell>\n <TextPreview text={chunk.content} />\n </TableCell>\n <TableCell>\n {chunk.embedding_size || 0}\n </TableCell>\n <TableCell>\n {new Date(chunk.chunk_created_at).toLocaleString()}\n </TableCell>\n <TableCell>\n {new Date(chunk.chunk_updated_at).toLocaleString()}\n </TableCell>\n </TableRow>\n ))\n ) : null\n }\n </TableBody>\n </Table>\n </div>\n </div>\n </div>\n </div>\n </>\n ) : (\n <>\n {\" \"}\n {!data && props.itemId ? (\n <div className=\"p-8 text-center text-muted-foreground\">\n Item not found.\n </div>\n ) : (\n <div className=\"p-8 text-center text-muted-foreground\">\n No item selected.\n </div>\n )}\n </>\n )\n }\n\n <AlertDialog open={confirmationModal === \"generate\"} onOpenChange={(open) => !open && setConfirmationModal(null)}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Generate Embeddings</AlertDialogTitle>\n <AlertDialogDescription>\n Are you sure you want to generate embeddings for this item? This will create new embedding vectors for the content.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction\n disabled={generateChunksMutationResult.loading}\n onClick={() => {\n if (!data?.id) {\n return;\n }\n console.log(\"Generate embeddings for item:\", data?.id);\n setConfirmationModal(null);\n generateChunksMutation({\n variables: {\n where: {\n id: {\n eq: data?.id,\n }\n },\n },\n });\n }}>\n Generate\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n\n <AlertDialog open={confirmationModal === \"delete\"} onOpenChange={(open) => !open && setConfirmationModal(null)}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Delete Embeddings</AlertDialogTitle>\n <AlertDialogDescription>\n Are you sure you want to delete all embeddings for this item? This action cannot be undone.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction\n disabled={deleteChunksMutationResult.loading}\n onClick={async () => {\n if (!data?.id) {\n return;\n }\n console.log(\"Delete embeddings for item:\", data?.id);\n setConfirmationModal(null);\n deleteChunksMutation({\n variables: {\n where: {\n id: {\n eq: data?.id,\n }\n },\n },\n });\n }}\n className=\"bg-destructive text-destructive-foreground hover:bg-destructive/90\"\n >\n Delete\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n </div >\n );\n}","\"use client\"\n\nimport { subDays } from \"date-fns\";\nimport * as React from \"react\";\nimport { useState } from \"react\";\nimport { DateRange } from \"react-day-picker\";\nimport { STATISTICS_TYPE, STATISTICS_TYPE_ENUM } from \"@/types/enums/statistics\";\nimport { DateRangeSelector } from \"@/components/dashboard/date-range-selector\";\nimport { TimeSeriesChart } from \"@/components/dashboard/time-series-chart\";\nimport { DonutChart } from \"@/components/dashboard/donut-chart\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport default function ContextsDashboard() {\n \n const [unit, setUnit] = useState<\"tokens\" | \"count\">(\"count\");\n const [dateRange, setDateRange] = useState<DateRange | undefined>({\n from: subDays(new Date(), 7),\n to: new Date()\n });\n\n const [selectedType, setSelectedType] = useState<STATISTICS_TYPE>(\"CONTEXT_UPSERT\");\n const [groupBy, setGroupBy] = useState<string>(\"label\");\n\n return (\n <div className=\"flex-1 flex flex-col p-8 pt-6 h-screen\">\n {/* Header Section */}\n <div className=\"flex items-center justify-between mb-8\">\n <div className=\"space-y-2\">\n <h2 className=\"text-4xl font-bold tracking-tight bg-clip-text\">\n Contexts Dashboard\n </h2>\n <p className=\"text-lg\">\n Monitor your contexts and their usage.\n </p>\n </div>\n\n {/* Date Range Selector - moved to header */}\n <div className=\"flex items-center space-x-2\">\n <DateRangeSelector\n dateRange={dateRange}\n onDateRangeChange={setDateRange}\n maxDays={30}\n />\n </div>\n </div>\n\n {/* Charts Grid - Improved layout and spacing */}\n <div className=\"flex-1 grid gap-6 md:grid-cols-3 min-h-0\">\n <div className=\"rounded-lg border md:col-span-2 p-6 flex flex-col\">\n <TimeSeriesChart\n dateRange={dateRange}\n selectedType={selectedType}\n onTypeChange={setSelectedType}\n unitOptions={[\n { value: 'count', label: 'Count' }\n ]}\n onUnitChange={setUnit}\n unit={unit}\n dataTypes={[\n STATISTICS_TYPE_ENUM.CONTEXT_RETRIEVE,\n // STATISTICS_TYPE_ENUM.EMBEDDER_UPSERT,\n // STATISTICS_TYPE_ENUM.EMBEDDER_GENERATE,\n // STATISTICS_TYPE_ENUM.EMBEDDER_DELETE,\n STATISTICS_TYPE_ENUM.CONTEXT_UPSERT\n ]}\n />\n </div>\n <div className=\"rounded-lg border p-6 flex flex-col\">\n <DonutChart\n groupByOptions={[]}\n dateRange={dateRange}\n selectedType={selectedType}\n unit={unit}\n groupBy={groupBy}\n onGroupByChange={setGroupBy}\n />\n </div>\n </div>\n </div>\n );\n}","import { formatDistanceToNow } from \"date-fns/formatDistanceToNow\";\nimport { useQuery } from \"@apollo/client\";\nimport { useRef } from \"react\";\nimport Link from \"next/link\";\nimport * as React from \"react\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { TruncatedText } from \"@/components/truncated-text\";\nimport { Item } from \"@/types/models/item\";\nimport { GET_ITEMS, PAGINATION_POSTFIX } from \"@/queries/queries\";\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { Loader2 } from \"lucide-react\";\nimport { Badge } from \"@/components/ui/badge\";\n\nexport type FilterOperator = {\n eq?: string,\n ne?: string,\n in?: string[],\n contains?: string,\n}\n\nexport type ItemsFilters = {\n context?: FilterOperator,\n}\n\nexport function RecentEmbeddings({ contextId }: { contextId: string }) {\n\n // Make stable ref of date\n const twentyOneDaysAgoRef = useRef(new Date(Date.now() - 21 * 24 * 60 * 60 * 1000).toISOString());\n let { loading, data: raw, refetch, previousData: prev, error } = useQuery<{\n [key: string]: {\n pageInfo: {\n pageCount: number;\n itemCount: number;\n currentPage: number;\n hasPreviousPage: boolean;\n hasNextPage: boolean;\n };\n items: Item[];\n }\n }>(GET_ITEMS(contextId, []), {\n fetchPolicy: \"no-cache\",\n nextFetchPolicy: \"network-only\",\n variables: {\n context: contextId,\n page: 1,\n limit: 5,\n filters: [{\n embeddings_updated_at: {\n // 21 days ago\n gte: twentyOneDaysAgoRef.current,\n },\n }],\n sort: {\n field: \"embeddings_updated_at\",\n direction: \"DESC\",\n }\n },\n });\n\n const data = raw?.[contextId + PAGINATION_POSTFIX] as any;\n\n if (loading) {\n return (\n <Card>\n <CardContent className=\"pt-6\">\n <div className=\"flex items-center justify-center py-8\">\n <Loader2 className=\"h-6 w-6 animate-spin\" />\n </div>\n </CardContent>\n </Card>\n );\n }\n\n return (\n <Card className=\"border-0 rounded-none\">\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-3\">\n <div>\n <CardTitle>Recent Embeddings</CardTitle>\n <CardDescription>Items with embeddings updated in the last 21 days</CardDescription>\n </div>\n {loading && (\n <Loader2 className=\"h-4 w-4 animate-spin text-muted-foreground\" />\n )}\n </div>\n <Badge variant=\"outline\" className=\"gap-1.5\">\n <span className=\"text-xs\">{data?.items?.length || 0}</span>\n <span className=\"text-xs text-muted-foreground\">items</span>\n </Badge>\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"border rounded-lg\">\n {data?.items?.length === 0 ? (\n <div className=\"text-center py-8 text-muted-foreground\">\n No recent embeddings\n </div>\n ) : (\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Name</TableHead>\n <TableHead className=\"text-right\">Updated</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {data?.items?.map((item: Item, index: number) => (\n <TableRow key={index}>\n <TableCell className=\"font-medium\">\n <Link\n className=\"hover:text-blue-500 hover:underline\"\n href={`/data/${contextId}/${item.id}`}\n >\n <TruncatedText text={item.name || item.id || \"\"} length={50} />\n </Link>\n </TableCell>\n <TableCell className=\"text-right text-sm text-muted-foreground\">\n {item.embeddings_updated_at\n ? formatDistanceToNow(new Date(item.embeddings_updated_at), {\n addSuffix: true,\n })\n : \"never\"}\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n )}\n </div>\n </CardContent>\n </Card>\n );\n}\n","\"use client\"\n\nimport { useQuery, useMutation } from \"@apollo/client\";\nimport {\n ArrowLeft,\n} from \"lucide-react\";\nimport { useRouter } from \"next/navigation\";\nimport { useState } from \"react\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport { RecentEmbeddings } from \"@/components/custom/recent-embeddings\";\nimport { CREATE_EMBEDDER_CONFIG, DELETE_CHUNKS, GENERATE_CHUNKS, GET_CONTEXT_BY_ID, GET_EMBEDDER_CONFIGS, GET_VARIABLES, UPDATE_EMBEDDER_CONFIG } from \"@/queries/queries\";\nimport { Context } from \"@/types/models/context\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { ExclamationTriangleIcon } from \"@radix-ui/react-icons\";\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from \"@/components/ui/alert-dialog\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { Label } from \"@/components/ui/label\";\nimport { Input } from \"@/components/ui/input\";\nimport { FormDescription } from \"@/components/ui/form\";\nimport { Variable } from \"@/types/models/variable\";\nimport { VariableSelectionElement } from \"../../agents/edit/[id]/form\";\n\ninterface DataDisplayProps {\n expand: boolean;\n actions: boolean;\n context: string\n}\n\nexport function ContextEmbeddings(props: DataDisplayProps) {\n\n const [confirmationModal, setConfirmationModal] = useState<\"generate\" | \"delete\" | null>(null);\n const [sourcesOpen, setSourcesOpen] = useState(true);\n const [embeddingsOpen, setEmbeddingsOpen] = useState(true);\n const { toast } = useToast();\n const { data, loading, error } = useQuery<\n { contextById: Context }>(GET_CONTEXT_BY_ID, {\n variables: {\n id: props.context\n }\n });\n\n const context = data?.contextById;\n const router = useRouter();\n\n const [updateEmbedderConfigs, updateEmbedderConfigsResult] = useMutation<{\n embedder_settingsUpdateOneById: {\n item: {\n id: string;\n }\n }\n }>(UPDATE_EMBEDDER_CONFIG, {\n onCompleted: (output) => {\n refetchEmbedderConfigs();\n toast({\n title: \"Embedder configs updated\",\n description: \"Embedder configs updated successfully.\",\n })\n },\n onError: (error) => {\n refetchEmbedderConfigs();\n toast({\n title: \"Error updating embedder configs\",\n description: error.message,\n })\n }\n });\n\n const [createEmbedderConfig, createEmbedderConfigResult] = useMutation<{\n embedder_settingsCreateOne: {\n item: {\n id: string;\n }\n }\n }>(CREATE_EMBEDDER_CONFIG, {\n onCompleted: (output) => {\n refetchEmbedderConfigs();\n toast({\n title: \"Embedder configs created\",\n description: \"Embedder configs created successfully.\",\n })\n },\n onError: (error) => {\n refetchEmbedderConfigs();\n toast({\n title: \"Error creating embedder configs\",\n description: error.message,\n })\n }\n });\n\n const { data: embedderConfigsData, loading: loadingEmbedderConfigsData, refetch: refetchEmbedderConfigs } = useQuery<{\n embedder_settingsPagination: {\n items: {\n id: string;\n name: string;\n value: string;\n updatedAt: string;\n createdAt: string;\n }[]\n }\n }>(GET_EMBEDDER_CONFIGS, {\n skip: !context?.embedder?.id,\n variables: {\n context: props.context,\n embedder: context?.embedder?.id\n }\n });\n\n const embedderConfigs = embedderConfigsData?.embedder_settingsPagination?.items || [];\n\n const { data: variablesData } = useQuery<{\n variablesPagination: {\n items: Variable[]\n }\n }>(GET_VARIABLES, {\n variables: { page: 1, limit: 100 },\n });\n\n const variables = variablesData?.variablesPagination?.items || [];\n\n const [generateChunksMutation, generateChunksMutationResult] = useMutation<{\n [key: string]: {\n jobs: string[];\n items: number;\n }\n }>(GENERATE_CHUNKS(props.context), {\n onCompleted: (output) => {\n const data = output[props.context + \"_itemsGenerateChunks\"];\n if (data.jobs?.length > 0) {\n toast({\n title: \"Chunks generation started\",\n description: \"Jobs have been started in the background, depending on the size of the item this may take a while.\",\n })\n return;\n }\n toast({\n title: \"Chunks generated\",\n description: \"Chunks generated successfully.\",\n })\n },\n });\n\n\n const [deleteChunksMutation, deleteChunksMutationResult] = useMutation<{\n [key: string]: {\n jobs: string[];\n items: number;\n }\n }>(DELETE_CHUNKS(props.context), {\n onCompleted: (output) => {\n const data = output[props.context + \"_itemsDeleteChunks\"];\n if (data.jobs?.length > 0) {\n toast({\n title: \"Chunks deletion started\",\n description: \"Jobs have been started in the background, depending on the size of the item this may take a while.\",\n })\n return;\n }\n toast({\n title: \"Chunks deleted\",\n description: \"Chunks deleted successfully.\",\n })\n },\n });\n\n if (loading) {\n return (\n <div className=\"p-8 text-center text-muted-foreground\">\n <Skeleton className=\"w-full h-[80px] rounded-md\" />\n <Skeleton className=\"w-full h-[50px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n </div>\n )\n }\n if (error) {\n return (\n <Alert variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n {error?.message || \"Error loading item.\"}\n </AlertDescription>\n </Alert>\n )\n }\n\n return (\n <div className=\"flex h-full flex-col\">\n {props.actions ? (\n <>\n <div className=\"flex p-2 justify-between\">\n <div className=\"flex items-center gap-2\"></div>\n <Button\n onClick={() => {\n router.push(\"/context\");\n }}\n variant=\"ghost\"\n size=\"icon\">\n <ArrowLeft className=\"size-4\" />\n <span className=\"sr-only\">Back</span>\n </Button>\n </div>\n <Separator />\n </>\n ) : null}\n {context ? (\n <div className=\"flex flex-1 flex-col\">\n <Card className=\"border-0 rounded-none\">\n <CardHeader>\n <CardTitle className=\"text-lg\">Settings</CardTitle>\n </CardHeader>\n <CardContent className=\"grid gap-4\">\n <ScrollArea className=\"max-h-[600px]\">\n <div className=\"space-y-6 pr-4\">\n <div>\n <h2 className=\"text-xl font-bold\">{context.name}</h2>\n <p className=\"text-muted-foreground mt-1\">{context.description}</p>\n <div className=\"mt-3 flex items-center\">\n <span className=\"text-sm font-medium mr-2\">Embedder:</span>\n <Badge variant=\"outline\">{context.embedder?.name || \"None\"} ({context.embedder?.id})</Badge>\n </div>\n </div>\n <div>\n <span className=\"text-sm font-medium mr-2\">Calculate Vectors:</span>\n <Badge variant=\"secondary\">\n {context.configuration?.calculateVectors\n ? context.configuration.calculateVectors.charAt(0).toUpperCase() + context.configuration.calculateVectors.slice(1)\n : \"Manual\"}\n </Badge>\n <div className=\"mt-2 text-xs text-muted-foreground\">\n <span className=\"block\"><b>Manual</b>: Vectors are only calculated when triggered manually.</span>\n <span className=\"block\"><b>On Update</b>: Vectors are recalculated whenever an item is updated.</span>\n <span className=\"block\"><b>On Insert</b>: Vectors are calculated when a new item is inserted.</span>\n <span className=\"block\"><b>Always</b>: Vectors are calculated on both insert and update operations.</span>\n </div>\n </div>\n <div>\n <span className=\"text-sm font-medium mr-2\">Embedder Configs:</span>\n <div className=\"mt-2 text-xs text-muted-foreground\">\n {variables?.length && context?.embedder?.config?.map((config) => {\n\n const currentValue = embedderConfigs?.find(x => x.name === config.name);\n console.log(\"currentValue\", currentValue);\n console.log(\"embedderConfigs\", embedderConfigs);\n console.log(\"config\", config);\n return (<div key={config.name} className=\"space-y-2\">\n <VariableSelectionElement\n configItem={config}\n currentValue={currentValue?.value || \"\"}\n variables={variables}\n onVariableSelect={(variableName) => {\n console.log(\"variableName\", variableName);\n if (currentValue) {\n updateEmbedderConfigs({\n variables: {\n id: currentValue.id,\n name: config.name,\n value: variableName,\n }\n });\n } else {\n createEmbedderConfig({\n variables: {\n name: config.name,\n value: variableName,\n context: props.context,\n embedder: context?.embedder?.id\n }\n });\n }\n\n }} />\n <span>\n {config.description}\n </span>\n </div>)\n })}\n </div>\n </div>\n </div>\n </ScrollArea>\n </CardContent>\n </Card>\n <RecentEmbeddings contextId={context.id} />\n </div>\n ) : (\n <div className=\"p-8 text-center text-muted-foreground\">\n Context not found.\n </div>\n )}\n\n <AlertDialog open={confirmationModal === \"generate\"} onOpenChange={(open) => !open && setConfirmationModal(null)}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Generate Embeddings</AlertDialogTitle>\n <AlertDialogDescription>\n Are you sure you want to generate embeddings for this context? This\n will create new embedding vectors for every item in the context, this\n can take a long time, might cost money if you are using a paid service\n as your embedder, or require a lot of computational resources if your\n embedder is self hosted.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction\n disabled={generateChunksMutationResult.loading}\n onClick={() => {\n // TODO: Add API call to generate embeddings\n setConfirmationModal(null);\n generateChunksMutation();\n toast({\n title: \"Generating embeddings...\",\n description: \"Embeddings are being generated in the background, depending on the size of the item this may take a while.\",\n });\n }}\n >\n Generate\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n\n <AlertDialog open={confirmationModal === \"delete\"} onOpenChange={(open) => !open && setConfirmationModal(null)}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Delete Embeddings</AlertDialogTitle>\n <AlertDialogDescription>\n Are you sure you want to delete all embeddings for this context? This action cannot be undone.\n Embeddings are used to search and filter items, deleting them will remove\n this functionality from the context, regenerating embeddings might take a\n long time, might cost money if you are using a paid service as your embedder,\n or require a lot of computational resources if your embedder is self hosted.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction\n disabled={deleteChunksMutationResult.loading}\n onClick={async () => {\n setConfirmationModal(null);\n deleteChunksMutation();\n toast({\n title: \"Embeddings deleted\",\n description: \"All embeddings for this item have been deleted.\",\n });\n }}\n className=\"bg-destructive text-destructive-foreground hover:bg-destructive/90\"\n >\n Delete\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n </div>\n );\n}","\"use client\"\n\nimport { useQuery, useMutation } from \"@apollo/client\";\nimport {\n ArrowLeft,\n ChevronDown,\n Play,\n Loader2,\n} from \"lucide-react\";\nimport { useRouter } from \"next/navigation\";\nimport { useState } from \"react\";\nimport { Button } from \"@/components/ui/button\";\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@/components/ui/collapsible\"\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { Badge } from \"@/components/ui/badge\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"@/components/ui/dialog\";\nimport { GET_CONTEXT_BY_ID, EXECUTE_SOURCE } from \"@/queries/queries\";\nimport { Context } from \"@/types/models/context\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { ExclamationTriangleIcon } from \"@radix-ui/react-icons\";\nimport { QueueManagement } from \"../../evals/[id]/runs/components/queue-management\";\nimport { QueueJob } from \"@/types/models/job\";\nimport { toast } from \"sonner\";\n\ninterface DataDisplayProps {\n expand: boolean;\n actions: boolean;\n context: string\n}\n\nexport function ContextSources(props: DataDisplayProps) {\n\n const [sourcesOpen, setSourcesOpen] = useState(true);\n const [dialogOpen, setDialogOpen] = useState(false);\n const [selectedSource, setSelectedSource] = useState<{\n id: string;\n name: string;\n queue?: string;\n params?: { name: string; description: string; default: string }[]\n } | null>(null);\n const [paramValues, setParamValues] = useState<Record<string, string>>({});\n\n const { data, loading, error } = useQuery<\n { contextById: Context }>(GET_CONTEXT_BY_ID, {\n variables: {\n id: props.context\n }\n });\n\n const context = data?.contextById;\n const router = useRouter();\n\n const [executeSource, { loading: executingSource }] = useMutation(\n EXECUTE_SOURCE(props.context),\n {\n onCompleted: (data) => {\n const result = data[`${props.context}_itemsExecuteSource`];\n setDialogOpen(false);\n setSelectedSource(null);\n setParamValues({});\n\n toast.success(result.message || \"Source executed successfully\", {\n description: result.jobs?.length\n ? `${result.jobs.length} job(s) scheduled`\n : result.items?.length\n ? `${result.items.length} item(s) processed`\n : undefined\n });\n },\n onError: (error) => {\n toast.error(\"Failed to execute source\", {\n description: error.message\n });\n }\n }\n );\n\n const handleTriggerSource = (\n sourceId: string,\n sourceName: string,\n queueName?: string,\n params?: { name: string; description: string; default: string }[]\n ) => {\n setSelectedSource({ id: sourceId, name: sourceName, queue: queueName, params });\n\n // Initialize param values with defaults\n if (params) {\n const initialValues: Record<string, string> = {};\n params.forEach(param => {\n initialValues[param.name] = param.default || '';\n });\n setParamValues(initialValues);\n }\n\n setDialogOpen(true);\n };\n\n const confirmTrigger = () => {\n if (!selectedSource) return;\n\n executeSource({\n variables: {\n source: selectedSource.id,\n inputs: paramValues\n }\n });\n };\n\n\n if (loading) {\n return (\n <div className=\"p-8 text-center text-muted-foreground\">\n <Skeleton className=\"w-full h-[80px] rounded-md\" />\n <Skeleton className=\"w-full h-[50px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n </div>\n )\n }\n if (error) {\n return (\n <Alert variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n {error?.message || \"Error loading item.\"}\n </AlertDescription>\n </Alert>\n )\n }\n\n let queues: string[] = [];\n if (context) {\n queues = Array.from(\n new Set(\n context.sources\n .map(source => source.config.queue)\n .filter((queue): queue is string => Boolean(queue))\n )\n );\n }\n\n return (\n <div className=\"flex h-full flex-col\">\n {props.actions ? (\n <>\n <div className=\"flex p-2 justify-between\">\n <div className=\"flex items-center gap-2\"></div>\n <Button\n onClick={() => {\n router.push(\"/context\");\n }}\n variant=\"ghost\"\n size=\"icon\">\n <ArrowLeft className=\"size-4\" />\n <span className=\"sr-only\">Back</span>\n </Button>\n </div>\n <Separator />\n </>\n ) : null}\n {context ? (\n <div className=\"flex flex-1 flex-col\">\n <Card className=\"border-0 rounded-none\">\n <CardHeader>\n <CardTitle className=\"text-lg\">Settings</CardTitle>\n </CardHeader>\n <CardContent className=\"grid gap-4\">\n <ScrollArea className=\"max-h-[600px]\">\n <div className=\"space-y-6 pr-4\">\n <div>\n <h2 className=\"text-xl font-bold\">{context.name}</h2>\n <p className=\"text-muted-foreground mt-1\">{context.description}</p>\n </div>\n </div>\n </ScrollArea>\n </CardContent>\n </Card>\n\n <Card className=\"border-0 rounded-none\">\n <CardHeader>\n <CardTitle>Sources</CardTitle>\n <CardDescription>\n Sources are used to fetch external data and ingest them into the context.\n </CardDescription>\n </CardHeader>\n <CardContent>\n {context.sources && context.sources.length > 0 ? (\n <TooltipProvider>\n <div className=\"rounded-md border\">\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Name</TableHead>\n <TableHead>Description</TableHead>\n <TableHead>Queue Configuration</TableHead>\n <TableHead className=\"text-right\">Actions</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {context.sources.map((source) => {\n const hasQueueConfig = source.config.queue ||\n source.config.schedule ||\n source.config.retries !== undefined ||\n source.config.backoff;\n\n return (\n <TableRow key={source.id}>\n <TableCell className=\"font-medium\">{source.name}</TableCell>\n <TableCell className=\"max-w-[300px]\">\n {source.description || '-'}\n </TableCell>\n <TableCell>\n {hasQueueConfig ? (\n <Tooltip>\n <TooltipTrigger asChild>\n <div className=\"cursor-help\">\n {source.config.queue ? (\n <Badge variant=\"outline\" className=\"cursor-help\">\n {source.config.queue}\n </Badge>\n ) : (\n <span className=\"text-muted-foreground\">No queue configured</span>\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent className=\"max-w-[300px]\">\n <div className=\"space-y-2\">\n {source.config.queue && (\n <div>\n <span className=\"font-semibold text-xs\">Queue:</span>\n <span className=\"ml-2 text-xs\">{source.config.queue}</span>\n </div>\n )}\n {source.config.schedule && (\n <div>\n <span className=\"font-semibold text-xs\">Schedule:</span>\n <code className=\"ml-2 text-xs bg-muted px-1 py-0.5 rounded\">\n {source.config.schedule}\n </code>\n </div>\n )}\n {source.config.retries !== undefined && (\n <div>\n <span className=\"font-semibold text-xs\">Retries:</span>\n <span className=\"ml-2 text-xs\">{source.config.retries || \"Default (3)\"}</span>\n </div>\n )}\n {source.config.backoff && (\n <div>\n <span className=\"font-semibold text-xs\">Backoff:</span>\n <span className=\"ml-2 text-xs\">\n {source.config.backoff.type || \"Default (exponential)\"} ({source.config.backoff.delay || \"Default (2000)\"}ms)\n </span>\n </div>\n )}\n </div>\n </TooltipContent>\n </Tooltip>\n ) : (\n <span className=\"text-muted-foreground\">-</span>\n )}\n </TableCell>\n <TableCell className=\"text-right\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => handleTriggerSource(\n source.id,\n source.name,\n source.config.queue,\n source.config.params\n )}\n title=\"Manually trigger source\"\n >\n <Play className=\"h-4 w-4\" />\n </Button>\n </TableCell>\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </div>\n </TooltipProvider>\n ) : (\n <div className=\"text-center text-muted-foreground p-5 border rounded-md\">\n No sources found.\n </div>\n )}\n </CardContent>\n </Card>\n\n <Collapsible open={sourcesOpen} onOpenChange={setSourcesOpen}>\n <Card className=\"bg-none border-0 rounded-none\">\n <CardHeader>\n <CollapsibleTrigger asChild>\n <div className=\"flex items-center justify-between cursor-pointer\">\n <CardTitle>Queues</CardTitle>\n <Button variant=\"ghost\" size=\"sm\" className=\"h-8 w-8 p-0\">\n <ChevronDown className={`h-4 w-4 transition-transform ${sourcesOpen ? \"\" : \"-rotate-90\"}`} />\n <span className=\"sr-only\">Toggle sources</span>\n </Button>\n </div>\n </CollapsibleTrigger>\n </CardHeader>\n <CollapsibleContent>\n <CardContent>\n {\n queues.length > 0 ? (\n <div className=\"space-y-4\">\n {queues.map(queueName => (\n <div key={queueName}>\n <QueueManagement\n queueName={queueName}\n nameGenerator={(job) => {\n return `Source update`;\n }}\n retryJob={(job: QueueJob) => {\n if (!job.data?.source || !job.data?.context) {\n return;\n }\n // todo trigger job\n }}\n />\n </div>\n ))}\n </div>\n ) : <div className=\"text-center text-muted-foreground p-5 border rounded-md\">No queues found.</div>\n }\n </CardContent>\n </CollapsibleContent>\n </Card>\n </Collapsible>\n </div>\n ) : (\n <div className=\"p-8 text-center text-muted-foreground\">\n Context not found.\n </div>\n )}\n\n <Dialog open={dialogOpen} onOpenChange={(open) => {\n setDialogOpen(open);\n if (!open) {\n setParamValues({});\n setSelectedSource(null);\n }\n }}>\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Trigger Source</DialogTitle>\n <DialogDescription>\n {selectedSource?.queue ? (\n <>\n Are you sure you want to trigger <strong>{selectedSource.name}</strong>?\n <br />\n <br />\n A job will be scheduled and visible in the <Badge variant=\"outline\" className=\"mx-1\">{selectedSource.queue}</Badge> queue.\n </>\n ) : (\n <>\n Are you sure you want to trigger <strong>{selectedSource?.name}</strong>?\n <br />\n <br />\n The source will be executed immediately without queuing.\n </>\n )}\n </DialogDescription>\n </DialogHeader>\n\n {selectedSource?.params && selectedSource.params.length > 0 && (\n <div className=\"space-y-4 py-4\">\n <div className=\"text-sm font-medium\">Parameters</div>\n {selectedSource.params.map((param) => (\n <div key={param.name} className=\"space-y-2\">\n <Label htmlFor={param.name}>\n {param.name}\n {param.description && (\n <span className=\"ml-2 text-xs text-muted-foreground font-normal\">\n {param.description}\n </span>\n )}\n </Label>\n <Input\n id={param.name}\n value={paramValues[param.name] || ''}\n onChange={(e) => {\n setParamValues(prev => ({\n ...prev,\n [param.name]: e.target.value\n }));\n }}\n placeholder={param.default || ''}\n disabled={executingSource}\n />\n </div>\n ))}\n </div>\n )}\n\n <DialogFooter>\n <Button\n variant=\"outline\"\n onClick={() => setDialogOpen(false)}\n disabled={executingSource}\n >\n Cancel\n </Button>\n <Button\n onClick={confirmTrigger}\n disabled={executingSource}\n >\n {executingSource ? (\n <>\n <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />\n Executing...\n </>\n ) : (\n <>\n <Play className=\"mr-2 h-4 w-4\" />\n Trigger Source\n </>\n )}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </div>\n );\n}","\"use client\";\n\nimport { DataDisplay } from \"@/app/(application)/data/components/data-display\";\nimport * as React from \"react\";\nimport ContextsDashboard from \"../components/contexts-dashboard\";\nimport { ContextEmbeddings } from \"../components/embeddings\";\nimport { useQuery } from \"@apollo/client\";\nimport { GET_CONTEXT_BY_ID } from \"@/queries/queries\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { ExclamationTriangleIcon } from \"@radix-ui/react-icons\";\nimport { ContextSources } from \"../components/sources\";\n\nexport default function DataPage({\n params,\n}: { params: { query }; }) {\n\n const { data, loading, error } = useQuery(GET_CONTEXT_BY_ID, {\n skip: !params?.query?.[0],\n variables: {\n id: params?.query?.[0]\n }\n })\n\n if (!params.query) {\n return <div className=\"grow flex flex-col\">\n <ContextsDashboard />\n </div>;\n }\n\n const context = params.query[0] || null;\n const archived = params.query[1] === \"archived\" || false;\n const sources = params.query[1] === \"sources\" || false;\n const embeddings = params.query[1] === \"embeddings\" || false;\n\n if (sources) {\n return <ContextSources expand={true} actions={true} context={context} />;\n }\n\n if (embeddings) {\n return <ContextEmbeddings expand={true} actions={true} context={context} />;\n }\n\n let item = null;\n if (archived) {\n item = params.query[2] || null;\n } else if (!sources && !embeddings) {\n item = params.query[1] || null;\n }\n\n if (loading || !data?.contextById) {\n return (\n <div className=\"p-8 text-center text-muted-foreground\">\n <Skeleton className=\"w-full h-[80px] rounded-md\" />\n <Skeleton className=\"w-full h-[50px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n <Skeleton className=\"w-full h-[80px] rounded-md mt-3\" />\n </div>\n )\n }\n\n if (error) {\n return (\n <Alert variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n {error?.message || \"Error loading item.\"}\n </AlertDescription>\n </Alert>\n )\n }\n\n return (\n <DataDisplay\n actions={true}\n context={data?.contextById}\n itemId={item}\n />\n );\n}\n","\"use client\";\n\nimport { ChevronLeft, ChevronRight } from \"lucide-react\";\nimport * as React from \"react\";\nimport { DayPicker } from \"react-day-picker\";\n\nimport { buttonVariants } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0\",\n month: \"space-y-4\",\n caption: \"flex justify-center pt-1 relative items-center\",\n caption_label: \"text-sm font-medium\",\n nav: \"space-x-1 flex items-center\",\n nav_button: cn(\n buttonVariants({ variant: \"outline\" }),\n \"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100\",\n ),\n nav_button_previous: \"absolute left-1\",\n nav_button_next: \"absolute right-1\",\n table: \"w-full border-collapse space-y-1\",\n head_row: \"flex\",\n head_cell:\n \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n row: \"flex w-full mt-2\",\n cell: \"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20\",\n day: cn(\n buttonVariants({ variant: \"ghost\" }),\n \"h-9 w-9 p-0 font-normal aria-selected:opacity-100\",\n ),\n day_range_end: \"day-range-end\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside:\n \"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n day_hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n IconLeft: ({ ...props }) => <ChevronLeft className=\"size-4\" />,\n IconRight: ({ ...props }) => <ChevronRight className=\"size-4\" />,\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = \"Calendar\";\n\nexport { Calendar };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { CalendarIcon } from \"@radix-ui/react-icons\";\nimport { format, subDays, differenceInDays, addDays } from \"date-fns\";\nimport { DateRange } from \"react-day-picker\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/ui/button\";\nimport { Calendar } from \"@/components/ui/calendar\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\n\ninterface DateRangeSelectorProps {\n dateRange: DateRange | undefined;\n maxDays?: number;\n onDateRangeChange: (dateRange: DateRange | undefined) => void;\n className?: string;\n}\n\nexport function DateRangeSelector({ dateRange, onDateRangeChange, className, maxDays = 30 }: DateRangeSelectorProps) {\n const { toast } = useToast();\n\n const handleDateRangeChange = (newRange: DateRange | undefined) => {\n if (newRange?.from && newRange?.to) {\n const daysDifference = differenceInDays(newRange.to, newRange.from);\n if (daysDifference > maxDays) {\n // Show toast notification\n toast({\n title: \"Date range too large\",\n description: `Please select a date range of ${maxDays} days or less.`,\n variant: \"destructive\",\n });\n return;\n }\n }\n onDateRangeChange(newRange);\n };\n\n // Disable dates that would create a range > maxDays\n const disabledDays = React.useMemo(() => {\n if (!dateRange?.from) return [];\n \n const fromDate = dateRange.from;\n const minDate = addDays(fromDate, -maxDays);\n const maxDate = addDays(fromDate, maxDays);\n \n return [\n { before: minDate },\n { after: maxDate }\n ];\n }, [dateRange?.from, maxDays]);\n\n return (\n <div className={cn(\"grid gap-2\", className)}>\n <Popover>\n <PopoverTrigger asChild>\n <Button\n id=\"date\"\n variant={\"outline\"}\n className={cn(\n \"w-[260px] justify-start text-left font-normal\",\n !dateRange && \"text-muted-foreground\"\n )}\n >\n <CalendarIcon className=\"mr-2 h-4 w-4\" />\n {dateRange?.from ? (\n dateRange.to ? (\n <>\n {format(dateRange.from, \"LLL dd, y\")} -{\" \"}\n {format(dateRange.to, \"LLL dd, y\")}\n </>\n ) : (\n format(dateRange.from, \"LLL dd, y\")\n )\n ) : (\n <span>Pick a date range</span>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"end\">\n <Calendar\n initialFocus\n mode=\"range\"\n defaultMonth={dateRange?.from}\n selected={dateRange}\n onSelect={handleDateRangeChange}\n disabled={disabledDays}\n numberOfMonths={2}\n />\n <div className=\"p-3 pt-0 text-xs text-muted-foreground border-t\">\n Maximum range: {maxDays} days\n </div>\n </PopoverContent>\n </Popover>\n </div>\n );\n}","\"use client\";\n\nimport * as React from \"react\";\nimport { useQuery } from \"@apollo/client\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { GET_DONUT_STATISTICS } from \"@/queries/queries\";\nimport { STATISTICS_TYPE } from \"@/types/enums/statistics\";\nimport { PieChart, Pie, Cell } from 'recharts';\nimport { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, type ChartConfig } from \"@/components/ui/chart\";\nimport { DateRange } from \"react-day-picker\";\n\ninterface DonutChartProps {\n groupByOptions: { label: string, value: string }[];\n dateRange: DateRange | undefined;\n selectedType: STATISTICS_TYPE;\n groupBy: string;\n onGroupByChange: (groupBy: string) => void;\n unit: \"tokens\" | \"count\";\n}\n\nconst CHART_COLORS = [\n \"hsl(var(--chart-1))\",\n \"hsl(var(--chart-2))\",\n \"hsl(var(--chart-3))\",\n \"hsl(var(--chart-4))\",\n \"hsl(var(--chart-5))\",\n \"hsl(var(--chart-6))\",\n \"hsl(var(--chart-7))\",\n \"hsl(var(--chart-8))\",\n \"hsl(var(--chart-9))\",\n \"hsl(var(--chart-10))\"\n];\n\nfunction transformGroupValue(value: string): string {\n if (!value || typeof value !== 'string') return 'Unknown';\n\n // Handle various formats and make them user-friendly\n return value\n .replace(/_/g, ' ')\n .split(' ')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n}\n\nexport function DonutChart({ groupByOptions, dateRange, selectedType, groupBy, onGroupByChange, unit }: DonutChartProps) {\n const { data, loading, error } = useQuery(GET_DONUT_STATISTICS, {\n variables: {\n type: selectedType,\n groupBy,\n from: dateRange?.from?.toISOString(),\n to: dateRange?.to?.toISOString(),\n names: unit === \"tokens\" ? [\"inputTokens\", \"outputTokens\"] : [\"count\"]\n },\n skip: !dateRange?.from || !dateRange?.to\n });\n\n const { chartData, chartConfig } = React.useMemo(() => {\n if (!data?.trackingStatistics) return { chartData: [], chartConfig: {} };\n\n const sortedData = data.trackingStatistics\n .map((item: any, index: number) => ({\n name: transformGroupValue(item?.group),\n value: item?.count,\n fill: CHART_COLORS[index % CHART_COLORS.length]\n }))\n .sort((a: any, b: any) => b.value - a.value); // Sort by count descending\n\n const config: ChartConfig = sortedData.reduce((acc: any, item: any, index: number) => {\n acc[item.name] = {\n label: item.name,\n color: CHART_COLORS[index % CHART_COLORS.length],\n };\n return acc;\n }, {});\n\n return { chartData: sortedData, chartConfig: config };\n }, [data]);\n\n const renderCustomLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, index }: any) => {\n if (percent < 0.05) return null; // Don't show labels for slices less than 5%\n\n const RADIAN = Math.PI / 180;\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const x = cx + radius * Math.cos(-midAngle * RADIAN);\n const y = cy + radius * Math.sin(-midAngle * RADIAN);\n\n return (\n <text\n x={x}\n y={y}\n fill=\"black\"\n textAnchor={x > cx ? 'start' : 'end'}\n dominantBaseline=\"central\"\n fontSize=\"12\"\n fontWeight=\"600\"\n paintOrder=\"stroke\"\n >\n {`${(percent * 100).toFixed(0)}%`}\n </text>\n );\n };\n\n return (\n <div className=\"flex flex-col h-full\">\n <div className=\"flex items-center justify-between mb-4\">\n <h3 className=\"text-xl font-semibold\">Distribution</h3>\n {groupByOptions.length > 0 && (\n <div className=\"w-full max-w-[150px]\">\n <Select value={groupBy} onValueChange={onGroupByChange}>\n <SelectTrigger>\n <SelectValue placeholder=\"Group by\" />\n </SelectTrigger>\n <SelectContent>\n {groupByOptions.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n </div>\n\n <div className=\"flex-1 min-h-0\">\n {loading ? (\n <div className=\"space-y-4 h-full\">\n <Skeleton className=\"h-full w-full\" />\n </div>\n ) : error ? (\n <div className=\"flex items-center justify-center h-full text-red-500\">\n Error loading distribution data: {error.message}\n </div>\n ) : chartData.length === 0 ? (\n <div className=\"flex items-center justify-center h-full text-muted-foreground text-center\">\n No data available for the selected date range, type, and grouping.\n </div>\n ) : (\n <ChartContainer config={chartConfig} className=\"h-full w-full\">\n <PieChart>\n <defs>\n {chartData.map((entry: any, index: number) => (\n <radialGradient\n key={`gradient-${index}`}\n id={`gradient-${entry.name.replace(/\\s+/g, '-')}`}\n cx=\"50%\"\n cy=\"50%\"\n r=\"50%\"\n >\n <stop\n offset=\"0%\"\n stopColor={entry.fill}\n stopOpacity={1}\n />\n <stop\n offset=\"100%\"\n stopColor={entry.fill}\n stopOpacity={0.8}\n />\n </radialGradient>\n ))}\n </defs>\n <Pie\n data={chartData}\n cx=\"50%\"\n cy=\"50%\"\n labelLine={false}\n label={renderCustomLabel}\n outerRadius=\"75%\"\n innerRadius=\"45%\"\n dataKey=\"value\"\n strokeWidth={3}\n >\n {chartData.map((entry: any, index: number) => (\n <Cell\n key={`cell-${index}`}\n fill={`url(#gradient-${entry.name.replace(/\\s+/g, '-')})`}\n />\n ))}\n </Pie>\n <ChartTooltip\n content={\n <ChartTooltipContent\n nameKey=\"name\"\n hideLabel\n formatter={(value: any, name: any) => [\n typeof value === 'number' ? value.toLocaleString() : value,\n \" \" + String(name)\n ]}\n />\n }\n />\n </PieChart>\n </ChartContainer>\n )}\n </div>\n </div>\n );\n}","\"use client\";\n\nimport * as React from \"react\";\nimport { useQuery } from \"@apollo/client\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { GET_TIME_SERIES_STATISTICS } from \"@/queries/queries\";\nimport { STATISTICS_TYPE } from \"@/types/enums/statistics\";\nimport { XAxis, YAxis, CartesianGrid, Area, AreaChart } from 'recharts';\nimport { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, type ChartConfig } from \"@/components/ui/chart\";\nimport { format, eachDayOfInterval, startOfDay } from \"date-fns\";\nimport { DateRange } from \"react-day-picker\";\n\ninterface TimeSeriesChartProps {\n dateRange: DateRange | undefined;\n selectedType: STATISTICS_TYPE;\n onTypeChange: (type: STATISTICS_TYPE) => void;\n onUnitChange: (unit: 'tokens' | 'count') => void;\n dataTypes: string[];\n unit: 'tokens' | 'count';\n unitOptions: { label: string, value: string }[];\n}\n\nfunction transformEnumToLabel(enumValue: string): string {\n return enumValue\n .split('_')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n}\n\nconst chartConfig = {\n count: {\n label: \"Count\",\n color: \"hsl(var(--muted-foreground))\",\n },\n} satisfies ChartConfig\n\nexport function TimeSeriesChart({ dataTypes, dateRange, selectedType, onTypeChange, onUnitChange, unit, unitOptions }: TimeSeriesChartProps) {\n const { data, loading, error } = useQuery(GET_TIME_SERIES_STATISTICS, {\n variables: {\n type: selectedType,\n name: unit,\n from: dateRange?.from?.toISOString(),\n to: dateRange?.to?.toISOString(),\n names: [unit]\n },\n skip: !dateRange?.from || !dateRange?.to\n });\n\n const chartData = React.useMemo(() => {\n if (!data?.trackingStatistics || !dateRange?.from || !dateRange?.to) return [];\n\n // Transform API data into a map for quick lookup\n const dataMap = new Map();\n data.trackingStatistics.forEach((item: any) => {\n const dateObj = new Date(typeof item.group === 'number' ? item.group : Number(item.group));\n const dateKey = format(startOfDay(dateObj), 'yyyy-MM-dd');\n dataMap.set(dateKey, item.count);\n });\n\n // Generate all dates in the range\n const allDates = eachDayOfInterval({\n start: startOfDay(dateRange.from),\n end: startOfDay(dateRange.to)\n });\n\n // Fill gaps with zero values\n return allDates.map(date => {\n const dateKey = format(date, 'yyyy-MM-dd');\n const count = dataMap.get(dateKey) || 0;\n\n return {\n date: date.getTime(),\n count: count,\n formattedDate: format(date, 'MMM dd'),\n dateObj: date\n };\n });\n }, [data, dateRange]);\n\n return (\n <div className=\"flex flex-col h-full\">\n <div className=\"flex items-center justify-between mb-4\">\n <h3 className=\"text-xl font-semibold\">Time Series Analytics</h3>\n <div className=\"flex items-center gap-2\">\n <div className=\"w-[150px]\">\n <Select value={selectedType} onValueChange={(value) => onTypeChange(value as STATISTICS_TYPE)}>\n <SelectTrigger>\n <SelectValue placeholder=\"Select data type\" />\n </SelectTrigger>\n <SelectContent>\n {dataTypes?.map((type) => (\n <SelectItem key={type} value={type}>\n {transformEnumToLabel(type) + \" \"}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n {\n unitOptions?.length > 1 && (<div className=\"w-[150px]\">\n <Select value={unit} onValueChange={(value) => onUnitChange(value as 'tokens' | 'count')}>\n <SelectTrigger>\n <SelectValue placeholder=\"Select unit\" />\n </SelectTrigger>\n <SelectContent>\n {unitOptions?.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>)\n }\n </div>\n </div>\n\n <div className=\"flex-1 min-h-0\">\n {loading ? (\n <div className=\"space-y-4 h-full\">\n <Skeleton className=\"h-full w-full\" />\n </div>\n ) : error ? (\n <div className=\"flex items-center justify-center h-full text-red-500\">\n Error loading time series data: {error.message}\n </div>\n ) : chartData.length === 0 ? (\n <div className=\"flex items-center justify-center h-full text-muted-foreground\">\n No data available for the selected date range and type\n </div>\n ) : (\n <ChartContainer config={chartConfig} className=\"h-full w-full\">\n <AreaChart data={chartData}>\n <defs>\n <linearGradient id=\"fillCount\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop\n offset=\"5%\"\n stopColor=\"hsl(var(--muted-foreground))\"\n stopOpacity={0.3}\n />\n <stop\n offset=\"95%\"\n stopColor=\"hsl(var(--muted-foreground))\"\n stopOpacity={0.05}\n />\n </linearGradient>\n <linearGradient id=\"strokeCount\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\">\n <stop\n offset=\"0%\"\n stopColor=\"hsl(var(--muted-foreground))\"\n stopOpacity={0.8}\n />\n <stop\n offset=\"100%\"\n stopColor=\"hsl(var(--muted-foreground))\"\n stopOpacity={0.6}\n />\n </linearGradient>\n </defs>\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"hsl(var(--muted-foreground))\"\n strokeOpacity={0.3}\n vertical={false}\n />\n <XAxis\n dataKey=\"formattedDate\"\n tick={{ fontSize: 12, fill: \"hsl(var(--muted-foreground))\" }}\n tickLine={{ stroke: \"hsl(var(--muted-foreground))\", strokeOpacity: 0.5 }}\n axisLine={{ stroke: \"hsl(var(--muted-foreground))\", strokeOpacity: 0.5 }}\n />\n <YAxis\n tick={{ fontSize: 12, fill: \"hsl(var(--muted-foreground))\" }}\n tickLine={{ stroke: \"hsl(var(--muted-foreground))\", strokeOpacity: 0.5 }}\n axisLine={{ stroke: \"hsl(var(--muted-foreground))\", strokeOpacity: 0.5 }}\n />\n <ChartTooltip\n labelFormatter={(label: any, payload: any) => {\n if (payload && payload[0]) {\n return format(payload[0].payload.dateObj, 'PPP') + \" \";\n }\n return label;\n }}\n content={<ChartTooltipContent\n nameKey=\"name\"\n hideLabel\n formatter={(value: any, name: any) => [\n typeof value === 'number' ? value.toLocaleString() : value,\n \" \" + String(name)\n ]}\n />}\n />\n <ChartLegend content={<ChartLegendContent />} />\n <Area\n type=\"monotone\"\n dataKey=\"count\"\n stroke=\"url(#strokeCount)\"\n strokeWidth={3}\n fill=\"url(#fillCount)\"\n fillOpacity={0.6}\n dot={{\n fill: \"hsl(var(--muted-foreground))\",\n strokeWidth: 2,\n r: 4,\n strokeOpacity: 0.8\n }}\n activeDot={{\n r: 6,\n strokeWidth: 2,\n fill: \"hsl(var(--background))\",\n stroke: \"hsl(var(--muted-foreground))\",\n strokeOpacity: 1\n }}\n name={transformEnumToLabel(selectedType)}\n />\n </AreaChart>\n </ChartContainer>\n )}\n </div>\n </div>\n );\n}","export function TruncatedText({ text, length }: { text: string, length: number }) {\n if (text.length > length) {\n return <>{text.slice(0, length)}...</>\n } else {\n return <>{text}</>;\n }\n}","\"use client\";\n\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\nimport * as React from \"react\";\n\nimport { buttonVariants } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\n\nconst AlertDialog = AlertDialogPrimitive.Root;\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger;\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal;\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className,\n )}\n {...props}\n />\n </AlertDialogPortal>\n));\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\n\nconst AlertDialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nAlertDialogHeader.displayName = \"AlertDialogHeader\";\n\nconst AlertDialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nAlertDialogFooter.displayName = \"AlertDialogFooter\";\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n));\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nAlertDialogDescription.displayName =\n AlertDialogPrimitive.Description.displayName;\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants(), className)}\n {...props}\n />\n));\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(\n buttonVariants({ variant: \"outline\" }),\n \"mt-2 sm:mt-0\",\n className,\n )}\n {...props}\n />\n));\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n};\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"@/lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n})\nChartContainer.displayName = \"Chart\"\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n }\n>(\n (\n {\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref\n ) => {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n }\n)\nChartTooltipContent.displayName = \"ChartTooltip\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n }\n>(\n (\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\n ref\n ) => {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n));\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]\",\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]\",\n className,\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Archive\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/archive\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Archive = createLucideIcon('Archive', [\n ['rect', { width: '20', height: '5', x: '2', y: '3', rx: '1', key: '1wp1u1' }],\n ['path', { d: 'M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8', key: '1s80jp' }],\n ['path', { d: 'M10 12h4', key: 'a56b0p' }],\n]);\n\nexport default Archive;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name PackageOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/package-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst PackageOpen = createLucideIcon('PackageOpen', [\n [\n 'path',\n {\n d: 'M20.91 8.84 8.56 2.23a1.93 1.93 0 0 0-1.81 0L3.1 4.13a2.12 2.12 0 0 0-.05 3.69l12.22 6.93a2 2 0 0 0 1.94 0L21 12.51a2.12 2.12 0 0 0-.09-3.67Z',\n key: '1vy178',\n },\n ],\n [\n 'path',\n {\n d: 'm3.09 8.84 12.35-6.61a1.93 1.93 0 0 1 1.81 0l3.65 1.9a2.12 2.12 0 0 1 .1 3.69L8.73 14.75a2 2 0 0 1-1.94 0L3 12.51a2.12 2.12 0 0 1 .09-3.67Z',\n key: 's3bv25',\n },\n ],\n ['line', { x1: '12', x2: '12', y1: '22', y2: '13', key: '1o4xyi' }],\n [\n 'path',\n {\n d: 'M20 13.5v3.37a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13.5',\n key: '1na2nq',\n },\n ],\n]);\n\nexport default PackageOpen;\n","export type STATISTICS_TYPE = \"CONTEXT_RETRIEVE\" | \"SOURCE_UPDATE\" | \"EMBEDDER_UPSERT\" | \"EMBEDDER_GENERATE\" | \"EMBEDDER_DELETE\" | \"WORKFLOW_RUN\" | \"CONTEXT_UPSERT\" | \"TOOL_CALL\" | \"AGENT_RUN\";\n\nexport const STATISTICS_TYPE_ENUM = {\n CONTEXT_RETRIEVE: \"CONTEXT_RETRIEVE\",\n SOURCE_UPDATE: \"SOURCE_UPDATE\",\n EMBEDDER_UPSERT: \"EMBEDDER_UPSERT\",\n EMBEDDER_GENERATE: \"EMBEDDER_GENERATE\",\n EMBEDDER_DELETE: \"EMBEDDER_DELETE\",\n WORKFLOW_RUN: \"WORKFLOW_RUN\",\n CONTEXT_UPSERT: \"CONTEXT_UPSERT\",\n TOOL_CALL: \"TOOL_CALL\",\n AGENT_RUN: \"AGENT_RUN\"\n};\n"],"names":["Promise","resolve","then","__webpack_require__","bind","XSquare","createLucideIcon","width","height","x","y","rx","ry","key","d","Expand","MessageCirclePlus","DataDisplay","props","context","data","updateItemMutationResult","setData","useState","toast","useToast","router","useRouter","rbac","setRbac","fields","map","field","name","console","log","loading","error","refetch","useQuery","GET_ITEM_BY_ID","id","skip","itemId","variables","fetchPolicy","nextFetchPolicy","onCompleted","item","tags","split","rights_mode","users","RBAC","roles","projects","useEffect","updateItemMutation","useMutation","UPDATE_ITEM","title","description","onError","message","deleteItemMutation","deleteItemMutationResult","DELETE_ITEM","generateChunksMutation","generateChunksMutationResult","GENERATE_CHUNKS","jobs","length","deleteChunksMutation","deleteChunksMutationResult","DELETE_CHUNKS","processFieldMutation","processFieldMutationResult","PROCESS_ITEM_FIELD","itemFormSchema","z","nullable","optional","external_id","min","max","reduce","acc","form","useForm","resolver","zodResolver","defaultValues","mode","handleTags","e","target","value","values","Array","isArray","push","setValue","join","editing","setEditing","expandedField","setExpandedField","confirmationModal","setConfirmationModal","text","jsx_runtime","jsxs","div","className","jsx","Skeleton","Alert","variant","ExclamationTriangleIcon","AlertTitle","AlertDescription","Fragment","actions","archived","Tooltip","TooltipTrigger","asChild","Button","onClick","input","size","disabled","Loading","PackageOpen","span","TooltipContent","Trash2","Archive","textlength","externalId","source","SaveIcon","Edit","Separator","cn","h3","Form","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","FormField","control","render","param","FormItem","FormControl","Input","type","onChange","placeholder","FormMessage","navigator","clipboard","writeText","slice","onKeyUp","index","Badge","splice","XCircle","concat","Textarea","autoFocus","Dialog","DialogTrigger","DialogContent","DialogHeader","DialogTitle","rows","newValue","prev","TextPreview","contextField","label","calculated","processor","Switch","checked","onCheckedChange","FileDataCard","s3key","UppyDashboard","buttonText","allowedFileTypes","dependencies","selectionLimit","onConfirm","keys","CodePreview","code","language","p","Card","Collapsible","CardHeader","CollapsibleTrigger","ChevronsUpDown","CollapsibleContent","CardContent","RBACControl","initialRightsMode","initialUsers","initialRoles","initialProjects","h1","DropdownMenu","modal","DropdownMenuTrigger","MoreVertical","DropdownMenuContent","align","DropdownMenuItem","TableCaption","chunks","chunk","chunk_index","content","embedding_size","Date","chunk_created_at","toLocaleString","chunk_updated_at","AlertDialog","open","onOpenChange","AlertDialogContent","AlertDialogHeader","AlertDialogTitle","AlertDialogDescription","AlertDialogFooter","AlertDialogCancel","AlertDialogAction","where","eq","ContextsDashboard","unit","setUnit","dateRange","setDateRange","from","subDays","to","selectedType","setSelectedType","groupBy","setGroupBy","h2","DateRangeSelector","onDateRangeChange","maxDays","TimeSeriesChart","onTypeChange","unitOptions","onUnitChange","dataTypes","STATISTICS_TYPE_ENUM","CONTEXT_RETRIEVE","CONTEXT_UPSERT","DonutChart","groupByOptions","onGroupByChange","RecentEmbeddings","contextId","twentyOneDaysAgoRef","useRef","now","toISOString","raw","previousData","GET_ITEMS","page","limit","filters","embeddings_updated_at","gte","current","sort","direction","PAGINATION_POSTFIX","Loader2","CardTitle","CardDescription","items","Link","href","TruncatedText","formatDistanceToNow","addSuffix","ContextEmbeddings","embedderConfigsData","variablesData","sourcesOpen","setSourcesOpen","embeddingsOpen","setEmbeddingsOpen","GET_CONTEXT_BY_ID","contextById","updateEmbedderConfigs","updateEmbedderConfigsResult","UPDATE_EMBEDDER_CONFIG","refetchEmbedderConfigs","createEmbedderConfig","createEmbedderConfigResult","CREATE_EMBEDDER_CONFIG","loadingEmbedderConfigsData","GET_EMBEDDER_CONFIGS","embedder","embedderConfigs","embedder_settingsPagination","GET_VARIABLES","variablesPagination","ArrowLeft","ScrollArea","configuration","calculateVectors","charAt","toUpperCase","b","config","currentValue","find","VariableSelectionElement","configItem","onVariableSelect","variableName","ContextSources","dialogOpen","setDialogOpen","selectedSource","setSelectedSource","paramValues","setParamValues","executeSource","executingSource","EXECUTE_SOURCE","result","success","undefined","handleTriggerSource","sourceId","sourceName","queueName","params","queue","initialValues","forEach","default","queues","Set","sources","filter","Boolean","TooltipProvider","hasQueueConfig","schedule","retries","backoff","delay","Play","ChevronDown","QueueManagement","nameGenerator","retryJob","job","DialogDescription","strong","br","Label","htmlFor","DialogFooter","inputs","DataPage","query","embeddings","expand","Calendar","classNames","showOutsideDays","DayPicker","months","month","caption","caption_label","nav","nav_button","buttonVariants","nav_button_previous","nav_button_next","table","head_row","head_cell","row","cell","day","day_range_end","day_selected","day_today","day_outside","day_disabled","day_range_middle","day_hidden","components","IconLeft","ChevronLeft","IconRight","ChevronRight","displayName","disabledDays","React","fromDate","before","addDays","after","Popover","PopoverTrigger","CalendarIcon","format","PopoverContent","initialFocus","defaultMonth","selected","onSelect","newRange","daysDifference","differenceInDays","numberOfMonths","CHART_COLORS","GET_DONUT_STATISTICS","names","chartData","chartConfig","trackingStatistics","sortedData","group","replace","word","toLowerCase","count","fill","a","color","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","Select","onValueChange","SelectTrigger","SelectValue","SelectContent","SelectItem","option","ChartContainer","PieChart","defs","entry","radialGradient","cx","cy","r","stop","offset","stopColor","stopOpacity","Pie","labelLine","midAngle","innerRadius","outerRadius","percent","RADIAN","Math","PI","radius","cos","sin","textAnchor","dominantBaseline","fontSize","fontWeight","paintOrder","toFixed","dataKey","strokeWidth","Cell","ChartTooltip","ChartTooltipContent","nameKey","hideLabel","formatter","String","transformEnumToLabel","enumValue","GET_TIME_SERIES_STATISTICS","dataMap","Map","dateObj","Number","dateKey","startOfDay","set","allDates","eachDayOfInterval","start","end","date","get","getTime","formattedDate","AreaChart","linearGradient","x1","y1","x2","y2","CartesianGrid","strokeDasharray","stroke","strokeOpacity","vertical","XAxis","tick","tickLine","axisLine","YAxis","labelFormatter","payload","ChartLegend","ChartLegendContent","Area","fillOpacity","dot","activeDot","AlertDialogPrimitive","AlertDialogPortal","AlertDialogOverlay","ref","THEMES","light","dark","ChartContext","useChart","children","uniqueId","chartId","Provider","data-chart","ChartStyle","RechartsPrimitive","colorConfig","Object","entries","theme","style","dangerouslySetInnerHTML","__html","prefix","itemConfig","active","indicator","hideIndicator","labelClassName","labelKey","tooltipLabel","getPayloadConfigFromPayload","nestLabel","indicatorColor","icon","hideIcon","verticalAlign","backgroundColor","payloadPayload","configLabelKey","thead","tbody","TableFooter","tfoot","tr","th","td","SOURCE_UPDATE","EMBEDDER_UPSERT","EMBEDDER_GENERATE","EMBEDDER_DELETE","WORKFLOW_RUN","TOOL_CALL","AGENT_RUN"],"sourceRoot":""}
|