diff --git a/src/backend/base/langflow/api/v1/login.py b/src/backend/base/langflow/api/v1/login.py index cde6bd28b..2637cc865 100644 --- a/src/backend/base/langflow/api/v1/login.py +++ b/src/backend/base/langflow/api/v1/login.py @@ -71,9 +71,7 @@ async def login_to_get_access_token( @router.get("/auto_login") async def auto_login( - response: Response, - db: Session = Depends(get_session), - settings_service=Depends(get_settings_service) + response: Response, db: Session = Depends(get_session), settings_service=Depends(get_settings_service) ): auth_settings = settings_service.auth_settings if settings_service.auth_settings.AUTO_LOGIN: diff --git a/src/backend/base/langflow/api/v1/monitor.py b/src/backend/base/langflow/api/v1/monitor.py index e419ed5bf..ffd01b470 100644 --- a/src/backend/base/langflow/api/v1/monitor.py +++ b/src/backend/base/langflow/api/v1/monitor.py @@ -1,5 +1,4 @@ from typing import List, Optional -from uuid import UUID from fastapi import APIRouter, Depends, HTTPException, Query from langflow.services.deps import get_monitor_service diff --git a/src/backend/base/langflow/helpers/flow.py b/src/backend/base/langflow/helpers/flow.py index 9a8a7c3b5..7eb901274 100644 --- a/src/backend/base/langflow/helpers/flow.py +++ b/src/backend/base/langflow/helpers/flow.py @@ -90,7 +90,9 @@ async def run_flow( fallback_to_env_vars = get_settings_service().settings.fallback_to_env_var - return await graph.arun(inputs_list, inputs_components=inputs_components, types=types, fallback_to_env_vars=fallback_to_env_vars) + return await graph.arun( + inputs_list, inputs_components=inputs_components, types=types, fallback_to_env_vars=fallback_to_env_vars + ) def generate_function_for_flow( diff --git a/src/backend/base/langflow/initial_setup/setup.py b/src/backend/base/langflow/initial_setup/setup.py index 27574950c..83408d8b9 100644 --- a/src/backend/base/langflow/initial_setup/setup.py +++ b/src/backend/base/langflow/initial_setup/setup.py @@ -20,7 +20,7 @@ from langflow.services.database.models.user.crud import get_user_by_username from langflow.services.deps import get_settings_service, session_scope from langflow.services.database.models.folder.utils import create_default_folder_if_it_doesnt_exist -from langflow.services.deps import get_settings_service, session_scope, get_variable_service +from langflow.services.deps import get_variable_service STARTER_FOLDER_NAME = "Starter Projects" @@ -221,6 +221,7 @@ def _is_valid_uuid(val): return False return str(uuid_obj) == val + def load_flows_from_directory(): settings_service = get_settings_service() flows_path = settings_service.settings.load_flows_path @@ -262,6 +263,7 @@ def load_flows_from_directory(): session.add(flow) session.commit() + def find_existing_flow(session, flow_id, flow_endpoint_name): if flow_endpoint_name: stmt = select(Flow).where(Flow.endpoint_name == flow_endpoint_name) @@ -271,6 +273,8 @@ def find_existing_flow(session, flow_id, flow_endpoint_name): if existing := session.exec(stmt).first(): return existing return None + + def create_or_update_starter_projects(): components_paths = get_settings_service().settings.components_path try: diff --git a/src/backend/base/langflow/processing/process.py b/src/backend/base/langflow/processing/process.py index aeff0f1a4..1b54d3f08 100644 --- a/src/backend/base/langflow/processing/process.py +++ b/src/backend/base/langflow/processing/process.py @@ -59,7 +59,7 @@ async def run_graph_internal( outputs or [], stream=stream, session_id=session_id_str or "", - fallback_to_env_vars=fallback_to_env_vars + fallback_to_env_vars=fallback_to_env_vars, ) if session_id_str and session_service: await session_service.update_session(session_id_str, (graph, artifacts)) diff --git a/src/backend/base/langflow/services/auth/utils.py b/src/backend/base/langflow/services/auth/utils.py index 0e0aead88..f62d3ce4f 100644 --- a/src/backend/base/langflow/services/auth/utils.py +++ b/src/backend/base/langflow/services/auth/utils.py @@ -215,10 +215,7 @@ def create_user_longterm_token(db: Session = Depends(get_session)) -> tuple[UUID username = settings_service.auth_settings.SUPERUSER super_user = get_user_by_username(db, username) if not super_user: - raise HTTPException( - status_code=status.HTTP_400_BAD_REQUEST, - detail="Super user hasn't been created" - ) + raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Super user hasn't been created") access_token_expires_longterm = timedelta(days=365) access_token = create_token( data={"sub": str(super_user.id)}, diff --git a/src/backend/base/langflow/services/monitor/service.py b/src/backend/base/langflow/services/monitor/service.py index ab5a87f08..02bc59cc2 100644 --- a/src/backend/base/langflow/services/monitor/service.py +++ b/src/backend/base/langflow/services/monitor/service.py @@ -115,7 +115,9 @@ class MonitorService(Service): return self.exec_query(query) def update_message(self, message_id: int, **kwargs): - query = f"""UPDATE messages SET {', '.join(f"{k} = '{v}'" for k, v in kwargs.items())} WHERE index = {message_id}""" + query = ( + f"""UPDATE messages SET {', '.join(f"{k} = '{v}'" for k, v in kwargs.items())} WHERE index = {message_id}""" + ) return self.exec_query(query) diff --git a/src/backend/base/langflow/services/settings/base.py b/src/backend/base/langflow/services/settings/base.py index 259e10170..4f50cb756 100644 --- a/src/backend/base/langflow/services/settings/base.py +++ b/src/backend/base/langflow/services/settings/base.py @@ -78,7 +78,6 @@ class Settings(BaseSettings): langchain_cache: str = "InMemoryCache" load_flows_path: Optional[str] = None - # Redis redis_host: str = "localhost" redis_port: int = 6379 diff --git a/src/backend/base/langflow/services/settings/service.py b/src/backend/base/langflow/services/settings/service.py index 95088e829..3ecdb683d 100644 --- a/src/backend/base/langflow/services/settings/service.py +++ b/src/backend/base/langflow/services/settings/service.py @@ -1,5 +1,4 @@ import os -from typing import Optional import yaml from loguru import logger @@ -8,6 +7,7 @@ from langflow.services.base import Service from langflow.services.settings.auth import AuthSettings from langflow.services.settings.base import Settings + class SettingsService(Service): name = "settings_service" diff --git a/src/frontend/src/App.tsx b/src/frontend/src/App.tsx index b9e02a27d..4a60f453f 100644 --- a/src/frontend/src/App.tsx +++ b/src/frontend/src/App.tsx @@ -1,4 +1,3 @@ -import axios from "axios"; import { useContext, useEffect, useState } from "react"; import { ErrorBoundary } from "react-error-boundary"; import { useNavigate } from "react-router-dom"; diff --git a/src/frontend/src/components/accordionComponent/index.tsx b/src/frontend/src/components/accordionComponent/index.tsx index 7c5562e7f..c9c21b8b2 100644 --- a/src/frontend/src/components/accordionComponent/index.tsx +++ b/src/frontend/src/components/accordionComponent/index.tsx @@ -7,7 +7,6 @@ import { } from "../../components/ui/accordion"; import { AccordionComponentType } from "../../types/components"; import { cn } from "../../utils/utils"; -import ShadTooltip from "../shadTooltipComponent"; export default function AccordionComponent({ trigger, diff --git a/src/frontend/src/components/cardComponent/index.tsx b/src/frontend/src/components/cardComponent/index.tsx index 09b8ff833..8b16d9040 100644 --- a/src/frontend/src/components/cardComponent/index.tsx +++ b/src/frontend/src/components/cardComponent/index.tsx @@ -27,8 +27,8 @@ import { import { Checkbox } from "../ui/checkbox"; import { FormControl, FormField } from "../ui/form"; import Loading from "../ui/loading"; -import { convertTestName } from "./utils/convert-test-name"; import DragCardComponent from "./components/dragCardComponent"; +import { convertTestName } from "./utils/convert-test-name"; export default function CollectionCardComponent({ data, diff --git a/src/frontend/src/components/inputFileComponent/index.tsx b/src/frontend/src/components/inputFileComponent/index.tsx index 15a79ec1d..1cd8b4a64 100644 --- a/src/frontend/src/components/inputFileComponent/index.tsx +++ b/src/frontend/src/components/inputFileComponent/index.tsx @@ -1,7 +1,6 @@ import { useEffect, useState } from "react"; import { CONSOLE_ERROR_MSG, - CONSOLE_SUCCESS_MSG, INVALID_FILE_ALERT, } from "../../constants/alerts_constants"; import { uploadFile } from "../../controllers/API"; diff --git a/src/frontend/src/components/sidebarComponent/components/sideBarButtons/index.tsx b/src/frontend/src/components/sidebarComponent/components/sideBarButtons/index.tsx index 10f3cd54d..5b382bd15 100644 --- a/src/frontend/src/components/sidebarComponent/components/sideBarButtons/index.tsx +++ b/src/frontend/src/components/sidebarComponent/components/sideBarButtons/index.tsx @@ -1,7 +1,6 @@ import { Link } from "react-router-dom"; import { cn } from "../../../../utils/utils"; import { buttonVariants } from "../../../ui/button"; -import ForwardedIconComponent from "../../../genericIconComponent"; type SideBarButtonsComponentProps = { items: { diff --git a/src/frontend/src/components/sidebarComponent/index.tsx b/src/frontend/src/components/sidebarComponent/index.tsx index b4fbf11b3..a40a2a88f 100644 --- a/src/frontend/src/components/sidebarComponent/index.tsx +++ b/src/frontend/src/components/sidebarComponent/index.tsx @@ -5,9 +5,6 @@ import { cn } from "../../utils/utils"; import HorizontalScrollFadeComponent from "../horizontalScrollFadeComponent"; import SideBarButtonsComponent from "./components/sideBarButtons"; import SideBarFoldersButtonsComponent from "./components/sideBarFolderButtons"; -import { addFolder } from "../../pages/MainPage/services"; -import { useNavigate } from "react-router-dom"; -import useFlowStore from "../../stores/flowStore"; type SidebarNavProps = { items: { diff --git a/src/frontend/src/components/tableComponent/components/ResetColumns/index.tsx b/src/frontend/src/components/tableComponent/components/ResetColumns/index.tsx index 27794be1b..2d6f3b393 100644 --- a/src/frontend/src/components/tableComponent/components/ResetColumns/index.tsx +++ b/src/frontend/src/components/tableComponent/components/ResetColumns/index.tsx @@ -1,6 +1,4 @@ import { cn } from "../../../../utils/utils"; -import ShadTooltip from "../../../shadTooltipComponent"; -import { Toggle } from "../../../ui/toggle"; export default function ResetColumns({ resetGrid, diff --git a/src/frontend/src/components/tableComponent/index.tsx b/src/frontend/src/components/tableComponent/index.tsx index 458af7246..a82f67383 100644 --- a/src/frontend/src/components/tableComponent/index.tsx +++ b/src/frontend/src/components/tableComponent/index.tsx @@ -1,7 +1,7 @@ import "ag-grid-community/styles/ag-grid.css"; // Mandatory CSS required by the grid import "ag-grid-community/styles/ag-theme-quartz.css"; // Optional Theme applied to the grid import { AgGridReact, AgGridReactProps } from "ag-grid-react"; -import { ElementRef, forwardRef, useEffect, useRef } from "react"; +import { ElementRef, forwardRef, useRef } from "react"; import { DEFAULT_TABLE_ALERT_MSG, DEFAULT_TABLE_ALERT_TITLE, @@ -11,10 +11,8 @@ import "../../style/ag-theme-shadcn.css"; // Custom CSS applied to the grid import { cn, toTitleCase } from "../../utils/utils"; import ForwardedIconComponent from "../genericIconComponent"; import { Alert, AlertDescription, AlertTitle } from "../ui/alert"; -import { Toggle } from "../ui/toggle"; -import ShadTooltip from "../shadTooltipComponent"; -import resetGrid from "./utils/reset-grid-columns"; import ResetColumns from "./components/ResetColumns"; +import resetGrid from "./utils/reset-grid-columns"; interface TableComponentProps extends AgGridReactProps { columnDefs: NonNullable; diff --git a/src/frontend/src/components/ui/toggle.tsx b/src/frontend/src/components/ui/toggle.tsx index 251103615..f41840dce 100644 --- a/src/frontend/src/components/ui/toggle.tsx +++ b/src/frontend/src/components/ui/toggle.tsx @@ -1,8 +1,8 @@ "use client"; -import * as React from "react"; import * as TogglePrimitive from "@radix-ui/react-toggle"; import { cva, type VariantProps } from "class-variance-authority"; +import * as React from "react"; import { cn } from "../../utils/utils"; diff --git a/src/frontend/src/controllers/API/index.ts b/src/frontend/src/controllers/API/index.ts index dd52c33d1..acebaa476 100644 --- a/src/frontend/src/controllers/API/index.ts +++ b/src/frontend/src/controllers/API/index.ts @@ -17,6 +17,7 @@ import { } from "../../types/api/index"; import { UserInputType } from "../../types/components"; import { FlowStyleType, FlowType } from "../../types/flow"; +import { Message } from "../../types/messages"; import { StoreComponentResponse } from "../../types/store"; import { FlowPoolType } from "../../types/zustand/flow"; import { extractColumnsFromRows } from "../../utils/utils"; @@ -28,7 +29,6 @@ import { UploadFileTypeAPI, errorsTypeAPI, } from "./../../types/api/index"; -import { Message } from "../../types/messages"; /** * Fetches all objects from the API endpoint. @@ -62,7 +62,7 @@ export async function sendAll(data: sendAllProps) { } export async function postValidateCode( - code: string, + code: string ): Promise> { return await api.post(`${BASE_URL_API}validate/code`, { code }); } @@ -77,7 +77,7 @@ export async function postValidateCode( export async function postValidatePrompt( name: string, template: string, - frontend_node: APIClassType, + frontend_node: APIClassType ): Promise> { return api.post(`${BASE_URL_API}validate/prompt`, { name, @@ -150,7 +150,7 @@ export async function saveFlowToDatabase(newFlow: { * @throws Will throw an error if the update fails. */ export async function updateFlowInDatabase( - updatedFlow: FlowType, + updatedFlow: FlowType ): Promise { try { const response = await api.patch(`${BASE_URL_API}flows/${updatedFlow.id}`, { @@ -328,7 +328,7 @@ export async function getHealth() { * */ export async function getBuildStatus( - flowId: string, + flowId: string ): Promise> { return await api.get(`${BASE_URL_API}build/${flowId}/status`); } @@ -341,7 +341,7 @@ export async function getBuildStatus( * */ export async function postBuildInit( - flow: FlowType, + flow: FlowType ): Promise> { return await api.post(`${BASE_URL_API}build/init/${flow.id}`, flow); } @@ -357,7 +357,7 @@ export async function postBuildInit( */ export async function uploadFile( file: File, - id: string, + id: string ): Promise> { const formData = new FormData(); formData.append("file", file); @@ -366,7 +366,7 @@ export async function uploadFile( export async function postCustomComponent( code: string, - apiClass: APIClassType, + apiClass: APIClassType ): Promise> { // let template = apiClass.template; return await api.post(`${BASE_URL_API}custom_component`, { @@ -379,7 +379,7 @@ export async function postCustomComponentUpdate( code: string, template: APITemplateType, field: string, - field_value: any, + field_value: any ): Promise> { return await api.post(`${BASE_URL_API}custom_component/update`, { code, @@ -401,7 +401,7 @@ export async function onLogin(user: LoginType) { headers: { "Content-Type": "application/x-www-form-urlencoded", }, - }, + } ); if (response.status === 200) { @@ -463,11 +463,11 @@ export async function addUser(user: UserInputType): Promise> { export async function getUsersPage( skip: number, - limit: number, + limit: number ): Promise> { try { const res = await api.get( - `${BASE_URL_API}users/?skip=${skip}&limit=${limit}`, + `${BASE_URL_API}users/?skip=${skip}&limit=${limit}` ); if (res.status === 200) { return res.data; @@ -504,7 +504,7 @@ export async function resetPassword(user_id: string, user: resetPasswordType) { try { const res = await api.patch( `${BASE_URL_API}users/${user_id}/reset-password`, - user, + user ); if (res.status === 200) { return res.data; @@ -578,7 +578,7 @@ export async function saveFlowStore( last_tested_version?: string; }, tags: string[], - publicFlow = false, + publicFlow = false ): Promise { try { const response = await api.post(`${BASE_URL_API}store/components/`, { @@ -707,7 +707,7 @@ export async function postStoreComponents(component: Component) { export async function getComponent(component_id: string) { try { const res = await api.get( - `${BASE_URL_API}store/components/${component_id}`, + `${BASE_URL_API}store/components/${component_id}` ); if (res.status === 200) { return res.data; @@ -722,7 +722,7 @@ export async function searchComponent( page?: number | null, limit?: number | null, status?: string | null, - tags?: string[], + tags?: string[] ): Promise { try { let url = `${BASE_URL_API}store/components/`; @@ -834,7 +834,7 @@ export async function updateFlowStore( }, tags: string[], publicFlow = false, - id: string, + id: string ): Promise { try { const response = await api.patch(`${BASE_URL_API}store/components/${id}`, { @@ -918,7 +918,7 @@ export async function deleteGlobalVariable(id: string) { export async function updateGlobalVariable( name: string, value: string, - id: string, + id: string ) { try { const response = api.patch(`${BASE_URL_API}variables/${id}`, { @@ -937,7 +937,7 @@ export async function getVerticesOrder( startNodeId?: string | null, stopNodeId?: string | null, nodes?: Node[], - Edges?: Edge[], + Edges?: Edge[] ): Promise> { // nodeId is optional and is a query parameter // if nodeId is not provided, the API will return all vertices @@ -957,15 +957,19 @@ export async function getVerticesOrder( return await api.post( `${BASE_URL_API}build/${flowId}/vertices`, data, - config, + config ); } export async function postBuildVertex( flowId: string, vertexId: string, +<<<<<<< HEAD input_value: string, files?: string[], +======= + input_value: string +>>>>>>> dev ): Promise> { // input_value is optional and is a query parameter const data = { inputs: { input_value: input_value ?? "" } }; @@ -974,7 +978,11 @@ export async function postBuildVertex( } return await api.post( `${BASE_URL_API}build/${flowId}/vertices/${vertexId}`, +<<<<<<< HEAD data, +======= + input_value ? { inputs: { input_value: input_value } } : undefined +>>>>>>> dev ); } @@ -998,7 +1006,7 @@ export async function getFlowPool({ } export async function deleteFlowPool( - flowId: string, + flowId: string ): Promise> { const config = {}; config["params"] = { flow_id: flowId }; @@ -1012,7 +1020,7 @@ export async function deleteFlowPool( * @returns A promise that resolves to an array of AxiosResponse objects representing the delete responses. */ export async function multipleDeleteFlowsComponents( - flowIds: string[], + flowIds: string[] ): Promise[]> { const batches: string[][] = []; @@ -1035,7 +1043,7 @@ export async function multipleDeleteFlowsComponents( // Execute all delete requests const responses: Promise>[] = batches.map((batch) => - deleteBatch(batch), + deleteBatch(batch) ); // Return the responses after all requests are completed @@ -1045,7 +1053,7 @@ export async function multipleDeleteFlowsComponents( export async function getTransactionTable( id: string, mode: "intersection" | "union", - params = {}, + params = {} ): Promise<{ rows: Array; columns: Array }> { const config = {}; config["params"] = { flow_id: id }; @@ -1061,7 +1069,7 @@ export async function getMessagesTable( mode: "intersection" | "union", id?: string, excludedFields?: string[], - params = {}, + params = {} ): Promise<{ rows: Array; columns: Array }> { const config = {}; if (id) { diff --git a/src/frontend/src/customNodes/genericNode/components/parameterComponent/index.tsx b/src/frontend/src/customNodes/genericNode/components/parameterComponent/index.tsx index cb49554c6..6d2c58643 100644 --- a/src/frontend/src/customNodes/genericNode/components/parameterComponent/index.tsx +++ b/src/frontend/src/customNodes/genericNode/components/parameterComponent/index.tsx @@ -89,7 +89,7 @@ export default function ParameterComponent({ debouncedHandleUpdateValues, setNode, renderTooltips, - setIsLoading, + setIsLoading ); const { handleNodeClass: handleNodeClassHook } = useHandleNodeClass( @@ -98,7 +98,7 @@ export default function ParameterComponent({ takeSnapshot, setNode, updateNodeInternals, - renderTooltips, + renderTooltips ); const { handleRefreshButtonPress: handleRefreshButtonPressHook } = @@ -107,7 +107,7 @@ export default function ParameterComponent({ let disabled = edges.some( (edge) => - edge.targetHandle === scapedJSONStringfy(proxy ? { ...id, proxy } : id), + edge.targetHandle === scapedJSONStringfy(proxy ? { ...id, proxy } : id) ) ?? false; const handleRefreshButtonPress = async (name, data) => { @@ -120,12 +120,12 @@ export default function ParameterComponent({ handleUpdateValues, setNode, renderTooltips, - setIsLoading, + setIsLoading ); const handleOnNewValue = async ( newValue: string | string[] | boolean | Object[], - skipSnapshot: boolean | undefined = false, + skipSnapshot: boolean | undefined = false ): Promise => { handleOnNewValueHook(newValue, skipSnapshot); }; @@ -207,7 +207,7 @@ export default function ParameterComponent({ className={classNames( left ? "my-12 -ml-0.5 " : " my-12 -mr-0.5 ", "h-3 w-3 rounded-full border-2 bg-background", - !showNode ? "mt-0" : "", + !showNode ? "mt-0" : "" )} style={{ borderColor: color ?? nodeColors.unknown, @@ -296,7 +296,7 @@ export default function ParameterComponent({ } className={classNames( left ? "-ml-0.5" : "-mr-0.5", - "h-3 w-3 rounded-full border-2 bg-background", + "h-3 w-3 rounded-full border-2 bg-background" )} style={{ borderColor: color ?? nodeColors.unknown }} onClick={() => setFilterEdge(groupedEdge.current)} diff --git a/src/frontend/src/customNodes/genericNode/components/tooltipRenderComponent/index.tsx b/src/frontend/src/customNodes/genericNode/components/tooltipRenderComponent/index.tsx index ed2760161..c76bc7293 100644 --- a/src/frontend/src/customNodes/genericNode/components/tooltipRenderComponent/index.tsx +++ b/src/frontend/src/customNodes/genericNode/components/tooltipRenderComponent/index.tsx @@ -24,7 +24,7 @@ const TooltipRenderComponent = ({ item, index, left }) => { 0 ? "mt-2 flex items-center" : "mt-3 flex items-center", + index > 0 ? "mt-2 flex items-center" : "mt-3 flex items-center" )} >
state.flowBuildStatus[data.id]?.status, + (state) => state.flowBuildStatus[data.id]?.status ); const lastRunTime = useFlowStore( - (state) => state.flowBuildStatus[data.id]?.timestamp, + (state) => state.flowBuildStatus[data.id]?.timestamp ); const [validationStatus, setValidationStatus] = useState(null); @@ -115,7 +115,7 @@ export default function GenericNode({ updateNodeInternals(data.id); }, - [data.id, data.node, setNode, setIsOutdated], + [data.id, data.node, setNode, setIsOutdated] ); if (!data.node!.template) { @@ -261,7 +261,11 @@ export default function GenericNode({ const isDark = useDarkStore((state) => state.dark); const renderIconStatus = ( buildStatus: BuildStatus | undefined, +<<<<<<< HEAD validationStatus: VertexBuildTypeAPI | null +======= + validationStatus: validationStatusType | null +>>>>>>> dev ) => { if (buildStatus === BuildStatus.BUILDING) { return ; @@ -302,7 +306,11 @@ export default function GenericNode({ }; const getSpecificClassFromBuildStatus = ( buildStatus: BuildStatus | undefined, +<<<<<<< HEAD validationStatus: VertexBuildTypeAPI | null +======= + validationStatus: validationStatusType | null +>>>>>>> dev ) => { let isInvalid = validationStatus && !validationStatus.valid; @@ -326,11 +334,15 @@ export default function GenericNode({ selected: boolean, showNode: boolean, buildStatus: BuildStatus | undefined, +<<<<<<< HEAD validationStatus: VertexBuildTypeAPI | null +======= + validationStatus: validationStatusType | null +>>>>>>> dev ) => { const specificClassFromBuildStatus = getSpecificClassFromBuildStatus( buildStatus, - validationStatus, + validationStatus ); const baseBorderClass = getBaseBorderClass(selected); @@ -339,7 +351,7 @@ export default function GenericNode({ baseBorderClass, nodeSizeClass, "generic-node-div", - specificClassFromBuildStatus, + specificClassFromBuildStatus ); return names; }; @@ -399,7 +411,7 @@ export default function GenericNode({ selected, showNode, buildStatus, - validationStatus, + validationStatus )} > {data.node?.beta && showNode && ( @@ -530,7 +542,7 @@ export default function GenericNode({ } title={getFieldTitle( data.node?.template!, - templateField, + templateField )} info={data.node?.template[templateField].info} name={templateField} @@ -558,7 +570,7 @@ export default function GenericNode({ proxy={data.node?.template[templateField].proxy} showNode={showNode} /> - ), + ) )} { setInputDescription(true); @@ -777,13 +789,13 @@ export default function GenericNode({ } title={getFieldTitle( data.node?.template!, - templateField, + templateField )} info={data.node?.template[templateField].info} name={templateField} tooltipTitle={ data.node?.template[templateField].input_types?.join( - "\n", + "\n" ) ?? data.node?.template[templateField].type } required={data.node!.template[templateField].required} @@ -810,7 +822,7 @@ export default function GenericNode({
{" "} diff --git a/src/frontend/src/customNodes/hooks/use-fetch-data-on-mount.tsx b/src/frontend/src/customNodes/hooks/use-fetch-data-on-mount.tsx index be239df8a..7426164f7 100644 --- a/src/frontend/src/customNodes/hooks/use-fetch-data-on-mount.tsx +++ b/src/frontend/src/customNodes/hooks/use-fetch-data-on-mount.tsx @@ -9,7 +9,7 @@ const useFetchDataOnMount = ( handleUpdateValues, setNode, renderTooltips, - setIsLoading, + setIsLoading ) => { const setErrorData = useAlertStore((state) => state.setErrorData); diff --git a/src/frontend/src/customNodes/hooks/use-handle-new-value.tsx b/src/frontend/src/customNodes/hooks/use-handle-new-value.tsx index e917970ca..dc416646b 100644 --- a/src/frontend/src/customNodes/hooks/use-handle-new-value.tsx +++ b/src/frontend/src/customNodes/hooks/use-handle-new-value.tsx @@ -10,7 +10,7 @@ const useHandleOnNewValue = ( debouncedHandleUpdateValues, setNode, renderTooltips, - setIsLoading, + setIsLoading ) => { const setErrorData = useAlertStore((state) => state.setErrorData); diff --git a/src/frontend/src/customNodes/hooks/use-handle-node-class.tsx b/src/frontend/src/customNodes/hooks/use-handle-node-class.tsx index 412658d77..bdcf1f8cc 100644 --- a/src/frontend/src/customNodes/hooks/use-handle-node-class.tsx +++ b/src/frontend/src/customNodes/hooks/use-handle-node-class.tsx @@ -6,7 +6,7 @@ const useHandleNodeClass = ( takeSnapshot, setNode, updateNodeInternals, - renderTooltips, + renderTooltips ) => { const handleNodeClass = (newNodeClass, code) => { if (!data.node) return; diff --git a/src/frontend/src/customNodes/utils/get-field-title.tsx b/src/frontend/src/customNodes/utils/get-field-title.tsx index e448c4f01..a00829a90 100644 --- a/src/frontend/src/customNodes/utils/get-field-title.tsx +++ b/src/frontend/src/customNodes/utils/get-field-title.tsx @@ -2,7 +2,7 @@ import { APITemplateType } from "../../types/api"; export default function getFieldTitle( template: APITemplateType, - templateField: string, + templateField: string ): string { return template[templateField].display_name ? template[templateField].display_name! diff --git a/src/frontend/src/icons/Streamlit/index.tsx b/src/frontend/src/icons/Streamlit/index.tsx index 1a4c55119..6b3391021 100644 --- a/src/frontend/src/icons/Streamlit/index.tsx +++ b/src/frontend/src/icons/Streamlit/index.tsx @@ -4,5 +4,5 @@ import SvgStreamlit from "./SvgStreamlit"; export const Streamlit = forwardRef>( (props, ref) => { return ; - }, + } ); diff --git a/src/frontend/src/modals/BundleModal/hooks/submit-folder.tsx b/src/frontend/src/modals/BundleModal/hooks/submit-folder.tsx index cb12ca7cb..1347a323b 100644 --- a/src/frontend/src/modals/BundleModal/hooks/submit-folder.tsx +++ b/src/frontend/src/modals/BundleModal/hooks/submit-folder.tsx @@ -27,7 +27,7 @@ const useFolderSubmit = (setOpen, folderToEdit) => { getFoldersApi(true); setOpen(false); } - }, + } ); } else { addFolder(data).then( @@ -42,7 +42,7 @@ const useFolderSubmit = (setOpen, folderToEdit) => { setErrorData({ title: `Error creating folder.`, }); - }, + } ); } }; diff --git a/src/frontend/src/modals/IOModal/components/IOFieldView/index.tsx b/src/frontend/src/modals/IOModal/components/IOFieldView/index.tsx index 050f1acbb..39932709c 100644 --- a/src/frontend/src/modals/IOModal/components/IOFieldView/index.tsx +++ b/src/frontend/src/modals/IOModal/components/IOFieldView/index.tsx @@ -206,7 +206,7 @@ export default function IOFieldView({ {separator} - ), + ) )} diff --git a/src/frontend/src/modals/IOModal/components/chatView/chatMessage/index.tsx b/src/frontend/src/modals/IOModal/components/chatView/chatMessage/index.tsx index 8c03226fb..805cd1a13 100644 --- a/src/frontend/src/modals/IOModal/components/chatView/chatMessage/index.tsx +++ b/src/frontend/src/modals/IOModal/components/chatView/chatMessage/index.tsx @@ -119,19 +119,19 @@ export default function ChatMessage({
), - [chat.message, chatMessage], + [chat.message, chatMessage] )}
@@ -296,7 +296,7 @@ dark:prose-invert" parts.push( {chat.message[match[1]]} - , + ); } diff --git a/src/frontend/src/modals/IOModal/components/chatView/index.tsx b/src/frontend/src/modals/IOModal/components/chatView/index.tsx index bb60d1f1c..8b631e3a7 100644 --- a/src/frontend/src/modals/IOModal/components/chatView/index.tsx +++ b/src/frontend/src/modals/IOModal/components/chatView/index.tsx @@ -1,5 +1,9 @@ import { useEffect, useRef, useState } from "react"; import IconComponent from "../../../../components/genericIconComponent"; +<<<<<<< HEAD +======= +import { Button } from "../../../../components/ui/button"; +>>>>>>> dev import { CHAT_FIRST_INITIAL_TEXT, CHAT_SECOND_INITIAL_TEXT, @@ -15,7 +19,6 @@ import { classNames } from "../../../../utils/utils"; import ChatInput from "./chatInput"; import useDragAndDrop from "./chatInput/hooks/use-drag-and-drop"; import ChatMessage from "./chatMessage"; -import { Button } from "../../../../components/ui/button"; export default function ChatView({ sendMessage, @@ -182,10 +185,15 @@ export default function ChatView({ >>>>>> dev )} aria-hidden="true" /> diff --git a/src/frontend/src/modals/apiModal/utils/check-can-build-tweak-object.ts b/src/frontend/src/modals/apiModal/utils/check-can-build-tweak-object.ts index 5a859cae8..592a812c4 100644 --- a/src/frontend/src/modals/apiModal/utils/check-can-build-tweak-object.ts +++ b/src/frontend/src/modals/apiModal/utils/check-can-build-tweak-object.ts @@ -6,7 +6,7 @@ export const checkCanBuildTweakObject = (element, templateField) => { templateField.charAt(0) !== "_" && element.data.node.template[templateField].show && LANGFLOW_SUPPORTED_TYPES.has( - element.data.node.template[templateField].type, + element.data.node.template[templateField].type ) && templateField !== "code" ); diff --git a/src/frontend/src/modals/apiModal/utils/get-changes-types.ts b/src/frontend/src/modals/apiModal/utils/get-changes-types.ts index e8e912ff3..7e295e358 100644 --- a/src/frontend/src/modals/apiModal/utils/get-changes-types.ts +++ b/src/frontend/src/modals/apiModal/utils/get-changes-types.ts @@ -3,7 +3,7 @@ import { convertArrayToObj } from "../../../utils/reactflowUtils"; export const getChangesType = ( changes: string | string[] | boolean | number | Object[] | Object, - template: TemplateVariableType, + template: TemplateVariableType ) => { if (typeof changes === "string" && template.type === "float") { changes = parseFloat(changes); diff --git a/src/frontend/src/modals/apiModal/utils/get-curl-code.tsx b/src/frontend/src/modals/apiModal/utils/get-curl-code.tsx index c17118d1a..40257d73d 100644 --- a/src/frontend/src/modals/apiModal/utils/get-curl-code.tsx +++ b/src/frontend/src/modals/apiModal/utils/get-curl-code.tsx @@ -8,14 +8,14 @@ export function getCurlRunCode( flowId: string, isAuth: boolean, tweaksBuildedObject, - endpointName?: string, + endpointName?: string ): string { const tweaksObject = tweaksBuildedObject[0]; // show the endpoint name in the curl command if it exists return `curl -X POST \\ "${window.location.protocol}//${window.location.host}/api/v1/run/${ - endpointName || flowId - }?stream=false" \\ + endpointName || flowId + }?stream=false" \\ -H 'Content-Type: application/json'\\${ !isAuth ? `\n -H 'x-api-key: '\\` : "" } diff --git a/src/frontend/src/modals/apiModal/utils/get-nodes-with-default-value.ts b/src/frontend/src/modals/apiModal/utils/get-nodes-with-default-value.ts index fb30a57a1..ea5887fda 100644 --- a/src/frontend/src/modals/apiModal/utils/get-nodes-with-default-value.ts +++ b/src/frontend/src/modals/apiModal/utils/get-nodes-with-default-value.ts @@ -13,8 +13,8 @@ export const getNodesWithDefaultValue = (flow) => { templateField.charAt(0) !== "_" && node.data.node.template[templateField].show && LANGFLOW_SUPPORTED_TYPES.has( - node.data.node.template[templateField].type, - ), + node.data.node.template[templateField].type + ) ) .map((n, i) => { arrNodesWithValues.push(node["id"]); diff --git a/src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx b/src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx index a19ee6a28..e51403acb 100644 --- a/src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx +++ b/src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx @@ -9,7 +9,7 @@ export default function getPythonApiCode( flowId: string, isAuth: boolean, tweaksBuildedObject, - endpointName?: string, + endpointName?: string ): string { const tweaksObject = tweaksBuildedObject[0]; return `import argparse diff --git a/src/frontend/src/modals/apiModal/utils/get-python-code.tsx b/src/frontend/src/modals/apiModal/utils/get-python-code.tsx index ff571b492..9fd8048f2 100644 --- a/src/frontend/src/modals/apiModal/utils/get-python-code.tsx +++ b/src/frontend/src/modals/apiModal/utils/get-python-code.tsx @@ -6,7 +6,7 @@ */ export default function getPythonCode( flowName: string, - tweaksBuildedObject, + tweaksBuildedObject ): string { const tweaksObject = tweaksBuildedObject[0]; diff --git a/src/frontend/src/modals/apiModal/utils/get-value.ts b/src/frontend/src/modals/apiModal/utils/get-value.ts index df8e5bdde..8db7666bf 100644 --- a/src/frontend/src/modals/apiModal/utils/get-value.ts +++ b/src/frontend/src/modals/apiModal/utils/get-value.ts @@ -5,7 +5,7 @@ export const getValue = ( value: string, node: NodeType, template: TemplateVariableType, - tweak: Object[], + tweak: Object[] ) => { let returnValue = value ?? ""; diff --git a/src/frontend/src/modals/apiModal/utils/get-widget-code.tsx b/src/frontend/src/modals/apiModal/utils/get-widget-code.tsx index 0d3d02f91..a05dc192a 100644 --- a/src/frontend/src/modals/apiModal/utils/get-widget-code.tsx +++ b/src/frontend/src/modals/apiModal/utils/get-widget-code.tsx @@ -6,7 +6,7 @@ export default function getWidgetCode( flowId: string, flowName: string, - isAuth: boolean, + isAuth: boolean ): string { return ` diff --git a/src/frontend/src/modals/apiModal/utils/tabs-array.tsx b/src/frontend/src/modals/apiModal/utils/tabs-array.tsx index deed73332..adc15f932 100644 --- a/src/frontend/src/modals/apiModal/utils/tabs-array.tsx +++ b/src/frontend/src/modals/apiModal/utils/tabs-array.tsx @@ -1,7 +1,7 @@ export function createTabsArray( codes, includeWebhookCurl = false, - includeTweaks = false, + includeTweaks = false ) { const tabs = [ { diff --git a/src/frontend/src/modals/apiModal/views/index.tsx b/src/frontend/src/modals/apiModal/views/index.tsx index a26cd62d1..f7a72082c 100644 --- a/src/frontend/src/modals/apiModal/views/index.tsx +++ b/src/frontend/src/modals/apiModal/views/index.tsx @@ -35,7 +35,7 @@ const ApiModal = forwardRef( flow: FlowType; children: ReactNode; }, - ref, + ref ) => { const tweak = useTweaksStore((state) => state.tweak); const addTweaks = useTweaksStore((state) => state.setTweak); @@ -50,18 +50,18 @@ const ApiModal = forwardRef( flow?.id, autoLogin, tweak, - flow?.endpoint_name, + flow?.endpoint_name ); const curl_run_code = getCurlRunCode( flow?.id, autoLogin, tweak, - flow?.endpoint_name, + flow?.endpoint_name ); const curl_webhook_code = getCurlWebhookCode( flow?.id, autoLogin, - flow?.endpoint_name, + flow?.endpoint_name ); const pythonCode = getPythonCode(flow?.name, tweak); const widgetCode = getWidgetCode(flow?.id, flow?.name, autoLogin); @@ -77,7 +77,7 @@ const ApiModal = forwardRef( pythonCode, ]; const [tabs, setTabs] = useState( - createTabsArray(codesArray, includeWebhook), + createTabsArray(codesArray, includeWebhook) ); const canShowTweaks = @@ -126,7 +126,7 @@ const ApiModal = forwardRef( buildTweakObject( nodeId, element.data.node.template[templateField].value, - element.data.node.template[templateField], + element.data.node.template[templateField] ); } }); @@ -143,7 +143,7 @@ const ApiModal = forwardRef( async function buildTweakObject( tw: string, changes: string | string[] | boolean | number | Object[] | Object, - template: TemplateVariableType, + template: TemplateVariableType ) { changes = getChangesType(changes, template); @@ -185,7 +185,7 @@ const ApiModal = forwardRef( flow?.id, autoLogin, cloneTweak, - flow?.endpoint_name, + flow?.endpoint_name ); const pythonCode = getPythonCode(flow?.name, cloneTweak); const widgetCode = getWidgetCode(flow?.id, flow?.name, autoLogin); @@ -229,7 +229,7 @@ const ApiModal = forwardRef( ); - }, + } ); export default ApiModal; diff --git a/src/frontend/src/modals/baseModal/index.tsx b/src/frontend/src/modals/baseModal/index.tsx index a53aab173..21f41d14f 100644 --- a/src/frontend/src/modals/baseModal/index.tsx +++ b/src/frontend/src/modals/baseModal/index.tsx @@ -102,7 +102,7 @@ interface BaseModalProps { React.ReactElement, React.ReactElement, React.ReactElement?, - React.ReactElement?, + React.ReactElement? ]; open?: boolean; setOpen?: (open: boolean) => void; @@ -136,16 +136,16 @@ function BaseModal({ onSubmit, }: BaseModalProps) { const headerChild = React.Children.toArray(children).find( - (child) => (child as React.ReactElement).type === Header, + (child) => (child as React.ReactElement).type === Header ); const triggerChild = React.Children.toArray(children).find( - (child) => (child as React.ReactElement).type === Trigger, + (child) => (child as React.ReactElement).type === Trigger ); const ContentChild = React.Children.toArray(children).find( - (child) => (child as React.ReactElement).type === Content, + (child) => (child as React.ReactElement).type === Content ); const ContentFooter = React.Children.toArray(children).find( - (child) => (child as React.ReactElement).type === Footer, + (child) => (child as React.ReactElement).type === Footer ); let { minWidth, height } = switchCaseModalSize(size); diff --git a/src/frontend/src/modals/editNodeModal/index.tsx b/src/frontend/src/modals/editNodeModal/index.tsx index 252237ef8..519dba852 100644 --- a/src/frontend/src/modals/editNodeModal/index.tsx +++ b/src/frontend/src/modals/editNodeModal/index.tsx @@ -52,7 +52,7 @@ const EditNodeModal = forwardRef( setOpen: (open: boolean) => void; data: NodeDataType; }, - ref, + ref ) => { const nodes = useFlowStore((state) => state.nodes); @@ -134,7 +134,7 @@ const EditNodeModal = forwardRef( "edit-node-modal-box", nodeLength > limitScrollFieldsModal ? "overflow-scroll overflow-x-hidden custom-scroll" - : "", + : "" )} > {nodeLength > 0 && ( @@ -157,8 +157,8 @@ const EditNodeModal = forwardRef( templateParam.charAt(0) !== "_" && myData.node?.template[templateParam].show && LANGFLOW_SUPPORTED_TYPES.has( - myData.node!.template[templateParam].type, - ), + myData.node!.template[templateParam].type + ) ) .map((templateParam, index) => { let id = { @@ -180,8 +180,8 @@ const EditNodeModal = forwardRef( myData.node?.template[templateParam] .proxy, } - : id, - ), + : id + ) ) ?? false; return ( @@ -263,7 +263,7 @@ const EditNodeModal = forwardRef( onChange={(value: string[]) => { handleOnNewValue( value, - templateParam, + templateParam ); }} /> @@ -287,11 +287,11 @@ const EditNodeModal = forwardRef( .value ?? "" } onChange={( - value: string | string[], + value: string | string[] ) => { handleOnNewValue( value, - templateParam, + templateParam ); }} /> @@ -341,7 +341,7 @@ const EditNodeModal = forwardRef( ].value = newValue; handleOnNewValue( newValue, - templateParam, + templateParam ); }} id="editnode-div-dict-input" @@ -358,7 +358,7 @@ const EditNodeModal = forwardRef( myData.node!.template[templateParam].value ?.length > 1 ? "my-3" - : "", + : "" )} > { handleOnNewValue( isEnabled, - templateParam, + templateParam ); }} size="small" @@ -643,7 +643,7 @@ const EditNodeModal = forwardRef( ); - }, + } ); export default EditNodeModal; diff --git a/src/frontend/src/modals/exportModal/index.tsx b/src/frontend/src/modals/exportModal/index.tsx index 8ebc3f863..a04891821 100644 --- a/src/frontend/src/modals/exportModal/index.tsx +++ b/src/frontend/src/modals/exportModal/index.tsx @@ -45,7 +45,7 @@ const ExportModal = forwardRef( is_component: false, }, name!, - description, + description ); setNoticeData({ title: API_WARNING_NOTICE_ALERT, @@ -61,7 +61,7 @@ const ExportModal = forwardRef( is_component: false, }), name!, - description, + description ); setOpen(false); }} @@ -102,6 +102,6 @@ const ExportModal = forwardRef( ); - }, + } ); export default ExportModal; diff --git a/src/frontend/src/modals/flowLogsModal/index.tsx b/src/frontend/src/modals/flowLogsModal/index.tsx index 6928b6021..d395d0d7b 100644 --- a/src/frontend/src/modals/flowLogsModal/index.tsx +++ b/src/frontend/src/modals/flowLogsModal/index.tsx @@ -1,5 +1,4 @@ import { ColDef, ColGroupDef } from "ag-grid-community"; -import { AxiosError } from "axios"; import { useEffect, useRef, useState } from "react"; import IconComponent from "../../components/genericIconComponent"; import TableComponent from "../../components/tableComponent"; @@ -9,7 +8,7 @@ import useAlertStore from "../../stores/alertStore"; import useFlowStore from "../../stores/flowStore"; import useFlowsManagerStore from "../../stores/flowsManagerStore"; import { FlowSettingsPropsType } from "../../types/components"; -import { FlowType, NodeDataType } from "../../types/flow"; +import { NodeDataType } from "../../types/flow"; import BaseModal from "../baseModal"; export default function FlowLogsModal({ @@ -38,7 +37,7 @@ export default function FlowLogsModal({ const { columns, rows } = data; setColumns(columns.map((col) => ({ ...col, editable: true }))); setRows(rows); - }, + } ); } @@ -48,7 +47,7 @@ export default function FlowLogsModal({ .some((template) => template["stream"] && template["stream"].value); console.log( haStream, - nodes.map((nodes) => (nodes.data as NodeDataType).node!.template), + nodes.map((nodes) => (nodes.data as NodeDataType).node!.template) ); if (haStream) { setNoticeData({ diff --git a/src/frontend/src/modals/foldersModal/component/index.tsx b/src/frontend/src/modals/foldersModal/component/index.tsx index 5093adf8e..a2ca33085 100644 --- a/src/frontend/src/modals/foldersModal/component/index.tsx +++ b/src/frontend/src/modals/foldersModal/component/index.tsx @@ -1,5 +1,4 @@ import { useEffect, useState } from "react"; -import InputComponent from "../../../components/inputComponent"; import { FormControl, FormField, diff --git a/src/frontend/src/modals/foldersModal/hooks/submit-folder.tsx b/src/frontend/src/modals/foldersModal/hooks/submit-folder.tsx index 71a8ac944..c35d7c450 100644 --- a/src/frontend/src/modals/foldersModal/hooks/submit-folder.tsx +++ b/src/frontend/src/modals/foldersModal/hooks/submit-folder.tsx @@ -33,7 +33,7 @@ const useFolderSubmit = (setOpen, folderToEdit) => { getFoldersApi(true); setOpen(false); } - }, + } ); } else { addFolder(data).then( @@ -49,7 +49,7 @@ const useFolderSubmit = (setOpen, folderToEdit) => { setErrorData({ title: `Error creating folder.`, }); - }, + } ); } }; diff --git a/src/frontend/src/modals/genericModal/index.tsx b/src/frontend/src/modals/genericModal/index.tsx index c842b38d7..369ccbb96 100644 --- a/src/frontend/src/modals/genericModal/index.tsx +++ b/src/frontend/src/modals/genericModal/index.tsx @@ -83,7 +83,7 @@ export default function GenericModal({ } const filteredWordsHighlight = matches.filter( - (word) => !invalid_chars.includes(word), + (word) => !invalid_chars.includes(word) ); setWordsHighlight(filteredWordsHighlight); @@ -134,7 +134,7 @@ export default function GenericModal({ // to the first key of the custom_fields object if (field_name === "") { field_name = Array.isArray( - apiReturn.data?.frontend_node?.custom_fields?.[""], + apiReturn.data?.frontend_node?.custom_fields?.[""] ) ? apiReturn.data?.frontend_node?.custom_fields?.[""][0] ?? "" : apiReturn.data?.frontend_node?.custom_fields?.[""] ?? ""; @@ -209,7 +209,7 @@ export default function GenericModal({
{type === TypeModal.PROMPT && isEdit && !readonly ? ( diff --git a/src/frontend/src/modals/newFlowModal/index.tsx b/src/frontend/src/modals/newFlowModal/index.tsx index f9d1f98b2..7e64ed5dc 100644 --- a/src/frontend/src/modals/newFlowModal/index.tsx +++ b/src/frontend/src/modals/newFlowModal/index.tsx @@ -32,7 +32,7 @@ export default function NewFlowModal({ key={0} flow={ examples.find( - (e) => e.name == "Basic Prompting (Hello, World)", + (e) => e.name == "Basic Prompting (Hello, World)" )! } /> diff --git a/src/frontend/src/modals/shareModal/index.tsx b/src/frontend/src/modals/shareModal/index.tsx index bde63de7e..9d14129a5 100644 --- a/src/frontend/src/modals/shareModal/index.tsx +++ b/src/frontend/src/modals/shareModal/index.tsx @@ -128,14 +128,14 @@ export default function ShareModal({ title: "Error sharing " + is_component ? "component" : "flow", list: [err["response"]["data"]["detail"]], }); - }, + } ); else updateFlowStore( flow!, getTagsIds(selectedTags, tags), sharePublic, - unavaliableNames.find((e) => e.name === name)!.id, + unavaliableNames.find((e) => e.name === name)!.id ).then(successShare, (err) => { setErrorData({ title: "Error sharing " + is_component ? "component" : "flow", @@ -203,7 +203,7 @@ export default function ShareModal({ setOpen={setOpen ?? internalSetOpen} onSubmit={() => { const isNameAvailable = !unavaliableNames.some( - (element) => element.name === name, + (element) => element.name === name ); if (isNameAvailable) { diff --git a/src/frontend/src/modals/shareModal/utils/get-tags-ids.tsx b/src/frontend/src/modals/shareModal/utils/get-tags-ids.tsx index 364d310a5..1eb1c650e 100644 --- a/src/frontend/src/modals/shareModal/utils/get-tags-ids.tsx +++ b/src/frontend/src/modals/shareModal/utils/get-tags-ids.tsx @@ -1,6 +1,6 @@ export default function getTagsIds( tags: string[], - tagListId: { name: string; id: string }[], + tagListId: { name: string; id: string }[] ) { return tags .map((tag) => tagListId.find((tagObj) => tagObj.name === tag))! diff --git a/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx index c902ec2d5..c84c6e405 100644 --- a/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/PageComponent/index.tsx @@ -36,8 +36,8 @@ import { } from "../../../../utils/reactflowUtils"; import ConnectionLineComponent from "../ConnectionLineComponent"; import SelectionMenu from "../SelectionMenuComponent"; -import isWrappedWithClass from "./utils/is-wrapped-with-class"; import getRandomName from "./utils/get-random-name"; +import isWrappedWithClass from "./utils/is-wrapped-with-class"; const nodeTypes = { genericNode: GenericNode, @@ -52,19 +52,19 @@ export default function Page({ }): JSX.Element { const uploadFlow = useFlowsManagerStore((state) => state.uploadFlow); const autoSaveCurrentFlow = useFlowsManagerStore( - (state) => state.autoSaveCurrentFlow, + (state) => state.autoSaveCurrentFlow ); const types = useTypesStore((state) => state.types); const templates = useTypesStore((state) => state.templates); const setFilterEdge = useFlowStore((state) => state.setFilterEdge); const reactFlowWrapper = useRef(null); const [showCanvas, setSHowCanvas] = useState( - Object.keys(templates).length > 0 && Object.keys(types).length > 0, + Object.keys(templates).length > 0 && Object.keys(types).length > 0 ); const reactFlowInstance = useFlowStore((state) => state.reactFlowInstance); const setReactFlowInstance = useFlowStore( - (state) => state.setReactFlowInstance, + (state) => state.setReactFlowInstance ); const nodes = useFlowStore((state) => state.nodes); const edges = useFlowStore((state) => state.edges); @@ -81,10 +81,10 @@ export default function Page({ const paste = useFlowStore((state) => state.paste); const resetFlow = useFlowStore((state) => state.resetFlow); const lastCopiedSelection = useFlowStore( - (state) => state.lastCopiedSelection, + (state) => state.lastCopiedSelection ); const setLastCopiedSelection = useFlowStore( - (state) => state.setLastCopiedSelection, + (state) => state.setLastCopiedSelection ); const onConnect = useFlowStore((state) => state.onConnect); const currentFlowId = useFlowsManagerStore((state) => state.currentFlowId); @@ -107,7 +107,7 @@ export default function Page({ clonedSelection!, clonedNodes, clonedEdges, - getRandomName(), + getRandomName() ); const newGroupNode = generateNodeFromFlow(newFlow, getNodeId); const newEdges = reconnectEdges(newGroupNode, removedEdges); @@ -115,8 +115,8 @@ export default function Page({ ...clonedNodes.filter( (oldNodes) => !clonedSelection?.nodes.some( - (selectionNode) => selectionNode.id === oldNodes.id, - ), + (selectionNode) => selectionNode.id === oldNodes.id + ) ), newGroupNode, ]); @@ -126,8 +126,8 @@ export default function Page({ !clonedSelection!.nodes.some( (selectionNode) => selectionNode.id === oldEdge.target || - selectionNode.id === oldEdge.source, - ), + selectionNode.id === oldEdge.source + ) ), ...newEdges, ]); @@ -180,7 +180,7 @@ export default function Page({ { x: position.current.x, y: position.current.y, - }, + } ); } if (!isWrappedWithClass(event, "noundo")) { @@ -276,7 +276,7 @@ export default function Page({ useEffect(() => { setSHowCanvas( - Object.keys(templates).length > 0 && Object.keys(types).length > 0, + Object.keys(templates).length > 0 && Object.keys(types).length > 0 ); }, [templates, types]); @@ -285,7 +285,7 @@ export default function Page({ takeSnapshot(); onConnect(params); }, - [takeSnapshot, onConnect], + [takeSnapshot, onConnect] ); const onNodeDragStart: NodeDragHandler = useCallback(() => { @@ -326,7 +326,7 @@ export default function Page({ // Extract the data from the drag event and parse it as a JSON object const data: { type: string; node?: APIClassType } = JSON.parse( - event.dataTransfer.getData("nodedata"), + event.dataTransfer.getData("nodedata") ); const newId = getNodeId(data.type); @@ -342,7 +342,7 @@ export default function Page({ }; paste( { nodes: [newNode], edges: [] }, - { x: event.clientX, y: event.clientY }, + { x: event.clientX, y: event.clientY } ); } else if (event.dataTransfer.types.some((types) => types === "Files")) { takeSnapshot(); @@ -371,7 +371,7 @@ export default function Page({ } }, // Specify dependencies for useCallback - [getNodeId, setNodes, takeSnapshot, paste], + [getNodeId, setNodes, takeSnapshot, paste] ); const onEdgeUpdateStart = useCallback(() => { @@ -387,7 +387,7 @@ export default function Page({ setEdges((els) => updateEdge(oldEdge, newConnection, els)); } }, - [setEdges], + [setEdges] ); const onEdgeUpdateEnd = useCallback((_, edge: Edge): void => { @@ -420,7 +420,7 @@ export default function Page({ (flow: OnSelectionChangeParams): void => { setLastSelection(flow); }, - [], + [] ); const onPaneClick = useCallback((flow) => { diff --git a/src/frontend/src/pages/FlowPage/components/PageComponent/utils/get-random-name.tsx b/src/frontend/src/pages/FlowPage/components/PageComponent/utils/get-random-name.tsx index d3bcf4d55..a58b83ec3 100644 --- a/src/frontend/src/pages/FlowPage/components/PageComponent/utils/get-random-name.tsx +++ b/src/frontend/src/pages/FlowPage/components/PageComponent/utils/get-random-name.tsx @@ -5,7 +5,7 @@ import { toTitleCase } from "../../../../../utils/utils"; export default function getRandomName( retry: number = 0, noSpace: boolean = false, - maxRetries: number = 3, + maxRetries: number = 3 ): string { const left: string[] = ADJECTIVES; const right: string[] = NOUNS; diff --git a/src/frontend/src/pages/FlowPage/components/SelectionMenuComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/SelectionMenuComponent/index.tsx index a6d83153c..d850ce1e2 100644 --- a/src/frontend/src/pages/FlowPage/components/SelectionMenuComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/SelectionMenuComponent/index.tsx @@ -13,7 +13,7 @@ export default function SelectionMenu({ const [disable, setDisable] = useState( lastSelection && edges.length > 0 ? validateSelection(lastSelection!, edges).length > 0 - : false, + : false ); const [isOpen, setIsOpen] = useState(false); const [isTransitioning, setIsTransitioning] = useState(false); diff --git a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx index ef6cf507c..20250fdd7 100644 --- a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/index.tsx @@ -42,7 +42,7 @@ export default function ExtraSidebar(): JSX.Element { const [search, setSearch] = useState(""); function onDragStart( event: React.DragEvent, - data: { type: string; node?: APIClassType }, + data: { type: string; node?: APIClassType } ): void { //start drag event var crt = event.currentTarget.cloneNode(true); @@ -68,7 +68,7 @@ export default function ExtraSidebar(): JSX.Element { let keys = Object.keys(data[d]).filter( (nd) => nd.toLowerCase().includes(e.toLowerCase()) || - data[d][nd].display_name?.toLowerCase().includes(e.toLowerCase()), + data[d][nd].display_name?.toLowerCase().includes(e.toLowerCase()) ); keys.forEach((element) => { ret[d][element] = data[d][element]; @@ -135,7 +135,7 @@ export default function ExtraSidebar(): JSX.Element { if (filtered.some((x) => x !== "")) { let keys = Object.keys(dataClone[d]).filter((nd) => - filtered.includes(nd), + filtered.includes(nd) ); Object.keys(dataClone[d]).forEach((element) => { if (!keys.includes(element)) { @@ -172,7 +172,7 @@ export default function ExtraSidebar(): JSX.Element { if (filtered.some((x) => x !== "")) { let keys = Object.keys(dataClone[d]).filter((nd) => - filtered.includes(nd), + filtered.includes(nd) ); Object.keys(dataClone[d]).forEach((element) => { if (!keys.includes(element)) { @@ -201,7 +201,7 @@ export default function ExtraSidebar(): JSX.Element { "extra-side-bar-buttons gap-[4px] text-sm font-semibold", !hasApiKey || !validApiKey || !hasStore ? "button-disable cursor-default text-muted-foreground" - : "", + : "" )} > Share ), - [hasApiKey, validApiKey, currentFlow, hasStore], + [hasApiKey, validApiKey, currentFlow, hasStore] ); const ExportMemo = useMemo( @@ -228,7 +228,7 @@ export default function ExtraSidebar(): JSX.Element { ), - [], + [] ); const getIcon = useMemo(() => { @@ -312,8 +312,8 @@ export default function ExtraSidebar(): JSX.Element { .sort((a, b) => sensitiveSort( dataFilter[SBSectionName][a].display_name, - dataFilter[SBSectionName][b].display_name, - ), + dataFilter[SBSectionName][b].display_name + ) ) .map((SBItemName: string, index) => ( ) : (
- ), + ) )}{" "} sensitiveSort( dataFilter[SBSectionName][a].display_name, - dataFilter[SBSectionName][b].display_name, - ), + dataFilter[SBSectionName][b].display_name + ) ) .map((SBItemName: string, index) => ( ) : (
- ), + ) )}
diff --git a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx index e3bef9114..bbd5573cb 100644 --- a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx @@ -58,7 +58,7 @@ export default function NodeToolbarComponent({ data.node.template[templateField].type === "Any" || data.node.template[templateField].type === "int" || data.node.template[templateField].type === "dict" || - data.node.template[templateField].type === "NestedDict"), + data.node.template[templateField].type === "NestedDict") ).length; const templates = useTypesStore((state) => state.templates); const hasStore = useStoreStore((state) => state.hasStore); @@ -85,7 +85,7 @@ export default function NodeToolbarComponent({ const [showconfirmShare, setShowconfirmShare] = useState(false); const [showOverrideModal, setShowOverrideModal] = useState(false); const [flowComponent, setFlowComponent] = useState( - createFlowComponent(cloneDeep(data), version), + createFlowComponent(cloneDeep(data), version) ); const openInNewTab = (url) => { @@ -100,7 +100,7 @@ export default function NodeToolbarComponent({ const updateNodeInternals = useUpdateNodeInternals(); const setLastCopiedSelection = useFlowStore( - (state) => state.setLastCopiedSelection, + (state) => state.setLastCopiedSelection ); const setSuccessData = useAlertStore((state) => state.setSuccessData); @@ -153,7 +153,7 @@ export default function NodeToolbarComponent({ nodes, edges, setNodes, - setEdges, + setEdges ); break; case "override": @@ -177,7 +177,7 @@ export default function NodeToolbarComponent({ y: 10, paneX: nodes.find((node) => node.id === data.id)?.position.x, paneY: nodes.find((node) => node.id === data.id)?.position.y, - }, + } ); break; case "update": @@ -215,13 +215,13 @@ export default function NodeToolbarComponent({ }; const isSaved = flows.some((flow) => - Object.values(flow).includes(data.node?.display_name!), + Object.values(flow).includes(data.node?.display_name!) ); const setNode = useFlowStore((state) => state.setNode); const handleOnNewValue = ( - newValue: string | string[] | boolean | Object[], + newValue: string | string[] | boolean | Object[] ): void => { if (data.node!.template[name].value !== newValue) { takeSnapshot(); @@ -408,7 +408,7 @@ export default function NodeToolbarComponent({ data-testid="save-button-modal" className={classNames( "relative -ml-px inline-flex items-center bg-background px-2 py-2 text-foreground shadow-md ring-1 ring-inset ring-ring transition-all duration-500 ease-in-out hover:bg-muted focus:z-10", - hasCode ? " " : " rounded-l-md ", + hasCode ? " " : " rounded-l-md " )} onClick={(event) => { event.preventDefault(); @@ -426,7 +426,7 @@ export default function NodeToolbarComponent({ @@ -474,7 +474,7 @@ export default function NodeToolbarComponent({
state.setCurrentFlowId, + (state) => state.setCurrentFlowId ); const version = useDarkStore((state) => state.version); const setOnFlowPage = useFlowStore((state) => state.setOnFlowPage); diff --git a/src/frontend/src/pages/MainPage/components/componentsComponent/index.tsx b/src/frontend/src/pages/MainPage/components/componentsComponent/index.tsx index 3577c74c8..f7d52c611 100644 --- a/src/frontend/src/pages/MainPage/components/componentsComponent/index.tsx +++ b/src/frontend/src/pages/MainPage/components/componentsComponent/index.tsx @@ -31,22 +31,22 @@ export default function ComponentsComponent({ const allFlows = useFlowsManagerStore((state) => state.allFlows); const flowsFromFolder = useFolderStore( - (state) => state.selectedFolder?.flows, + (state) => state.selectedFolder?.flows ); const setSuccessData = useAlertStore((state) => state.setSuccessData); const setErrorData = useAlertStore((state) => state.setErrorData); const [openDelete, setOpenDelete] = useState(false); const searchFlowsComponents = useFlowsManagerStore( - (state) => state.searchFlowsComponents, + (state) => state.searchFlowsComponents ); const setSelectedFlowsComponentsCards = useFlowsManagerStore( - (state) => state.setSelectedFlowsComponentsCards, + (state) => state.setSelectedFlowsComponentsCards ); const selectedFlowsComponentsCards = useFlowsManagerStore( - (state) => state.selectedFlowsComponentsCards, + (state) => state.selectedFlowsComponentsCards ); const [handleFileDrop] = useFileDrop(uploadFlow, type)!; @@ -82,7 +82,7 @@ export default function ComponentsComponent({ f.name.toLowerCase().includes(searchFlowsComponents.toLowerCase()) || f.description .toLowerCase() - .includes(searchFlowsComponents.toLowerCase()), + .includes(searchFlowsComponents.toLowerCase()) ); if (searchFlowsComponents === "") { @@ -137,9 +137,9 @@ export default function ComponentsComponent({ selectedFlowsComponentsCards.map((selectedFlow) => addFlow( true, - allFlows.find((flow) => flow.id === selectedFlow), - ), - ), + allFlows.find((flow) => flow.id === selectedFlow) + ) + ) ).then(() => { resetFilter(); getFoldersApi(true); @@ -180,7 +180,7 @@ export default function ComponentsComponent({ return true; } return false; - }, + } ); setSelectedFlowsComponentsCards(selectedFlows); @@ -215,7 +215,7 @@ export default function ComponentsComponent({ if (type === "all") return allFlows?.length; return allFlows?.filter( - (f) => (f.is_component ?? false) === (type === "component"), + (f) => (f.is_component ?? false) === (type === "component") )?.length; }; diff --git a/src/frontend/src/pages/MainPage/components/emptyComponent/index.tsx b/src/frontend/src/pages/MainPage/components/emptyComponent/index.tsx index fdcc7291a..1a4a16eb1 100644 --- a/src/frontend/src/pages/MainPage/components/emptyComponent/index.tsx +++ b/src/frontend/src/pages/MainPage/components/emptyComponent/index.tsx @@ -1,7 +1,7 @@ -import { useNavigate } from "react-router-dom"; -import useFlowsManagerStore from "../../../../stores/flowsManagerStore"; -import NewFlowModal from "../../../../modals/newFlowModal"; import { useState } from "react"; +import { useNavigate } from "react-router-dom"; +import NewFlowModal from "../../../../modals/newFlowModal"; +import useFlowsManagerStore from "../../../../stores/flowsManagerStore"; type EmptyComponentProps = {}; diff --git a/src/frontend/src/pages/MainPage/components/headerComponent/index.tsx b/src/frontend/src/pages/MainPage/components/headerComponent/index.tsx index 212816ea4..2d2e43a2a 100644 --- a/src/frontend/src/pages/MainPage/components/headerComponent/index.tsx +++ b/src/frontend/src/pages/MainPage/components/headerComponent/index.tsx @@ -1,17 +1,8 @@ import { useState } from "react"; import IconComponent from "../../../../components/genericIconComponent"; -import { - Select, - SelectContent, - SelectGroup, - SelectItem, - SelectTrigger, - SelectValue, -} from "../../../../components/ui/select"; -import { Checkbox } from "../../../../components/ui/checkbox"; -import { Button } from "../../../../components/ui/button"; -import { cn } from "../../../../utils/utils"; import ShadTooltip from "../../../../components/shadTooltipComponent"; +import { Checkbox } from "../../../../components/ui/checkbox"; +import { cn } from "../../../../utils/utils"; type HeaderComponentProps = { handleSelectAll: (select) => void; @@ -91,7 +82,7 @@ const HeaderComponent = ({ name="Trash2" className={cn( "h-5 w-5 text-primary transition-all", - disableFunctions ? "" : "hover:text-destructive", + disableFunctions ? "" : "hover:text-destructive" )} /> diff --git a/src/frontend/src/pages/MainPage/components/myCollectionComponent/components/headerTabsSearchComponent/index.tsx b/src/frontend/src/pages/MainPage/components/myCollectionComponent/components/headerTabsSearchComponent/index.tsx index 8dca45f3c..17916f05b 100644 --- a/src/frontend/src/pages/MainPage/components/myCollectionComponent/components/headerTabsSearchComponent/index.tsx +++ b/src/frontend/src/pages/MainPage/components/myCollectionComponent/components/headerTabsSearchComponent/index.tsx @@ -1,13 +1,11 @@ import { useState } from "react"; +import { useLocation } from "react-router-dom"; +import useAlertStore from "../../../../../../stores/alertStore"; import useFlowsManagerStore from "../../../../../../stores/flowsManagerStore"; +import { useFolderStore } from "../../../../../../stores/foldersStore"; +import { handleDownloadFolderFn } from "../../../../utils/handle-download-folder"; import InputSearchComponent from "../inputSearchComponent"; import TabsSearchComponent from "../tabsComponent"; -import { Button } from "../../../../../../components/ui/button"; -import ForwardedIconComponent from "../../../../../../components/genericIconComponent"; -import useAlertStore from "../../../../../../stores/alertStore"; -import { handleDownloadFolderFn } from "../../../../utils/handle-download-folder"; -import { useFolderStore } from "../../../../../../stores/foldersStore"; -import { useLocation } from "react-router-dom"; type HeaderTabsSearchComponentProps = {}; @@ -22,7 +20,7 @@ const HeaderTabsSearchComponent = ({}: HeaderTabsSearchComponentProps) => { const [inputValue, setInputValue] = useState(""); const setSearchFlowsComponents = useFlowsManagerStore( - (state) => state.setSearchFlowsComponents, + (state) => state.setSearchFlowsComponents ); const handleDownloadFolder = () => { diff --git a/src/frontend/src/pages/MainPage/components/myCollectionComponent/components/inputSearchComponent/index.tsx b/src/frontend/src/pages/MainPage/components/myCollectionComponent/components/inputSearchComponent/index.tsx index 77d7775fd..8619cb2d5 100644 --- a/src/frontend/src/pages/MainPage/components/myCollectionComponent/components/inputSearchComponent/index.tsx +++ b/src/frontend/src/pages/MainPage/components/myCollectionComponent/components/inputSearchComponent/index.tsx @@ -1,7 +1,7 @@ import { ChangeEvent, KeyboardEvent } from "react"; +import ForwardedIconComponent from "../../../../../../components/genericIconComponent"; import { Input } from "../../../../../../components/ui/input"; import useFlowsManagerStore from "../../../../../../stores/flowsManagerStore"; -import ForwardedIconComponent from "../../../../../../components/genericIconComponent"; type InputSearchComponentProps = { loading: boolean; @@ -23,7 +23,7 @@ const InputSearchComponent = ({ const pagePath = window.location.pathname; const allFlows = useFlowsManagerStore((state) => state.allFlows); const searchFlowsComponents = useFlowsManagerStore( - (state) => state.searchFlowsComponents, + (state) => state.searchFlowsComponents ); const disableInputSearch = diff --git a/src/frontend/src/pages/MainPage/pages/mainPage/index.tsx b/src/frontend/src/pages/MainPage/pages/mainPage/index.tsx index e9dc14137..1511e113f 100644 --- a/src/frontend/src/pages/MainPage/pages/mainPage/index.tsx +++ b/src/frontend/src/pages/MainPage/pages/mainPage/index.tsx @@ -16,7 +16,7 @@ import useDropdownOptions from "../../hooks/use-dropdown-options"; export default function HomePage(): JSX.Element { const uploadFlow = useFlowsManagerStore((state) => state.uploadFlow); const setCurrentFlowId = useFlowsManagerStore( - (state) => state.setCurrentFlowId, + (state) => state.setCurrentFlowId ); const location = useLocation(); diff --git a/src/frontend/src/pages/MainPage/utils/handle-download-folder.ts b/src/frontend/src/pages/MainPage/utils/handle-download-folder.ts index 6817622d0..d6a8e957c 100644 --- a/src/frontend/src/pages/MainPage/utils/handle-download-folder.ts +++ b/src/frontend/src/pages/MainPage/utils/handle-download-folder.ts @@ -11,7 +11,7 @@ export function handleDownloadFolderFn(folderId: string) { data.folder_description = folder?.description || ""; const jsonString = `data:text/json;chatset=utf-8,${encodeURIComponent( - JSON.stringify(data), + JSON.stringify(data) )}`; const link = document.createElement("a"); diff --git a/src/frontend/src/pages/Playground/index.tsx b/src/frontend/src/pages/Playground/index.tsx index 4ea3cc506..d26147df6 100644 --- a/src/frontend/src/pages/Playground/index.tsx +++ b/src/frontend/src/pages/Playground/index.tsx @@ -11,7 +11,7 @@ export default function PlaygroundPage() { const currentFlow = useFlowsManagerStore((state) => state.currentFlow); const getFlowById = useFlowsManagerStore((state) => state.getFlowById); const setCurrentFlowId = useFlowsManagerStore( - (state) => state.setCurrentFlowId, + (state) => state.setCurrentFlowId ); const currentFlowId = useFlowsManagerStore((state) => state.currentFlowId); const setCurrentFlow = useFlowsManagerStore((state) => state.setCurrentFlow); diff --git a/src/frontend/src/pages/SettingsPage/index.tsx b/src/frontend/src/pages/SettingsPage/index.tsx index 4d501ab03..b5169d9af 100644 --- a/src/frontend/src/pages/SettingsPage/index.tsx +++ b/src/frontend/src/pages/SettingsPage/index.tsx @@ -8,7 +8,7 @@ import useFlowsManagerStore from "../../stores/flowsManagerStore"; export default function SettingsPage(): JSX.Element { const pathname = location.pathname; const setCurrentFlowId = useFlowsManagerStore( - (state) => state.setCurrentFlowId, + (state) => state.setCurrentFlowId ); useEffect(() => { setCurrentFlowId(""); diff --git a/src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/PasswordForm/index.tsx b/src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/PasswordForm/index.tsx index 28edb2f09..d99752e7b 100644 --- a/src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/PasswordForm/index.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/PasswordForm/index.tsx @@ -17,7 +17,7 @@ type PasswordFormComponentProps = { handlePatchPassword: ( password: string, cnfPassword: string, - handleInput: any, + handleInput: any ) => void; }; const PasswordFormComponent = ({ diff --git a/src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/StoreApiKeyForm/index.tsx b/src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/StoreApiKeyForm/index.tsx index 5bc5ea38b..1fbf34024 100644 --- a/src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/StoreApiKeyForm/index.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/GeneralPage/components/StoreApiKeyForm/index.tsx @@ -47,8 +47,8 @@ const StoreApiKeyFormComponent = ({ {(hasApiKey && !validApiKey ? INVALID_API_KEY : !hasApiKey - ? NO_API_KEY - : "") + INSERT_API_KEY} + ? NO_API_KEY + : "") + INSERT_API_KEY} diff --git a/src/frontend/src/pages/SettingsPage/pages/GeneralPage/index.tsx b/src/frontend/src/pages/SettingsPage/pages/GeneralPage/index.tsx index 718097152..494a11eb8 100644 --- a/src/frontend/src/pages/SettingsPage/pages/GeneralPage/index.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/GeneralPage/index.tsx @@ -20,13 +20,13 @@ import StoreApiKeyFormComponent from "./components/StoreApiKeyForm"; export default function GeneralPage() { const setCurrentFlowId = useFlowsManagerStore( - (state) => state.setCurrentFlowId, + (state) => state.setCurrentFlowId ); const { scrollId } = useParams(); const [inputState, setInputState] = useState( - CONTROL_PATCH_USER_STATE, + CONTROL_PATCH_USER_STATE ); const { autoLogin } = useContext(AuthContext); @@ -47,14 +47,14 @@ export default function GeneralPage() { const { handlePatchPassword } = usePatchPassword( userData, setSuccessData, - setErrorData, + setErrorData ); const { handlePatchGradient } = usePatchGradient( setSuccessData, setErrorData, userData, - setUserData, + setUserData ); useScrollToElement(scrollId, setCurrentFlowId); @@ -64,7 +64,7 @@ export default function GeneralPage() { setErrorData, setHasApiKey, setValidApiKey, - setLoadingApiKey, + setLoadingApiKey ); function handleInput({ diff --git a/src/frontend/src/pages/SettingsPage/pages/GlobalVariablesPage/index.tsx b/src/frontend/src/pages/SettingsPage/pages/GlobalVariablesPage/index.tsx index fab532e9f..d33761a17 100644 --- a/src/frontend/src/pages/SettingsPage/pages/GlobalVariablesPage/index.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/GlobalVariablesPage/index.tsx @@ -16,13 +16,13 @@ import { cn } from "../../../../utils/utils"; export default function GlobalVariablesPage() { const globalVariablesEntries = useGlobalVariablesStore( - (state) => state.globalVariablesEntries, + (state) => state.globalVariablesEntries ); const removeGlobalVariable = useGlobalVariablesStore( - (state) => state.removeGlobalVariable, + (state) => state.removeGlobalVariable ); const globalVariables = useGlobalVariablesStore( - (state) => state.globalVariables, + (state) => state.globalVariables ); const setErrorData = useAlertStore((state) => state.setErrorData); const getVariableId = useGlobalVariablesStore((state) => state.getVariableId); @@ -154,7 +154,7 @@ export default function GlobalVariablesPage() { @@ -174,7 +174,7 @@ export default function GlobalVariablesPage() { overlayNoRowsTemplate="No data available" onSelectionChanged={(event: SelectionChangedEvent) => { setSelectedRows( - event.api.getSelectedRows().map((row) => row.name), + event.api.getSelectedRows().map((row) => row.name) ); }} rowSelection="multiple" diff --git a/src/frontend/src/pages/SettingsPage/pages/hooks/use-patch-gradient.tsx b/src/frontend/src/pages/SettingsPage/pages/hooks/use-patch-gradient.tsx index ea61d4722..9adb923a7 100644 --- a/src/frontend/src/pages/SettingsPage/pages/hooks/use-patch-gradient.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/hooks/use-patch-gradient.tsx @@ -9,7 +9,7 @@ const usePatchGradient = ( setSuccessData, setErrorData, currentUserData, - setUserData, + setUserData ) => { const handlePatchGradient = async (gradient) => { try { diff --git a/src/frontend/src/pages/SettingsPage/pages/hooks/use-save-key.tsx b/src/frontend/src/pages/SettingsPage/pages/hooks/use-save-key.tsx index cf5871a26..bdd105fef 100644 --- a/src/frontend/src/pages/SettingsPage/pages/hooks/use-save-key.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/hooks/use-save-key.tsx @@ -11,7 +11,7 @@ const useSaveKey = ( setErrorData, setHasApiKey, setValidApiKey, - setLoadingApiKey, + setLoadingApiKey ) => { const { storeApiKey } = useContext(AuthContext); @@ -35,7 +35,7 @@ const useSaveKey = ( setHasApiKey(false); setValidApiKey(false); setLoadingApiKey(false); - }, + } ); } }; diff --git a/src/frontend/src/pages/SettingsPage/pages/messagesPage/components/headerMessages/index.tsx b/src/frontend/src/pages/SettingsPage/pages/messagesPage/components/headerMessages/index.tsx index fc88edbf7..339a1a7bd 100644 --- a/src/frontend/src/pages/SettingsPage/pages/messagesPage/components/headerMessages/index.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/messagesPage/components/headerMessages/index.tsx @@ -37,7 +37,7 @@ const HeaderMessagesComponent = ({ diff --git a/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-remove-messages.tsx b/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-remove-messages.tsx index d7f4d5202..f4de52cbb 100644 --- a/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-remove-messages.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-remove-messages.tsx @@ -5,7 +5,7 @@ const useRemoveMessages = ( setSelectedRows, setSuccessData, setErrorData, - selectedRows, + selectedRows ) => { const deleteMessages = useMessagesStore((state) => state.removeMessages); diff --git a/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-updateMessage.tsx b/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-updateMessage.tsx index 7165a3cc5..3287c7170 100644 --- a/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-updateMessage.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/messagesPage/hooks/use-updateMessage.tsx @@ -1,6 +1,6 @@ +import { updateMessageApi } from "../../../../../controllers/API"; import { useMessagesStore } from "../../../../../stores/messagesStore"; import { Message } from "../../../../../types/messages"; -import { updateMessageApi } from "../../../../../controllers/API"; const useUpdateMessage = (setSuccessData, setErrorData) => { const updateMessage = useMessagesStore((state) => state.updateMessage); diff --git a/src/frontend/src/pages/SettingsPage/pages/messagesPage/index.tsx b/src/frontend/src/pages/SettingsPage/pages/messagesPage/index.tsx index dac957d9a..2fff6f360 100644 --- a/src/frontend/src/pages/SettingsPage/pages/messagesPage/index.tsx +++ b/src/frontend/src/pages/SettingsPage/pages/messagesPage/index.tsx @@ -27,7 +27,7 @@ export default function MessagesPage() { setSelectedRows, setSuccessData, setErrorData, - selectedRows, + selectedRows ); const { handleUpdate } = useUpdateMessage(setSuccessData, setErrorData); @@ -64,7 +64,7 @@ export default function MessagesPage() { overlayNoRowsTemplate="No data available" onSelectionChanged={(event: SelectionChangedEvent) => { setSelectedRows( - event.api.getSelectedRows().map((row) => row.index), + event.api.getSelectedRows().map((row) => row.index) ); }} rowSelection="multiple" diff --git a/src/frontend/src/pages/StorePage/index.tsx b/src/frontend/src/pages/StorePage/index.tsx index 2fc401d8a..80b842db7 100644 --- a/src/frontend/src/pages/StorePage/index.tsx +++ b/src/frontend/src/pages/StorePage/index.tsx @@ -6,7 +6,6 @@ import PageLayout from "../../components/pageLayout"; import ShadTooltip from "../../components/shadTooltipComponent"; import { SkeletonCardComponent } from "../../components/skeletonCardComponent"; import { Button } from "../../components/ui/button"; -import { Input } from "../../components/ui/input"; import { Link, useNavigate, useParams } from "react-router-dom"; import PaginatorComponent from "../../components/paginatorComponent"; @@ -47,7 +46,7 @@ export default function StorePage(): JSX.Element { const setErrorData = useAlertStore((state) => state.setErrorData); const setCurrentFlowId = useFlowsManagerStore( - (state) => state.setCurrentFlowId, + (state) => state.setCurrentFlowId ); const currentFlowId = useFlowsManagerStore((state) => state.currentFlowId); const [loading, setLoading] = useState(true); @@ -144,7 +143,7 @@ export default function StorePage(): JSX.Element { setTotalRowsCount( filteredCategories?.length === 0 ? Number(res?.count ?? 0) - : res?.results?.length ?? 0, + : res?.results?.length ?? 0 ); } }) @@ -184,7 +183,7 @@ export default function StorePage(): JSX.Element { disabled={loading} className={cn( `${!validApiKey ? "animate-pulse border-error" : ""}`, - loading ? "cursor-not-allowed" : "", + loading ? "cursor-not-allowed" : "" )} variant="primary" onClick={() => { diff --git a/src/frontend/src/routes.tsx b/src/frontend/src/routes.tsx index 44697b73a..d14762c08 100644 --- a/src/frontend/src/routes.tsx +++ b/src/frontend/src/routes.tsx @@ -15,19 +15,19 @@ const DeleteAccountPage = lazy(() => import("./pages/DeleteAccountPage")); const FlowPage = lazy(() => import("./pages/FlowPage")); const LoginPage = lazy(() => import("./pages/LoginPage")); const MyCollectionComponent = lazy( - () => import("./pages/MainPage/components/myCollectionComponent"), + () => import("./pages/MainPage/components/myCollectionComponent") ); const HomePage = lazy(() => import("./pages/MainPage/pages/mainPage")); const PlaygroundPage = lazy(() => import("./pages/Playground")); const SettingsPage = lazy(() => import("./pages/SettingsPage")); const GeneralPage = lazy( - () => import("./pages/SettingsPage/pages/GeneralPage"), + () => import("./pages/SettingsPage/pages/GeneralPage") ); const GlobalVariablesPage = lazy( - () => import("./pages/SettingsPage/pages/GlobalVariablesPage"), + () => import("./pages/SettingsPage/pages/GlobalVariablesPage") ); const ShortcutsPage = lazy( - () => import("./pages/SettingsPage/pages/ShortcutsPage"), + () => import("./pages/SettingsPage/pages/ShortcutsPage") ); const SignUp = lazy(() => import("./pages/SignUpPage")); const StorePage = lazy(() => import("./pages/StorePage")); diff --git a/src/frontend/src/stores/darkStore.ts b/src/frontend/src/stores/darkStore.ts index 51a9edd0a..885c914c4 100644 --- a/src/frontend/src/stores/darkStore.ts +++ b/src/frontend/src/stores/darkStore.ts @@ -36,7 +36,7 @@ export const useDarkStore = create((set, get) => ({ window.localStorage.setItem("githubStars", res.toString()); window.localStorage.setItem( "githubStarsLastUpdated", - new Date().toString(), + new Date().toString() ); set(() => ({ stars: res, lastUpdated: new Date() })); }); diff --git a/src/frontend/src/stores/flowStore.ts b/src/frontend/src/stores/flowStore.ts index a972aa9cf..1f000cbc8 100644 --- a/src/frontend/src/stores/flowStore.ts +++ b/src/frontend/src/stores/flowStore.ts @@ -73,7 +73,11 @@ const useFlowStore = create((set, get) => ({ }, updateFlowPool: ( nodeId: string, +<<<<<<< HEAD data: VertexBuildTypeAPI | ChatOutputType | chatInputType, +======= + data: FlowPoolObjectType | ChatOutputType | chatInputType, +>>>>>>> dev buildId?: string ) => { let newFlowPool = cloneDeep({ ...get().flowPool }); @@ -488,7 +492,11 @@ const useFlowStore = create((set, get) => ({ (id) => !vertexBuildData.inactivated_vertices?.includes(id) ); const top_level_vertices = vertexBuildData.top_level_vertices.filter( +<<<<<<< HEAD (vertex) => !vertexBuildData.inactivated_vertices?.includes(vertex) +======= + (vertex) => !vertexBuildData.inactivated_vertices?.includes(vertex.id) +>>>>>>> dev ); const nextVertices: VertexLayerElementType[] = zip( next_vertices_ids, @@ -513,7 +521,11 @@ const useFlowStore = create((set, get) => ({ } get().addDataToFlowPool( +<<<<<<< HEAD { ...vertexBuildData, run_id: runId }, +======= + { ...vertexBuildData, buildId: runId }, +>>>>>>> dev vertexBuildData.id ); diff --git a/src/frontend/src/stores/flowsManagerStore.ts b/src/frontend/src/stores/flowsManagerStore.ts index 28537a56e..f256dc14c 100644 --- a/src/frontend/src/stores/flowsManagerStore.ts +++ b/src/frontend/src/stores/flowsManagerStore.ts @@ -1,5 +1,5 @@ -import { cloneDeep } from "lodash"; import * as debounce from "debounce-promise"; +import { cloneDeep } from "lodash"; import { Edge, Node, Viewport, XYPosition } from "reactflow"; import { create } from "zustand"; import { SAVE_DEBOUNCE_TIME } from "../constants/constants"; @@ -87,12 +87,12 @@ const useFlowsManagerStore = create((set, get) => ({ if (dbData) { const { data, flows } = processFlows(dbData, false); const examples = flows.filter( - (flow) => flow.folder_id === starterFolderId, + (flow) => flow.folder_id === starterFolderId ); get().setExamples(examples); const flowsWithoutStarterFolder = flows.filter( - (flow) => flow.folder_id !== starterFolderId, + (flow) => flow.folder_id !== starterFolderId ); get().setFlows(flowsWithoutStarterFolder); @@ -120,7 +120,7 @@ const useFlowsManagerStore = create((set, get) => ({ if (get().currentFlow) { get().saveFlow( { ...get().currentFlow!, data: { nodes, edges, viewport } }, - true, + true ); } }, @@ -146,7 +146,7 @@ const useFlowsManagerStore = create((set, get) => ({ return updatedFlow; } return flow; - }), + }) ); //update tabs state @@ -195,7 +195,7 @@ const useFlowsManagerStore = create((set, get) => ({ flow?: FlowType, override?: boolean, position?: XYPosition, - fromDragAndDrop?: boolean, + fromDragAndDrop?: boolean ): Promise => { if (newProject) { let flowData = flow @@ -211,7 +211,7 @@ const useFlowsManagerStore = create((set, get) => ({ const newFlow = createNewFlow( flowData!, flow!, - folder_id || my_collection_id!, + folder_id || my_collection_id! ); const { id } = await saveFlowToDatabase(newFlow); newFlow.id = id; @@ -234,7 +234,7 @@ const useFlowsManagerStore = create((set, get) => ({ const newFlow = createNewFlow( flowData!, flow!, - folder_id || my_collection_id!, + folder_id || my_collection_id! ); const newName = addVersionToDuplicates(newFlow, get().flows); @@ -270,7 +270,7 @@ const useFlowsManagerStore = create((set, get) => ({ .getState() .paste( { nodes: flow!.data!.nodes, edges: flow!.data!.edges }, - position ?? { x: 10, y: 10 }, + position ?? { x: 10, y: 10 } ); } }, @@ -280,7 +280,7 @@ const useFlowsManagerStore = create((set, get) => ({ multipleDeleteFlowsComponents(id) .then(() => { const { data, flows } = processFlows( - get().flows.filter((flow) => !id.includes(flow.id)), + get().flows.filter((flow) => !id.includes(flow.id)) ); get().setFlows(flows); set({ isLoading: false }); @@ -300,7 +300,7 @@ const useFlowsManagerStore = create((set, get) => ({ deleteFlowFromDatabase(id) .then(() => { const { data, flows } = processFlows( - get().flows.filter((flow) => flow.id !== id), + get().flows.filter((flow) => flow.id !== id) ); get().setFlows(flows); set({ isLoading: false }); @@ -322,7 +322,7 @@ const useFlowsManagerStore = create((set, get) => ({ return new Promise((resolve) => { let componentFlow = get().flows.find( (componentFlow) => - componentFlow.is_component && componentFlow.name === key, + componentFlow.is_component && componentFlow.name === key ); if (componentFlow) { @@ -370,7 +370,7 @@ const useFlowsManagerStore = create((set, get) => ({ fileData, undefined, position, - true, + true ); resolve(id); } @@ -411,7 +411,7 @@ const useFlowsManagerStore = create((set, get) => ({ return get().addFlow( true, createFlowComponent(component, useDarkStore.getState().version), - override, + override ); }, takeSnapshot: () => { @@ -432,7 +432,7 @@ const useFlowsManagerStore = create((set, get) => ({ if (pastLength > 0) { past[currentFlowId] = past[currentFlowId].slice( pastLength - defaultOptions.maxHistorySize + 1, - pastLength, + pastLength ); past[currentFlowId].push(newState); diff --git a/src/frontend/src/stores/foldersStore.tsx b/src/frontend/src/stores/foldersStore.tsx index 9edfef135..ce063e032 100644 --- a/src/frontend/src/stores/foldersStore.tsx +++ b/src/frontend/src/stores/foldersStore.tsx @@ -17,18 +17,18 @@ export const useFolderStore = create((set, get) => ({ getFolders().then( (res) => { const foldersWithoutStarterProjects = res.filter( - (folder) => folder.name !== STARTER_FOLDER_NAME, + (folder) => folder.name !== STARTER_FOLDER_NAME ); const starterProjects = res.find( - (folder) => folder.name === STARTER_FOLDER_NAME, + (folder) => folder.name === STARTER_FOLDER_NAME ); set({ starterProjectId: starterProjects!.id ?? "" }); set({ folders: foldersWithoutStarterProjects }); const myCollectionId = res?.find( - (f) => f.name === DEFAULT_FOLDER, + (f) => f.name === DEFAULT_FOLDER )?.id; set({ myCollectionId }); @@ -45,7 +45,7 @@ export const useFolderStore = create((set, get) => ({ set({ folders: [] }); get().setLoading(false); reject(); - }, + } ); } }); @@ -65,7 +65,7 @@ export const useFolderStore = create((set, get) => ({ }, () => { get().setLoadingById(false); - }, + } ); } }, diff --git a/src/frontend/src/stores/globalVariablesStore/globalVariables.ts b/src/frontend/src/stores/globalVariablesStore/globalVariables.ts index 708f7ec09..c07813858 100644 --- a/src/frontend/src/stores/globalVariablesStore/globalVariables.ts +++ b/src/frontend/src/stores/globalVariablesStore/globalVariables.ts @@ -45,5 +45,5 @@ export const useGlobalVariablesStore = create( getVariableId: (name) => { return get().globalVariables[name]?.id; }, - }), + }) ); diff --git a/src/frontend/src/stores/messagesStore.ts b/src/frontend/src/stores/messagesStore.ts index df1a3c15c..e0ae160eb 100644 --- a/src/frontend/src/stores/messagesStore.ts +++ b/src/frontend/src/stores/messagesStore.ts @@ -17,7 +17,7 @@ export const useMessagesStore = create((set, get) => ({ updateMessage: (message) => { set(() => ({ messages: get().messages.map((msg) => - msg.index === message.index ? message : msg, + msg.index === message.index ? message : msg ), })); }, @@ -29,7 +29,7 @@ export const useMessagesStore = create((set, get) => ({ try { set((state) => { const updatedMessages = state.messages.filter( - (msg) => !ids.includes(msg.index), + (msg) => !ids.includes(msg.index) ); get().setMessages(updatedMessages); resolve(updatedMessages); diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts index 67a2c0b3d..fb07d1f91 100644 --- a/src/frontend/src/types/components/index.ts +++ b/src/frontend/src/types/components/index.ts @@ -550,7 +550,7 @@ export type nodeToolbarPropsType = { updateNodeCode?: ( newNodeClass: APIClassType, code: string, - name: string, + name: string ) => void; setShowState: (show: boolean | SetStateAction) => void; isOutdated?: boolean; @@ -600,7 +600,7 @@ export type chatMessagePropsType = { updateChat: ( chat: ChatMessageType, message: string, - stream_url?: string, + stream_url?: string ) => void; }; @@ -692,12 +692,12 @@ export type codeTabsPropsType = { value: string, node: NodeType, template: TemplateVariableType, - tweak: tweakType, + tweak: tweakType ) => string; buildTweakObject?: ( tw: string, changes: string | string[] | boolean | number | Object[] | Object, - template: TemplateVariableType, + template: TemplateVariableType ) => Promise; }; activeTweaks?: boolean; diff --git a/src/frontend/src/types/zustand/flow/index.ts b/src/frontend/src/types/zustand/flow/index.ts index 0d84a0319..d128e4ac2 100644 --- a/src/frontend/src/types/zustand/flow/index.ts +++ b/src/frontend/src/types/zustand/flow/index.ts @@ -155,7 +155,11 @@ export type FlowStoreType = { }; updateFlowPool: ( nodeId: string, +<<<<<<< HEAD data: VertexBuildTypeAPI | ChatOutputType | chatInputType, +======= + data: FlowPoolObjectType | ChatOutputType | chatInputType, +>>>>>>> dev buildId?: string ) => void; getNodePosition: (nodeId: string) => { x: number; y: number }; diff --git a/src/frontend/src/types/zustand/flowsManager/index.ts b/src/frontend/src/types/zustand/flowsManager/index.ts index aaafebb7b..e0770626e 100644 --- a/src/frontend/src/types/zustand/flowsManager/index.ts +++ b/src/frontend/src/types/zustand/flowsManager/index.ts @@ -17,12 +17,12 @@ export type FlowsManagerStoreType = { saveFlow: (flow: FlowType, silent?: boolean) => Promise | undefined; saveFlowDebounce: ( flow: FlowType, - silent?: boolean, + silent?: boolean ) => Promise | undefined; autoSaveCurrentFlow: ( nodes: Node[], edges: Edge[], - viewport: Viewport, + viewport: Viewport ) => void; uploadFlows: () => Promise; uploadFlow: ({ @@ -41,13 +41,13 @@ export type FlowsManagerStoreType = { flow?: FlowType, override?: boolean, position?: XYPosition, - fromDragAndDrop?: boolean, + fromDragAndDrop?: boolean ) => Promise; deleteComponent: (key: string) => Promise; removeFlow: (id: string | string[]) => Promise; saveComponent: ( component: any, - override: boolean, + override: boolean ) => Promise; undo: () => void; redo: () => void; diff --git a/src/frontend/src/types/zustand/globalVariables/index.ts b/src/frontend/src/types/zustand/globalVariables/index.ts index 4b178088c..90817780f 100644 --- a/src/frontend/src/types/zustand/globalVariables/index.ts +++ b/src/frontend/src/types/zustand/globalVariables/index.ts @@ -21,7 +21,7 @@ export type GlobalVariablesStore = { id: string, type?: string, default_fields?: string[], - value?: string, + value?: string ) => void; removeGlobalVariable: (name: string) => Promise; getVariableId: (name: string) => string | undefined; diff --git a/src/frontend/src/utils/parameterUtils.ts b/src/frontend/src/utils/parameterUtils.ts index d1d53dde7..a1d2f2154 100644 --- a/src/frontend/src/utils/parameterUtils.ts +++ b/src/frontend/src/utils/parameterUtils.ts @@ -21,7 +21,7 @@ export const handleUpdateValues = async (name: string, data: NodeDataType) => { code, template, name, - data.node?.template[name]?.value, + data.node?.template[name]?.value ); if (res.status === 200 && data.node?.template) { return res.data.template; @@ -34,5 +34,5 @@ export const handleUpdateValues = async (name: string, data: NodeDataType) => { export const debouncedHandleUpdateValues = debounce( handleUpdateValues, - SAVE_DEBOUNCE_TIME, + SAVE_DEBOUNCE_TIME ); diff --git a/src/frontend/src/utils/reactflowUtils.ts b/src/frontend/src/utils/reactflowUtils.ts index 37b71ea15..d1f960017 100644 --- a/src/frontend/src/utils/reactflowUtils.ts +++ b/src/frontend/src/utils/reactflowUtils.ts @@ -99,18 +99,18 @@ export function unselectAllNodes({ updateNodes, data }: unselectAllNodesType) { export function isValidConnection( { source, target, sourceHandle, targetHandle }: Connection, nodes: Node[], - edges: Edge[], + edges: Edge[] ) { const targetHandleObject: targetHandleType = scapeJSONParse(targetHandle!); const sourceHandleObject: sourceHandleType = scapeJSONParse(sourceHandle!); if ( targetHandleObject.inputTypes?.some( - (n) => n === sourceHandleObject.dataType, + (n) => n === sourceHandleObject.dataType ) || sourceHandleObject.baseClasses.some( (t) => targetHandleObject.inputTypes?.some((n) => n === t) || - t === targetHandleObject.type, + t === targetHandleObject.type ) ) { let targetNode = nodes.find((node) => node.id === target!)?.data?.node; @@ -143,7 +143,7 @@ export function removeApiKeys(flow: FlowType): FlowType { export function updateTemplate( reference: APITemplateType, - objectToUpdate: APITemplateType, + objectToUpdate: APITemplateType ): APITemplateType { let clonedObject: APITemplateType = cloneDeep(reference); @@ -203,7 +203,7 @@ export const processDataFromFlow = (flow: FlowType, refreshIds = true) => { export function updateIds( { edges, nodes }: { edges: Edge[]; nodes: Node[] }, - selection?: { edges: Edge[]; nodes: Node[] }, + selection?: { edges: Edge[]; nodes: Node[] } ) { let idsMap = {}; const selectionIds = selection?.nodes.map((n) => n.id); @@ -231,7 +231,7 @@ export function updateIds( edge.source = idsMap[edge.source]; edge.target = idsMap[edge.target]; const sourceHandleObject: sourceHandleType = scapeJSONParse( - edge.sourceHandle!, + edge.sourceHandle! ); edge.sourceHandle = scapedJSONStringfy({ ...sourceHandleObject, @@ -241,7 +241,7 @@ export function updateIds( edge.data.sourceHandle.id = edge.source; } const targetHandleObject: targetHandleType = scapeJSONParse( - edge.targetHandle!, + edge.targetHandle! ); edge.targetHandle = scapedJSONStringfy({ ...targetHandleObject, @@ -287,11 +287,11 @@ export function validateNode(node: NodeType, edges: Edge[]): Array { (scapeJSONParse(edge.targetHandle!) as targetHandleType).fieldName === t && (scapeJSONParse(edge.targetHandle!) as targetHandleType).id === - node.id, + node.id ) ) { errors.push( - `${displayName || type} is missing ${getFieldTitle(template, t)}.`, + `${displayName || type} is missing ${getFieldTitle(template, t)}.` ); } else if ( template[t].type === "dict" && @@ -305,15 +305,15 @@ export function validateNode(node: NodeType, edges: Edge[]): Array { errors.push( `${displayName || type} (${getFieldTitle( template, - t, - )}) contains duplicate keys with the same values.`, + t + )}) contains duplicate keys with the same values.` ); if (hasEmptyKey(template[t].value)) errors.push( `${displayName || type} (${getFieldTitle( template, - t, - )}) field must not be empty.`, + t + )}) field must not be empty.` ); } return errors; @@ -322,7 +322,7 @@ export function validateNode(node: NodeType, edges: Edge[]): Array { export function validateNodes( nodes: Node[], - edges: Edge[], + edges: Edge[] ): // this returns an array of tuples with the node id and the errors Array<{ id: string; errors: Array }> { if (nodes.length === 0) { @@ -343,7 +343,7 @@ export function updateEdges(edges: Edge[]) { if (edges) edges.forEach((edge) => { const targetHandleObject: targetHandleType = scapeJSONParse( - edge.targetHandle!, + edge.targetHandle! ); edge.className = "stroke-gray-900 stroke-connection"; }); @@ -410,7 +410,7 @@ export function handleKeyDown( | React.KeyboardEvent | React.KeyboardEvent, inputValue: string | string[] | null, - block: string, + block: string ) { //condition to fix bug control+backspace on Windows/Linux if ( @@ -435,7 +435,7 @@ export function handleKeyDown( } export function handleOnlyIntegerInput( - event: React.KeyboardEvent, + event: React.KeyboardEvent ) { if ( event.key === "." || @@ -451,7 +451,7 @@ export function handleOnlyIntegerInput( export function getConnectedNodes( edge: Edge, - nodes: Array, + nodes: Array ): Array { const sourceId = edge.source; const targetId = edge.target; @@ -552,7 +552,7 @@ export function checkOldEdgesHandles(edges: Edge[]): boolean { !edge.sourceHandle || !edge.targetHandle || !edge.sourceHandle.includes("{") || - !edge.targetHandle.includes("{"), + !edge.targetHandle.includes("{") ); } @@ -575,7 +575,7 @@ export function customStringify(obj: any): string { const keys = Object.keys(obj).sort(); const keyValuePairs = keys.map( - (key) => `"${key}":${customStringify(obj[key])}`, + (key) => `"${key}":${customStringify(obj[key])}` ); return `{${keyValuePairs.join(",")}}`; } @@ -604,7 +604,7 @@ export function getHandleId( source: string, sourceHandle: string, target: string, - targetHandle: string, + targetHandle: string ) { return ( "reactflow__edge-" + source + sourceHandle + "-" + target + targetHandle @@ -615,7 +615,7 @@ export function generateFlow( selection: OnSelectionChangeParams, nodes: Node[], edges: Edge[], - name: string, + name: string ): generateFlowType { const newFlowData = { nodes, edges, viewport: { zoom: 1, x: 0, y: 0 } }; const uid = new ShortUniqueId({ length: 5 }); @@ -624,7 +624,7 @@ export function generateFlow( newFlowData.edges = selection.edges.filter( (edge) => selection.nodes.some((node) => node.id === edge.target) && - selection.nodes.some((node) => node.id === edge.source), + selection.nodes.some((node) => node.id === edge.source) ); newFlowData.nodes = selection.nodes; @@ -645,7 +645,7 @@ export function generateFlow( (edge) => (selection.nodes.some((node) => node.id === edge.target) || selection.nodes.some((node) => node.id === edge.source)) && - newFlowData.edges.every((e) => e.id !== edge.id), + newFlowData.edges.every((e) => e.id !== edge.id) ), }; } @@ -656,13 +656,13 @@ export function reconnectEdges(groupNode: NodeType, excludedEdges: Edge[]) { const { nodes, edges } = groupNode.data.node!.flow!.data!; const lastNode = findLastNode(groupNode.data.node!.flow!.data!); newEdges = newEdges.filter( - (e) => !(nodes.some((n) => n.id === e.source) && e.source !== lastNode?.id), + (e) => !(nodes.some((n) => n.id === e.source) && e.source !== lastNode?.id) ); newEdges.forEach((edge) => { if (lastNode && edge.source === lastNode.id) { edge.source = groupNode.id; let newSourceHandle: sourceHandleType = scapeJSONParse( - edge.sourceHandle!, + edge.sourceHandle! ); newSourceHandle.id = groupNode.id; edge.sourceHandle = scapedJSONStringfy(newSourceHandle); @@ -689,7 +689,7 @@ export function reconnectEdges(groupNode: NodeType, excludedEdges: Edge[]) { export function filterFlow( selection: OnSelectionChangeParams, setNodes: (update: Node[] | ((oldState: Node[]) => Node[])) => void, - setEdges: (update: Edge[] | ((oldState: Edge[]) => Edge[])) => void, + setEdges: (update: Edge[] | ((oldState: Edge[]) => Edge[])) => void ) { setNodes((nodes) => nodes.filter((node) => !selection.nodes.includes(node))); setEdges((edges) => edges.filter((edge) => !selection.edges.includes(edge))); @@ -727,7 +727,7 @@ export function updateFlowPosition(NewPosition: XYPosition, flow: FlowType) { export function concatFlows( flow: FlowType, setNodes: (update: Node[] | ((oldState: Node[]) => Node[])) => void, - setEdges: (update: Edge[] | ((oldState: Edge[]) => Edge[])) => void, + setEdges: (update: Edge[] | ((oldState: Edge[]) => Edge[])) => void ) { const { nodes, edges } = flow.data!; setNodes((old) => [...old, ...nodes]); @@ -736,7 +736,7 @@ export function concatFlows( export function validateSelection( selection: OnSelectionChangeParams, - edges: Edge[], + edges: Edge[] ): Array { const clonedSelection = cloneDeep(selection); const clonedEdges = cloneDeep(edges); @@ -750,7 +750,7 @@ export function validateSelection( let nodesSet = new Set(clonedSelection.nodes.map((n) => n.id)); // then filter the edges that are connected to the nodes in the set let connectedEdges = clonedSelection.edges.filter( - (e) => nodesSet.has(e.source) && nodesSet.has(e.target), + (e) => nodesSet.has(e.source) && nodesSet.has(e.target) ); // add the edges to the selection clonedSelection.edges = connectedEdges; @@ -764,17 +764,17 @@ export function validateSelection( clonedSelection.nodes.some( (node) => isInputNode(node.data as NodeDataType) || - isOutputNode(node.data as NodeDataType), + isOutputNode(node.data as NodeDataType) ) ) { errorsArray.push( - "Please select only nodes that are not input or output nodes", + "Please select only nodes that are not input or output nodes" ); } //check if there are two or more nodes with free outputs if ( clonedSelection.nodes.filter( - (n) => !clonedSelection.edges.some((e) => e.source === n.id), + (n) => !clonedSelection.edges.some((e) => e.source === n.id) ).length > 1 ) { errorsArray.push("Please select only one node with free outputs"); @@ -785,7 +785,7 @@ export function validateSelection( clonedSelection.nodes.some( (node) => !clonedSelection.edges.some((edge) => edge.target === node.id) && - !clonedSelection.edges.some((edge) => edge.source === node.id), + !clonedSelection.edges.some((edge) => edge.source === node.id) ) ) { errorsArray.push("Please select only nodes that are connected"); @@ -842,8 +842,8 @@ export function mergeNodeTemplates({ nodeTemplate[key].display_name ? nodeTemplate[key].display_name : nodeTemplate[key].name - ? toTitleCase(nodeTemplate[key].name) - : toTitleCase(key); + ? toTitleCase(nodeTemplate[key].name) + : toTitleCase(key); } } }); @@ -854,7 +854,7 @@ function isHandleConnected( edges: Edge[], key: string, field: TemplateVariableType, - nodeId: string, + nodeId: string ) { /* this function receives a flow and a handleId and check if there is a connection with this handle @@ -870,7 +870,7 @@ function isHandleConnected( id: nodeId, proxy: { id: field.proxy!.id, field: field.proxy!.field }, inputTypes: field.input_types, - } as targetHandleType), + } as targetHandleType) ) ) { return true; @@ -885,7 +885,7 @@ function isHandleConnected( fieldName: key, id: nodeId, inputTypes: field.input_types, - } as targetHandleType), + } as targetHandleType) ) ) { return true; @@ -908,7 +908,7 @@ export function generateNodeTemplate(Flow: FlowType) { export function generateNodeFromFlow( flow: FlowType, - getNodeId: (type: string) => string, + getNodeId: (type: string) => string ): NodeType { const { nodes } = flow.data!; const outputNode = cloneDeep(findLastNode(flow.data!)); @@ -939,7 +939,7 @@ export function generateNodeFromFlow( export function connectedInputNodesOnHandle( nodeId: string, handleId: string, - { nodes, edges }: { nodes: NodeType[]; edges: Edge[] }, + { nodes, edges }: { nodes: NodeType[]; edges: Edge[] } ) { const connectedNodes: Array<{ name: string; id: string; isGroup: boolean }> = []; @@ -976,7 +976,7 @@ export function connectedInputNodesOnHandle( export function updateProxyIdsOnTemplate( template: APITemplateType, - idsMap: { [key: string]: string }, + idsMap: { [key: string]: string } ) { Object.keys(template).forEach((key) => { if (template[key].proxy && idsMap[template[key].proxy!.id]) { @@ -987,7 +987,7 @@ export function updateProxyIdsOnTemplate( export function updateEdgesIds( edges: Edge[], - idsMap: { [key: string]: string }, + idsMap: { [key: string]: string } ) { edges.forEach((edge) => { let targetHandle: targetHandleType = edge.data.targetHandle; @@ -1019,7 +1019,7 @@ export function expandGroupNode( nodes: Node[], edges: Edge[], setNodes: (update: Node[] | ((oldState: Node[]) => Node[])) => void, - setEdges: (update: Edge[] | ((oldState: Edge[]) => Edge[])) => void, + setEdges: (update: Edge[] | ((oldState: Edge[]) => Edge[])) => void ) { const idsMap = updateIds(flow!.data!); updateProxyIdsOnTemplate(template, idsMap); @@ -1062,7 +1062,7 @@ export function expandGroupNode( const lastNode = cloneDeep(findLastNode(flow!.data!)); newEdge.source = lastNode!.id; let newSourceHandle: sourceHandleType = scapeJSONParse( - newEdge.sourceHandle!, + newEdge.sourceHandle! ); newSourceHandle.id = lastNode!.id; newEdge.data.sourceHandle = newSourceHandle; @@ -1119,7 +1119,7 @@ export function expandGroupNode( export function getGroupStatus( flow: FlowType, - ssData: { [key: string]: { valid: boolean; params: string } }, + ssData: { [key: string]: { valid: boolean; params: string } } ) { let status = { valid: true, params: SUCCESS_BUILD }; const { nodes } = flow.data!; @@ -1138,7 +1138,7 @@ export function getGroupStatus( export function createFlowComponent( nodeData: NodeDataType, - version: string, + version: string ): FlowType { const flowNode: FlowType = { data: { @@ -1174,7 +1174,7 @@ export function downloadNode(NodeFLow: FlowType) { export function updateComponentNameAndType( data: any, - component: NodeDataType, + component: NodeDataType ) {} export function removeFileNameFromComponents(flow: FlowType) { @@ -1248,7 +1248,7 @@ export function extractFieldsFromComponenents(data: APIObjectType) { export function downloadFlow( flow: FlowType, flowName: string, - flowDescription?: string, + flowDescription?: string ) { let clonedFlow = cloneDeep(flow); removeFileNameFromComponents(clonedFlow); @@ -1258,7 +1258,7 @@ export function downloadFlow( ...clonedFlow, name: flowName, description: flowDescription, - }), + }) )}`; // create a link element and set its properties @@ -1273,7 +1273,7 @@ export function downloadFlow( export function downloadFlows() { downloadFlowsFromDatabase().then((flows) => { const jsonString = `data:text/json;chatset=utf-8,${encodeURIComponent( - JSON.stringify(flows), + JSON.stringify(flows) )}`; // create a link element and set its properties @@ -1297,7 +1297,7 @@ export function getRandomDescription(): string { export const createNewFlow = ( flowData: ReactFlowJsonObject, flow: FlowType, - folderId: string, + folderId: string ) => { return { description: flow?.description ?? getRandomDescription(), diff --git a/src/frontend/src/utils/storeUtils.ts b/src/frontend/src/utils/storeUtils.ts index c8391b211..637e4331a 100644 --- a/src/frontend/src/utils/storeUtils.ts +++ b/src/frontend/src/utils/storeUtils.ts @@ -7,7 +7,7 @@ export default function cloneFLowWithParent( flow: FlowType, parent: string, is_component: boolean, - keepId = false, + keepId = false ) { let childFLow = cloneDeep(flow); childFLow.parent = parent; diff --git a/src/frontend/src/utils/utils.ts b/src/frontend/src/utils/utils.ts index 4e8d930a6..64d35713f 100644 --- a/src/frontend/src/utils/utils.ts +++ b/src/frontend/src/utils/utils.ts @@ -55,7 +55,7 @@ export function normalCaseToSnakeCase(str: string): string { export function toTitleCase( str: string | undefined, - isNodeField?: boolean, + isNodeField?: boolean ): string { if (!str) return ""; let result = str @@ -64,7 +64,7 @@ export function toTitleCase( if (isNodeField) return word; if (index === 0) { return checkUpperWords( - word[0].toUpperCase() + word.slice(1).toLowerCase(), + word[0].toUpperCase() + word.slice(1).toLowerCase() ); } return checkUpperWords(word.toLowerCase()); @@ -77,7 +77,7 @@ export function toTitleCase( if (isNodeField) return word; if (index === 0) { return checkUpperWords( - word[0].toUpperCase() + word.slice(1).toLowerCase(), + word[0].toUpperCase() + word.slice(1).toLowerCase() ); } return checkUpperWords(word.toLowerCase()); @@ -181,7 +181,7 @@ export function checkLocalStorageKey(key: string): boolean { export function IncrementObjectKey( object: object, - key: string, + key: string ): { newKey: string; increment: number } { let count = 1; const type = removeCountFromString(key); @@ -216,7 +216,7 @@ export function groupByFamily( data: APIDataType, baseClasses: string, left: boolean, - flow?: NodeType[], + flow?: NodeType[] ): groupedObjType[] { const baseClassesSet = new Set(baseClasses.split("\n")); let arrOfPossibleInputs: Array<{ @@ -242,7 +242,7 @@ export function groupByFamily( baseClassesSet.has(template.type)) || (template.input_types && template.input_types.some((inputType) => - baseClassesSet.has(inputType), + baseClassesSet.has(inputType) ))) ); }; @@ -262,7 +262,7 @@ export function groupByFamily( hasBaseClassInBaseClasses: foundNode?.hasBaseClassInBaseClasses || nodeData.node!.base_classes.some((baseClass) => - baseClassesSet.has(baseClass), + baseClassesSet.has(baseClass) ), //seta como anterior ou verifica se o node tem base class displayName: nodeData.node?.display_name, }); @@ -279,10 +279,10 @@ export function groupByFamily( if (!foundNode) { foundNode = { hasBaseClassInTemplate: Object.values(node!.template).some( - checkBaseClass, + checkBaseClass ), hasBaseClassInBaseClasses: node!.base_classes.some((baseClass) => - baseClassesSet.has(baseClass), + baseClassesSet.has(baseClass) ), displayName: node?.display_name, }; @@ -352,7 +352,7 @@ export function isTimeStampString(str: string): boolean { export function extractColumnsFromRows( rows: object[], mode: "intersection" | "union", - excludeColumns?: Array, + excludeColumns?: Array ): (ColDef | ColGroupDef)[] { let columnsKeys: { [key: string]: ColDef | ColGroupDef } = {}; if (rows.length === 0) { diff --git a/src/frontend/tests/end-to-end/codeAreaModalComponent.spec.ts b/src/frontend/tests/end-to-end/codeAreaModalComponent.spec.ts index 3b2913440..577c138a3 100644 --- a/src/frontend/tests/end-to-end/codeAreaModalComponent.spec.ts +++ b/src/frontend/tests/end-to-end/codeAreaModalComponent.spec.ts @@ -23,7 +23,7 @@ test("CodeAreaModalComponent", async ({ page }) => { await page.waitForTimeout(1000); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("python function"); diff --git a/src/frontend/tests/end-to-end/dropdownComponent.spec.ts b/src/frontend/tests/end-to-end/dropdownComponent.spec.ts index b5ff9ef00..0846e5575 100644 --- a/src/frontend/tests/end-to-end/dropdownComponent.spec.ts +++ b/src/frontend/tests/end-to-end/dropdownComponent.spec.ts @@ -22,7 +22,7 @@ test("dropDownComponent", async ({ page }) => { await page.waitForTimeout(1000); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); diff --git a/src/frontend/tests/end-to-end/fileUploadComponent.spec.ts b/src/frontend/tests/end-to-end/fileUploadComponent.spec.ts index 4cce05c83..00f761dea 100644 --- a/src/frontend/tests/end-to-end/fileUploadComponent.spec.ts +++ b/src/frontend/tests/end-to-end/fileUploadComponent.spec.ts @@ -23,7 +23,7 @@ test("dropDownComponent", async ({ page }) => { await page.waitForTimeout(1000); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); diff --git a/src/frontend/tests/end-to-end/filterEdge.spec.ts b/src/frontend/tests/end-to-end/filterEdge.spec.ts index b35b7c1da..7edbc0436 100644 --- a/src/frontend/tests/end-to-end/filterEdge.spec.ts +++ b/src/frontend/tests/end-to-end/filterEdge.spec.ts @@ -21,7 +21,7 @@ test("LLMChain - Tooltip", async ({ page }) => { } await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); @@ -117,7 +117,7 @@ test("LLMChain - Filter", async ({ page }) => { ); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("llmchain"); diff --git a/src/frontend/tests/end-to-end/floatComponent.spec.ts b/src/frontend/tests/end-to-end/floatComponent.spec.ts index 0776355a6..e172a92e3 100644 --- a/src/frontend/tests/end-to-end/floatComponent.spec.ts +++ b/src/frontend/tests/end-to-end/floatComponent.spec.ts @@ -22,7 +22,7 @@ test("FloatComponent", async ({ page }) => { await page.waitForTimeout(1000); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("ollama"); diff --git a/src/frontend/tests/end-to-end/flowPage.spec.ts b/src/frontend/tests/end-to-end/flowPage.spec.ts index 28703bbc0..4cae45bf2 100644 --- a/src/frontend/tests/end-to-end/flowPage.spec.ts +++ b/src/frontend/tests/end-to-end/flowPage.spec.ts @@ -22,7 +22,7 @@ test.describe("Flow Page tests", () => { } await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("custom"); diff --git a/src/frontend/tests/end-to-end/globalVariables.spec.ts b/src/frontend/tests/end-to-end/globalVariables.spec.ts index 546c332f6..64af7fe28 100644 --- a/src/frontend/tests/end-to-end/globalVariables.spec.ts +++ b/src/frontend/tests/end-to-end/globalVariables.spec.ts @@ -22,7 +22,7 @@ test("GlobalVariables", async ({ page }) => { await page.waitForTimeout(1000); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("openai"); diff --git a/src/frontend/tests/end-to-end/inputComponent.spec.ts b/src/frontend/tests/end-to-end/inputComponent.spec.ts index 317ab231e..3e6936b43 100644 --- a/src/frontend/tests/end-to-end/inputComponent.spec.ts +++ b/src/frontend/tests/end-to-end/inputComponent.spec.ts @@ -22,7 +22,7 @@ test("InputComponent", async ({ page }) => { await page.waitForTimeout(1000); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("Chroma"); diff --git a/src/frontend/tests/end-to-end/inputListComponent.spec.ts b/src/frontend/tests/end-to-end/inputListComponent.spec.ts index 463312839..74c527892 100644 --- a/src/frontend/tests/end-to-end/inputListComponent.spec.ts +++ b/src/frontend/tests/end-to-end/inputListComponent.spec.ts @@ -21,7 +21,7 @@ test("InputListComponent", async ({ page }) => { } await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("astradb"); diff --git a/src/frontend/tests/end-to-end/intComponent.spec.ts b/src/frontend/tests/end-to-end/intComponent.spec.ts index be3918b77..6ec81819a 100644 --- a/src/frontend/tests/end-to-end/intComponent.spec.ts +++ b/src/frontend/tests/end-to-end/intComponent.spec.ts @@ -22,7 +22,7 @@ test("IntComponent", async ({ page }) => { await page.waitForTimeout(1000); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("openai"); diff --git a/src/frontend/tests/end-to-end/keyPairListComponent.spec.ts b/src/frontend/tests/end-to-end/keyPairListComponent.spec.ts index bf9336b3c..31a4521ae 100644 --- a/src/frontend/tests/end-to-end/keyPairListComponent.spec.ts +++ b/src/frontend/tests/end-to-end/keyPairListComponent.spec.ts @@ -22,7 +22,7 @@ test("KeypairListComponent", async ({ page }) => { await page.waitForTimeout(1000); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("amazon bedrock"); diff --git a/src/frontend/tests/end-to-end/langflowShortcuts.spec.ts b/src/frontend/tests/end-to-end/langflowShortcuts.spec.ts index a6848d856..42b8744d1 100644 --- a/src/frontend/tests/end-to-end/langflowShortcuts.spec.ts +++ b/src/frontend/tests/end-to-end/langflowShortcuts.spec.ts @@ -29,7 +29,7 @@ test("LangflowShortcuts", async ({ page }) => { } await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("ollama"); diff --git a/src/frontend/tests/end-to-end/nestedComponent.spec.ts b/src/frontend/tests/end-to-end/nestedComponent.spec.ts index eaa37f2e2..2df9c1b7b 100644 --- a/src/frontend/tests/end-to-end/nestedComponent.spec.ts +++ b/src/frontend/tests/end-to-end/nestedComponent.spec.ts @@ -21,7 +21,7 @@ test("NestedComponent", async ({ page }) => { } await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("pinecone"); diff --git a/src/frontend/tests/end-to-end/promptModalComponent.spec.ts b/src/frontend/tests/end-to-end/promptModalComponent.spec.ts index 201a4b624..8c6a5ab84 100644 --- a/src/frontend/tests/end-to-end/promptModalComponent.spec.ts +++ b/src/frontend/tests/end-to-end/promptModalComponent.spec.ts @@ -21,7 +21,7 @@ test("PromptTemplateComponent", async ({ page }) => { } await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("prompt"); diff --git a/src/frontend/tests/end-to-end/saveComponents.spec.ts b/src/frontend/tests/end-to-end/saveComponents.spec.ts index 10b679a89..624bb5b2e 100644 --- a/src/frontend/tests/end-to-end/saveComponents.spec.ts +++ b/src/frontend/tests/end-to-end/saveComponents.spec.ts @@ -91,6 +91,8 @@ test.describe("save component tests", () => { if (replaceButton) { await page.getByTestId("replace-button").click(); } + await page.waitForTimeout(3000); + await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("group"); diff --git a/src/frontend/tests/end-to-end/textAreaModalComponent.spec.ts b/src/frontend/tests/end-to-end/textAreaModalComponent.spec.ts index 40443cfa5..9443586e6 100644 --- a/src/frontend/tests/end-to-end/textAreaModalComponent.spec.ts +++ b/src/frontend/tests/end-to-end/textAreaModalComponent.spec.ts @@ -21,7 +21,7 @@ test("TextAreaModalComponent", async ({ page }) => { } await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("prompt"); diff --git a/src/frontend/tests/end-to-end/textInputOutput.spec.ts b/src/frontend/tests/end-to-end/textInputOutput.spec.ts index c2012ce1b..3da77e867 100644 --- a/src/frontend/tests/end-to-end/textInputOutput.spec.ts +++ b/src/frontend/tests/end-to-end/textInputOutput.spec.ts @@ -30,7 +30,7 @@ test("TextInputOutputComponent", async ({ page }) => { await page.waitForTimeout(1000); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("text input"); diff --git a/src/frontend/tests/end-to-end/toggleComponent.spec.ts b/src/frontend/tests/end-to-end/toggleComponent.spec.ts index 051366354..58d909af4 100644 --- a/src/frontend/tests/end-to-end/toggleComponent.spec.ts +++ b/src/frontend/tests/end-to-end/toggleComponent.spec.ts @@ -21,7 +21,7 @@ test("ToggleComponent", async ({ page }) => { } await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("directory"); diff --git a/src/frontend/tests/end-to-end/tweaks_test.spec.ts b/src/frontend/tests/end-to-end/tweaks_test.spec.ts index e2e4c7c11..586d0d9e1 100644 --- a/src/frontend/tests/end-to-end/tweaks_test.spec.ts +++ b/src/frontend/tests/end-to-end/tweaks_test.spec.ts @@ -82,7 +82,7 @@ test("check if tweaks are updating when someothing on the flow changes", async ( await page.waitForTimeout(1000); await page.getByTestId("blank-flow").click(); - await page.waitForTimeout(1000); + await page.waitForTimeout(3000); await page.getByTestId("extended-disclosure").click(); await page.getByPlaceholder("Search").click(); await page.getByPlaceholder("Search").fill("Chroma"); diff --git a/src/frontend/tests/end-to-end/userSettings.spec.ts b/src/frontend/tests/end-to-end/userSettings.spec.ts index af7c93824..4516d3898 100644 --- a/src/frontend/tests/end-to-end/userSettings.spec.ts +++ b/src/frontend/tests/end-to-end/userSettings.spec.ts @@ -4,7 +4,11 @@ test("should see general profile gradient", async ({ page }) => { await page.goto("/"); await page.waitForTimeout(2000); await page.getByTestId("user-profile-settings").click(); + await page.waitForTimeout(1000); + await page.getByText("Settings").click(); + await page.waitForTimeout(3000); + await page.getByText("General").nth(2).isVisible(); await page.getByText("Profile Gradient").isVisible(); }); @@ -70,7 +74,11 @@ test("should see shortcuts", async ({ page }) => { await page.goto("/"); await page.waitForTimeout(2000); await page.getByTestId("user-profile-settings").click(); + await page.waitForTimeout(1000); + await page.getByText("Settings").click(); + await page.waitForTimeout(3000); + await page.getByText("General").nth(2).isVisible(); await page.getByText("Shortcuts").nth(0).click(); await page.getByText("Shortcuts", { exact: true }).nth(1).isVisible(); diff --git a/tests/conftest.py b/tests/conftest.py index 6d371ac51..6e12c56f2 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -227,8 +227,9 @@ def client_fixture(session: Session, monkeypatch, request, load_flows_dir): monkeypatch.setenv("LANGFLOW_DATABASE_URL", f"sqlite:///{db_path}") monkeypatch.setenv("LANGFLOW_AUTO_LOGIN", "false") if "load_flows" in request.keywords: - shutil.copyfile(pytest.BASIC_EXAMPLE_PATH, - os.path.join(load_flows_dir, "c54f9130-f2fa-4a3e-b22a-3856d946351b.json")) + shutil.copyfile( + pytest.BASIC_EXAMPLE_PATH, os.path.join(load_flows_dir, "c54f9130-f2fa-4a3e-b22a-3856d946351b.json") + ) monkeypatch.setenv("LANGFLOW_LOAD_FLOWS_PATH", load_flows_dir) monkeypatch.setenv("LANGFLOW_AUTO_LOGIN", "true")