diff --git a/surfsense_backend/alembic/versions/56_add_circleback_connector_enums.py b/surfsense_backend/alembic/versions/56_add_circleback_connector_enums.py index 0c06ea139..c4ca93efa 100644 --- a/surfsense_backend/alembic/versions/56_add_circleback_connector_enums.py +++ b/surfsense_backend/alembic/versions/56_add_circleback_connector_enums.py @@ -26,10 +26,16 @@ def upgrade() -> None: connection.execute(text("COMMIT")) # Add to documenttype enum (must be outside transaction) - connection.execute(text("ALTER TYPE documenttype ADD VALUE IF NOT EXISTS 'CIRCLEBACK'")) + connection.execute( + text("ALTER TYPE documenttype ADD VALUE IF NOT EXISTS 'CIRCLEBACK'") + ) # Add to searchsourceconnectortype enum - connection.execute(text("ALTER TYPE searchsourceconnectortype ADD VALUE IF NOT EXISTS 'CIRCLEBACK_CONNECTOR'")) + connection.execute( + text( + "ALTER TYPE searchsourceconnectortype ADD VALUE IF NOT EXISTS 'CIRCLEBACK_CONNECTOR'" + ) + ) def downgrade() -> None: diff --git a/surfsense_backend/app/schemas/__init__.py b/surfsense_backend/app/schemas/__init__.py index 751fd5af7..a8bde7ed9 100644 --- a/surfsense_backend/app/schemas/__init__.py +++ b/surfsense_backend/app/schemas/__init__.py @@ -80,12 +80,12 @@ __all__ = [ "DefaultSystemInstructionsResponse", # Document schemas "DocumentBase", - # Google Drive schemas - "DriveItem", "DocumentRead", "DocumentUpdate", "DocumentWithChunksRead", "DocumentsCreate", + # Google Drive schemas + "DriveItem", "ExtensionDocumentContent", "ExtensionDocumentMetadata", "GlobalNewLLMConfigRead", diff --git a/surfsense_backend/app/schemas/google_drive.py b/surfsense_backend/app/schemas/google_drive.py index d8b79e388..3f57b92ca 100644 --- a/surfsense_backend/app/schemas/google_drive.py +++ b/surfsense_backend/app/schemas/google_drive.py @@ -39,4 +39,3 @@ class GoogleDriveIndexRequest(BaseModel): def get_file_names(self) -> list[str]: """Get list of file names.""" return [file.name for file in self.files] - diff --git a/surfsense_backend/app/services/connector_service.py b/surfsense_backend/app/services/connector_service.py index 26c687dd7..4e874729c 100644 --- a/surfsense_backend/app/services/connector_service.py +++ b/surfsense_backend/app/services/connector_service.py @@ -2659,9 +2659,7 @@ class ConnectorService: def _url_fn(_doc_info: dict[str, Any], metadata: dict[str, Any]) -> str: meeting_id = metadata.get("circleback_meeting_id", "") return ( - f"https://app.circleback.ai/meetings/{meeting_id}" - if meeting_id - else "" + f"https://app.circleback.ai/meetings/{meeting_id}" if meeting_id else "" ) def _description_fn( @@ -2707,4 +2705,4 @@ class ConnectorService: "sources": sources_list, } - return result_object, circleback_docs \ No newline at end of file + return result_object, circleback_docs diff --git a/surfsense_backend/app/tasks/connector_indexers/google_drive_indexer.py b/surfsense_backend/app/tasks/connector_indexers/google_drive_indexer.py index 6ba9f31c3..343d44072 100644 --- a/surfsense_backend/app/tasks/connector_indexers/google_drive_indexer.py +++ b/surfsense_backend/app/tasks/connector_indexers/google_drive_indexer.py @@ -277,7 +277,9 @@ async def index_google_drive_single_file( ) await session.commit() - logger.info("Successfully committed Google Drive file indexing changes to database") + logger.info( + "Successfully committed Google Drive file indexing changes to database" + ) if indexed > 0: await task_logger.log_task_success( @@ -302,7 +304,7 @@ async def index_google_drive_single_file( await session.rollback() await task_logger.log_task_failure( log_entry, - f"Database error during file indexing", + "Database error during file indexing", str(db_error), {"error_type": "SQLAlchemyError"}, ) @@ -312,7 +314,7 @@ async def index_google_drive_single_file( await session.rollback() await task_logger.log_task_failure( log_entry, - f"Failed to index Google Drive file", + "Failed to index Google Drive file", str(e), {"error_type": type(e).__name__}, ) diff --git a/surfsense_web/app/dashboard/[search_space_id]/client-layout.tsx b/surfsense_web/app/dashboard/[search_space_id]/client-layout.tsx index 1335c8bcb..6e61ff7ac 100644 --- a/surfsense_web/app/dashboard/[search_space_id]/client-layout.tsx +++ b/surfsense_web/app/dashboard/[search_space_id]/client-layout.tsx @@ -14,13 +14,13 @@ import { llmPreferencesAtom, } from "@/atoms/new-llm-config/new-llm-config-query.atoms"; import { activeSearchSpaceIdAtom } from "@/atoms/search-spaces/search-space-query.atoms"; +import { DocumentUploadDialogProvider } from "@/components/assistant-ui/document-upload-popup"; import { DashboardBreadcrumb } from "@/components/dashboard-breadcrumb"; import { LanguageSwitcher } from "@/components/LanguageSwitcher"; import { AppSidebarProvider } from "@/components/sidebar/AppSidebarProvider"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; import { SidebarInset, SidebarProvider, SidebarTrigger } from "@/components/ui/sidebar"; -import { DocumentUploadDialogProvider } from "@/components/assistant-ui/document-upload-popup"; export function DashboardClientLayout({ children, diff --git a/surfsense_web/components/assistant-ui/assistant-message.tsx b/surfsense_web/components/assistant-ui/assistant-message.tsx index 0fd70800a..83c573e2f 100644 --- a/surfsense_web/components/assistant-ui/assistant-message.tsx +++ b/surfsense_web/components/assistant-ui/assistant-message.tsx @@ -8,6 +8,7 @@ import { import { CheckIcon, CopyIcon, DownloadIcon, RefreshCwIcon } from "lucide-react"; import type { FC } from "react"; import { useContext } from "react"; +import { BranchPicker } from "@/components/assistant-ui/branch-picker"; import { MarkdownText } from "@/components/assistant-ui/markdown-text"; import { ThinkingStepsContext, @@ -15,7 +16,6 @@ import { } from "@/components/assistant-ui/thinking-steps"; import { ToolFallback } from "@/components/assistant-ui/tool-fallback"; import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; -import { BranchPicker } from "@/components/assistant-ui/branch-picker"; export const MessageError: FC = () => { return ( diff --git a/surfsense_web/components/assistant-ui/attachment.tsx b/surfsense_web/components/assistant-ui/attachment.tsx index a117e745d..659790592 100644 --- a/surfsense_web/components/assistant-ui/attachment.tsx +++ b/surfsense_web/components/assistant-ui/attachment.tsx @@ -9,20 +9,20 @@ import { } from "@assistant-ui/react"; import { FileText, Loader2, Paperclip, PlusIcon, Upload, XIcon } from "lucide-react"; import Image from "next/image"; -import { type FC, type PropsWithChildren, useRef, useEffect, useState } from "react"; -import { useDocumentUploadDialog } from "./document-upload-popup"; +import { type FC, type PropsWithChildren, useEffect, useRef, useState } from "react"; import { useShallow } from "zustand/shallow"; import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; +import { Dialog, DialogContent, DialogTitle, DialogTrigger } from "@/components/ui/dialog"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; -import { Dialog, DialogContent, DialogTitle, DialogTrigger } from "@/components/ui/dialog"; import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"; import { cn } from "@/lib/utils"; +import { useDocumentUploadDialog } from "./document-upload-popup"; const useFileSrc = (file: File | undefined) => { const [src, setSrc] = useState(undefined); diff --git a/surfsense_web/components/assistant-ui/composer-action.tsx b/surfsense_web/components/assistant-ui/composer-action.tsx index 8d18ae2a9..6ec6c805a 100644 --- a/surfsense_web/components/assistant-ui/composer-action.tsx +++ b/surfsense_web/components/assistant-ui/composer-action.tsx @@ -1,6 +1,14 @@ import { AssistantIf, ComposerPrimitive, useAssistantState } from "@assistant-ui/react"; import { useAtomValue } from "jotai"; -import { AlertCircle, ArrowUpIcon, Loader2, Plus, Plug2, SquareIcon } from "lucide-react"; +import { + AlertCircle, + ArrowUpIcon, + ChevronRightIcon, + Loader2, + Plug2, + Plus, + SquareIcon, +} from "lucide-react"; import type { FC } from "react"; import { useCallback, useMemo, useRef, useState } from "react"; import { getDocumentTypeLabel } from "@/app/dashboard/[search_space_id]/documents/(manage)/components/DocumentTypeIcon"; @@ -18,7 +26,6 @@ import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover import { getConnectorIcon } from "@/contracts/enums/connectorIcons"; import { useSearchSourceConnectors } from "@/hooks/use-search-source-connectors"; import { cn } from "@/lib/utils"; -import { ChevronRightIcon } from "lucide-react"; const ConnectorIndicator: FC = () => { const searchSpaceId = useAtomValue(activeSearchSpaceIdAtom); diff --git a/surfsense_web/components/assistant-ui/connector-popup.tsx b/surfsense_web/components/assistant-ui/connector-popup.tsx index 621861529..a955e3972 100644 --- a/surfsense_web/components/assistant-ui/connector-popup.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup.tsx @@ -1,28 +1,28 @@ "use client"; +import { useQuery, useQueryClient } from "@tanstack/react-query"; import { useAtomValue } from "jotai"; import { Cable, Loader2 } from "lucide-react"; -import { type FC, useMemo, useEffect } from "react"; import { useSearchParams } from "next/navigation"; +import { type FC, useEffect, useMemo } from "react"; import { documentTypeCountsAtom } from "@/atoms/documents/document-query.atoms"; -import { useLogsSummary } from "@/hooks/use-logs"; import { activeSearchSpaceIdAtom } from "@/atoms/search-spaces/search-space-query.atoms"; -import { useQuery, useQueryClient } from "@tanstack/react-query"; -import { cacheKeys } from "@/lib/query-client/cache-keys"; -import { connectorsApiService } from "@/lib/apis/connectors-api.service"; +import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; import { Dialog, DialogContent } from "@/components/ui/dialog"; import { Tabs, TabsContent } from "@/components/ui/tabs"; -import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; -import { cn } from "@/lib/utils"; -import { AllConnectorsTab } from "./connector-popup/tabs/all-connectors-tab"; -import { ActiveConnectorsTab } from "./connector-popup/tabs/active-connectors-tab"; -import { ConnectorDialogHeader } from "./connector-popup/components/connector-dialog-header"; -import { ConnectorEditView } from "./connector-popup/connector-configs/views/connector-edit-view"; -import { ConnectorConnectView } from "./connector-popup/connector-configs/views/connector-connect-view"; -import { IndexingConfigurationView } from "./connector-popup/connector-configs/views/indexing-configuration-view"; -import { YouTubeCrawlerView } from "./connector-popup/views/youtube-crawler-view"; -import { useConnectorDialog } from "./connector-popup/hooks/use-connector-dialog"; import type { SearchSourceConnector } from "@/contracts/types/connector.types"; +import { useLogsSummary } from "@/hooks/use-logs"; +import { connectorsApiService } from "@/lib/apis/connectors-api.service"; +import { cacheKeys } from "@/lib/query-client/cache-keys"; +import { cn } from "@/lib/utils"; +import { ConnectorDialogHeader } from "./connector-popup/components/connector-dialog-header"; +import { ConnectorConnectView } from "./connector-popup/connector-configs/views/connector-connect-view"; +import { ConnectorEditView } from "./connector-popup/connector-configs/views/connector-edit-view"; +import { IndexingConfigurationView } from "./connector-popup/connector-configs/views/indexing-configuration-view"; +import { useConnectorDialog } from "./connector-popup/hooks/use-connector-dialog"; +import { ActiveConnectorsTab } from "./connector-popup/tabs/active-connectors-tab"; +import { AllConnectorsTab } from "./connector-popup/tabs/all-connectors-tab"; +import { YouTubeCrawlerView } from "./connector-popup/views/youtube-crawler-view"; export const ConnectorIndicator: FC = () => { const searchSpaceId = useAtomValue(activeSearchSpaceIdAtom); diff --git a/surfsense_web/components/assistant-ui/connector-popup/components/connector-card.tsx b/surfsense_web/components/assistant-ui/connector-popup/components/connector-card.tsx index 815683f5c..8cc36fd8e 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/components/connector-card.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/components/connector-card.tsx @@ -1,9 +1,9 @@ "use client"; import { IconBrandYoutube } from "@tabler/icons-react"; -import { FileText, Loader2 } from "lucide-react"; -import { type FC } from "react"; import { format } from "date-fns"; +import { FileText, Loader2 } from "lucide-react"; +import type { FC } from "react"; import { Button } from "@/components/ui/button"; import { getConnectorIcon } from "@/contracts/enums/connectorIcons"; import type { LogActiveTask } from "@/contracts/types/log.types"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/components/periodic-sync-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/components/periodic-sync-config.tsx index 5b8bd698e..0e1be72b8 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/components/periodic-sync-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/components/periodic-sync-config.tsx @@ -1,8 +1,7 @@ "use client"; -import { type FC } from "react"; +import type { FC } from "react"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -10,6 +9,7 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; interface PeriodicSyncConfigProps { enabled: boolean; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/baidu-search-api-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/baidu-search-api-connect-form.tsx index 677b92c5c..d8bd01209 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/baidu-search-api-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/baidu-search-api-connect-form.tsx @@ -18,8 +18,8 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const baiduSearchApiFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/bookstack-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/bookstack-connect-form.tsx index 8f6f3202f..b0488854f 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/bookstack-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/bookstack-connect-form.tsx @@ -3,7 +3,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Info } from "lucide-react"; import type { FC } from "react"; -import { useRef } from "react"; +import { useRef, useState } from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { @@ -24,7 +24,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -32,11 +31,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; -import { useState } from "react"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const bookstackConnectorFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/circleback-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/circleback-connect-form.tsx index 649db292b..75a3ab00b 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/circleback-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/circleback-connect-form.tsx @@ -18,8 +18,8 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const circlebackFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/clickup-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/clickup-connect-form.tsx index d0928184f..5be0045ff 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/clickup-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/clickup-connect-form.tsx @@ -3,7 +3,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Info } from "lucide-react"; import type { FC } from "react"; -import { useRef } from "react"; +import { useRef, useState } from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { @@ -24,7 +24,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -32,11 +31,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; -import { useState } from "react"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const clickupConnectorFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/confluence-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/confluence-connect-form.tsx index 1822fd055..9f0921bd8 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/confluence-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/confluence-connect-form.tsx @@ -3,7 +3,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Info } from "lucide-react"; import type { FC } from "react"; -import { useRef } from "react"; +import { useRef, useState } from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { @@ -24,7 +24,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -32,11 +31,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; -import { useState } from "react"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const confluenceConnectorFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/discord-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/discord-connect-form.tsx index bbff98b84..e0f253129 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/discord-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/discord-connect-form.tsx @@ -3,7 +3,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Info } from "lucide-react"; import type { FC } from "react"; -import { useRef } from "react"; +import { useRef, useState } from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { @@ -24,7 +24,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -32,11 +31,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; -import { useState } from "react"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const discordConnectorFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/elasticsearch-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/elasticsearch-connect-form.tsx index 459699298..24640f7e3 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/elasticsearch-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/elasticsearch-connect-form.tsx @@ -4,7 +4,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import * as RadioGroup from "@radix-ui/react-radio-group"; import { Info } from "lucide-react"; import type { FC } from "react"; -import { useId, useRef } from "react"; +import { useId, useRef, useState } from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { @@ -26,7 +26,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -34,11 +33,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; -import { useState } from "react"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const elasticsearchConnectorFormSchema = z .object({ diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/github-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/github-connect-form.tsx index 75c871747..772acb489 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/github-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/github-connect-form.tsx @@ -25,7 +25,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -33,10 +32,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const githubConnectorFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/jira-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/jira-connect-form.tsx index cfda61869..d048d9c66 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/jira-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/jira-connect-form.tsx @@ -3,7 +3,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Info } from "lucide-react"; import type { FC } from "react"; -import { useRef } from "react"; +import { useRef, useState } from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { @@ -24,7 +24,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -32,11 +31,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; -import { useState } from "react"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const jiraConnectorFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linear-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linear-connect-form.tsx index 37159d34f..f50500a77 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linear-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linear-connect-form.tsx @@ -3,7 +3,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Info } from "lucide-react"; import type { FC } from "react"; -import { useRef } from "react"; +import { useRef, useState } from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { @@ -24,7 +24,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -32,11 +31,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; -import { useState } from "react"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const linearConnectorFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linkup-api-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linkup-api-connect-form.tsx index df08e79fa..c51ca1bca 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linkup-api-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/linkup-api-connect-form.tsx @@ -18,8 +18,8 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const linkupApiFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/luma-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/luma-connect-form.tsx index 9f6f08026..2e95fb445 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/luma-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/luma-connect-form.tsx @@ -3,7 +3,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Info } from "lucide-react"; import type { FC } from "react"; -import { useRef } from "react"; +import { useRef, useState } from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { @@ -24,7 +24,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -32,11 +31,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; -import { useState } from "react"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const lumaConnectorFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/notion-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/notion-connect-form.tsx index d9a65fa8c..1907e90a2 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/notion-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/notion-connect-form.tsx @@ -3,7 +3,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Info } from "lucide-react"; import type { FC } from "react"; -import { useRef } from "react"; +import { useRef, useState } from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { @@ -24,7 +24,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -32,11 +31,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; -import { useState } from "react"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const notionConnectorFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/searxng-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/searxng-connect-form.tsx index 695ddb771..658d59d60 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/searxng-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/searxng-connect-form.tsx @@ -19,8 +19,8 @@ import { import { Input } from "@/components/ui/input"; import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const searxngFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/slack-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/slack-connect-form.tsx index 32716217a..da4605473 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/slack-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/slack-connect-form.tsx @@ -3,7 +3,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Info } from "lucide-react"; import type { FC } from "react"; -import { useRef } from "react"; +import { useRef, useState } from "react"; import { useForm } from "react-hook-form"; import * as z from "zod"; import { @@ -24,7 +24,6 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Switch } from "@/components/ui/switch"; import { Select, SelectContent, @@ -32,11 +31,11 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Switch } from "@/components/ui/switch"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; -import { getConnectorBenefits } from "../connector-benefits"; import { DateRangeSelector } from "../../components/date-range-selector"; -import { useState } from "react"; +import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const slackConnectorFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/tavily-api-connect-form.tsx b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/tavily-api-connect-form.tsx index 59018fda3..fc2533e6f 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/tavily-api-connect-form.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connect-forms/components/tavily-api-connect-form.tsx @@ -18,8 +18,8 @@ import { } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { EnumConnectorName } from "@/contracts/enums/connector"; -import type { ConnectFormProps } from "../index"; import { getConnectorBenefits } from "../connector-benefits"; +import type { ConnectFormProps } from "../index"; const tavilyApiFormSchema = z.object({ name: z.string().min(3, { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/baidu-search-api-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/baidu-search-api-config.tsx index e819bee74..f5a0bdf5f 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/baidu-search-api-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/baidu-search-api-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/bookstack-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/bookstack-config.tsx index 0c3221c43..ca287c652 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/bookstack-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/bookstack-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/circleback-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/circleback-config.tsx index 139f60883..568b47d09 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/circleback-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/circleback-config.tsx @@ -1,15 +1,15 @@ "use client"; -import { Copy, Webhook, Check, Info } from "lucide-react"; -import { useState, useEffect } from "react"; +import { Check, Copy, Info, Webhook } from "lucide-react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { z } from "zod"; +import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; +import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Button } from "@/components/ui/button"; -import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; -import type { ConnectorConfigProps } from "../index"; import { authenticatedFetch } from "@/lib/auth-utils"; +import type { ConnectorConfigProps } from "../index"; export interface CirclebackConfigProps extends ConnectorConfigProps { onNameChange?: (name: string) => void; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/clickup-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/clickup-config.tsx index f706b1658..7355d1c0c 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/clickup-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/clickup-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/confluence-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/confluence-config.tsx index aede42c76..c3a233406 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/confluence-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/confluence-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/discord-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/discord-config.tsx index 9f31d4131..377987637 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/discord-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/discord-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/elasticsearch-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/elasticsearch-config.tsx index 531c5d79a..3cae3fdde 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/elasticsearch-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/elasticsearch-config.tsx @@ -1,10 +1,9 @@ "use client"; -import { KeyRound, Server } from "lucide-react"; -import { useState, useEffect } from "react"; -import type { FC } from "react"; import * as RadioGroup from "@radix-ui/react-radio-group"; -import { useId } from "react"; +import { KeyRound, Server } from "lucide-react"; +import type { FC } from "react"; +import { useEffect, useId, useState } from "react"; import { Badge } from "@/components/ui/badge"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/github-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/github-config.tsx index 7289368eb..07c7bdfbc 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/github-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/github-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Badge } from "@/components/ui/badge"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/google-drive-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/google-drive-config.tsx index e4674edf2..18b1819c1 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/google-drive-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/google-drive-config.tsx @@ -1,11 +1,11 @@ "use client"; import { Info } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; +import { GoogleDriveFolderTree } from "@/components/connectors/google-drive-folder-tree"; import { Alert, AlertDescription } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; -import { GoogleDriveFolderTree } from "@/components/connectors/google-drive-folder-tree"; import type { ConnectorConfigProps } from "../index"; interface SelectedFolder { diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/jira-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/jira-config.tsx index a20a72004..3ef16bdb4 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/jira-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/jira-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/linear-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/linear-config.tsx index 8f57fbfc7..f5c0534df 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/linear-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/linear-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/linkup-api-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/linkup-api-config.tsx index cbdf57290..6421db4ac 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/linkup-api-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/linkup-api-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/luma-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/luma-config.tsx index 6f2c620b0..a2c29f442 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/luma-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/luma-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/notion-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/notion-config.tsx index a56b4c1c7..72175c31b 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/notion-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/notion-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/searxng-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/searxng-config.tsx index abd56e6f8..4f6bde5ee 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/searxng-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/searxng-config.tsx @@ -1,8 +1,8 @@ "use client"; -import { KeyRound, Globe } from "lucide-react"; -import { useState, useEffect } from "react"; +import { Globe, KeyRound } from "lucide-react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Switch } from "@/components/ui/switch"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/slack-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/slack-config.tsx index c7db4e1e8..73ae6a4f3 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/slack-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/slack-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/tavily-api-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/tavily-api-config.tsx index 3b17053d5..de5cb0b5b 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/tavily-api-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/tavily-api-config.tsx @@ -1,8 +1,8 @@ "use client"; import { KeyRound } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import type { ConnectorConfigProps } from "../index"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsx index 4c143d14a..713b58c2c 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/components/webcrawler-config.tsx @@ -1,8 +1,8 @@ "use client"; import { Info } from "lucide-react"; -import { useState, useEffect } from "react"; import type { FC } from "react"; +import { useEffect, useState } from "react"; import { Alert, AlertDescription } from "@/components/ui/alert"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/connector-connect-view.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/connector-connect-view.tsx index 2b5987f9e..dfd91fe8b 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/connector-connect-view.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/connector-connect-view.tsx @@ -3,8 +3,8 @@ import { ArrowLeft, Loader2 } from "lucide-react"; import { type FC, useMemo } from "react"; import { Button } from "@/components/ui/button"; +import type { EnumConnectorName } from "@/contracts/enums/connector"; import { getConnectorIcon } from "@/contracts/enums/connectorIcons"; -import { EnumConnectorName } from "@/contracts/enums/connector"; import { getConnectorTypeDisplay } from "@/lib/connectors/utils"; import { getConnectFormComponent } from "../../connect-forms"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/connector-edit-view.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/connector-edit-view.tsx index e57861d55..6d43e6ffc 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/connector-edit-view.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/connector-edit-view.tsx @@ -1,7 +1,7 @@ "use client"; import { ArrowLeft, Info, Loader2, RefreshCw, Trash2 } from "lucide-react"; -import { type FC, useState, useCallback, useRef, useEffect, useMemo } from "react"; +import { type FC, useCallback, useEffect, useMemo, useRef, useState } from "react"; import { Button } from "@/components/ui/button"; import { getConnectorIcon } from "@/contracts/enums/connectorIcons"; import type { SearchSourceConnector } from "@/contracts/types/connector.types"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/indexing-configuration-view.tsx b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/indexing-configuration-view.tsx index e8ffde2cf..8ecd63f36 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/indexing-configuration-view.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/connector-configs/views/indexing-configuration-view.tsx @@ -1,13 +1,13 @@ "use client"; import { ArrowLeft, Check, Info, Loader2 } from "lucide-react"; -import { type FC, useState, useCallback, useRef, useEffect, useMemo } from "react"; +import { type FC, useCallback, useEffect, useMemo, useRef, useState } from "react"; import { Button } from "@/components/ui/button"; import type { SearchSourceConnector } from "@/contracts/types/connector.types"; import { cn } from "@/lib/utils"; -import type { IndexingConfigState } from "../../constants/connector-constants"; import { DateRangeSelector } from "../../components/date-range-selector"; import { PeriodicSyncConfig } from "../../components/periodic-sync-config"; +import type { IndexingConfigState } from "../../constants/connector-constants"; import { getConnectorConfigComponent } from "../index"; interface IndexingConfigurationViewProps { diff --git a/surfsense_web/components/assistant-ui/connector-popup/hooks/use-connector-dialog.ts b/surfsense_web/components/assistant-ui/connector-popup/hooks/use-connector-dialog.ts index fa35dda02..9805d3335 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/hooks/use-connector-dialog.ts +++ b/surfsense_web/components/assistant-ui/connector-popup/hooks/use-connector-dialog.ts @@ -1,3 +1,4 @@ +import { format } from "date-fns"; import { useAtomValue } from "jotai"; import { useRouter, useSearchParams } from "next/navigation"; import { useCallback, useEffect, useRef, useState } from "react"; @@ -10,21 +11,20 @@ import { } from "@/atoms/connectors/connector-mutation.atoms"; import { connectorsAtom } from "@/atoms/connectors/connector-query.atoms"; import { activeSearchSpaceIdAtom } from "@/atoms/search-spaces/search-space-query.atoms"; -import { authenticatedFetch } from "@/lib/auth-utils"; -import { queryClient } from "@/lib/query-client/client"; -import { cacheKeys } from "@/lib/query-client/cache-keys"; -import { format } from "date-fns"; import { EnumConnectorName } from "@/contracts/enums/connector"; import type { SearchSourceConnector } from "@/contracts/types/connector.types"; import { searchSourceConnector } from "@/contracts/types/connector.types"; -import { OAUTH_CONNECTORS, OTHER_CONNECTORS } from "../constants/connector-constants"; +import { authenticatedFetch } from "@/lib/auth-utils"; +import { cacheKeys } from "@/lib/query-client/cache-keys"; +import { queryClient } from "@/lib/query-client/client"; import type { IndexingConfigState } from "../constants/connector-constants"; +import { OAUTH_CONNECTORS, OTHER_CONNECTORS } from "../constants/connector-constants"; import { + dateRangeSchema, + frequencyMinutesSchema, parseConnectorPopupQueryParams, parseOAuthAuthResponse, validateIndexingConfigState, - frequencyMinutesSchema, - dateRangeSchema, } from "../constants/connector-popup.schemas"; export const useConnectorDialog = () => { diff --git a/surfsense_web/components/assistant-ui/connector-popup/index.ts b/surfsense_web/components/assistant-ui/connector-popup/index.ts index e2e2d8b30..adc0e0770 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/index.ts +++ b/surfsense_web/components/assistant-ui/connector-popup/index.ts @@ -3,35 +3,32 @@ export { ConnectorIndicator } from "../connector-popup"; // Sub-components (if needed for external use) export { ConnectorCard } from "./components/connector-card"; +export { ConnectorDialogHeader } from "./components/connector-dialog-header"; export { DateRangeSelector } from "./components/date-range-selector"; export { PeriodicSyncConfig } from "./components/periodic-sync-config"; -export { IndexingConfigurationView } from "./connector-configs/views/indexing-configuration-view"; export { ConnectorEditView } from "./connector-configs/views/connector-edit-view"; -export { ConnectorDialogHeader } from "./components/connector-dialog-header"; -export { AllConnectorsTab } from "./tabs/all-connectors-tab"; -export { ActiveConnectorsTab } from "./tabs/active-connectors-tab"; - -// Constants and types -export { OAUTH_CONNECTORS, CRAWLERS, OTHER_CONNECTORS } from "./constants/connector-constants"; +export { IndexingConfigurationView } from "./connector-configs/views/indexing-configuration-view"; export type { IndexingConfigState } from "./constants/connector-constants"; - +// Constants and types +export { CRAWLERS, OAUTH_CONNECTORS, OTHER_CONNECTORS } from "./constants/connector-constants"; +export type { + ConnectorPopupQueryParams, + DateRange, + FrequencyMinutes, + OAuthAuthResponse, +} from "./constants/connector-popup.schemas"; // Schemas and validation export { connectorPopupQueryParamsSchema, - oauthAuthResponseSchema, - indexingConfigStateSchema, - frequencyMinutesSchema, dateRangeSchema, + frequencyMinutesSchema, + indexingConfigStateSchema, + oauthAuthResponseSchema, parseConnectorPopupQueryParams, parseOAuthAuthResponse, validateIndexingConfigState, } from "./constants/connector-popup.schemas"; -export type { - ConnectorPopupQueryParams, - OAuthAuthResponse, - FrequencyMinutes, - DateRange, -} from "./constants/connector-popup.schemas"; - // Hooks export { useConnectorDialog } from "./hooks/use-connector-dialog"; +export { ActiveConnectorsTab } from "./tabs/active-connectors-tab"; +export { AllConnectorsTab } from "./tabs/all-connectors-tab"; diff --git a/surfsense_web/components/assistant-ui/connector-popup/tabs/active-connectors-tab.tsx b/surfsense_web/components/assistant-ui/connector-popup/tabs/active-connectors-tab.tsx index 2c50530ce..c28aaca52 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/tabs/active-connectors-tab.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/tabs/active-connectors-tab.tsx @@ -2,16 +2,16 @@ import { format } from "date-fns"; import { ArrowRight, Cable, Loader2 } from "lucide-react"; -import type { FC } from "react"; import { useRouter } from "next/navigation"; -import { Button } from "@/components/ui/button"; +import type { FC } from "react"; import { getDocumentTypeLabel } from "@/app/dashboard/[search_space_id]/documents/(manage)/components/DocumentTypeIcon"; +import { Button } from "@/components/ui/button"; +import { TabsContent } from "@/components/ui/tabs"; import { getConnectorIcon } from "@/contracts/enums/connectorIcons"; import type { SearchSourceConnector } from "@/contracts/types/connector.types"; -import type { LogSummary, LogActiveTask } from "@/contracts/types/log.types"; +import type { LogActiveTask, LogSummary } from "@/contracts/types/log.types"; import { cn } from "@/lib/utils"; import { getDocumentCountForConnector } from "../utils/connector-document-mapping"; -import { TabsContent } from "@/components/ui/tabs"; interface ActiveConnectorsTabProps { searchQuery: string; diff --git a/surfsense_web/components/assistant-ui/connector-popup/views/youtube-crawler-view.tsx b/surfsense_web/components/assistant-ui/connector-popup/views/youtube-crawler-view.tsx index 2471c39bb..d8353f284 100644 --- a/surfsense_web/components/assistant-ui/connector-popup/views/youtube-crawler-view.tsx +++ b/surfsense_web/components/assistant-ui/connector-popup/views/youtube-crawler-view.tsx @@ -1,12 +1,11 @@ "use client"; -import { ArrowLeft } from "lucide-react"; import { TagInput, type Tag as TagType } from "emblor"; import { useAtom } from "jotai"; -import { Loader2 } from "lucide-react"; -import { type FC, useState } from "react"; +import { ArrowLeft, Loader2 } from "lucide-react"; import { useRouter } from "next/navigation"; import { useTranslations } from "next-intl"; +import { type FC, useState } from "react"; import { toast } from "sonner"; import { createDocumentMutationAtom } from "@/atoms/documents/document-mutation.atoms"; import { Button } from "@/components/ui/button"; diff --git a/surfsense_web/components/assistant-ui/document-upload-popup.tsx b/surfsense_web/components/assistant-ui/document-upload-popup.tsx index bd508f164..d1fa208d2 100644 --- a/surfsense_web/components/assistant-ui/document-upload-popup.tsx +++ b/surfsense_web/components/assistant-ui/document-upload-popup.tsx @@ -1,19 +1,19 @@ "use client"; import { useAtomValue } from "jotai"; -import { - type FC, - createContext, - useContext, - useState, - useCallback, - useRef, - type ReactNode, -} from "react"; import { useRouter } from "next/navigation"; +import { + createContext, + type FC, + type ReactNode, + useCallback, + useContext, + useRef, + useState, +} from "react"; import { activeSearchSpaceIdAtom } from "@/atoms/search-spaces/search-space-query.atoms"; -import { Dialog, DialogContent, DialogTitle } from "@/components/ui/dialog"; import { DocumentUploadTab } from "@/components/sources/DocumentUploadTab"; +import { Dialog, DialogContent, DialogTitle } from "@/components/ui/dialog"; // Context for opening the dialog from anywhere interface DocumentUploadDialogContextType { diff --git a/surfsense_web/components/assistant-ui/thinking-steps.tsx b/surfsense_web/components/assistant-ui/thinking-steps.tsx index bbd4fca71..ce6fef6f4 100644 --- a/surfsense_web/components/assistant-ui/thinking-steps.tsx +++ b/surfsense_web/components/assistant-ui/thinking-steps.tsx @@ -1,7 +1,7 @@ import { useAssistantState, useThreadViewport } from "@assistant-ui/react"; +import { ChevronRightIcon } from "lucide-react"; import type { FC } from "react"; import { createContext, useCallback, useContext, useEffect, useRef, useState } from "react"; -import { ChevronRightIcon } from "lucide-react"; import { ChainOfThoughtItem } from "@/components/prompt-kit/chain-of-thought"; import { TextShimmerLoader } from "@/components/prompt-kit/loader"; import type { ThinkingStep } from "@/components/tool-ui/deepagent-thinking"; diff --git a/surfsense_web/components/assistant-ui/thread.tsx b/surfsense_web/components/assistant-ui/thread.tsx index ff61b8182..6dc13fddf 100644 --- a/surfsense_web/components/assistant-ui/thread.tsx +++ b/surfsense_web/components/assistant-ui/thread.tsx @@ -50,6 +50,10 @@ import { type InlineMentionEditorRef, } from "@/components/assistant-ui/inline-mention-editor"; import { MarkdownText } from "@/components/assistant-ui/markdown-text"; +import { + ThinkingStepsContext, + ThinkingStepsDisplay, +} from "@/components/assistant-ui/thinking-steps"; import { ToolFallback } from "@/components/assistant-ui/tool-fallback"; import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; import { @@ -57,10 +61,6 @@ import { type DocumentMentionPickerRef, } from "@/components/new-chat/document-mention-picker"; import type { ThinkingStep } from "@/components/tool-ui/deepagent-thinking"; -import { - ThinkingStepsContext, - ThinkingStepsDisplay, -} from "@/components/assistant-ui/thinking-steps"; import { Button } from "@/components/ui/button"; import type { Document } from "@/contracts/types/document.types"; import { cn } from "@/lib/utils"; diff --git a/surfsense_web/components/connectors/google-drive-folder-tree.tsx b/surfsense_web/components/connectors/google-drive-folder-tree.tsx index 8347d9cce..4a3b0ad52 100644 --- a/surfsense_web/components/connectors/google-drive-folder-tree.tsx +++ b/surfsense_web/components/connectors/google-drive-folder-tree.tsx @@ -10,15 +10,15 @@ import { HardDrive, Image, Loader2, - Sheet, Presentation, + Sheet, } from "lucide-react"; import { useState } from "react"; import { Checkbox } from "@/components/ui/checkbox"; import { ScrollArea } from "@/components/ui/scroll-area"; -import { cn } from "@/lib/utils"; import { useGoogleDriveFolders } from "@/hooks/use-google-drive-folders"; import { connectorsApiService } from "@/lib/apis/connectors-api.service"; +import { cn } from "@/lib/utils"; interface DriveItem { id: string; diff --git a/surfsense_web/components/sources/DocumentUploadTab.tsx b/surfsense_web/components/sources/DocumentUploadTab.tsx index e3328b9bd..5280ea850 100644 --- a/surfsense_web/components/sources/DocumentUploadTab.tsx +++ b/surfsense_web/components/sources/DocumentUploadTab.tsx @@ -5,7 +5,7 @@ import { CheckCircle2, FileType, Info, Loader2, Tag, Upload, X } from "lucide-re import { AnimatePresence, motion } from "motion/react"; import { useRouter } from "next/navigation"; import { useTranslations } from "next-intl"; -import { useCallback, useMemo, useState, useRef } from "react"; +import { useCallback, useMemo, useRef, useState } from "react"; import { useDropzone } from "react-dropzone"; import { toast } from "sonner"; import { uploadDocumentMutationAtom } from "@/atoms/documents/document-mutation.atoms"; diff --git a/surfsense_web/hooks/use-connector-edit-page.ts b/surfsense_web/hooks/use-connector-edit-page.ts index aa6354b19..8fa690d04 100644 --- a/surfsense_web/hooks/use-connector-edit-page.ts +++ b/surfsense_web/hooks/use-connector-edit-page.ts @@ -15,8 +15,8 @@ import { githubPatSchema, } from "@/components/editConnector/types"; import type { EnumConnectorName } from "@/contracts/enums/connector"; -import type { SearchSourceConnector } from "@/hooks/use-search-source-connectors"; import type { UpdateConnectorResponse } from "@/contracts/types/connector.types"; +import type { SearchSourceConnector } from "@/hooks/use-search-source-connectors"; import { authenticatedFetch } from "@/lib/auth-utils"; const normalizeListInput = (value: unknown): string[] => { diff --git a/surfsense_web/lib/apis/connectors-api.service.ts b/surfsense_web/lib/apis/connectors-api.service.ts index ca6a7f1ad..e193948a2 100644 --- a/surfsense_web/lib/apis/connectors-api.service.ts +++ b/surfsense_web/lib/apis/connectors-api.service.ts @@ -15,9 +15,9 @@ import { indexConnectorRequest, indexConnectorResponse, type ListGitHubRepositoriesRequest, + type ListGoogleDriveFoldersRequest, listGitHubRepositoriesRequest, listGitHubRepositoriesResponse, - type ListGoogleDriveFoldersRequest, listGoogleDriveFoldersRequest, listGoogleDriveFoldersResponse, type UpdateConnectorRequest,