⬆️ (frontend/package-lock.json): update package-lock.json to use correct resolved URLs for @esbuild and @napi-rs packages for darwin-arm64 architecture. This ensures the correct packages are fetched for the specified architecture. Add support for fsevents package for darwin OS to handle file system events.
* WIP
* works
* stereo
* ui v0
* unnecessary import
* update steps in voice ws
* [autofix.ci] apply automated fixes
* unused
* merge
* [autofix.ci] apply automated fixes
* cleanly handle missing OPENAI key
* ruff
* [autofix.ci] apply automated fixes
* fix genericIconComponent path
* update for recent async fixes
* accidentally commited html file
* better prompt and threading
* client barge-in detection
* fmt
* error handling
* fixed VAD with 24 to 16Hz resampling
* comment out debug file
* better_vad
* lock
* router
* [autofix.ci] apply automated fixes
* mcp fixes
* timeout fix
* global variable exception handling
* don't close the websocket
* fix double send bug
* fix double send bug
* response.output_item event type typo
* voice_mode logging
* 📝 (constants.py): Add "copy_field" attribute to FIELD_FORMAT_ATTRIBUTES list
📝 (webhook.py): Add "copy_field" attribute to MultilineInput component
📝 (input_mixin.py): Add "copy_field" attribute to BaseInputMixin class
📝 (inputs.py): Add "copy_field" attribute to StrInput class
📝 (template/field/base.py): Add "copy_field" attribute to Input class
🚀 (NodeDescription/index.tsx): Remove default placeholder text for emptyPlaceholder prop
✨ (copyFieldAreaComponent/index.tsx): Add new component for handling copy field functionality
♻️ (strRenderComponent/index.tsx): Refactor component to include CopyFieldAreaComponent when copy_field attribute is present in template data
* ✨ (NodeDescription/index.tsx): refactor renderedDescription useMemo to improve readability and maintainability
♻️ (GenericNode/index.tsx): refactor code to improve readability and maintainability, and optimize rendering logic
* 📝 (webhook.py): Add cURL field to WebhookComponent for better integration with external systems
📝 (graph/base.py): Add logging of vertex build information in Graph class for debugging purposes
📝 (NodeInputField/index.tsx): Add nodeInformationMetadata to NodeInputField for better tracking of node information
📝 (copyFieldAreaComponent/index.tsx): Refactor CopyFieldAreaComponent to handle different types of values, including webhooks
📝 (strRenderComponent/index.tsx): Add WebhookFieldComponent to handle webhook type in StrRenderComponent
📝 (tableNodeCellRender/index.tsx): Add nodeInformationMetadata to TableNodeCellRender for better tracking of node information
📝 (textAreaComponent/index.tsx): Add support for webhook format in TextAreaComponent for better integration with webhooks
📝 (webhookFieldComponent/index.tsx): Add WebhookFieldComponent to handle webhook type in ParameterRenderComponent
📝 (custom-parameter.tsx): Add nodeInformationMetadata to CustomParameterComponent for better tracking of node information
📝 (get-curl-code.tsx): Add support for different formats in getCurlWebhookCode for generating cURL commands
📝 (textAreaModal/index.tsx): Add onCloseModal callback to ComponentTextModal for better handling of modal closing
📝 (index.ts): Add type field to APIClassType for better typing of API classes
* ✨ (index.tsx): Add a button to generate a token in the WebhookFieldComponent for improved user experience and functionality. Update the structure of the component to include the new button and styling adjustments.
* [autofix.ci] apply automated fixes
* ✨ (generate-token-dialog.tsx): add GenerateTokenDialog component to handle token generation in webhookFieldComponent
📝 (index.tsx): import and use GenerateTokenDialog component in WebhookFieldComponent for token generation functionality
* ✨ (frontend): introduce new feature to create API keys with customizable modal properties
🔧 (frontend): add modalProps object to customize modal title, description, input label, input placeholder, button text, generated key message, and show icon flag
* add pool interval variable and tests
* 📝 (NodeOutputfield): Remove unused ScanEyeIcon component
✨ (validate-webhook.ts): Add function to validate webhook data before processing
♻️ (use-get-builds-pooling-mutation): Refactor to set flow pool based on current flow
🔧 (content-render.tsx): Add data-testid attribute to api key input element
🔧 (webhookComponent.spec.ts): Refactor test to use waitForRequest for monitoring build requests
* [autofix.ci] apply automated fixes
* 🔧 (backend): rename webhook_pooling_interval to webhook_polling_interval for consistency
🔧 (frontend): update references to webhook_pooling_interval to webhook_polling_interval for consistency
* vad + dummy check
* 📝 (frontend): Update import paths and remove unused imports for better code organization and maintainability
🔧 (frontend): Refactor background styles in components to use constants for consistency and easier theming
🚀 (frontend): Add custom SecretKeyModalButton component for better modularity and reusability
* 📝 (use-get-api-keys.ts): add a TODO comment to request API key from DSLF endpoint for future implementation.
* 📝 (input_mixin.py): Remove copy_field attribute from BaseInputMixin as it is no longer needed
♻️ (inputs.py): Remove copy_field attribute from StrInput class as it is no longer needed
♻️ (inputs.py): Set copy_field attribute to False in MultilineInput class to ensure consistency
♻️ (template/field/base.py): Remove copy_field attribute from Input class as it is no longer needed
📝 (textAreaComponent/index.tsx): Replace hardcoded value "CURL_WEBHOOK" with constant WEBHOOK_VALUE for better readability and maintainability
* 🐛 (base.py): fix issue where flow_id could be None by defaulting to an empty string if flow_id is None
* 🔧 (secret-key-modal.tsx): Remove unused SecretKeyModalButton component
🔧 (get-modal-props.tsx): Remove unused getModalPropsApiKey function and related imports and constants
* 📝 (langflow): add noqa comments to suppress linting rule A005 for specific files in the io, logging, and socket modules
* ✨ (frontend): Add voice assistant feature to chat input component
🔧 (frontend): Refactor import path for VoiceAssistant component
🔧 (frontend): Refactor class name for button in upload-file-button component
🔧 (frontend): Refactor class name for button in voice-button component
🔧 (frontend): Refactor class name for button in applies.css
🔧 (frontend): Refactor class name for button in styleUtils.ts
* ✨ (api-key-popup.tsx): Add a new component ApiKeyPopup to enable users to enter their OpenAI API key for voice transcription
♻️ (index.tsx): Refactor VoiceAssistant component to check for the presence of OpenAI API key before starting voice transcription and show ApiKeyPopup component if key is missing
🔧 (apiKeyModal/index.tsx): Remove the obsolete APIKeyModal component as it is no longer needed after implementing ApiKeyPopup in the voice assistant feature
* merge fix
* ✨ (Voice Assistant): Introduce voice transcription feature powered by OpenAI. Add components and hooks for handling audio recording, processing, and WebSocket communication. Implement functionality to start, stop recording, play audio chunks, handle WebSocket messages, and initialize audio context. Add support for entering API key for OpenAI.
* ✨ (voice-assistant.tsx): Add voice assistant feature to the chat input component for recording and processing audio input
🔧 (use-post-voice.tsx): Remove unused file use-post-voice.tsx from the project
♻️ (use-handle-websocket-message.ts): Refactor useHandleWebsocketMessage function to improve readability and remove unnecessary console logs
♻️ (use-initialize-audio.ts): Refactor useInitializeAudio function to handle audio context creation and resume more efficiently
✅ (use-interrupt-playback.ts): Add useInterruptPlayback function to handle interrupting audio playback
✅ (use-start-conversation.ts): Add useStartConversation function to initiate a conversation using a WebSocket connection
📝 (chat-input.tsx): Update import path for VoiceAssistant component to match the new file structure
* ♻️ (use-interrupt-playback.ts): refactor useInterruptPlayback hook to clear audio queue, stop playback, and send stop message to audio processor if it exists
* 🔧 (gitattributes): add *.raw file extension as binary to prevent git from modifying the file contents
* lazy load components
* TRACE logging
* new voice_mode ws endpoint and elevenlabs mode
* unique voice
* text modality
* stream elevenlabs
* ws and sentence chunking
* offload tts to new thread
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* add eleven labs changes on FE
* 🐛 (use-handle-websocket-message.ts): Fix logic to handle error messages and show API key modal when api_key_missing error occurs
♻️ (use-handle-websocket-message.ts): Refactor error handling logic to improve readability and maintainability
📝 (voice-assistant.tsx): Add console log for showApiKeyModal variable to debug an issue
* api_key_missing error includes key_name
* ✨ (use-handle-websocket-message.ts): update status message when API key is missing to provide more context
🔧 (voice-assistant.tsx): add support for saving and handling API key using new API endpoints and alert messages
🔧 (voice-assistant.tsx): update logic to check for existing API key and handle saving new API key with appropriate error handling
* 🔧 (gitignore): remove unnecessary whitespace at the end of the file
🔧 (output_audio.raw): delete output_audio.raw file as it is no longer needed
* 🐛 (use-handle-websocket-message.ts): Fix logic to show API key modal only if hasOpenAIAPIKey is false
🐛 (voice-assistant.tsx): Fix missing hasOpenAIAPIKey parameter in VoiceAssistant component to prevent runtime errors
* [autofix.ci] apply automated fixes
* modalities
* send all openai events and homogenize eleven_client name
* 🔧 (voice_mode.py): Refactor get_or_create_elevenlabs_client function to accept user_id and session parameters for better flexibility and reusability
🔧 (voice-assistant.tsx): Add local storage utility functions to handle saving and retrieving audio settings for voice assistant
🔧 (voiceStore.ts): Create a new store to manage voice-related data such as available voices and providers
🔧 (audio-settings-dialog.tsx): Introduce a new component to manage audio settings for the voice assistant, including provider and voice selection
🔧 (settings-voice-button.tsx): Implement a button component to open the audio settings modal for the voice assistant
* unnecessary barge in queue and elif fix
* queue_service, remove old ws endpoint, and vad tweaks
* traceback and better system prompt
* [autofix.ci] apply automated fixes
* merge
* build_flow fix
* fix flow_and_stream args
* mcp flow_and_stream
* build_flow_and_stream
* retry prompt and conversation_id
* [autofix.ci] apply automated fixes
* prompt
* switch to openai and elevenlabs & add token based auth
* 📝 (voice_mode.py): Add import statements for new modules and classes
📝 (voice_mode.py): Add WebSocket endpoint parameter for session_id
📝 (voice_mode.py): Add logic to save message to database in WebSocket endpoint
✨ (use-get-messages-mutation.ts): Add function to fetch messages data from API
♻️ (use-start-conversation.ts): Update WebSocket URL to include session_id
♻️ (use-start-recording.ts): Add function to handle fetching messages after recording
♻️ (streamProcessor.ts): Add error handling for already registered processor
♻️ (voice-assistant.tsx): Add function to trigger fetching messages after recording
📝 (new-modal.tsx): Set and update current session ID in modal
📝 (utilityStore.ts): Add currentSessionId state and setter function
📝 (index.ts): Add type definition for currentSessionId in utility store
* [autofix.ci] apply automated fixes
* ✨ (voice_mode.py): add functionality to save user input messages to the database during a conversation in the voice mode feature. This allows for better tracking and analysis of user interactions.
* [autofix.ci] apply automated fixes
* continue to support ws without session_id
* intercept and replace response.done when elevenlabs. and better logging
* 🐛 (voice_mode.py): Fix issue where message was not being saved to the database in certain cases
🐛 (use-start-recording.ts): Fix bug where handleGetMessagesMutation was not being called in all scenarios
* close openai ws when client ws closes
* [autofix.ci] apply automated fixes
* rename elevenlabs event type
* move session to global, improve event error logging
* [autofix.ci] apply automated fixes
* session update merging
* key check fix
* fix session update forwarding to openai
* [autofix.ci] apply automated fixes
* 📝 (chat-view.tsx): Add chat history display functionality to show messages in the chat view component and handle file uploads and drag and drop functionality.
* ✨ (inputGlobalComponent): Add GeneralDeleteConfirmationModal and GeneralGlobalVariableModal components for reusability and better code organization
📝 (audio-settings-dialog.tsx): Add userElevenLabsApiKey prop to SettingsVoiceModal component for ElevenLabs API key configuration
🔧 (delete-confirmation-modal.tsx): Create GeneralDeleteConfirmationModal component for reusability in delete confirmation modals
🔧 (global-variable-modal.tsx): Create GeneralGlobalVariableModal component for reusability in global variable modals
* 🐛 (voice_mode.py): Fix error saving message to database and add transcript extraction function
🔧 (constants.ts): Update calculation for LANGFLOW_ACCESS_TOKEN_EXPIRE_SECONDS to use environment variable with fallback value
♻️ (audio-settings-dialog.tsx): Refactor imports and remove unused code, improve logic for setting voice provider and voice selection
🔧 (vite.config.mts): Add dotenv package for loading environment variables, update configuration to use environment variables for BACKEND_URL, ACCESS_TOKEN_EXPIRE_SECONDS, CI, and ELEVENLABS_API_KEY
* [autofix.ci] apply automated fixes
* handle BrokenResourceError
* handle BrokenResourceError
* voice UI/UX improvements
* ✅ (voice-assistant.spec.ts): add test for voice assistant feature to ensure it is visible and interactive on the page
* ✨ (frontend): add feature flag for enabling voice assistant functionality
📝 (input-wrapper.tsx): conditionally render VoiceButton based on ENABLE_VOICE_ASSISTANT flag to control visibility of voice assistant feature
* ✨ (button.tsx): Add new button variant 'outlineAmber' for better visual consistency
🔧 (feature-flags.ts): Enable voice assistant feature by setting ENABLE_VOICE_ASSISTANT to true
🔧 (voice-assistant.tsx): Update logic to initialize audio only if hasOpenAIAPIKey is true
🔧 (voice-assistant.tsx): Update styling for voice assistant container and recording indicator
🔧 (voice-assistant.tsx): Update button variant to 'outlineAmber' for settings icon
📝 (index.css): Add new CSS variables for accent-amber and red-foreground colors for better theming
📝 (tailwind.config.mjs): Add 'red-foreground' color variable to Tailwind CSS config for consistency
* 🐛 (feature-flags.ts): fix ENABLE_VOICE_ASSISTANT flag to be set to false instead of true
* 🔧 (voice_mode.py): add global dictionary to store queues for each session and track active message processing tasks
🔧 (voice_mode.py): add message processing queue to ensure ordered processing of messages in the database
* ✨ (frontend): enable voice assistant feature flag
♻️ (frontend): refactor code to use functional update pattern in useBarControls hook
🐛 (frontend): fix logic in VoiceAssistant component to properly handle recording and initialization of audio assistant
* [autofix.ci] apply automated fixes
* ✨ (audio-settings-dialog.tsx): add LanguageSelect component to allow users to select preferred language for speech recognition
📝 (audio-settings-dialog.tsx): add documentation for ALL_LANGUAGES constant and SettingsVoiceModalProps interface
🔧 (language-select.tsx): create LanguageSelect component for selecting preferred language for speech recognition
🔧 (use-start-recording.ts): add autoGainControl and sampleRate options for better audio recording quality
🔧 (use-start-recording.ts): set fftSize property on analyserRef for improved audio analysis
🔧 (use-start-recording.ts): pass preferredLanguage to input_audio_buffer.append event for language identification
🔧 (voice-assistant.tsx): add support for setting and saving preferred language for speech recognition
* UI adjustments
* Small fixes for client/LF session update merges
* [autofix.ci] apply automated fixes
* 🔧 (use-bar-controls.ts): Add useRef import to fix missing dependency in useBarControls hook
🔧 (use-bar-controls.ts): Add animationFrameRef and timeDataRef to manage animation and sound detection
🔧 (use-bar-controls.ts): Add support for sound detection using analyserRef and setSoundDetected
🔧 (use-bar-controls.ts): Update useEffect dependencies for better performance
🔧 (voice-assistant.tsx): Add soundDetected state to manage sound detection in VoiceAssistant component
🔧 (voice-assistant.tsx): Pass analyserRef and setSoundDetected to useBarControls hook in VoiceAssistant component
🔧 (chat-message.tsx): Update className logic to handle isAudioMessage condition in ChatMessage component
* 🔧 (use-bar-controls.ts): refactor useBarControls hook to improve readability and maintainability by introducing useRef for baseHeights, lastRandomizeTime, and minHeight, and optimizing the sound detection logic.
* ✨ (use-get-messages-polling.ts): Add new file for handling messages polling functionality
♻️ (use-bar-controls.ts): Refactor useBarControls hook to make setSoundDetected optional
♻️ (use-start-recording.ts): Remove handleGetMessagesMutation function call
♻️ (voice-assistant.tsx): Refactor VoiceAssistant component to use useGetMessagesPollingMutation instead of useGetMessagesMutation and manage soundDetected state using useVoiceStore
📝 (chat-message.tsx): Remove unused import and type ChatMessageType
🔧 (voiceStore.ts): Add soundDetected state and setSoundDetected function to voiceStore
🔧 (voice.types.ts): Add soundDetected boolean type and setSoundDetected function to VoiceStoreType
* 🔧 (frontend): add Button component import to improve code organization
🔧 (frontend): add support for saving OpenAI API key in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponentType interface for flexibility
🔧 (frontend): add commandWidth prop to InputComponent in InputComponent index file
🔧 (frontend): add commandWidth prop to CustomInputPopover in popover index file
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in SettingsVoiceModal component
🔧 (frontend): add commandWidth prop to InputComponent in Settings
* Update session instructions with more clear categories. Change how default LF session and client sessions are merged.
* ✨ (chat-view.tsx): Add support for sound detection in chat view component to enhance user experience and interaction with the application.
* [autofix.ci] apply automated fixes
* ✨ (audio-settings-dialog.tsx): Add debounce functionality to handleOpenAIKeyChange to improve performance and reduce API calls
🔧 (audio-worklet-processor.js): Add audio worklet processor for voice activity detection to enhance voice assistant functionality
♻️ (use-start-recording.ts): Refactor useStartRecording hook to only send non-silent audio data to the server for processing
🔧 (voice-assistant.tsx): Remove unnecessary import and setShowSettingsModal call in handleClickSaveOpenAIApiKey to clean up code
* 🐛 (audio-worklet-processor.js): Adjust noise and activation thresholds for better sensitivity and accuracy in speech detection
🐛 (audio-worklet-processor.js): Scale RMS volume to match use-bar-controls.ts scale for consistent threshold comparison
🐛 (use-bar-controls.ts): Update threshold for sound detection to align with scaled volume values for accurate detection
* 🔧 (use-start-recording.ts): refactor useStartRecording hook to simplify audio data handling and sending process to WebSocket server
* 🐛 (use-bar-controls.ts): adjust sound detection threshold to improve accuracy and responsiveness
* [autofix.ci] apply automated fixes
* 🐛 (voice-assistant.tsx): Update condition to initialize audio only if not recording, has API key, and settings modal is not shown
🐛 (chat-view.tsx): Fix syntax error in rendering new chat section in ChatView component
* ♻️ (chat-view.tsx): remove unnecessary parentheses in ChatView component to improve code readability
* 🐛 (voice-assistant.tsx): fix useEffect dependency array to include showSettingsModal to prevent unnecessary re-renders
♻️ (voice-assistant.tsx): remove duplicate onClick handler for showSettingsModal to improve code readability and maintainability
* 🐛 (voice-assistant.tsx): fix voice assistant settings button not closing audio input when clicked
* 🔧 (audio-settings-dialog.tsx): Remove unused 'open' prop from SettingsVoiceModal component
♻️ (voice-assistant.tsx): Refactor logic to handle audio recording and settings modal visibility
🔧 (voice-assistant.tsx): Replace AudioSettingsDialog component with SettingsVoiceModal component in VoiceAssistant component
* 🐛 (audio-settings-dialog.tsx): reduce debounce timeout from 2000ms to 1000ms for faster response to user input
🐛 (audio-settings-dialog.tsx): adjust alignOffset value in DropdownMenuContent component to -54 for better alignment on the UI
* ✨ (button.tsx): add medium size variant to button component
🔧 (audio-settings-dialog.tsx): add isEditingOpenAIKey boolean prop and setIsEditingOpenAIKey function prop to SettingsVoiceModal component
🔧 (voice-assistant.tsx): add isEditingOpenAIKey state and setIsEditingOpenAIKey function to VoiceAssistant component, update handleSaveApiKey function to handle editing OpenAI API key
* 🐛 (audio-settings-dialog.tsx): Fix issue where the "Save" button text was not updating correctly based on editing state
📝 (voice-assistant.tsx): Add missing semicolon to the code to prevent syntax error
* 🐛 (audio-settings-dialog.tsx): Fix issue with setIsEditingOpenAIKey function call
♻️ (use-bar-controls.ts): Refactor code to properly initialize and handle audio analyzer
✨ (voice-assistant.tsx): Introduce logic to properly initialize audio and start recording when voice assistant is activated
* 🐛 (audio-settings-dialog.tsx): fix typo in setIsEditingOpenAIKey function call to properly close the editing of OpenAI key when modal is closed
* 🔧 (audio-settings-dialog.tsx): change onClick handler function name from setOpen to onOpenChangeDropdownMenu for clarity and consistency
* lint fixes
* ruff fixes
* [autofix.ci] apply automated fixes
* ✨ (test_voice_mode.py): import pathlib module for improved file path handling
♻️ (test_voice_mode.py): refactor code to use newer numpy random Generator for better random number generation
📝 (test_voice_mode.py): update comments for clarity and consistency in test functions
* 🔧 (components.py): refactor global variables to use a class for managing component cache
🔧 (components.py): replace os module with pathlib for file path operations
🔧 (components.py): refactor global variables to use a class for managing fully loaded components
🔧 (components.py): refactor function to write audio bytes to file using a helper function
* 🔧 Refactor voice_utils.py: Improve error handling in write_audio_to_file function
* ✨ (voice-select.tsx): add unique key prop to SelectItem component to avoid React warning and improve performance
* [autofix.ci] apply automated fixes
* ✨ (audio-settings-dialog.tsx): Update onClick function to setIsEditingOpenAIKey instead of onOpenChangeDropdownMenu for better clarity
📝 (microphone-select.tsx): Update text from "Input" to "Audio Input" for better user understanding
♻️ (voice-assistant.tsx): Refactor handleSaveApiKey function to handle both OpenAI and ElevenLabs API keys, improving code readability and maintainability. Remove unnecessary checks for already saved API keys.
* 📝 (voice_utils.py): add docstring to resample_24k_to_16k function for clarity and documentation purposes
📝 (voice_utils.py): add input validation to ensure frame_24k_bytes is exactly 960 bytes before resampling
📝 (test_voice_mode.py): refactor test_webrtcvad_with_real_data to generate synthetic audio data for testing instead of reading from a file
📝 (test_voice_mode.py): update comments and assertions for clarity and accuracy in speech detection testing
* [autofix.ci] apply automated fixes
* 🐛 (feature-flags.ts): fix duplicate declaration of ENABLE_VOICE_ASSISTANT variable
* cache config by session_id
* [autofix.ci] apply automated fixes
* ✨ (audio-settings-dialog.tsx): Add conditional rendering for MicrophoneSelect component based on the presence of microphones array to prevent rendering when no microphones are available
🐛 (microphone-select.tsx): Add optional chaining to navigator.mediaDevices calls to prevent errors when navigator or mediaDevices are null or undefined
🐛 (use-start-recording.ts): Add optional chaining to navigator.mediaDevices calls to prevent errors when navigator or mediaDevices are null or undefined
* ♻️ (voice_mode.py): refactor openai_realtime_session attribute to explicitly define its type as a dictionary with string keys and any values for better code clarity and type safety
* 📝 (voice_mode.py): add Optional import from typing module to improve type hinting
♻️ (voice_mode.py): make ElevenLabs package optional to avoid errors if not installed and provide a fallback mechanism
* [autofix.ci] apply automated fixes
* ♻️ (voice_mode.py): refactor ElevenLabs and ApiError classes to include type ignore comments to suppress redefinition warnings
* [autofix.ci] apply automated fixes
* merge
* event logger to debug
* 🐛 (language-select.tsx): Fix potential null reference error when accessing lang object properties
🐛 (voice-select.tsx): Fix potential null reference error when accessing voice object properties
🐛 (stringManipulation.ts): Fix potential null reference error when calling toLowerCase and toUpperCase functions
* fix openai voices
* error handling
* frontend socket state
* [autofix.ci] apply automated fixes
* add session to event logging
* add elevenlabs to base package
* 🐛 (audio-settings-dialog.tsx): Fix rendering issue with MicrophoneSelect component
🐛 (microphone-select.tsx): Fix potential null pointer exception in rendering microphone label
🐛 (voice-assistant.tsx): Fix issue with toggling recording functionality to properly handle microphone stream and tracks
* 🐛 (voice-assistant.tsx): fix optional chaining for microphoneRef to prevent potential null pointer errors
* [autofix.ci] apply automated fixes
* 🐛 (use-start-conversation.ts): fix variable name from sessionId to currentSessionId for clarity and consistency
🔧 (use-start-conversation.ts): refactor WebSocket connection URL to use current host, port, and protocol for better flexibility and compatibility
* alternating messages
* mypy
* [autofix.ci] apply automated fixes
* ✅ (userSettings.spec.ts): add additional wait times to improve stability and reliability of tests
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: nfreybler <nfreybler@nvidia.com>
* Create file management feature flag
* Added file manager modal
* Open file manager modal on clicking button
* Added file dragger
* Changed drag files component to be like the design
* Optimize code
* Implemented Import Files component
* Implemented Recent Files component
* Added Import Files and Recent Files into File Manager modal and added necessary icons
* Added file rendering to be used on component
* Added rendering of files selected on component
* Added icons for Dropbox, GoogleDrive and Onedrive
* Added dropdown menu for selecting import source
* Added button to navigate to My Files
* Added Files page, with Import button and search
* Added files table
* Updated uv and package lock
* Added tooltip for file types
* Added cursor pointer to file dragger
* Added file options dropdown
* Added files context menu to files page
* Changed side of dropdown
* Implemented search on modal
* Added Inverted AWS icon
* Added Import Button as morphed button
* Modularized Morphing Menu
* Updated Files Renderer height
* Added File endpoint and types
* Added Download File mutation
* Added Get Files query
* Added Rename File mutation
* Added Upload File mutation
* Added Use Upload File hook
* Added drop of files on dragFilesComponent
* Changed upload and rename to refetch get
* Added delete endpoint
* Changed get files to return correctly
* Make FilesRendererComponent render with correct file type
* Get files from correct endpoint
* Exported sort by date
* Added file_path to input file component
* Added file_path to File Component Type
* Implement showing correct files in FIle component and removing and adding selected files
* Removed open
* Changed selected files to handle ID
* Handled sorting of recent results
* Added sort By Boolean aux function
* Updated to use path for selected files, and to not update the selected values when Files change
* Change delete to handle id on params
* Change upload file to return files IDs
* Added duplicate file
* Added void to download files without params
* Select uploaded files
* Added onUpload to select uploaded files
* Added context menu options
* Changed to handle selected files with path
* Changed recentFiles to handle selected files with path
* Changed FilesContextMenu params
* Turned updatedAt optional
* Added files to the Files Page
* Changed file icons
* used size as number and get type from path
* Added correct CardsWrapComponent to home page
* Fixed flows and components drop in home and empty pages
* Fixed files drop in files management
* Implemented types validation when uploading via modal
* Fixed types for files page(allow all)
* Filter files on modal by file types
* Implemented multiple files handling when list parameter is true on FileInput
* Hidden unused import feature
* Added value correction if component values are incongruent
* Fixed size validator
* Add new size validator to use-upload-file
* Changed icon for rename
* removed replace function
* Implemented renaming file
* Added v2 api support
* Added v2 api on file_management
* Changed duplicate and download to include file type
* Implemented renaming on clicking rename option on files page
* Implemented rename on modal
* Implemented empty state for search and no files
* Changed text of empty state
* Added variants to morphing menu
* Fixed design of import from button and file search
* Implemented modal height changes to keep initial height
* Replace rename icon
* Removed duplicate from modal
* Added min height
* Fixed height
* Delete unused state
* Fixed size of import from button
* Added successful upload toast
* Implement plus button when files are selected
* implemented progress on uploads
* Added error handling to uploaded file
* Added delete confirmation
* Added maxFIleSizeUpload to the dialog
* Implement file upload retry
* Readded import from to files
* Added empty state to file browser
* Added list on base file
* [autofix.ci] apply automated fixes
* Try to fix crash
* Add check on files page
* Added DragWrapComponent with dragging area and opacity
* Added DragWrapComponent to files page
* [autofix.ci] apply automated fixes
* Added test ids for making tests for files page
* Added example files for tests
* Added boolean on await bootstrap to not open modal
* Added files page tests
* Added the extension on the file names
* Added datatestid and made context menu close on delete
* Added search with types
* Add type to filetype
* Added datatestid
* Changed formatFileSize to show B instead of bytes
* Updated files page test to use random names
* Changed file upload test to test file management functionality
* Modularized generate filename
* Fixed files page test
* Added ignore to pyproject
* Dont retry and dont clear
* Enable file management feature flag
* Remove import from button
* Refetch files on open of dialog
* Added upload failed state to my files
* Made not upload extensionless files
* Add toast on delete file
* removed standalone upload button
* Increased padding
* Updated row hover color
* Update padding of component
* Fixed dash lines
* Fixed api routes on vite config
* added api v2 endpoints to docker compose
* Adds router v2 and v1 to parent router
* Adds trailing slash to file management endpoint
* Fixed dash array
* Readded px-5
* Refactor dispatch methods and cleanup code for improved readability in middleware and app setup
* [autofix.ci] apply automated fixes
* Feat: add a support for OpenSearch and AstraDB components to yield the langchain vector_store connection object (#6998)
* Added decorator, decorator test, and modified supported vector stores
* Renamed module file name to reflect that this is for generic use, not use for graph rag
* Updated docsstring
* Improved documentation and modification to UT to support graph rag
* Remove extra file from PR
* rollback vector store template
* [autofix.ci] apply automated fixes
---------
Co-authored-by: Nadir J <31660040+NadirJ@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* chore: Bump frontend package version and enhance test reliability (#7049)
* chore: bump frontend package version from 0.1.2 to 1.2.0 in package-lock.json
* test: enhance error message wait condition in generalBugs-shard-6.spec.ts
Updated the test to wait for the error message to appear with a minimum length of 20 characters, improving reliability in detecting error states. This change replaces the previous fixed timeout with a dynamic check, enhancing the robustness of the test.
* fix: Disable retries in usePostValidateComponentCode mutation (#7044)
♻️ (use-post-validate-component-code.ts): refactor usePostValidateComponentCode function to include retry and retryDelay options for better control over mutation behavior
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* feat: Add updateHiddenOutputs helper function to manage output visibility (#6932)
✨ (update-hidden-outputs.ts): add a new helper function to update hidden outputs in the frontend CustomNodes module
♻️ (use-update-all-nodes.ts): refactor useUpdateAllNodes hook to update hidden outputs for all nodes in the frontend CustomNodes module
♻️ (use-update-node-code.ts): refactor useUpdateNodeCode hook to update hidden outputs for a specific node's code in the frontend CustomNodes module
♻️ (index.ts): refactor types in the flow module to include OutputFieldType for better type checking and consistency
* docs: fix syntax errors at build (#7047)
* docs-fix-linking-errors
* docs-fix-codehike-errors
* add-mit-license-field-to-package-json
* add-tailwind-config-file
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* chore: update test durations (#6975)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
* docs: revised README (#7052)
* revised README
* fixed links
* Update README.md
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* Update README.md
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* reverting
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* test: Parameterize DeepSeek model component test correctly (#7019)
test: Parameterize DeepSeek model component test with temperature and max tokens
* fix: docker test trigger for poetry is wrong now is uv (#6743)
also delete useless actions yml for now
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* docs: Pull request draft workflow (#7046)
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* feat: Sync flows from FS to DB if flow has fs_path (#7043)
* feat: Sync flows from FS to DB if flow has fs_path
* Changes following review
* Simplify flow_mtimes handling
* Move sync_flows_from_fs to setup.py
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* ci: fix false positive on ci sucess status (#6868)
ci: fix ci EXIT_CODE
* docs: api build and run examples update (#6904)
* run-endpoint-parameters
* docs: Update build flow API documentation with detailed examples and parameters
* table-cleanup
* cleanup
* Apply suggestions from code review
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
* Apply suggestions from code review
* comments-from-code-review
* Update docs/docs/API-Reference/api-reference-api-examples.md
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
---------
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* build(deps): bump @babel/runtime-corejs3 from 7.26.9 to 7.26.10 in /docs (#7051)
Bumps [@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3) from 7.26.9 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-runtime-corejs3)
---
updated-dependencies:
- dependency-name: "@babel/runtime-corejs3"
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: add a unified language model component. (#6994)
* add a unified language model component with a few providers
* [autofix.ci] apply automated fixes
* fix errors and add tests
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* fix: Rename AgentQL components and add prompt parameter (#6834)
* renamed components
* add prompt parameter
* [autofix.ci] apply automated fixes
* prevent both query and prompt
* ruff checks
* [autofix.ci] apply automated fixes
* amend conditional check
* change error message
* update templates
* [autofix.ci] apply automated fixes
* fix tags
* fix tags in news aggregator
---------
Co-authored-by: huwenjie912 <huwenjie912@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* ref: Refactor tracing service (#7011)
* Refactor tracing service
* Remove start, flush and stop
* fix: pass props to SvgAnthropicBox component (#7057)
* fix: pass props to SvgAnthropicBox component
* fix: pass props to SvgAnthropicBox component in light mode
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* fix: check if component is in tool mode as well to display Tool Mode switch (#7042)
feat: Enhance checkHasToolMode function to include tool mode detection
Updated the checkHasToolMode function to account for an additional condition where the template is considered to be in tool mode if it contains exactly three fields: _type, code, and tools_metadata. This improves the function's ability to accurately determine the tool mode status of a template.
* Fix: Text split issues related to separator (#6993)
* fixes text split issues related to separator
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* format error fix
* Update Vector Store RAG.json
* [autofix.ci] apply automated fixes
* 📝 (freeze.spec.ts): update test description to match the actual element being tested for better clarity and maintainability
* ✅ (stop-building.spec.ts): update test description to improve clarity and maintainability
✅ (stop-button-playground.spec.ts): add wait time before filling search input to ensure proper loading and interaction with the element
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
* docs: mcp integration (#6986)
* docs: Add MCP (Model Context Protocol) integration documentation
* docs: Update Astra DB MCP integration documentation
* docs: Update Astra DB MCP integration documentation with Cursor connection section
* docs: Update MCP integration guide with Datastax Astra DB connection details and prerequisites
* Apply suggestions from code review
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
* docs-peer-reviews
* remove-cursor-integration
* code-review
* Apply suggestions from code review
Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>
* docs: update MCP integration guide for clarity and consistency
---------
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>
* feat: add regex pattern extractor component (#6015)
* feat: add regex pattern extractor component
* [autofix.ci] apply automated fixes
* fix: consistent schema and cleaner code style
* fix: type annotation in regex.py
* [autofix.ci] apply automated fixes
* Fix: regex component unit tests to match implementation behavior
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
* docs: Add workflow to automate updates to docs/openapi.json (#7072)
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* docs: test and update google oauth integration (#6949)
* update-template
* update-integration-doc
* document-id
* Apply suggestions from code review
Co-authored-by: brian-f <brian.fisher@datastax.com>
---------
Co-authored-by: brian-f <brian.fisher@datastax.com>
* feat: add pokedex agent template (#6885)
* add-pokedex-agent-json
* update with the latest agent component
* Update Pokédex Agent.json
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* feat: apify starter template (#6784)
* add social media agent apify template
* example default values, update starter template
* revert package-lock.json
* format
* note-cleanup
* [autofix.ci] apply automated fixes
* updates to the components
* update the agent component
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: Needle Search Tool With Template (#6648)
* feat: Needle Search Tool With Templte
* lint
* lint
* lint
* lint
* refactor: Use Langflow Agent instead of CrewAI Agent
* techdebt: adjust Needle component to use tool mode and remove tool component
* lint
* lint
* Update Invoice Summarizer.json
* Update Invoice Summarizer.json
* update to the component
* refactor: Use Needle icon svg
* make format
* component updates
* update with latest agent component
* updated a missing connection when updating the agent component
* update template
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* feat: New parser component with multiple input types and stringify add on (#6652)
* update to parser
* error handling
* solve lint error and added tests
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* Update parser.py
* fix format errors
* [autofix.ci] apply automated fixes
* refactor: Remove hardcoded name attribute from ParserComponent
* Update src/backend/base/langflow/components/processing/parser.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* error fix
* [autofix.ci] apply automated fixes
* feat: mark ParserComponent as beta
Added a beta flag to the ParserComponent to indicate its experimental status.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Rodrigo <rodrigosilvanader@gmail.com>
* [autofix.ci] apply automated fixes
* format
* remove console log
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* add space in docker compose
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* [autofix.ci] apply automated fixes
* Update package lock
* Removed unused file
* Fixed naming on handleChangeFiles
* Update src/frontend/src/pages/MainPage/pages/filesPage/index.tsx
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
* Used format file size
* updated file browser to My Files
* Updated cursor
* Added error on selecting no files
* Updated base FileInput name to Files
* Added truncate and tooltip to files
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* merge fix
* Update src/frontend/src/components/core/parameterRenderComponent/components/inputFileComponent/index.tsx
* Update src/frontend/src/modals/fileManagerModal/components/filesContextMenuComponent/index.tsx
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* [autofix.ci] apply automated fixes (attempt 3/3)
* Fixed files not maintaining state
* Update info position
* adjusted getCustomParameterTitle
* removed console.log
* updated utils.py
* Added upload file util
* Added check on upload-file to use old one if unavailable
* Use new upload file function in Document QA
* uploaded tests to use new UploadFile util
* updated general bugs to use new uploadFile
* updated upload-file
* Update file mixin to have temp file
* Update file component to not enable file management if temp file is true
* Put temp file as true for chat input
* Update starter projects
* Updated starter templates
* added tempFile condition on useEffect
* Fixed invalid size alert
* Fixed limit file test
* Fixed backend test
---------
Signed-off-by: yihong0618 <zouzou0208@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Pedro Pacheco <3083335+pedrocassalpacheco@users.noreply.github.com>
Co-authored-by: Nadir J <31660040+NadirJ@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
Co-authored-by: Carter Rabasa <carter.rabasa@gmail.com>
Co-authored-by: yihong <zouzou0208@gmail.com>
Co-authored-by: Ronnie Miller <ronnie.miller@datastax.com>
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
Co-authored-by: Ítalo Johnny <italojohnnydosanjos@gmail.com>
Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rodrigo Nader <rodrigosilvanader@gmail.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
Co-authored-by: wjwjtf <wenjie@tinyfish.io>
Co-authored-by: huwenjie912 <huwenjie912@gmail.com>
Co-authored-by: Eddie Ho <62191480+noodleslove@users.noreply.github.com>
Co-authored-by: April I. Murphy <36110273+aimurphy@users.noreply.github.com>
Co-authored-by: Raphael Valdetaro <79842132+raphaelchristi@users.noreply.github.com>
Co-authored-by: brian-f <brian.fisher@datastax.com>
Co-authored-by: Jakub Kopecký <me@kopecky.io>
Co-authored-by: Jan Heimes <45521680+JANHMS@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
* ✨ (index.tsx): Update inputComponent styles to improve UI design and user experience
🐛 (new-api-modal.tsx): Add data-testid attribute to tweaks button for testing purposes
🔧 (publish-flow.spec.ts): Update test cases to improve reliability and readability
📝 (tweaksTest.spec.ts): Refactor test cases to enhance maintainability and clarity
🔧 (nestedComponent.spec.ts): Update test description for clarity and consistency
🐛 (general-bugs-shard-3909.spec.ts): Fix waitForSelector calls to match correct text for improved test accuracy
* 🔧 (use-get-builds-polling-mutation.ts, use-get-builds.ts, use-post-retrieve-vertex-order.tsx): add retry and retryDelay options to improve error handling and resiliency in API queries
🗑️ (generalBugs-shard-2.spec.ts): delete outdated test file for general bugs related to shards in the frontend tests folder
* Revert "ci: fix false positive on ci sucess status (#6868)"
This reverts commit e18b248591.
* ✨ (jsonEditor/index.tsx): add support for dynamically setting width and height of the editor container to improve responsiveness
🔧 (dictAreaModal/index.tsx): set width to 100% and adjust height class to improve layout responsiveness
* fix backend tests
* [autofix.ci] apply automated fixes
---------
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: Add JsonEditor component for JSON editing
This commit adds a new component called JsonEditor, which allows users to edit JSON data. The component uses the JSONEditor library and provides options for customizing the editor's appearance and behavior. It also includes functionality for updating the edited data and triggering a callback when the data changes. The component is initialized with an initial data object and can be updated with new data through props. The component is designed to be reusable and can be easily integrated into other parts of the application.
* feat: Add JsonEditor component for JSON editing and replace JsonView
The commit adds a new component called JsonEditor for editing JSON data. It replaces the previous JsonView component used for displaying JSON data. This change improves the functionality and user experience of the application.
* [autofix.ci] apply automated fixes
* Added json editor to package
* Change jsonEditor to use new vanilla jsonEditor
* Added color variables
* Removed unused buttons on json editor
* Removed unused dark store
* Fixed state management on dictAreaModal
* Change default DictComponent value to dict
* removed unused checks
* Changed to forward ref of json editor
* removed nav bar
* Fixed value not being received
* Added check if value is null and handleOnNewValue on this case
* Removed unused button on json editor
* Adds auto focus and change mode to text
* ♻️ (jsonEditor/index.tsx): remove unnecessary comments and improve code readability by removing redundant comments and empty dependency array in useEffect.
* Fixed dict component test
* Refactor json-input component to use VanillaJsonEditor and JsonEditor component
* Remove react-json-view-lite and react18-json-view dependencies
* [autofix.ci] apply automated fixes
* Refactor jsonEditor component to add readOnly prop
* Refactor json-output-view component to add read-only prop
* Refactor switchOutputView component to add JSON output view
* Refactor CSS styles for JSON editor buttons
* Update package-lock.json to add new dependencies for @mapbox/node-pre-gyp and remove jsdom and its related modules
* [autofix.ci] apply automated fixes
* Refactor textModal component to remove unused imports and dependencies
* add filter property to jsonEditor
* [autofix.ci] apply automated fixes
* Refactor jsonEditor component to handle transform queries and display error messages
* [autofix.ci] apply automated fixes
* Refactor jsonEditor component to add filter property and handle transform queries
* Refactor jsonEditor component to add filter property and handle transform queries
* Refactor Output class to add options property
* Refactor json-output-view.tsx to update default height value
* Refactor jsonEditor component to normalize transform query path
* Refactor jsonEditor component to add JSONQuery support for transform queries
* Add jsonquerylang library as a dependency
* Refactor utils.py to add support for applying JSON filters
* Refactor base.py to add apply_options method for JSON filtering
* Fix jsonOutputView to set filter option to undefined when empty
* Enhance apply_json_filter to support Data objects and improve query handling
* Improve json filtering in Output class to return original result if filtered result is None
* Refactor Component class to simplify map_outputs method and enhance output handling
* move jsonquerylang to langflow-base
* Refactor Component and Output classes for improved output handling and type consistency; enhance apply_json_filter to ensure proper data processing and add comprehensive unit tests.
* Add filter_data method to Data class and update apply_options in Output class to utilize it; enhance apply_json_filter return type to Data.
* Import apply_json_filter in Data class to enable data filtering functionality
* Add validation for JSON results in JsonEditor; ensure only objects and arrays are accepted and handle serialization errors
* 📝 (App.css): Add styles for jse-menu separator and cm-gutters to improve UI layout
♻️ (index.tsx): Refactor imports and code formatting for better readability and maintainability
🔧 (index.tsx): Update BaseModal component styles to improve UI layout and responsiveness
* 📝 (custom.css): add extra line at the end of the file for consistency
📝 (App.css): add styling for .jse-menu .jse-button.jse-group-button class
📝 (classes.css): add extra line at the end of the file for consistency
* 🐛 (data.py): fix custom_serializer to handle bytes objects by decoding them to utf-8
♻️ (base.py): refactor options field in Output class to accept BaseModel, dict, or None for better flexibility and compatibility
* Refactor apply_json_filter to directly use jsonquery on result, removing unnecessary string conversion
* ✨ (base.py): Introduce OutputOptions model for output filtering and update Output class to use it
* 🐛 (classes.css): Hide search box background and adjust container positioning for better layout
* ✨ (jsonEditor): Enhance filtering functionality with improved state management and user feedback
* Fixed package lock
* [autofix.ci] apply automated fixes
* Updated package lock
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* refactor: Update flowToolbarComponent with FlowToolbarOptions component and ENABLE_PUBLISH feature flag
* [autofix.ci] apply automated fixes
* refactor: Update ENABLE_PUBLISH feature flag in feature-flags.ts
* add external link for hover state
* Refactor routes.tsx to enable PlaygroundPage
* Refactor deploy-dropdown.tsx to add ShadTooltipComponent and handle cases where there is no IO
* [autofix.ci] apply automated fixes
* add colorfull langflow icon
* Add playgroundPage prop to IOModalPropsType
* Refactor IOModal in PlaygroundPage component
* Refactor IOModal component and add publish options
* Add LangflowButtonRedirectTarget utility function
* Refactor IOModal component and add LangflowButtonRedirectTarget utility function
* fix: remove feature flag for playground button name
* fix: rename DeployDropdown to PublishDropdown in FlowToolbarOptions
* fix: rename DeployDropdown to PublishDropdown and update related functionality
* fix: update classNames utility import and refactor class assignment in FlowToolbar
* [autofix.ci] apply automated fixes
* fix: enhance hover effects and accessibility in PublishDropdown component
* [autofix.ci] apply automated fixes
* fix: update Playground title in IOModal and ChatViewWrapper components
* fix: improve layout and visibility of session information in ChatViewWrapper component
* add neutral icon to playground
* fix: add playgroundPage prop to ContentBlockDisplay and conditionally render elements in ChatMessage
* fix: pass playgroundPage prop to ContentDisplay and conditionally render duration
* fix: remove playgroundTitle display from ChatViewWrapper component
* fix: adjust padding and alignment in ChatViewWrapper and IOModal components based on playgroundPage prop
* fix: update alignment and responsiveness in ChatViewWrapper component based on playgroundPage and sidebarOpen states
* fix: update document title based on currentSavedFlow in PlaygroundPage component
* [autofix.ci] apply automated fixes
* feat: add ENABLE_WIDGET flag to conditionally render embed option in PublishDropdown
* feat: add EmbedModal component for copying embed code
* feat: integrate EmbedModal in PublishDropdown for embed code sharing
* feat: enhance EmbedModal integration in PublishDropdown with dynamic embed code generation
* feat: add switch for publishing state in PublishDropdown component and update FlowType
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* feat: add optional copy property to GetCodeType for enhanced tweak management
* feat: make description property optional in modalHeaderType for improved flexibility
* feat: update background color in code styles for improved visibility
* feat: add support for 'retangular' size in switchCaseModalSize helper
* feat: make description property optional in Header component and add 'retangular' size option in BaseModalProps
* feat: add optional copy parameter to getWidgetCode for customizable script output
* feat: refactor EmbedModal props for improved clarity and consistency
* feat: add ApiModal component for custom API code generation
* feat: adjust icon size in EmbedModal for better visual consistency
* feat: integrate ApiModal into PublishDropdown for enhanced API code generation
* feat: update ApiModal header to include API key creation instructions
* feat: add APITabsComponent for displaying code snippets in tabs
* feat: add APITabType and tabsArrayType for enhanced API tab management
* feat: replace CodeTabsComponent with APITabsComponent in ApiModal for improved tab management
* feat: add JSIcon component for JavaScript icon representation
* feat: add JSIcon to nodeIconsLucide for JavaScript representation
* style: format code for consistency in EmbedModal component
* feat: change ApiModal size from x-large to medium for better usability
* feat: enhance APITabsComponent with light theme support and improve button positioning
* feat: adjust APITabsComponent tab styling for improved layout and readability
* feat: add BWPython icon and update references in APITabsComponent and styleUtils
* fix: correct export name for BWSvgPython icon component
* feat: add new column 'public' to flow table
* raw: Sample code for creating a new unauthenticated endpoint as a PoCh
Note: this code is blatantly copied from another code snippet.
* feat: add dark mode support to JSIcon component
* feat: add dark mode support to BWPython icon component
* feat: add new column 'access_type' to flow
* chore: update code
* chore: remove unnecessary migration
* feat: add getNewCurlCode function for generating cURL commands with dynamic payloads
* feat: integrate dynamic code generation for Python, JavaScript, and cURL in APITabsComponent
* feat: add getNewJsApiCode function for generating JavaScript API code with dynamic payloads
* feat: add getNewPythonApiCode function for generating Python API code with dynamic payloads
* fix color on sintax highlight
* feat: enhance APITabsComponent with dynamic streaming and authentication state
* feat: update APITabsComponent to handle dynamic input and output types based on flow data
* [autofix.ci] apply automated fixes
* feat: add input and output validation in PlaygroundPage to redirect if none exist
* [autofix.ci] apply automated fixes
* fix: ensure navigation only occurs when currentSavedFlow data is present
* feat: add access_type field to FlowUpdate model
* feat: add playgroundPage parameter to buildFlowVertices for conditional URL construction
* feat: add playgroundPage state and setter to FlowStoreType
* feat: add playgroundPage state and setter to FlowStoreType
* feat: add access_type field to FlowType for improved access control
* feat: modify useGetMessagesQuery to handle playgroundPage state for conditional message retrieval
* feat: update IPatchUpdateFlow interface to make fields optional and add access_type for enhanced flexibility
* feat: implement publish toggle functionality in PublishDropdown component for dynamic access control
* feat: integrate playgroundPage state management in IOModal for improved session handling
* add: new endpoint to public_flow
* refactor: remove unused current_user parameter from read_public_flow function
* feat: add ContextWrapper to PlaygroundPage route for improved context management
* refactor: simplify flow retrieval logic in PlaygroundPage component
* feat: add support for public flow retrieval in useGetFlow hook
* feat: add PUBLIC_FLOW constant to URLs for public flow retrieval
* fix: add whitespace for improved code readability in AuthSettingsGuard component
* fix: add whitespace for improved code readability in ProtectedAdminRoute component
* [autofix.ci] apply automated fixes
* fix: update redirect condition in PlaygroundPage for non-public access types
* [autofix.ci] apply automated fixes
* persist session name update
* fix: enhance message update logic to handle playground state and local storage
* fix: remove debugger statement from PlaygroundPage initialization
* fix: manage dark mode class in App component and remove redundant logic from AppInitPage
* [autofix.ci] apply automated fixes
* feat: add access_type field to FlowHeader model for flow access control
* fix: refactor flow access handling in PublishDropdown component for improved readability and async operation
* feat: enhance FlowMenu component with swatch color display based on flow gradient
* feat: add swatch color display in IOModal based on flow gradient
* [autofix.ci] apply automated fixes
* Update copyCode to use dynamic API code generation for Python, JavaScript, and cURL tabs
* Add optional session tracking to JavaScript API code generation
* Enhance Python API code generation with detailed comments and error handling
* Fix SVG attribute casing and update dark mode state handling in Python icon components
* Fix SVG clip-path casing and ensure dark mode state is a string in JS icon components
* Fix SVG fill color handling for dark mode in Python icon components
* Fix SVG filter handling for dark mode in JS icon components
* Add tweaks management and update functionality in tweaks store
* Add normal font style to line numbers in CSS
* Add debug log for flow retrieval in FlowPage component
* Refactor APITabsComponent to remove unused props and integrate tweaks management
* Enhance ApiModal to support tweaks management and improve API access UI
* Remove flow prop from ApiModal in PublishDropdown component
* update package lock
* [autofix.ci] apply automated fixes
* Update ChatViewWrapper to adjust layout based on visibleSession state
* [autofix.ci] apply automated fixes
* Update icon fallback in FlowMenu to use "Workflow"
* Refactor EmbedModal button styles for consistency and clarity
* Add useEffect to reset copied state on active tab change and clean up button styles
* Comment out DropdownMenuItem in PublishDropdown for future reference
* refactor: remove duplicated code from route
* refactor: remove duplicated code from route
* [autofix.ci] apply automated fixes
* Increase font size for code blocks in classes.css for better readability
* Adjust padding and height for deploy dropdown items for improved layout
* Update minWidth for medium modal size to include max-width constraint
* Refactor ApiModal to conditionally render button and adjust styles for improved layout
* Add margin-top to API modal tabs content for improved spacing
* Refactor deploy dropdown to include API access and Embed options, and rename 'Standalone app' to 'Shareable Playground'
* Enhance API code generation to include environment variable checks for API key in curl, JavaScript, and Python examples
* Fix authentication check logic and clean up modal class names
* Refactor authentication logic in APITabsComponent to improve clarity and functionality
* [autofix.ci] apply automated fixes
* Update environment variable references in API code examples to use LANGFLOW_API_KEY
* [autofix.ci] apply automated fixes
* Update API key references to use LANGFLOW_API_KEY in curl and JS code examples
* Remove streaming parameter from API code examples in JavaScript and Python
* Adjust button padding and separator margin in API modal for improved layout
* Add transparent background to scrollbar corner in Tailwind config
* Update publish dropdown to display sharing status based on flow publication state
* Add playgroundPage prop to ChatInput and conditionally render file upload button
* Refactor ChatViewWrapper layout logic for improved responsiveness
* [autofix.ci] apply automated fixes
* Add closeButtonClassName prop to BaseModal and DialogContent for customization
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* feat: use new deterministic flow id for public flow calls (#6314)
* Enhance public flow building with deterministic flow ID and name handling
* Handle asyncio.CancelledError in message table commit operation
* Add UUID v5 generation for flow IDs in chat view and modal components
* Add comment explaining CancelledError handling in message table commit
* Simplify public flow ID and name generation logic
* Refactor UUID v5 import and flow ID generation in IOModal components
* Update Alembic migration down_revision identifier
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* feat: add playgroundPage prop to SessionSelector and SidebarOpenView components
* feat: switch from localStorage to sessionStorage for message handling in playground mode
* feat: Add public flow settings with cleanup and expiration configurations
Add new settings for managing public temporary flows, including:
- Configurable cleanup interval (default 1 hour)
- Configurable flow expiration time (default 24 hours)
- Minimum interval of 10 minutes for both settings
* feat: Add public flow expiration settings to ConfigResponse
Update ConfigResponse schema to include new configuration parameters for public flow management:
- public_flow_cleanup_interval: Interval for cleaning up public flows
- public_flow_expiration: Duration for public flow retention
* feat: Add temporary public flow cleanup worker
Implement a background worker to manage and clean up expired public flows:
- Add CleanupWorker class to handle periodic cleanup tasks
- Integrate cleanup worker into application lifespan
- Implement cleanup logic for removing expired public flow data from database and storage
- Add start and stop methods for graceful worker management
* feat: implement client ID management using cookies in Playground and update flow ID generation
* refactor: Optimize public flow cleanup worker with targeted execution
Improve the temporary public flow cleanup process by:
- Adding a pre-check to only run cleanup when public flows exist
- Passing public flows and session directly to cleanup function
- Simplifying the cleanup logic to reduce nested session management
* refactor: Enhance database cleanup worker with comprehensive record management
Improve the cleanup worker to handle both expired public flows and orphaned records:
- Add function to clean up expired public flows with detailed logging
- Implement orphaned record cleanup across multiple database tables
- Enhance error handling and logging for storage file deletion
- Simplify worker run method to execute both cleanup tasks sequentially
* feat: Add session cookie validation for public flow generation
Enhance public flow building by:
- Requiring a session cookie for generating temporary public flows
- Incorporating the session cookie into the flow ID generation process
- Adding explicit error handling for missing session cookies
* fix: Update session cookie retrieval in public flow generation
Change cookie key from "session" to "client_id" to align with recent client ID management implementation
* fix: Correct flow ID generation by adding an underscore separator between client ID and real flow ID
* [autofix.ci] apply automated fixes
* fix: add options to the fetch call and add docs
Update getNewJsApiCode function to:
- Add comprehensive JSDoc documentation
- Include fetch options in API call
- Simplify code generation logic
- Ensure proper payload and options handling
* fix: update label for temporary overrides to tweaks in API modal
* update package lock
* ensure individual instances of contexts
* fix: add data-testid attributes for testing in PublishDropdown component
* fix: handle authentication errors for public API requests in ApiInterceptor
* test: add publish feature test using Playwright
* [autofix.ci] apply automated fixes
* refactor: optimize temp flow cleanup with improved file and logging management
* test: add unit tests for temp flow cleanup service
* chore: remove unnecessary console logs and comments for cleaner code
* Update src/frontend/tests/core/features/publish-flow.spec.ts
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/tests/core/features/publish-flow.spec.ts
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/tests/core/features/publish-flow.spec.ts
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/tests/core/features/publish-flow.spec.ts
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/tests/core/features/publish-flow.spec.ts
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/tests/core/features/publish-flow.spec.ts
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/tests/core/features/publish-flow.spec.ts
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/tests/core/features/publish-flow.spec.ts
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/tests/core/features/publish-flow.spec.ts
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/src/modals/apiModal/utils/get-curl-code.tsx
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/src/modals/apiModal/utils/get-curl-code.tsx
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/src/modals/apiModal/utils/get-curl-code.tsx
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Update src/frontend/src/modals/apiModal/utils/get-python-api-code.tsx
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* fix: adds edge filtering only to parameters not hidden (#6270)
Adds advanced filter to only filter by showing fields on click of edge
* Add config parameter to Graph run method with configuration application
* fix: remove unnecessary await from flow directory existence check
* refactor: Remove expired public flows cleanup method
* refactor: Move data_dir initialization to base StorageService
* fix: Update temp flow cleanup to use async file operations
- Add explicit type hint for storage_service
- Use async methods for file and directory existence checks
- Improve error handling for file deletion during flow cleanup
* refactor: Add explicit type hint for tables in temp flow cleanup
- Improve type annotations for tables list in cleanup_orphaned_records
- Explicitly define the types of tables to be processed
* [autofix.ci] apply automated fixes
* refactor: Remove tests for expired public flows from temp flow cleanup
* test: Update test_cleanup_orphaned_records_no_orphans to use fixtures
* feat: Add utility function for verifying public flow access
Implement async function to validate public flow requests with:
- Client ID verification
- Flow existence and public access check
- Deterministic flow ID generation
- User retrieval for permission handling
* feat: build_public_tmp to use the jobqueue
Refactored the build_public_tmp endpoint to:
- Add comprehensive docstring explaining endpoint functionality
- Improve error handling and logging
- Simplify flow verification and user retrieval process
- Use new verify_public_flow_and_get_user utility function
- Streamline job creation and error management
* chore: Add anyio import to local storage service
Import anyio library in preparation for potential async storage operations
* style: run formatter
* changed endpoint
* [autofix.ci] apply automated fixes
* Add size for tweaks
* Add size for tweaks
* Change tweaks modal
* Fix switch design
* [autofix.ci] apply automated fixes
* fix: mypy erros
* fix: alembic multiple heads error
* fix: ruff error
* refactor: update test cleanup for orphaned records to use fixtures
Changed the test for cleanup of orphaned records to utilize the "client" fixture instead of the "asyncio" marker, enhancing test organization and clarity.
* fix: cli test
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com>
* feat: Add helper text for Astra DB embedding generation provider
* feat: Add helper text support for dropdown and parameter components
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* Update astradb.py
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* feat: Add org_id to excluded metadata keys in dropdown component
* fix: Update Astra DB component UI and starter project configuration
- Improved AstraDB component's embedding provider link with better accessibility attributes
- Updated Vector Store RAG starter project JSON with formatted configuration
- Refined UI text and link presentation for better user experience
* Remove providers that arent configured
* feat: Add required field indicator to node parameters
- Implemented visual indicator (*) for required node parameters
- Updated custom parameter title rendering to show required status
- Enhanced UI to provide clearer input requirements
* Revert "Merge branch 'lfoss-683-1' of https://github.com/langflow-ai/langflow into lfoss-683-1"
This reverts commit 2eb0fcb4d3d347de0df1f021f761ea63e882b757, reversing
changes made to 9ea44aca477e8a418ef82722da4b1e0fc2afa2e1.
* [autofix.ci] apply automated fixes
* Add changes back
* Fix some comments
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* Update astradb.py
* feat: Add dynamic disabled state for node dialog and int component
* feat: Add dynamic placeholder for node dialog input
* [autofix.ci] apply automated fixes
* feat: Enhance IntComponent with disabled state styling and stepper interactions
* Fix some db creation params
* Update astradb.py
* fix: Resolve node dialog input value handling in TypeScript
* Update astradb.py
* feat: Add required field validation to node dialog submission
* Update astradb.py
* [autofix.ci] apply automated fixes
* Update astradb.py
* Clean up functions and add read only flag
* feat: Add readonly support to IntComponent and improve node dialog validation
* fix: Improve dropdown component disabled and empty options handling
* console.log removed
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* Read only field and cleanup
* Astra DB selector updates
* [autofix.ci] apply automated fixes
* fix: Improve dropdown component disabled state handling
* Fix value of region in create db
* [autofix.ci] apply automated fixes
* Remove database icon from component
* fix: Conditionally render dropdown option icons
* Don't show Nvidia if not available
* [autofix.ci] apply automated fixes
* Exceptions unless pending mean, skip
* feat: Enhance AstraDBVectorStoreComponent with HTML sanitization
- Added DOMPurify for sanitizing HTML input in the convertStringToHTML function.
- Introduced a new sanitizeHTML function to ensure safe rendering of HTML strings.
* fix: Correct field key usage in NodeDialog and refactor disabled class name in IntComponent
- Updated NodeDialogComponent to use fieldKey instead of underscore for better clarity in mapping field values.
- Refactored IntComponent to replace the getDisabledClassName function with a constant for the disabled input class, improving readability.
* ✨ (playground.spec.ts): Refactor drag and drop functionality to use hover and click for better interaction
🔧 (chatInputOutput.spec.ts): Update drag and drop functionality to use target position for more precise placement
🔧 (chatInputOutputUser-shard-1.spec.ts): Simplify connecting elements by replacing hover and mouse actions with click for better user experience
* 🐛 (generalBugs-prompt.spec.ts): fix issue with selecting the last element with getByTestId to ensure correct element is clicked and tested
* ✅ (chatInputOutputUser-shard-1.spec.ts): add 600ms timeout to wait for elements to be interactable before proceeding with the test steps
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* chore: bump frontend package version from 0.1.2 to 1.2.0 in package-lock.json
* test: enhance error message wait condition in generalBugs-shard-6.spec.ts
Updated the test to wait for the error message to appear with a minimum length of 20 characters, improving reliability in detecting error states. This change replaces the previous fixed timeout with a dynamic check, enhancing the robustness of the test.
* update to support dataframe
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* Update split_text.py
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* update names
* Update src/backend/base/langflow/schema/dataframe.py
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
* [autofix.ci] apply automated fixes
* update to template
* update review changes
* Update Vector Store RAG.json
* fix lint errors
* fix tests
* 📝 (freeze.spec.ts): update test description to match the actual element being tested for better clarity and accuracy
* ✨ (stop-button-playground.spec.ts): improve test reliability by specifying target position for drag action to prevent flakiness
* ✅ (logs.spec.ts): increase timeout from 1000ms to 3000ms for better test reliability
✅ (stop-building.spec.ts): update test selector from "handle-splittext-shownode-data inputs-left" to "handle-splittext-shownode-input documents-left" for accurate testing
✅ (starter-projects.spec.ts): add a 1000ms timeout before asserting visibility of an element for better test stability
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* feat: add dialog support to dropdown components and enhance AstraDB integration
- Introduced a new NodeDialog component for improved user interaction when connecting to Astra DB.
- Updated AstraDBVectorStoreComponent to include a dialog option for creating new collections.
- Enhanced dropdown components to support dialog functionality, allowing users to create new options directly from the dropdown.
- Added `hasDialog` property to relevant component types to manage dialog visibility.
- Refactored utility functions to support new naming conventions and improve code clarity.
* [autofix.ci] apply automated fixes
* Remove creation parameters, add new inputs for dialog
* Update astradb.py
* [autofix.ci] apply automated fixes
* Update the mixins for dialog_inputs
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* refactor: standardize JSON formatting and clean up input types in Vector Store RAG configuration
- Reformatted JSON structure for better readability, ensuring consistent indentation and line breaks.
- Updated input types across various components to use array notation for clarity.
- Removed extraneous entries in package-lock.json to streamline dependencies.
- Enhanced overall maintainability of the configuration files.
* Add new options_metadata field to dropdown mixin
* Update test_astra_component.py
* Properly set dictionary mapping
* Update astradb.py
* Fix collection loading
* [autofix.ci] apply automated fixes
* Update astradb.py
* Update astradb.py
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* Enhance AstraDB integration and update dropdown components
- Updated the AstraDBVectorStoreComponent to include new input fields for database and collection creation, with default options for selection.
- Refactored dropdown components to support dynamic dialog inputs, improving user interaction for creating new options and refreshing lists.
- Updated package-lock.json to reflect dependency upgrades, including Rollup and SWC packages.
This commit improves the functionality and usability of the AstraDB integration and dropdown components, ensuring a smoother user experience.
* Update astradb.py
* Fix autodetection
* Enhance dropdown components to support options metadata
- Added `optionsMetaData` prop to Dropdown and DropdownComponent for improved data handling.
- Updated rendering logic in Dropdown to display metadata alongside options, enhancing user experience.
- Modified type definitions to include `optionsMetaData` in relevant components.
These changes improve the flexibility and usability of dropdown components, allowing for richer data presentation.
* Refactor and enhance AstraDB integration and dropdown components
- Updated the `Vector Store RAG.json` configuration for improved formatting and consistency in output and input types.
- Enhanced the `NodeDialogComponent` to accept `dialogInputs` as a prop, allowing for more dynamic content rendering.
- Modified the `Dropdown` component to use `onSelect` instead of `onClick` for better accessibility and user interaction.
- Improved rendering logic in the `Dropdown` component to conditionally display icon options based on the presence of `dialogInputs`.
These changes enhance the usability and flexibility of the AstraDB integration and dropdown components, providing a more intuitive user experience.
* Don't inherit from dict input in new inputs
* [autofix.ci] apply automated fixes
* Update astradb.py
* update logic for dropdown
* Fix the number of records per collection
* Update astradb.py
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* feat: Enhance Dropdown and Parameter Render Components
- Updated Dropdown component to integrate post template value handling and refresh functionality.
- Refactored ParameterRenderComponent to conditionally render based on dialog inputs.
- Improved DropdownComponent to accept additional props for better flexibility.
These changes improve the overall functionality and usability of the dropdown components within the application.
* Set unknown to none to hide unavailable fields
* Update astradb.py
* Refactor Dropdown Component for Enhanced Usability
- Removed unnecessary state initialization and improved code readability.
- Updated button elements within the dropdown to enhance user interaction.
- Added loading state indication for the refresh button.
- Filtered out null values from options metadata for cleaner rendering.
These changes streamline the dropdown functionality and improve the user experience.
* Refactor NodeDialog, Dropdown, and ParameterRender Components
- Commented out debug logs in NodeDialogComponent to clean up console output.
- Enhanced Dropdown component to conditionally render icon options based on dialog inputs.
- Updated ParameterRenderComponent to check for the length of dialog inputs before rendering.
These changes improve code readability and ensure components behave correctly based on input conditions.
* [autofix.ci] apply automated fixes
* Cleanup some tests
* Fix ruff style issue
* [autofix.ci] apply automated fixes
* Fix environment specification
* [autofix.ci] apply automated fixes
* Update starter project template
* Update astradb.py
* Remove backwards compatibility features
* [autofix.ci] apply automated fixes
* Small tweak to autodetect
* [autofix.ci] apply automated fixes
* Refactor NodeDialogComponent to Dynamically Render Inputs
- Replaced static content in NodeDialogComponent with dynamic rendering based on dialogInputs.
- Introduced NodeInputField and RenderInputParameters components for better modularity.
- Enhanced footer with Cancel and Save buttons, improving user interaction.
These changes enhance the flexibility and usability of the NodeDialogComponent, allowing it to adapt to varying input configurations.
* Refactor NodeDialogComponent: Remove Unused Imports
- Commented out unused imports in NodeDialogComponent to clean up the code.
- This change enhances code readability and prepares the component for future updates.
No functional changes were made; the focus was on improving code quality.
* Refactor Dropdown and ParameterRender Components for Improved Readability and Functionality
- Renamed functions in Dropdown component for clarity: `renderOptionsList` and `renderCreateOptionDialog` to `oldRenderOptionsList` and `renderCustomOptionDialog`, respectively.
- Enhanced the rendering logic in Dropdown to streamline the display of options and metadata.
- Simplified the return structure in ParameterRenderComponent to always render the RefreshParameterComponent, improving code consistency.
- Updated RefreshParameterComponent to conditionally display the refresh button based on the presence of dialog inputs.
These changes improve code readability and maintainability while ensuring consistent behavior across components.
* [autofix.ci] apply automated fixes
* Add the new naming conventions to deletion fields
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* Add new cloud provider options for database creation
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* Make dialog inputs a dictionary of inputs
* [autofix.ci] apply automated fixes
* Update astradb.py
* Update astradb.py
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* Update astradb.py
* [autofix.ci] apply automated fixes
* added mock data for testing
* Clean up the reactive flow
* [autofix.ci] apply automated fixes
* Fix the dialog inputs
* Update Vector Store RAG.json
* Update Vector Store RAG.json
* Update astradb.py
* Update astradb.py
* [autofix.ci] apply automated fixes
* Update astradb.py
* Update astradb.py
* Switch dialog inputs from list to dictionary
* Update astradb.py
* Refactor NodeDialogComponent to utilize useDialogSubmit hook for handling dialog submissions and streamline input rendering. Remove unused props and mock data, enhancing clarity and maintainability. Update DropdownComponent to remove unnecessary content prop. Introduce useDialogSubmit hook for improved API interaction and loading state management.
* New structure for dialog inputs
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* No need for the input type on token
* Flip order of ingest and search
* [autofix.ci] apply automated fixes
* Remove id field from factory
* Remove other id field
* [autofix.ci] apply automated fixes
* Refactor directory_reader.py to simplify file filtering logic
* Refactor flowSidebarComponent to filter out bundles and custom components in CategoryGroup
* [autofix.ci] apply automated fixes
* Refactor NodeDialogComponent to utilize dialogInputs directly, removing mock data and enhancing parameter rendering. Update Dropdown and ParameterRenderComponent types to accept single dialogInputs object. Remove unused useDialogSubmit hook.
* ✨ (NodeDialogComponent/index.tsx): Introduce handleNewValue function to handle updating node template values based on user input
🔧 (NodeDialogComponent/index.tsx): Add support for process.env.PORT environment variable to be able to run app on a configurable port
🔧 (dropdownComponent/index.tsx): Add nodeId prop to Dropdown component to pass node id for better context
🔧 (parameterRenderComponent/index.tsx): Update handleOnNewValue prop to accept key parameter for better handling of new values
🔧 (parameterRenderComponent/types.ts): Add nodeId property to BaseInputProps type for better context and consistency
* Don't load the new collection names from db
* Update astradb.py
* Temporary disabling of dialog inputs functionality
* Update directory_reader.py
* Fix problematic uv.lock line
* Update uv.lock
* Update Vector Store RAG.json
* Update Vector Store RAG.json
* refactor: enhance dropdown and refresh button logic for better user experience
- Updated the dropdown component to disable the trigger button when there are no options available or when certain conditions are met.
- Removed the old render options list to streamline the dropdown rendering process.
- Improved the loading state handling in the dropdown to provide clearer feedback to users.
- Refactored the refresh button logic to ensure it only displays when appropriate conditions are met, enhancing the component's responsiveness.
* [autofix.ci] apply automated fixes
* Allow combobox specification of api endpoint
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* Update Vector Store RAG.json
* Add back api_endpoint option for compatibility
* Update Vector Store RAG.json
* [autofix.ci] apply automated fixes
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* Renamed template file name
* Removed keyspaces
* add global variables and update description
* add icon and tags for the example
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* ✨ (flowSidebarComponent/index.tsx): reorganize imports and remove unnecessary comments for better code readability and maintainability
♻️ (flowSidebarComponent/index.tsx): refactor filtering logic to improve performance and readability
🔧 (flowSidebarComponent/index.tsx): update variable names and state management for better clarity and consistency
💡 (flowSidebarComponent/index.tsx): add comments and organize code structure for easier understanding and future development
📝 (flowSidebarComponent/index.tsx): refactor useEffect hooks to improve code readability and maintainability
📝 (flowSidebarComponent/index.tsx): refactor drag handling function to use useCallback for better performance
📝 (flowSidebarComponent/index.tsx): refactor bundle and category checks to use useMemo for better performance
* ♻️ (flowSidebarComponent/index.tsx): Remove unnecessary comments and optimize code readability by removing redundant comments and improving code structure.
* package-lock
* Added xyflow and updated imports
* Fix changing node.width to node.measured.width
* Updated NodeType to follow new API
* Fixed note node data type
* Created AllNodeType to contain note node type
* Changed flow types to follow new type from reactflow 12
* Updated flowStore to work with new types
* Updated flowStore and reactFlowUtils to work with custom edge type
* Updated updateAllNodes to use new type
* Updated PageComponent to follow new names for node dragging and edge reconnect
* Made selected prop be optional
* Changed reactFlowInstance to have nodes and edges type
* Updated updateAllComponent to follow new types
* Updated ReactFlowUtils with new types
* Updated reactFlowUtils type
* Updated all reactFlowUtils to be generic
* Updated handleRenderComponent with Connection type
* Updated node description and name with null checks for names
* Added check if node is genericNode on nodeOutputField
* Updated note node type
* Updated nodestatus with selected null check
* Updated notenode with new node type
* Update NodeType imports to be AllNodeType
* Fix more lint issues
* Fixed react flow button css
* ✨ (freeze.spec.ts): add zoomOut utility function to handle zooming out in tests for better code reusability and readability
📝 (decisionFlow.spec.ts): import zoomOut utility function to handle zooming out in tests for better code reusability and readability
📝 (zoom-out.ts): create zoomOut utility function to handle zooming out in tests for better code reusability and readability
* 🐛 (generalBugs-shard-10.spec.ts): fix test to wait for the element with class "border-ring-frozen" to be visible before asserting its count
* 📝 (generalBugs-shard-10.spec.ts): remove unnecessary locator click on element with id 'react-flow-id' to improve test reliability and maintainability
* 📝 (SelectionMenuComponent): add data-testid attribute to differentiate error-group-node and group-node components
📝 (similarity.spec.ts): refactor dragTo calls to use targetPosition for better accuracy, replace zoom_out clicks with zoomOut function, updateOldComponents function to handle outdated components
📝 (generalBugs-shard-5.spec.ts): replace zoom_out clicks with zoomOut function, add waitForSelector for group-node before clicking, remove unnecessary mouse interactions
📝 (intComponent.spec.ts): replace zoom_out clicks with zoomOut function, click on div-generic-node component
📝 (keyPairListComponent.spec.ts): click on div-generic-node component, adjustScreenView function call
📝 (nestedComponent.spec.ts): remove unnecessary click on react-flow-id element
📝 (generalBugs-shard-7.spec.ts): replace zoom_out clicks with zoomOut function
* ✨ (stop-building.spec.ts): Add new utility functions to improve code modularity and readability
🔧 (stop-building.spec.ts): Refactor drag and drop operations to use utility functions for better maintainability
🔧 (stop-building.spec.ts): Refactor zoom out operations to use utility function for consistency
🔧 (stop-building.spec.ts): Refactor component positioning operations to use utility functions for clarity
🔧 (stop-building.spec.ts): Refactor outdated components and filled API keys handling to use utility functions for reusability
🔧 (stop-building.spec.ts): Refactor fit view operation to use utility function for consistency
* ✨ (generalBugs-shard-9.spec.ts): refactor test to use initialGPTsetup function for GPT setup instead of manual steps to improve code readability and maintainability
* ✨ (store-shard-2.spec.ts): Increase timeout for clicking "api-key-button-store" to 200000ms for better test stability
✨ (deleteComponents.spec.ts, deleteFlows.spec.ts, store-shard-1.spec.ts, store-shard-3.spec.ts): Increase timeout for clicking "api-key-button-store" to 200000ms for better test stability
✨ (store-shard-1.spec.ts, store-shard-3.spec.ts): Remove unnecessary waitForSelector and add timeout of 200000ms for clicking "api-key-button-store" for better test stability
* ✨ (fileUploadComponent.spec.ts): update dragTo method calls with targetPosition option to specify the position of the drag action
* ✨ (decisionFlow.spec.ts): add explicit wait for an element to be attached before interacting with it to improve test reliability
🐛 (sticky-notes.spec.ts): fix test by adding keyboard press to simulate pressing the Escape key to close a modal before checking text length
* ✅ (sticky-notes.spec.ts): update assertion to use 'toHaveCount' matcher for improved test readability and reliability
* Added function to make controls horizontal
* ✨ (sticky-notes.spec.ts): update selector for textMarkdown to improve test reliability and readability
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
chore: fix audit vulnerabilities
- Updated "shadcn-ui" from version 0.8.0 to 0.9.4.
- Upgraded "@swc/cli" from version 0.3.12 to 0.5.2.
- Various other dependency updates and removals in package-lock.json to ensure compatibility and improve performance.
These changes enhance the project's dependency management and ensure the latest features and fixes are included.
* 🔧 (index.tsx): Remove unnecessary conditional rendering for addNewInput button and simplify the logic for onClick event handler to improve code readability and maintainability.
* ✨ (button-input-list.tsx): Add a new component ButtonInputList to handle button input list functionality in the frontend
📝 (get-class-name.ts): Create a helper function getButtonClassName to generate button class names based on disabled state
📝 (get-test-id.ts): Create a helper function getTestId to generate unique test ids for input list buttons
🔄 (index.tsx): Refactor InputListComponent to use the new ButtonInputList component for handling button input list functionality in the frontend
AgentQL is a query language and a set of supporting developer tools designed to identify web elements and their data using natural language and return them in the shape you define.
Added AgentQL data extraction component. See: https://docs.agentql.com/rest-api/api-reference
This pull request introduces a new component, AgentQL, to both the backend and frontend of the project. The changes include the implementation of the AgentQL component, its integration into the frontend, and the addition of a new icon for AgentQL.
* feat: Add AgentQL integration
* upd: Update the logo
* upd: Update field type
* upd: Address feedback + better error handling
* upd: Change DictInput type & mark 'advanced' fields
* upd: Update wording
* upd: Update wording
---------
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
* 🐛 (genericIconComponent/index.tsx): fix optional chaining for split and map functions to prevent errors
🐛 (actionsMainPage-shard-1.spec.ts): remove redundant zoom_out click
🐛 (auto-login-off.spec.ts): reduce wait time from 2000ms to 1000ms
🐛 (freeze-path.spec.ts): change click target from "openai" to "OpenAI" for consistency
🐛 (freeze.spec.ts): change click target from "Split Text" to "Split Text" for consistency
🐛 (Dynamic Agent.spec.ts): skip test execution
🐛 (Hierarchical Agent.spec.ts): skip test execution
🐛 (Sequential Task Agent.spec.ts): skip test execution
🐛 (Simple Agent.spec.ts): skip test execution
🐛 (decisionFlow.spec.ts): change search input from "conditional router" to "if else"
🐛 (similarity.spec.ts): change search input from "openai" to "openai embedding"
🐛 (fileUploadComponent.spec.ts): enable test for file upload functionality
📝 (deleteComponents.spec.ts): Remove commented out code and enable test for deleting a component
📝 (deleteFlows.spec.ts): Enable test for deleting a flow
📝 (starter-projects.spec.ts): Enable test for interacting with starter projects
📝 (store-shard-3.spec.ts): Enable tests for ordering visualization and filtering by type
📝 (generalBugs-shard-13.spec.ts): Enable test for sharing a component on the store
* ⬆️ (typescript_test.yml): update matrix configuration to run tests on multiple shards for better parallelization
🔧 (typescript_test.yml): enable playwright test execution with shard index and total for parallel test execution
* 🐛 (genericIconComponent/index.tsx): fix optional chaining for split and map functions to prevent errors
🐛 (actionsMainPage-shard-1.spec.ts): remove redundant zoom_out click
🐛 (auto-login-off.spec.ts): reduce wait time from 2000ms to 1000ms
🐛 (freeze-path.spec.ts): change click target from "openai" to "OpenAI" for consistency
🐛 (freeze.spec.ts): change click target from "Split Text" to "Split Text" for consistency
🐛 (Dynamic Agent.spec.ts): skip test execution
🐛 (Hierarchical Agent.spec.ts): skip test execution
🐛 (Sequential Task Agent.spec.ts): skip test execution
🐛 (Simple Agent.spec.ts): skip test execution
🐛 (decisionFlow.spec.ts): change search input from "conditional router" to "if else"
🐛 (similarity.spec.ts): change search input from "openai" to "openai embedding"
🐛 (fileUploadComponent.spec.ts): enable test for file upload functionality
📝 (deleteComponents.spec.ts): Remove commented out code and enable test for deleting a component
📝 (deleteFlows.spec.ts): Enable test for deleting a flow
📝 (starter-projects.spec.ts): Enable test for interacting with starter projects
📝 (store-shard-3.spec.ts): Enable tests for ordering visualization and filtering by type
📝 (generalBugs-shard-13.spec.ts): Enable test for sharing a component on the store
* ⬆️ (typescript_test.yml): update matrix configuration to run tests on multiple shards for better parallelization
🔧 (typescript_test.yml): enable playwright test execution with shard index and total for parallel test execution
* 🐛 (Travel Planning Agent.spec.ts): Fix issue with setting API keys for OpenAI models and Search API
🐛 (Travel Planning Agent.spec.ts): Fix issue with clicking the wrong button for running chat output
🐛 (Travel Planning Agent.spec.ts): Fix issue with checking rate limit and skipping test logic
🐛 (Travel Planning Agent.spec.ts): Fix issue with checking output text for lowercase city names
🐛 (Vector Store.spec.ts): Fix issue with clicking the wrong button for creating a new flow
🐛 (Vector Store.spec.ts): Fix issue with filling the wrong input field for collection name in Vector Store RAG test
* 🔧 (generalBugs-shard-4.spec.ts): skip test case temporarily due to functionality not working with uplift designs
* Update test to use 'message history' instead of 'chat memory' in sidebar search input
* Update test selectors and expected values in dropdownComponent.spec.ts
* 📝 (Simple Agent.spec.ts): Remove unnecessary test.skip and commented out code
📝 (dropdownComponent.spec.ts): Update dropdown selection to match new text
📝 (starter-projects.spec.ts): Remove unused template IDs
📝 (store-shard-1.spec.ts): Update test.skip to test.skip for consistency
📝 (generalBugs-shard-10.spec.ts): Refactor test cases for promptText and newPromptText
📝 (generalBugs-shard-6.spec.ts): Add delay before interacting with elements to ensure stability
* Refactor tests to use `ControlOrMeta` for cross-platform keyboard shortcuts
* ✅ (Simple Agent.spec.ts): update timeout value for waitForSelector to improve test reliability and prevent false negatives
* Handle undefined stars in GithubStarComponent to prevent errors
* Add waitForSelector to ensure sidebar search input is visible before interaction in chatInputOutput test
* ✅ (Simple Agent.spec.ts): update timeout value to 5 minutes for "built successfully" message to allow for longer build times
✨ (Simple Agent.spec.ts): add additional test cases to check for the presence of "apple" in chat messages and ensure the total length of chat messages is greater than 100 characters
* 🐛 (Simple Agent.spec.ts): reduce timeout for "built successfully" text to improve test efficiency
* ✅ (auto-login-off.spec.ts): add delay before checking visibility of elements to ensure proper rendering and improve test reliability
* Fix indentation in TypeScript test workflow file
* Update test IDs and expected values in dropdownComponent.spec.ts
* 📝 (playground.spec.ts): remove redundant code related to zooming out and dragging elements in the playground test
📝 (deleteComponents.spec.ts): update selectors for clicking buttons and elements in the deleteComponents test
📝 (deleteFlows.spec.ts): update selectors for clicking buttons and elements in the deleteFlows test
📝 (starter-projects.spec.ts): update selectors for starter projects in the extended features test to match changes in the application's UI.
* ✅ (playground.spec.ts): remove skip from the test case to enable it to run during testing.
* Refactor timeout in playground test for better stability
---------
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
* Updated settings page sidebar to new sidebar
* Updated old home page to still work
* Fix padding on collapsed sidebar
* Fix able to drag on input component
* Fixed pagination position on big screens
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
* Refactor cardComponent and storeCardComponent to comment out playground buttons
* Refactor message model to replace 'meta_data' with 'properties' and update related schema and components
* Add new schema for content types with Pydantic models
* Add ContentBlock schema with support for multiple content types
* Refactor: Import ContentBlock from langflow.schema.content_block instead of defining locally
* Add SendMessageFunctionType protocol to log schema for message handling
* Refactor chat message model to replace 'meta_data' with 'properties' and update related components
* Add ContentBlock import and enhance send_message method in component.py
- Import ContentBlock from langflow.schema.content_block.
- Replace 'meta_data' with 'properties' in message construction.
- Update send_message method to handle optional Message and text parameters.
* Add async on_chain_start method to callback for logging chain start events
* Refactor add_messagetables function to replace 'meta_data' with 'properties' in message processing
* Fix typo in 'traceback' property name in ErrorDetails interface
* Add condition to check chat history length before rendering chat lock
* Refactor error content structure and enhance message event handling
* Add `update_messages` function to handle message updates in memory module
* Add check for 'id' attribute in stored_message for message validation
* Add new content types and TypeAlias for schema in content_types.py
* Add custom serialization for UUID and BaseModel types in data schema
* Refactor `ContentType` to use `ContentTypes` union and update `content` field in `ContentBlock` model
* Update model to use specific types for properties and content_blocks fields
* Change return type of 'serialize_params' method to string
* Add sender fields and properties handling to PlaygroundEvent and create_message function
* Refactor chat message component to use 'properties' instead of 'meta_data' for chat attributes
* Refactor message handling to improve error categorization and session management
* Enhance ContentBlock initialization to update model fields with defaults
* Add new content types and update ContentBlock interface in chat types
- Introduced BaseContent interface and various content types: ErrorContent, TextContent, MediaContent, JSONContent, CodeContent, ToolStartContent, ToolEndContent, and ToolErrorContent.
- Created a union type ContentType for all content types.
- Updated ContentBlock interface to include new content structure and additional fields.
* Refactor error handling in chat messages to use `ErrorContent` type
* Add ErrorMessage class for handling error-specific messages in schema
* Add type annotations for cache and logs in custom_component.py
* Refactor error handling in custom component to use `send_error` method
* Add customizable properties for chat components
- Introduced new properties: `background_color`, `chat_icon`, and `text_color` to chat components across various starter projects.
- These properties allow for customization of the chat message appearance, including icon and text styling.
- Updated the `ChatInput` and `ChatOutput` components to handle these new properties and include them in the message response.
* Add 'category' field to MessageEvent and update create_message function
* Remove unused message handling methods from ChatComponent
* Refactor message event handling in chat module
* Add 'category' field to Message creation and pass 'id_' in _send_message_event
* Add 'category' field with Literal type to Message schema and default handling in chat IO
* Refactor message event handling in chat module
* Refactor buttonSendWrapper component to add data-testid attribute
* Refactor ChatComponent to replace 'store_message' with 'send_message' method
* refactor: streamline message handling in Component
Update message processing to utilize new methods for improved clarity and efficiency. Enhance event data management to ensure accuracy and consistency in message updates.
* feat: Update input handling and output storage for chat components
Enhance chat input and output components to improve message handling, including updates to storage and display properties. This facilitates better user experience and message management in various agent projects.
* Ensure 'id' field is set in message data dictionary if not present
* refactor: Simplify property retrieval from source component in ChatComponent
* refactor: Replace property retrieval logic with a dedicated method in ChatOutput
* Refactor `TokenEvent` class and add `timestamp` field with default factory
* refactor: Simplify message processing by removing unused parameters in async handling
* Refactor message text update logic in messagesStore
* Refactor border styling in ChatInput component
* refactor: Consolidate properties handling in PlaygroundEvent and create_message function
* refactor: Update timestamp formatting to include timezone information across multiple models
* refactor: Add StreamingError exception for better error handling in streaming components
* refactor: Add source_display_name attribute to Properties model for enhanced data representation
* refactor: Enhance ChatComponent to return source display name and update properties handling in ChatOutput
* refactor: Improve error handling in Component class and enhance create_error function with timestamp support
* feat: enhance ChatOutput component for improved message handling
Update the message_response method to include source display name and improve message storage functionality across various project templates. This enhances clarity and ensures consistent behavior of chat components.
* feat: add delete_message function to remove messages by ID from the monitor service
* Add error handling for message streaming and implement message deletion on failure
* feat: Enhance message streaming and event handling
Improve the streaming process to send message events only for non-streaming messages and ensure the initial message is sent correctly when processing chunks, enhancing the overall message handling flow.
* improve UI
* Refactor buttonSendWrapper component to add data-testid attribute and update tests
* fix edited tag
* add tooltip to add button
* fix bug after merge
* update examples
* updateinput without chat
* fix some frontend tests
* fix test
* update test
* Update fileUploadComponent.spec.ts to fix test and update input without chat
* refactor event creation functions and enhance ErrorEvent structure
* refactor ErrorMessage to use Source for sender and component details
* refactor Properties to use Source model for source details and add validation
* refactor ChatMessage component for improved readability and structure
* refactor ChatMessageType to use PropertiesType for improved structure and clarity
* Add Source ID to message properties and update exception handling
- Updated `message_response` method to include `source_id` in the `Properties` object for better traceability.
- Modified `StreamingError` to use `Source` object instead of `component_name` for more detailed error context.
- Adjusted `get_properties_from_source_component` to return `source_id` along with other properties.
* Add 'Source' property to error handling in custom_component module
- Introduced 'Source' property to enhance error message details.
- Updated error handling to include 'source' instead of 'display_name'.
- Modified exception raising to use 'source' for better traceability.
* Enhance event ID generation with event type prefix in `send_event` method
* Refactor ChatOutput class to use Properties and Source schemas for message properties
* update style in tailwind and add fallback for nullable values
* fix playground test
* Update message handling in Component class to send modified message copy on first chunk
* Add flow_id and session_id to ErrorEvent creation function
* Update content_blocks initialization and add flow_id parameter to ErrorMessage
* feat: include vertex ID in class instantiation
Pass the vertex ID to the custom component during instantiation to facilitate event tracking or management capabilities.
* fix: update message streaming logic to handle None messages and refactor _stream_message parameters
* feat: include flow_id in ChatOutput initialization
Add flow_id to the ChatOutput class to improve the tracking of conversational flows, enhancing the context management within the chat system.
* fix: update chat message source display to use 'source' instead of 'display_name'
* feat: add flow_id to message initialization in ChatOutput class
* fix: handle JSON parsing with type checks for message properties
Refine JSON loading to ensure proper type handling for message properties and content blocks, enhancing stability and preventing potential errors with non-string inputs.
* refactor: update logging structure and message handling
Improve the output logs to support logging multiple entries and ensure robust message streaming with type checking. Adjust error handling parameters for consistency.
* feat: restrict event types in registration and sending
Enhance event management by explicitly defining allowed event types, improving code clarity and reducing potential errors. This ensures only valid event types are registered and sent, leading to more robust event handling.
* Update `logs` attribute to store lists of `Log` objects in `Vertex` class
* feat: introduce TypedDicts for ContentBlock and Properties, update default values in Message model
* fix: restrict event types in send_event method to improve data validation
* Set default values for 'id', 'display_name', and 'source' fields in Source schema
* [autofix.ci] apply automated fixes
* fix: update query to use equality check for error messages
* make lint
* update simple agent test
* test: enhance EventManager tests for event_id validation
* feat: add background, chat icon, and text color properties to component toolkit
* fix: update LogComponent name to display_name for consistency
* remove playground from new cards on main page
* refactor: Update Properties handling in MessageTable and remove unused PropertiesDict
* fix: Set default value for category in MessageBase model
* fix: Update properties default factory in MessageTable model to use model_dump
* Add _build_source method to ChatOutput and update test inputs to use Message objects
* Fix incorrect parameter names in _build_source method across multiple JSON files
* ✅ (freeze.spec.ts, playground.spec.ts, stop-building.spec.ts, linkComponent.spec.ts, sliderComponent.spec.ts, tableInputComponent.spec.ts, stop-button-playground.spec.ts, generalBugs-shard-7.spec.ts): enable tests that were previously skipped to ensure proper functionality and coverage. Remove outdated comments and update test descriptions for clarity.
* Refactor agent event processing to support message streaming and improve content handling
* Refactor ChatOutput to enhance message handling and streamline property assignment
* Fix session ID assignment in send_message method for better message handling
* Add OnTokenFunctionType protocol for enhanced token handling
* Add BorderTrail component for animated border effects
* Add ContentBlockDisplay component for enhanced content visualization and loading state
* Refactor TextShimmer to use motion.create for improved component animation
* Add ContentBlockDisplay to render chat content blocks in newChatMessage component
* Refactor `ChatOutput` class to use `MessageInput` instead of `MessageTextInput` for `input_value` across starter projects.
* Update edge class name from 'runned' to 'ran' in flow components and store
* Add 'on_build_start' and 'on_build_end' events to EventManager
* Add build status updates for 'build_start' and 'build_end' events in buildUtils.ts
* Integrate event management for output function in ComponentToolkit to track build start and end events
* Refactor event handling in ComponentToolkit to improve build event tracking
* Refactor messagesStore to update existing message if it already exists
* update properties to have state attribute
* format
* Refactor chatMessage component to display loading state for partial chat messages
* Refactor reactflowUtils to handle broken edges with missing display names
* fix agent text output
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* fix agent component initialization
* Enhance error message formatting to include detailed exception information
* Refactor agent component for improved performance and stability
* Refactor `LCAgentComponent` to streamline agent execution logic and remove redundant methods
* Add type casting for send_message function in agent.py
* Change return type of function to 'Message' in log schema
* Add `embedding_service` and `client` fields to JSON configurations and refactor ChatOutput class
- Introduced `embedding_service` field in `Vector Store RAG.json` and `Travel Planning Agents.json` to support Astra Vectorize and embedding model selection.
- Added `client` field to `OpenAIEmbeddingsComponent` in JSON configurations for enhanced client configuration.
- Refactored `ChatOutput` class across multiple JSON files to include a new `_build_source` method for constructing `Source` objects, improving code modularity and readability.
- Updated import paths for `OpenAIEmbeddings` to reflect changes in the module structure.
* Update attribute handling in Component class to merge inputs with existing attributes
* Update ChatInput and ChatOutput initialization to include session_id
* Refactor test_load_flow_from_json_object to be asynchronous
* Add asynchronous tests for agent event handling in test_agent_events.py
* Add event handling functions for agent tool and chain events
- Implement functions to handle various agent events such as `on_chain_start`, `on_chain_end`, `on_tool_start`, `on_tool_end`, and `on_tool_error`.
- Introduce helper functions to build content blocks for agent messages.
- Create mappings for chain and tool event handlers.
- Refactor `process_agent_events` to utilize the new event handling functions.
- Remove the old `process_agent_events` implementation from `agent.py` and import the new one from `events.py`.
* feat: update content structure and validation logic
Enhance content block to accept a list of contents instead of a single item, and implement validation to ensure proper format. Refactor tool-related content types for improved clarity and functionality.
* Handle ValidationError in error message generation and update import paths
* feat: enhance error event creation to include structured error content
* move validators and remove utils.py
* feat: add event handler tests for agent tool and chain events
* refactor: streamline tool content structure
Combine multiple tool-related types into a single, more flexible interface. This simplifies the content handling by allowing optional properties for output, error, and timestamp, enhancing overall code maintainability. Adjust the ContentBlock interface to accommodate an array of contents for improved flexibility.
* feat: refactor error handling in ChatMessage component to support dynamic content blocks
* feat: enhance ContentBlockDisplay to support Markdown rendering and dynamic content handling
* Refactor agent event handling to simplify content block management
* Enhance `ContentBlockDisplay` with separators and improved content rendering logic
* add inline block to prevent text overflow in reason
* Refactor code to enhance Markdown rendering and dynamic content handling in ChatMessage component
* [autofix.ci] apply automated fixes
* Add timestamp field to BaseContent class and remove from ToolContent class
* Update timestamp validation to include fractional seconds in BaseContent class
* Add duration calculation for agent and tool events in events.py
* Refactor ContentBlock to use Pydantic's Discriminator and Tag for content types
* Add field validators for content_blocks and properties in Message class
* Add field serializer for source in Properties class
* Add type hint for serialize_properties method in MessageTable class
* create duration component and refactor contents
* [autofix.ci] apply automated fixes
* Refactor duration calculation to use perf_counter for improved accuracy and update ContentBlockDict to use dict for contents
* Update properties field validator to use 'before' mode for improved validation
* Refactor MessageTable to use ContentBlock instead of ContentBlockDict and enhance validation and serialization for properties and content_blocks
* Refactor AgentComponent to streamline agent initialization by using the set method directly
* Refactor event handling functions to use synchronous definitions and improve performance with asyncio.to_thread
* Refactor PythonREPLToolComponent to raise ToolException on error instead of returning error message
* Refactor CalculatorToolComponent to enhance error handling by raising ToolException and improving expression evaluation feedback
* Fix TextShimmer width in ContentBlockDisplay for improved layout consistency
* Enhance ContentBlockDisplay to support external links and math rendering in Markdown
* Enhance error handling in Calculator and Python REPL tools by introducing `ToolException` and improving expression evaluation logic.
* Refactor agent message properties to remove unnecessary icons and update content block titles for clarity
* feat: enhance agent and tool content messaging
Add headers to agent and tool content messages for better clarity and user experience.
* Handle nested schema structure in ContentBlock initialization
* fix: update agent input text content return type and enhance error message formatting
* Add placeholder and default value for model selection in AstraVectorStoreComponent
* Refactor event handling functions to remove `send_message_method` parameter and streamline message processing logic.
* Add model configuration to ToolContent for alias population
* Refactor agent event tests to improve message handling and content block initialization
* test: Update test durations for performance metrics
Adjust the recorded execution times for various test cases to ensure accurate performance tracking and facilitate optimization efforts.
* Refactor test_load_flow_from_json_object to improve project loading logic
* Make `HeaderDict` fields optional and update `header` field in `BaseContent`
* Enhance `Message` and `ChatOutput` with additional attributes for testing
* Update test duration metrics in .test_durations file
* Refactor `ContentDisplay` component to support multiple content types and improve rendering logic
* feat: Enhance duration display with human-readable format
Integrate the pretty-ms library to convert duration display metrics into a more user-friendly format, improving the overall user experience. Update dependencies to ensure compatibility with the latest version and optimize for newer Node.js versions.
* feat: Add optional duration and header properties to BaseContent interface
* fix: Change duration type from float to int in BaseContent class
* Remove default value for 'start_time' in duration calculations
* Enhance `ContentBlockDisplay` with dynamic header and expand/collapse animation
- Added `state` prop to `ContentBlockDisplay` to dynamically set header icon and title based on content state.
- Implemented `renderContent` function to encapsulate content rendering logic with animation.
- Integrated `ForwardedIconComponent` for displaying header icons.
- Updated `newChatMessage.tsx` to pass `state` prop to `ContentBlockDisplay`.
* Add animation to header title using AnimatePresence and motion components
* Add support for processing zip files with multithreading in FileComponent
- Enhanced FileComponent to handle individual and zipped text files.
- Introduced multithreading option for parallel processing of files within zip archives.
- Updated supported file types to include zip files.
- Improved error handling and logging for file processing.
* Expand `Message` conversion to support `AsyncIterator` and `Iterator` types.
* Remove unused function _find_or_create_tool_content from events.py
* Add header information to tool content and streamline message sending in event processing
* Add send_message_method parameter to event handlers for message dispatching
- Updated event handler functions to include a new parameter, `send_message_method`, allowing for message dispatching within the handlers.
- Modified the logic in each handler to utilize the `send_message_method` for sending messages.
- Adjusted the main event processing logic to pass the `send_message_method` to the appropriate handlers.
* Refactor ContentBlockDisplay component to improve rendering performance and user experience
* Refactor `ContentBlockDisplay.tsx` to improve readability and update header title logic
* [autofix.ci] apply automated fixes
* Add 'start_time' to event data and update test functions to include send_message mock
* Refactor ContentBlockDisplay component to include total duration and improve user experience
* Refactor ContentBlockDisplay component to handle isLoading state for total duration calculation
* Refactor animatedNumbers component and add AnimatedNumberBasic component
- Refactor the animatedNumbers component to improve readability and update the header title logic.
- Add a new component called AnimatedNumberBasic that displays an animated number with a specific value.
* Refactor agent message creation to improve event processing efficiency
* Refactor session ID assignment in run_graph_internal for improved clarity
* [autofix.ci] apply automated fixes
* fix: update agent message properties handling for improved compatibility
* fix: enhance message property validation to support dictionary input
* Add session_id to agent message initialization in tests
- Updated test cases in `test_agent_events.py` to include `session_id` in the `Message` initialization.
- Adjusted calls to `process_agent_events` to pass the `agent_message` with `session_id`.
* feat: Enhance event handling with duration tracking
Add start_time parameter to event handling functions to ensure consistent duration calculations across different stages of agent processing. This improves accuracy in measuring event durations and enhances overall event management.
* Add optional humanized value to AnimatedNumber component and update DurationDisplay usage
* Refactor `ContentDisplay` and add separator to `ContentBlockDisplay` component
* Add header to text content in agent message events
* Add separator between each content block in ContentBlockDisplay component
* Refactor layout in ContentDisplay component for improved styling and positioning
* Refactor event handlers to return updated start_time and agent_message
- Modified event handler functions to return a tuple of `agent_message` and `start_time`.
- Updated `_calculate_duration` to handle `start_time` as an integer.
- Ensured `start_time` is reset using `perf_counter()` after each event handling.
- Adjusted tool and chain event handler calls to accommodate the new return type.
* Add start_time and duration checks to agent event handlers in tests
- Updated test cases for `handle_on_chain_start`, `handle_on_chain_end`, `handle_on_tool_start`, `handle_on_tool_end`, `handle_on_tool_error`, and `handle_on_chain_stream` to include `start_time` as a return value.
- Added assertions to verify that `start_time` is a float and `duration` is an integer where applicable.
* [autofix.ci] apply automated fixes
* update colors and spacing of time
* [autofix.ci] apply automated fixes
* Refactor DurationDisplay component to display duration in seconds
* Rename case from "message" to "add_message" in buildUtils.ts switch statement
* Add event registration for message removal in EventManager
* Add category handling for message events in Component class
* Add custom exception handling for agent message processing
* Handle exceptions in agent event processing with message deletion and event notification
* Add new LLM options and refactor AgentComponent for dynamic provider handling
- Introduced new language model options: Anthropic, Groq, and NVIDIA.
- Refactored `AgentComponent` to utilize `MODEL_PROVIDERS_DICT` for dynamic provider handling.
- Simplified input management by removing hardcoded provider inputs and using a dictionary-based approach.
- Enhanced `update_build_config` to support flexible provider configurations and custom options.
* Refactor buildUtils.ts and add message removal handling
* Update Source model to allow None values for id, display_name, and source fields
* Refactor event handler functions to return tuple of Message and float
---------
Co-authored-by: anovazzi1 <otavio2204@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* 🔧 (handleRenderComponent/index.tsx): Remove unused getTranslateX function and simplify tooltip positioning logic to improve code readability and maintainability.
* ⬆️ (auto-login-off.spec.ts): update tests to include explicit wait times for elements to be visible
⬆️ (userSettings.spec.ts): update tests to include explicit wait times for elements to be visible
* ✅ (userSettings.spec.ts): update test to interact with global variables by clicking on checkbox and deleting an item to ensure proper functionality
* ✨ (store-shard-2.spec.ts): Refactor test to use a reusable function for clicking elements and waiting for visibility to improve code readability and maintainability
🔧 (deleteFlows.spec.ts): Refactor test to use separate functions for waiting for and interacting with elements to improve code readability and maintainability
* 🐛 (store-shard-2.spec.ts): fix incorrect text comparison for filtering by tag in tests to match the actual text displayed on the page
* ✅ (store-shard-2.spec.ts): mark the test as skipped to prevent it from running due to missing STORE_API_KEY environment variable
* ✅ (deleteFlows.spec.ts): skip the test case "should delete a flow" to prevent it from running due to missing STORE_API_KEY environment variable
* ✅ (store-shard-3.spec.ts): skip tests that require STORE_API_KEY environment variable to run, as it is not available in the test environment
* Added required ShadCN Components
* Added required colors
* Added required icons
* Changed backend to not return beta tag
* Added sidebar categories api call
* Added required use-mobile hook
* Refactored icons to allow sizing
* Added type for sidebar category
* Allowed no name on shortcut display
* Added flow sidebar component that uses ShadCN sidebar
* Added SidebarDraggableComponent with the new style
* Replaced sidebar with current one on FlowPage
* Added sidebar fixed footer with options to go to store and add custom component
* Updated sidebar categories
* Updated background color for sidebar
* Changed size of Components title
* Added color to PageComponent
* Added required icons
* added CustomComponent category and removed custom component from helpers
* create hook useAddComponent
* Use hook to add components both in PageComponent and flowSidebarComponent
* Implement search
* Implement searching and filtering by clicking on edge
* Added check to see if store is present
* Updated colors to match new color schema
* Changed styling of filter component
* Added Beta and Legacy badges
* Implement Show Beta Components and Show Legacy Components
* Fixed styling for sidebar config when collapsed
* Refactored search to filter for tags
* Refactor useeffect
* Updated config button styling
* Implemented keyboard navigation
* Fixed filtering
* Updated color of canvas
* Implemented disclosure on sidebar settings and fetched bundles
* Added temp sidebar bundles
* Fixed badge styling
* Added bundles to categories response in frontend
* Added legacy to components
* Added link to store instead of langflow.store
* Added required data-testids
* Fixed tests to use new data-testids and new sidebar disposition
* Fix github star bug
* Fixed tests that used the custom component
* Changed test to test beta and legacy checkers
* added a test for keyboard navigation on sidebar
* Added a test to check component add by hover the plus button
* [autofix.ci] apply automated fixes
* updated sidebar switch change
* Removed changes on Backend and used only Frontend constants for categories
* merge fix
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* 📝 (custom_component): Add CustomComponent class with input and output definitions
📝 (custom_component): Create CustomComponent class with display name, description, and documentation link
📝 (custom_component): Define input and output properties for CustomComponent class
📝 (custom_component): Implement build_output method in CustomComponent class
📝 (Ollama): Remove unnecessary whitespace in SvgOllama component
* formatting
* ♻️ (custom_component/__init__.py): refactor import statement to match the correct case of the file name for better consistency and readability
* 🔧 (FlowPage/index.tsx): remove FlowToolbar component when view prop is false to improve UI consistency
* 📝 (integration-side-bar.spec.ts): Comment out unnecessary code blocks related to API requests and modals to improve test readability and focus on the main test scenarios.
* [autofix.ci] apply automated fixes
* ✨ (flowSidebarComponent/index.tsx): add data-testid attribute to Sidebar component for testing purposes
🔧 (integration-side-bar.spec.ts): update test to use new data-testid attribute 'shad-sidebar' for Sidebar component to match changes in the codebase
* ✨ (stop-building.spec.ts): refactor test case to use a more descriptive test element for clicking on the sidebar custom component button
* format
* 🐛 (AstraDB): Fix variable naming inconsistency for isDark to isdark in AstraDB component
🐛 (HCD): Fix variable naming inconsistency for isDark to isdark in HCD component
🐛 (index.tsx): Fix variable naming inconsistency for isDark to isdark in index.tsx files
📝 (flowSidebarComponent): Refactor search functionality to normalize search terms and improve metadata search
📝 (filterEdge-shard-1.spec.ts): Update test to check visibility of specific model specs in the sidebar
* [autofix.ci] apply automated fixes
* ✅ (decisionFlow.spec.ts): add a delay of 500ms to ensure proper timing in the test case execution
* ✨ (decisionFlow.spec.ts): Update the X positions of elements in the flow to improve the visual representation and alignment of the elements.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* Updated colors
* Fixed design for small screens
* Change border radius
* Changed size of text on templates description
* Fix shine effect on small screens
* Fixed icons on starter templates
* Updated mono font to JetBrains
* Updated icon hit area for X
* Added gradient wrapper and x-gradient
* Changed colors and font weights for nav component
* Added zoom on hover of gradient
* Fixed input size
* Fixed all templates to show everything
* Hide scrollbar
* Change text size of card
* Removed title of the categories
* Removed unused currentTab from templatecategory
* Updated position of search icon
* Updated style of inputs
* Updated search clear button
* Fixed bug on small screens
* Added no results query
* Fixed background on get started cards
* Added focus ring on nav component
* Added tab index to search and sidebar buttons
* Added keyboard navigation to templates
* Updated templatesModal to use ShadCN Sidebar
* Implemented collapsible sidebar
* Fix collapsible to work on mobile but be overlaying content
* Added noise to styleUtils
* Updated padding and sizes for mobile
* Updated text size
* Updated font family to inter
* Made get started components fetch title and description from the flow
* Updated description on get started component
* Updated naming of sidebar
* Updated description of start from scratch
* Updated color of selected sidebar item
* Changed text color for sidebar not active items
* changed description sizes
* changed to line clamp
* Reduced gap between icon and category text
* Fixed no results state
* Fixed X icon only appearing on hover
* Fix auto focus issue
* fixed hover color of primary button
* Fixed gradients to use stops if it exists and stop using random gradient
* removed random gradient
* Fixed design of cards in templates
* Updated nav to go through tests
* Fixed focus on input
* [autofix.ci] apply automated fixes
* New color
* fix testes
* Fixed starter projects test
* ✨ (starter-projects.spec.ts): add Page import to test function parameters for better code readability and maintainability
📝 (starter-projects.spec.ts): refactor test to include a function for waiting for template visibility, improving code readability and reducing duplication
---------
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* updating components to access secret key with new method
* [autofix.ci] apply automated fixes
* 📝 (text_embedder.py): Add error messages as constants for better error handling and readability
📝 (text_embedder.py): Improve error handling and validation for embedding model and text content
📝 (text_embedder.py): Ensure proper protocol for the base URL in the embedding model client
📝 (text_embedder.py): Validate the output of embeddings and handle exceptions with logging
📝 (text_embedder.py): Refactor code to encapsulate results in a Data object and update status accordingly
📝 (similarity.spec.ts): Add a delay before clicking the button to run the text output test for better synchronization
* uv fix
* [autofix.ci] apply automated fixes
* 📝 (text_embedder.py): refactor error messages to use inline strings for better readability and maintainability
🐛 (text_embedder.py): fix issue with extracting the first element from embeddings list to ensure correct data handling
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Eric Hare <ericrhare@gmail.com>
* create newmodal.tsx
* Add new icons to styleUtils.ts
* Refactor import path for IOModal in chatComponent/index.tsx
* Refactor import path for IOModal in chatComponent/index.tsx
* Refactor session selector UI in IOFieldView component
* Refactor NodeToolbarComponent to add a minimum width to SelectContent
* Refactor IOModal to use newChatView component for ChatView
* improve html structure to ensure aligment of texts
* Refactor IOModal to improve sidebar behavior and alignment
* add new input
* Add Image icon to nodeIconsLucide in styleUtils.ts
* Refactor uploadFileButton to use Image icon instead of PaperclipIcon
* Refactor chat input layout for improved alignment and behavior
* Refactor buttonSendWrapper component to show a "Stop" button with loading indicator
* add a new TextAreaWrapper component
* add icons and update colors
* Add CornerDownLeft icon to nodeIconsLucide in styleUtils.ts
* Refactor buttonSendWrapper component to use default button state
* create newFilePreview
* Refactor file preview component and update button styling
* Refactor file preview component and update button styling
* fix overflow bug
* Refactor ChatView component to include a lockChat feature and display a flow running message
* [autofix.ci] apply automated fixes
* Refactor ChatView component to fix padding issue
* [autofix.ci] apply automated fixes
* Refactor dependencies in uv.lock to use a more specific version specifier for astra-assistants package
* Refactor ChatView component to import newChatMessage instead of chatMessage
* Refactor IOModal newModal component to conditionally display the session name
* Refactor TextAreaWrapper component to update placeholder text and fix padding issue
* Refactor TextAreaWrapper component to update placeholder text and fix padding issue
* Refactor ChatView component to update lockChat UI and display flow running message
* Refactor ChatView component to update lockChat UI and display flow running message
* Refactor ChatMessage component to update sender name UI and fix message width issue
* Refactor EditMessageButton component to update button UI and add tooltips
* Refactor EditMessageButton component to update button UI and add tooltips
* Refactor EditMessageField component to update UI and add functionality
* update edit message field
* fix group reference
* Refactor CodeTabsComponent to update UI, add functionality, and improve code structure
* Refactor CodeTabsComponent to update UI and improve code structure
* Refactor CodeTabsComponent to simplify and improve UI
* [autofix.ci] apply automated fixes
* Refactor ChatView component to fix UI layout issue
* fix overflow code boundaries problems
* Refactor CSS to update background color variables
* Refactor ChatCodeTabComponent to update UI and improve code structure
* fix broken rebase changes
* [autofix.ci] apply automated fixes
* Refactor EditMessageButton component to remove delete functionality
* Refactor SessionSelector component to update UI and improve code structure
* Refactor SessionSelector component to update UI and improve code structure
* [autofix.ci] apply automated fixes
* refactor session selector to use old code and keep updates on newSessionSelector
* create new button send wrapper
* restore old button send wrapper and update imports
* restore upload file button and create new UploadFileButton
* [autofix.ci] apply automated fixes
* Add feature flag for new IO modal
* Refactor IOModal imports to support feature flag
* update package-lock.json
* [autofix.ci] apply automated fixes
* remove console.log
* Refactor session selector event handlers
* Refactor file deletion in ChatInput component
* [autofix.ci] apply automated fixes
* Refactor file handling in ChatInput component
* [autofix.ci] apply automated fixes
* add user icon to messages
* feat: Add "Run Flow" button to ChatInput component
This commit adds a new button labeled "Run Flow" to the ChatInput component. When clicked, it triggers the sendMessage function with a repeat value of 1. Additionally, if there is no input in the chat, a message is displayed prompting the user to add a Chat Input component to their flow.
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* use Flush instead of timeout to prevent batch updates
* fix scroll while streaming
* fix: Use setTimeout instead with flushSync for batch updates in buildUtils.ts
* [autofix.ci] apply automated fixes
* fix: Set selected view field when session is visible in IOModal
* fix: Set selected view field when session is visible in IOModal
* fix: Reset selected view field when closing IOModal
* fix: Update date format in DateReader component
- Pad hours, minutes, and seconds with leading zeros
- Remove AM/PM from the formatted date
- Use 24-hour format for hours in the formatted date
fix: Update session ID generation in IOModal component
- Remove AM/PM from the session ID format
- Use 24-hour format for hours in the session ID
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Adding Astra Tools
* Format
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* Lint and Renaming to AstraDB
* Adding Astra Tools
* Format
* [autofix.ci] apply automated fixes
* ignoring .dspy cache
* [autofix.ci] apply automated fixes
* docs: Improve the search UX in Langflow docs (#4089)
* Add Mendable search bar component
* Align Mendable anon_key retrieval
* Update url and tagline in docusaurus config
* Move sitemap config to preset options
* Add Mendable anon key to docusaurus config
* docs: remove old examples (#4102)
Removed old examples
* fix: network error handling and build errors (#4088)
* Fixed API not throwing network errors
* Fix onBuildError assigning wrong status for the components
* Fix Network Error handling, making it call onBuildError
* Fixed build stop not triggering the alert
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
* fix: store api key pydantic error (#4103)
Fixed User pydantic error
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
* version: upgrade to 1.0.19 and 0.0.97 (#4104)
* upgrade to 1.0.19 and 0.0.97
* build: add readme to dockerfile (#4105)
Add readme to dockerfile
* feat: Add traceback to fastapi exception handler logs (#4099)
Add traceback to fastapi exception handler logs
* fix: prevent possible race condition on upload flows/folders (#4114)
* ✨ (create-file-upload.ts): improve file upload functionality by adding cleanup logic and handling edge cases for resolving file selection
* 🐛 (create-file-upload.ts): fix removing input element from the DOM by checking if it is contained in the document body before removal
💡 (create-file-upload.ts): add a comment to clarify the purpose of the setTimeout function for a fallback timeout of 1 minute
* ✨ (create-file-upload.ts): change createFileUpload function to be asynchronous to support Promise return type for better handling of file upload operations
* 📝 (create-file-upload.ts): improve error handling when removing input element from the DOM
📝 (create-file-upload.ts): remove unnecessary comment about timeout value in the code
* fix: truncate "params" column on vertex_build table to prevent memory heap on database (#4118)
* ✨ (model.py): add new method `serialize_params` to serialize parameters data in VertexBuildBase class
* 🐛 (util_strings.py): fix truncation logic to correctly handle long strings by truncating them with ellipsis if they exceed the maximum length
* ✅ (test_truncate_long_strings.py): add unit tests for the truncate_long_strings function to ensure it works correctly with various input scenarios
* ✅ (test_truncate_long_strings_on_objects.py): update test assertion message to reflect the expected behavior of the function
* refactor: add pagination on folders (#4020)
* ⬆️ (uv.lock): Update authlib version from 1.3.2 to 1.3.1
⬆️ (uv.lock): Update httpx version from 0.27.2 to 0.27.0
⬆️ (uv.lock): Add new package grpcio-health-checking version 1.62.3
⬆️ (uv.lock): upgrade weaviate-client package from version 3.26.7 to 4.8.1 and add new dependencies grpcio, grpcio-health-checking, grpcio-tools, httpx, and pydantic. Update package source and distribution URLs accordingly.
* ✨ (flows.py): Add pagination support for retrieving a list of flows to improve performance and user experience
📝 (flows.py): Update documentation to reflect changes made for pagination and additional query parameters
📝 (folders.py): Add a new endpoint to retrieve a folder with paginated flows for better organization and readability
* ✨ (model.py): add PaginatedFlowResponse class to handle paginated flow responses in API calls
* ✨ (test_database.py): add support for fetching all flows by adding "get_all" parameter to the request
🐛 (test_database.py): fix endpoint for fetching read-only starter projects to use correct URL path
* packages changes
* packages changes
* 📝 (paginatorComponent/index.tsx): refactor PaginatorComponent to use constants for default values and improve code readability
🐛 (paginatorComponent/index.tsx): fix issue with setting maxPageIndex when pages prop is provided to PaginatorComponent
* 🐛 (storeCardComponent): fix height of store card component to prevent overflow and improve layout aesthetics
* ✨ (constants.ts): introduce new constants for search tabs, pagination settings, and store pagination settings to enhance user experience and improve functionality
* ✨ (use-post-login-user.ts): add queryClient to UseRequestProcessor to enable refetching queries on mutation settled state
📝 (use-post-login-user.ts): update useLoginUser function to include onSettled callback in options to refetch queries after mutation settles
* ✨ (use-get-basic-examples.ts): introduce a new query function to fetch basic examples of flows from the API and update the state with the fetched data.
* ✨ (use-get-refresh-flows.ts): introduce new functionality to fetch and process flows with query parameters for components_only, get_all, folder_id, remove_example_flows, page, and size. This allows for more flexible and specific retrieval of flow data.
* ✨ (use-get-folder.ts): Add support for pagination and filtering options in the useGetFolderQuery function to enhance flexibility and customization for fetching folder data.
* 🔧 (use-get-folders.ts): Remove unused code related to refreshFlows and setStarterProjectId to improve code readability and maintainability
✨ (use-get-folders.ts): Update useGetFoldersQuery to setFolders with the fetched data instead of filtering out starter projects to simplify the logic and improve performance
* ✨ (use-upload-flow.ts): update refreshFlows function call to include an object with get_all property set to true to fetch all flows when refreshing
* 🔧 (codeAreaModal/index.tsx): remove unused import postCustomComponent to clean up code and improve readability
* 📝 (AdminPage/index.tsx): Update initial page size and index values to use constants for better maintainability
📝 (AdminPage/index.tsx): Update resetFilter function to set page size and index using constants for consistency
📝 (AdminPage/index.tsx): Update logic to handle loading state and empty user list based on isIdle state for better user experience
📝 (AdminPage/index.tsx): Update PaginatorComponent props to use constant for rows count and simplify paginate function assignment
* ✨ (AppInitPage/index.tsx): introduce new queries to fetch basic examples and folders data for improved functionality and user experience
* ✨ (FlowPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once for better performance.
* ✨ (frontend): introduce flowsPagination and setFlowsPagination functions to manage pagination for flows in the UtilityStoreType
* ✨ (frontend): introduce new 'folders' and 'setFolders' properties to FoldersStoreType to manage folder data efficiently
* ✨ (types.ts): introduce Pagination type to define structure for pagination data in frontend application
* ✨ (frontend): introduce PaginatedFlowsType to represent paginated flow data structure in the application.
* ✨ (frontend): add optional 'pages' property to PaginatorComponentType to allow customization of the number of pages displayed in the paginator
* ✨ (utilityStore.ts): introduce flowsPagination object with default values for page and size to manage pagination in the utility store
* ✨ (foldersStore.tsx): introduce new state 'folders' and setter function 'setFolders' to manage folder data in the store
* ✨ (ViewPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once, improving efficiency and reducing unnecessary calls to the backend.
* 📝 (StorePage/index.tsx): update constants import to include new pagination constants for better organization
♻️ (StorePage/index.tsx): refactor pagination logic to use new pagination constants for clarity and consistency throughout the file
* ✨ (componentsComponent/index.tsx): Add support for pagination feature in ComponentsComponent to improve user experience and performance.
* ✨ (myCollectionComponent/index.tsx): introduce pagination and search functionality to improve user experience and data handling in the MyCollectionComponent component
* ✨ (Playground/index.tsx): Update refreshFlows function call to include a parameter to get all flows at once for better performance.
* ✨ (entities/index.tsx): introduce PaginatedFolderType to represent a folder with pagination information for better organization and handling of paginated data.
* ✨ (headerTabsSearchComponent/index.tsx): add support for changing tabs and searching functionality in headerTabsSearchComponent
📝 (headerTabsSearchComponent/index.tsx): update tabsOptions to use constant SEARCH_TABS for consistency and reusability
* 📝 (folders.py): Remove redundant import and unused code related to FolderWithPaginatedFlows class
🔧 (folders.py): Update query conditions to use explicit boolean values instead of implicit truthiness for better clarity and readability
* 📝 (folders.py): reorganize imports to improve readability and maintain consistency
* 📝 (flows.py): import FlowSummary model to support new functionality in the API
📝 (flows.py): add header_flows parameter to read_flows function to return a simplified list of flows if set to true
* 📝 (folders.py): remove unnecessary empty line to improve code readability
* ✨ (model.py): introduce new FlowSummary class to represent a summary of flow data for better organization and readability
* ✨ (pagination_model.py): introduce a new model 'FolderWithPaginatedFlows' to represent a folder with paginated flows for better organization and readability.
* 📝 (cardComponent/index.tsx): add missing semicolon to improve code consistency
♻️ (cardComponent/index.tsx): refactor logic to use data parameter directly instead of fetching flow by id to simplify code and improve readability
* ✨ (use-get-refresh-flows.ts): introduce new query parameter 'header_flows' to support fetching header flows in API requests.
* ✨ (use-get-folders.ts): add functionality to refresh flows when fetching folders to ensure data consistency and up-to-date information.
* ✨ (use-upload-flow.ts): add support for fetching header flows along with all flows when refreshing flows in useUploadFlow hook
* ✨ (use-redirect-flow-card-click.tsx): introduce a new custom hook 'useFlowCardClick' to handle flow card click events in the newFlowModal component. This hook utilizes react-router-dom for navigation, custom analytics tracking, and various utility functions to manage flow data and update the UI.
* ✨ (NewFlowCardComponent/index.tsx): refactor onClick event handler into a separate function handleClick for better readability and maintainability
* 📝 (undrawCards/index.tsx): Remove unused imports and variables to clean up the code
♻️ (undrawCards/index.tsx): Refactor onClick event handler to use a separate function for handling flow card click events
* ✨ (flowsManager/index.ts): introduce new state and setter for flowToCanvas to manage the flow displayed on canvas
* ✨ (flowsManagerStore.ts): introduce new feature to set and update the flow to be displayed on the canvas asynchronously
* ✨ (ViewPage/index.tsx): add support for fetching header flows along with all flows when refreshing data to improve data retrieval efficiency
* ✨ (collectionCard/index.tsx): introduce useFlowsManagerStore to manage flows in the application
📝 (collectionCard/index.tsx): update handleClick function to set flow to canvas before navigating to editFlowLink
* ✨ (Playground/index.tsx): add support for fetching header flows along with all flows when refreshing data in the Playground page.
* 🐛 (FlowPage/index.tsx): Fix setCurrentFlow logic to correctly set the current flow based on flowToCanvas value. Add flowToCanvas dependency to useEffect to ensure proper rendering.
* ✨ (use-get-flow.ts): introduce a new file to handle API queries for fetching flow data in the frontend application. This file defines a custom hook 'useGetFlow' that makes a GET request to the API endpoint to retrieve flow data based on the provided flow ID.
* 📝 (flows.py): update import statement to use FlowHeader instead of FlowSummary for better clarity
📝 (flows.py): update response_model in read_flows endpoint to use FlowHeader for consistency and clarity
* ✨ (model.py): rename FlowSummary class to FlowHeader for better clarity and consistency in naming conventions
📝 (model.py): add is_component field to FlowHeader class to indicate if the flow is a component or not
* ✨ (use-get-folder.ts): introduce processFlows function to process flows data
📝 (use-get-folder.ts): add cloneDeep function to safely clone data before processing
* 🔧 (use-get-refresh-flows.ts): refactor useGetRefreshFlows function to simplify processing of dbDataFlows and update state accordingly
* ✨ (FlowPage/index.tsx): Add useGetFlow hook to fetch flow data and update current flow on canvas. Add getFlowToAddToCanvas function to handle fetching and setting flow data on canvas.
* ✨ (nodeToolbarComponent/index.tsx): improve user experience by automatically closing the override modal after successful flow override
* ✨ (use-post-login-user.ts): add queryClient.refetchQueries for "useGetTags" after successful login to update tags data in the frontend.
* ✨ (use-get-flow.ts): add processFlows function to process flow data before returning it to improve code readability and maintainability
* 🐛 (use-get-refresh-flows.ts): fix asynchronous flow to correctly handle data retrieval and processing before setting state and returning flows
* ✨ (use-get-tags.ts): add functionality to set tags in utility store after fetching them from the API
* 📝 (shareModal/index.tsx): Update import statement for useUtilityStore to improve code organization and readability
🔧 (shareModal/index.tsx): Replace useGetTagsQuery with useUtilityStore to manage tags state and remove unnecessary API call for tags data
🔧 (shareModal/index.tsx): Replace references to data with tags variable to ensure consistency and avoid potential bugs
🔧 (shareModal/index.tsx): Update TagsSelector component to use tags variable instead of data for better data management
* ✨ (AppInitPage/index.tsx): introduce useGetTagsQuery to fetch tags data from the store API for AppInitPage.
* ✨ (StorePage/index.tsx): refactor to use useUtilityStore for tags state management instead of useGetTagsQuery for better separation of concerns and code organization. Update TagsSelector component to use tags from useUtilityStore hook.
* ✨ (frontend): introduce Tag type to UtilityStoreType and add tags and setTags functions to manage tags in the store.
* ✨ (types.ts): introduce new Tag type to represent a tag with id and name properties
* ✨ (utilityStore.ts): introduce new 'tags' array and 'setTags' function to manage tags in the utility store
* 📝 (App.css): add a blank line for better readability and consistency in the CSS file
* ✨ (test_database.py): add pagination support for reading flows and folders to improve data retrieval efficiency and user experience
* ✨ (tabsComponent/index.tsx): refactor changeLocation function to use useCallback hook for better performance and stability
✨ (tabsComponent/index.tsx): update onClick event handler to directly call changeLocation function for cleaner code and improved readability
* ✨ (headerTabsSearchComponent/index.tsx): refactor handleChangeTab, handleSearch, handleInputChange, and handleKeyDown functions to use useCallback for better performance and memoization
📝 (headerTabsSearchComponent/index.tsx): update tabActive prop to use the activeTab prop passed from parent component for consistency and clarity
* ✨ (myCollectionComponent/index.tsx): refactor filter state initialization to dynamically set based on current location pathname
♻️ (myCollectionComponent/index.tsx): refactor onSearch and onChangeTab functions to use useCallback for better performance and memoization
* ✨ (create-query-param-string.ts): introduce a new utility function to build query parameter strings for URLs in the frontend controllers.
* ✨ (use-get-folder.ts): introduce buildQueryStringUrl function to create query parameter strings for API requests
📝 (use-get-folder.ts): add comments to explain the purpose of the code and improve code readability
🔧 (use-get-folder.ts): update useGetFolderQuery function to include additional configuration options for the query, such as refetchOnWindowFocus: false
* ✨ (use-delete-folders.ts): add functionality to update local store after deleting a folder to keep it in sync with the server data
* 📝 (use-post-add-flow.ts): import useFolderStore to access myCollectionId state for refetching queries with the correct folder_id
🐛 (use-post-add-flow.ts): fix queryClient.refetchQueries to include the correct queryKey with folder_id or myCollectionId if response.folder_id is null
* ✨ (use-get-refresh-flows.ts): refactor addQueryParams function to use buildQueryStringUrl utility function for better code readability and maintainability
* ♻️ (flows.py): remove unnecessary commented out code and add pagination functionality to the router for better code organization and readability
* 🔧 (NodeDescription/index.tsx): remove console.log statement for better code cleanliness and readability
* ✨ (index.tsx): Add DialogClose component from @radix-ui/react-dialog to handle cancel action in ConfirmationModal. Refactor handleCancel function to improve code readability and maintainability.
* ♻️ (use-redirect-flow-card-click.tsx): remove unused setFlowToCanvas function to clean up code and improve maintainability
* 📝 (use-patch-update-flow.ts): update onSettled callback to refetch useGetFolders query with the updated folder_id after patching a flow
* 🔧 (use-delete-folders.ts): update onSettled function to correctly refetch queries with the specific folder id when deleting folders
* ✨ (use-get-folder.ts): update useGetFolderQuery to include additional query parameters for pagination and filtering options
* 🔧 (use-post-upload-to-folder.ts): update onSettled callback to refetch useGetFolders query with the correct queryKey and folder_id parameter
* ✨ (use-add-flow.ts): add functionality to refresh flows after adding a new flow to ensure the UI is up to date with the latest data.
* ✨ (AppInitPage/index.tsx): enable fetching basic examples and tags only when isFetched is true to improve performance and reduce unnecessary API calls
* ✨ (myCollectionComponent/index.tsx): refactor onPaginate function to handlePageChange callback for better code organization and readability. Update key prop in ComponentsComponent to include filter and search variables for proper re-rendering.
* ✨ (use-get-folder.ts): add placeholderData option to useGetFolderQuery to provide initial data while fetching folder information
* [autofix.ci] apply automated fixes
* 🐛 (use-post-upload-to-folder.ts): fix queryKey values to correctly refetch queries after uploading a file to a folder
* ⬆️ (folders.spec.ts): increase timeout for waiting in test to improve reliability and prevent flakiness
* ✨ (folders.spec.ts): update selectors to target specific elements by using the first() method to improve test reliability
* ✅ (auto-save-off.spec.ts): update test to match changes in UI for auto-save feature and improve test coverage for hover functionality.
* 📝 (model.py): update model fields to set default values for folder_id, is_component, endpoint_name, and description to None for consistency and clarity
* ♻️ (index.tsx): refactor isUpdatingFolder logic to include isFetchingFolder variable for better accuracy and readability
* 🐛 (index.tsx): fix variable name typo in isLoadingFolder assignment to correctly reference isFetchingFolder
* 🐛 (use-patch-update-flow.ts): fix issue with missing closing parenthesis in queryClient.refetchQueries() method
📝 (use-patch-update-flow.ts): update queryKey in queryClient.refetchQueries() to ["useGetFolder"] to correctly refetch the folder data after updating a flow
* ✨ (use-save-flow.ts): add support for fetching flow data before saving if not already present to ensure data consistency and accuracy
* ✅ (folders.spec.ts): update selectors to target specific elements correctly for testing purposes
* ✨ (use-on-file-drop.tsx): add support for checking flow names in a specific collection to prevent duplicates
♻️ (use-add-flow.ts): refactor to use the same logic for checking flow names in a specific collection to prevent duplicates
* ✨ (index.tsx): Add useIsMutating hook to check if a folder is being deleted to update UI accordingly
♻️ (index.tsx): Refactor logic to determine if a folder is being updated to include check for folder deletion
🔧 (index.tsx): Refactor Select component to use a separate function for handling value change
🔧 (index.tsx): Refactor Button components to disable based on separate variables for first and last page
🔧 (index.ts): Remove unused import and refactor code to use useRef hook for storing the latest folder id in useGetFolderQuery
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Fix: Add UTC timezone info to message.timestamp. (#4129)
* fix: enhance recursive_serialize_or_str to handle BaseModelV1 and improve exception logging (#4132)
Enhance `recursive_serialize_or_str` to handle `BaseModelV1` and improve exception logging
* fix: name/description bug in "Flow as Tool" (#4097)
Fix name/description bug in "Flow as Tool".
* chore: add opensearch-py dependency (#4134)
Add opensearch-py dependency to pyproject.toml
* refactor: starter projects templates and components (#4121)
* Update starter flows
* Update button with new menu variants
* Updated AstraDB icon
* Made header be optional on baseModal and added classname to content
* Removed old newFlowModal
* added a Nav component to show the sidebar categories
* Created new templates modal
* Updated components and modals to use new Templates modal
* Added used icons
* added template card
* changed templates modal to use modular components
* Add template content
* Add get started content
* added other size for templates
* Added size in base modal
* Changed menu ring-0 to be important
* Added all of the images of get started
* Fix hover effect on spirals
* Implement clicking get started templates
* Fix shiny design
* update package lock
* update examples
* updated card design
* Added grid of examples to templates
* Implemented card click
* Changed hover effect
* Added arrows
* delete unused
* implemented fuse search
* Added create blank project
* Made tags be read
* Added tags to basic prompting
* Added types
* Added tags to the tabs
* remove important from tailwind config
* updated setup and model to include icon
* added random-gradient npm package
* updated colors to remove white
* added icons
* inserted metadata of icons and etc into starter flows
* Removed integrations and added blank project creation
* Added gradient to cards
* Reset query when changing tab, reset scroll when typing
* added mix blend overlay to text
* Added id and gradient to templatecard type
* made icons for components still work
* added important on stroke
* formatting
* Fixed infinite render
* added test id to create blank project
* added data test id for templates title
* ✨ (navComponent/index.tsx): add data-testid attribute with converted test name for side navigation options to improve testability and accessibility
* ✨ (starter-projects.spec.ts): add test to ensure user can interact with starter projects in the frontend application
* ✨ (TemplateCardComponent/index.tsx): add data-testid attribute with converted test name for better testability and accessibility
* ✨ (TemplateCategoryComponent/index.tsx): import convertTestName function to convert test names for data-testid attributes in TemplateCategoryComponent
* fixed currentTab not changing results
* Fixed various tests
* ✨ (similarity.spec.ts): improve user experience by adding functionality to fit view and scroll using mouse wheel in the test suite
* Fix other tests relying on multiple
* fix two edges test
* Fix hover on test 3 of generalBugs
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* ref: Add ruff rules TRY3xx (#4098)
Add ruff rules TRY3xx
* ref: Some ruff rule fixes from preview mode (#4131)
Some ruff rule fixes from preview mode
* ref: Add ruff rules for pydocstyle (D) (#4120)
Add ruff rules for pydocstyle (D)
* ref: Add ruff rules for arguments (ARG) (#4123)
Add ruff rules for arguments (ARG)
* ref: Add ruff rules for boolean trap (FBT) (#4126)
Add ruff rules for boolean trap (FBT)
* fix: escape directory to prevent \n on Windows directory name to fail on Pathlib + Tests (#4101)
* 📝 (utils.py): add format_directory_path function to properly escape and format directory paths for consistency and validity
* ✨ (test_format_directory_path.py): add unit tests for the format_directory_path function to ensure correct formatting of directory paths
📝 (test_format_directory_path.py): add documentation and examples for different types of directory paths in the unit tests to improve code readability and maintainability
* 🐛 (utils.py): fix the incorrect replacement of backslashes with newline characters in the format_directory_path function
📝 (test_rewrite_file_path.py): update test cases and function names to reflect the changes made in the format_directory_path function in utils.py
* 🐛 (test_format_directory_path.py): update parameter name from 'path' to 'input_path' for clarity and consistency
📝 (test_format_directory_path.py): improve test case descriptions and handle newline characters in paths correctly
* feat: update theme (#4084)
* update theme
* update component styles
* change output node background
* update background for component folderrs
* update astra icon coloring
* fix: border and editor display issues (#4142)
* Fixed border on chat input on playground
* Fixed ace editor not taking up entire screen
* fix: Union type on components (#4137)
* 🐛 (type_extraction.py): fix condition to correctly handle UnionType objects in type extraction process
* ✨ (test_schema.py): add support for additional data types and nested structures in post_process_type function to improve type handling and flexibility
* ✅ (test_schema.py): add additional test cases for post_process_type function to cover various Union types and combinations for better test coverage and accuracy
* Adding Astra Tools
* [autofix.ci] apply automated fixes
* Lint and Renaming to AstraDB
* Adding Astra Tools
* Cleanup old files and re-format
* More formatting
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Eric Schneider <37347760+eric-schneider@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <62335616+lucaseduoli@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jordan Frazier <122494242+jordanrfrazier@users.noreply.github.com>
Co-authored-by: Christophe Bornet <cbornet@hotmail.com>
Co-authored-by: Cristhian Zanforlin Lousa <cristhian.lousa@gmail.com>
Co-authored-by: dhlidongming <lidongming@dhgate.com>
Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
* Update starter flows
* Update button with new menu variants
* Updated AstraDB icon
* Made header be optional on baseModal and added classname to content
* Removed old newFlowModal
* added a Nav component to show the sidebar categories
* Created new templates modal
* Updated components and modals to use new Templates modal
* Added used icons
* added template card
* changed templates modal to use modular components
* Add template content
* Add get started content
* added other size for templates
* Added size in base modal
* Changed menu ring-0 to be important
* Added all of the images of get started
* Fix hover effect on spirals
* Implement clicking get started templates
* Fix shiny design
* update package lock
* update examples
* updated card design
* Added grid of examples to templates
* Implemented card click
* Changed hover effect
* Added arrows
* delete unused
* implemented fuse search
* Added create blank project
* Made tags be read
* Added tags to basic prompting
* Added types
* Added tags to the tabs
* remove important from tailwind config
* updated setup and model to include icon
* added random-gradient npm package
* updated colors to remove white
* added icons
* inserted metadata of icons and etc into starter flows
* Removed integrations and added blank project creation
* Added gradient to cards
* Reset query when changing tab, reset scroll when typing
* added mix blend overlay to text
* Added id and gradient to templatecard type
* made icons for components still work
* added important on stroke
* formatting
* Fixed infinite render
* added test id to create blank project
* added data test id for templates title
* ✨ (navComponent/index.tsx): add data-testid attribute with converted test name for side navigation options to improve testability and accessibility
* ✨ (starter-projects.spec.ts): add test to ensure user can interact with starter projects in the frontend application
* ✨ (TemplateCardComponent/index.tsx): add data-testid attribute with converted test name for better testability and accessibility
* ✨ (TemplateCategoryComponent/index.tsx): import convertTestName function to convert test names for data-testid attributes in TemplateCategoryComponent
* fixed currentTab not changing results
* Fixed various tests
* ✨ (similarity.spec.ts): improve user experience by adding functionality to fit view and scroll using mouse wheel in the test suite
* Fix other tests relying on multiple
* fix two edges test
* Fix hover on test 3 of generalBugs
---------
Co-authored-by: cristhianzl <cristhian.lousa@gmail.com>
* ⬆️ (uv.lock): Update authlib version from 1.3.2 to 1.3.1
⬆️ (uv.lock): Update httpx version from 0.27.2 to 0.27.0
⬆️ (uv.lock): Add new package grpcio-health-checking version 1.62.3
⬆️ (uv.lock): upgrade weaviate-client package from version 3.26.7 to 4.8.1 and add new dependencies grpcio, grpcio-health-checking, grpcio-tools, httpx, and pydantic. Update package source and distribution URLs accordingly.
* ✨ (flows.py): Add pagination support for retrieving a list of flows to improve performance and user experience
📝 (flows.py): Update documentation to reflect changes made for pagination and additional query parameters
📝 (folders.py): Add a new endpoint to retrieve a folder with paginated flows for better organization and readability
* ✨ (model.py): add PaginatedFlowResponse class to handle paginated flow responses in API calls
* ✨ (test_database.py): add support for fetching all flows by adding "get_all" parameter to the request
🐛 (test_database.py): fix endpoint for fetching read-only starter projects to use correct URL path
* packages changes
* packages changes
* 📝 (paginatorComponent/index.tsx): refactor PaginatorComponent to use constants for default values and improve code readability
🐛 (paginatorComponent/index.tsx): fix issue with setting maxPageIndex when pages prop is provided to PaginatorComponent
* 🐛 (storeCardComponent): fix height of store card component to prevent overflow and improve layout aesthetics
* ✨ (constants.ts): introduce new constants for search tabs, pagination settings, and store pagination settings to enhance user experience and improve functionality
* ✨ (use-post-login-user.ts): add queryClient to UseRequestProcessor to enable refetching queries on mutation settled state
📝 (use-post-login-user.ts): update useLoginUser function to include onSettled callback in options to refetch queries after mutation settles
* ✨ (use-get-basic-examples.ts): introduce a new query function to fetch basic examples of flows from the API and update the state with the fetched data.
* ✨ (use-get-refresh-flows.ts): introduce new functionality to fetch and process flows with query parameters for components_only, get_all, folder_id, remove_example_flows, page, and size. This allows for more flexible and specific retrieval of flow data.
* ✨ (use-get-folder.ts): Add support for pagination and filtering options in the useGetFolderQuery function to enhance flexibility and customization for fetching folder data.
* 🔧 (use-get-folders.ts): Remove unused code related to refreshFlows and setStarterProjectId to improve code readability and maintainability
✨ (use-get-folders.ts): Update useGetFoldersQuery to setFolders with the fetched data instead of filtering out starter projects to simplify the logic and improve performance
* ✨ (use-upload-flow.ts): update refreshFlows function call to include an object with get_all property set to true to fetch all flows when refreshing
* 🔧 (codeAreaModal/index.tsx): remove unused import postCustomComponent to clean up code and improve readability
* 📝 (AdminPage/index.tsx): Update initial page size and index values to use constants for better maintainability
📝 (AdminPage/index.tsx): Update resetFilter function to set page size and index using constants for consistency
📝 (AdminPage/index.tsx): Update logic to handle loading state and empty user list based on isIdle state for better user experience
📝 (AdminPage/index.tsx): Update PaginatorComponent props to use constant for rows count and simplify paginate function assignment
* ✨ (AppInitPage/index.tsx): introduce new queries to fetch basic examples and folders data for improved functionality and user experience
* ✨ (FlowPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once for better performance.
* ✨ (frontend): introduce flowsPagination and setFlowsPagination functions to manage pagination for flows in the UtilityStoreType
* ✨ (frontend): introduce new 'folders' and 'setFolders' properties to FoldersStoreType to manage folder data efficiently
* ✨ (types.ts): introduce Pagination type to define structure for pagination data in frontend application
* ✨ (frontend): introduce PaginatedFlowsType to represent paginated flow data structure in the application.
* ✨ (frontend): add optional 'pages' property to PaginatorComponentType to allow customization of the number of pages displayed in the paginator
* ✨ (utilityStore.ts): introduce flowsPagination object with default values for page and size to manage pagination in the utility store
* ✨ (foldersStore.tsx): introduce new state 'folders' and setter function 'setFolders' to manage folder data in the store
* ✨ (ViewPage/index.tsx): update refreshFlows function call to include a parameter to get all flows at once, improving efficiency and reducing unnecessary calls to the backend.
* 📝 (StorePage/index.tsx): update constants import to include new pagination constants for better organization
♻️ (StorePage/index.tsx): refactor pagination logic to use new pagination constants for clarity and consistency throughout the file
* ✨ (componentsComponent/index.tsx): Add support for pagination feature in ComponentsComponent to improve user experience and performance.
* ✨ (myCollectionComponent/index.tsx): introduce pagination and search functionality to improve user experience and data handling in the MyCollectionComponent component
* ✨ (Playground/index.tsx): Update refreshFlows function call to include a parameter to get all flows at once for better performance.
* ✨ (entities/index.tsx): introduce PaginatedFolderType to represent a folder with pagination information for better organization and handling of paginated data.
* ✨ (headerTabsSearchComponent/index.tsx): add support for changing tabs and searching functionality in headerTabsSearchComponent
📝 (headerTabsSearchComponent/index.tsx): update tabsOptions to use constant SEARCH_TABS for consistency and reusability
* 📝 (folders.py): Remove redundant import and unused code related to FolderWithPaginatedFlows class
🔧 (folders.py): Update query conditions to use explicit boolean values instead of implicit truthiness for better clarity and readability
* 📝 (folders.py): reorganize imports to improve readability and maintain consistency
* 📝 (flows.py): import FlowSummary model to support new functionality in the API
📝 (flows.py): add header_flows parameter to read_flows function to return a simplified list of flows if set to true
* 📝 (folders.py): remove unnecessary empty line to improve code readability
* ✨ (model.py): introduce new FlowSummary class to represent a summary of flow data for better organization and readability
* ✨ (pagination_model.py): introduce a new model 'FolderWithPaginatedFlows' to represent a folder with paginated flows for better organization and readability.
* 📝 (cardComponent/index.tsx): add missing semicolon to improve code consistency
♻️ (cardComponent/index.tsx): refactor logic to use data parameter directly instead of fetching flow by id to simplify code and improve readability
* ✨ (use-get-refresh-flows.ts): introduce new query parameter 'header_flows' to support fetching header flows in API requests.
* ✨ (use-get-folders.ts): add functionality to refresh flows when fetching folders to ensure data consistency and up-to-date information.
* ✨ (use-upload-flow.ts): add support for fetching header flows along with all flows when refreshing flows in useUploadFlow hook
* ✨ (use-redirect-flow-card-click.tsx): introduce a new custom hook 'useFlowCardClick' to handle flow card click events in the newFlowModal component. This hook utilizes react-router-dom for navigation, custom analytics tracking, and various utility functions to manage flow data and update the UI.
* ✨ (NewFlowCardComponent/index.tsx): refactor onClick event handler into a separate function handleClick for better readability and maintainability
* 📝 (undrawCards/index.tsx): Remove unused imports and variables to clean up the code
♻️ (undrawCards/index.tsx): Refactor onClick event handler to use a separate function for handling flow card click events
* ✨ (flowsManager/index.ts): introduce new state and setter for flowToCanvas to manage the flow displayed on canvas
* ✨ (flowsManagerStore.ts): introduce new feature to set and update the flow to be displayed on the canvas asynchronously
* ✨ (ViewPage/index.tsx): add support for fetching header flows along with all flows when refreshing data to improve data retrieval efficiency
* ✨ (collectionCard/index.tsx): introduce useFlowsManagerStore to manage flows in the application
📝 (collectionCard/index.tsx): update handleClick function to set flow to canvas before navigating to editFlowLink
* ✨ (Playground/index.tsx): add support for fetching header flows along with all flows when refreshing data in the Playground page.
* 🐛 (FlowPage/index.tsx): Fix setCurrentFlow logic to correctly set the current flow based on flowToCanvas value. Add flowToCanvas dependency to useEffect to ensure proper rendering.
* ✨ (use-get-flow.ts): introduce a new file to handle API queries for fetching flow data in the frontend application. This file defines a custom hook 'useGetFlow' that makes a GET request to the API endpoint to retrieve flow data based on the provided flow ID.
* 📝 (flows.py): update import statement to use FlowHeader instead of FlowSummary for better clarity
📝 (flows.py): update response_model in read_flows endpoint to use FlowHeader for consistency and clarity
* ✨ (model.py): rename FlowSummary class to FlowHeader for better clarity and consistency in naming conventions
📝 (model.py): add is_component field to FlowHeader class to indicate if the flow is a component or not
* ✨ (use-get-folder.ts): introduce processFlows function to process flows data
📝 (use-get-folder.ts): add cloneDeep function to safely clone data before processing
* 🔧 (use-get-refresh-flows.ts): refactor useGetRefreshFlows function to simplify processing of dbDataFlows and update state accordingly
* ✨ (FlowPage/index.tsx): Add useGetFlow hook to fetch flow data and update current flow on canvas. Add getFlowToAddToCanvas function to handle fetching and setting flow data on canvas.
* ✨ (nodeToolbarComponent/index.tsx): improve user experience by automatically closing the override modal after successful flow override
* ✨ (use-post-login-user.ts): add queryClient.refetchQueries for "useGetTags" after successful login to update tags data in the frontend.
* ✨ (use-get-flow.ts): add processFlows function to process flow data before returning it to improve code readability and maintainability
* 🐛 (use-get-refresh-flows.ts): fix asynchronous flow to correctly handle data retrieval and processing before setting state and returning flows
* ✨ (use-get-tags.ts): add functionality to set tags in utility store after fetching them from the API
* 📝 (shareModal/index.tsx): Update import statement for useUtilityStore to improve code organization and readability
🔧 (shareModal/index.tsx): Replace useGetTagsQuery with useUtilityStore to manage tags state and remove unnecessary API call for tags data
🔧 (shareModal/index.tsx): Replace references to data with tags variable to ensure consistency and avoid potential bugs
🔧 (shareModal/index.tsx): Update TagsSelector component to use tags variable instead of data for better data management
* ✨ (AppInitPage/index.tsx): introduce useGetTagsQuery to fetch tags data from the store API for AppInitPage.
* ✨ (StorePage/index.tsx): refactor to use useUtilityStore for tags state management instead of useGetTagsQuery for better separation of concerns and code organization. Update TagsSelector component to use tags from useUtilityStore hook.
* ✨ (frontend): introduce Tag type to UtilityStoreType and add tags and setTags functions to manage tags in the store.
* ✨ (types.ts): introduce new Tag type to represent a tag with id and name properties
* ✨ (utilityStore.ts): introduce new 'tags' array and 'setTags' function to manage tags in the utility store
* 📝 (App.css): add a blank line for better readability and consistency in the CSS file
* ✨ (test_database.py): add pagination support for reading flows and folders to improve data retrieval efficiency and user experience
* ✨ (tabsComponent/index.tsx): refactor changeLocation function to use useCallback hook for better performance and stability
✨ (tabsComponent/index.tsx): update onClick event handler to directly call changeLocation function for cleaner code and improved readability
* ✨ (headerTabsSearchComponent/index.tsx): refactor handleChangeTab, handleSearch, handleInputChange, and handleKeyDown functions to use useCallback for better performance and memoization
📝 (headerTabsSearchComponent/index.tsx): update tabActive prop to use the activeTab prop passed from parent component for consistency and clarity
* ✨ (myCollectionComponent/index.tsx): refactor filter state initialization to dynamically set based on current location pathname
♻️ (myCollectionComponent/index.tsx): refactor onSearch and onChangeTab functions to use useCallback for better performance and memoization
* ✨ (create-query-param-string.ts): introduce a new utility function to build query parameter strings for URLs in the frontend controllers.
* ✨ (use-get-folder.ts): introduce buildQueryStringUrl function to create query parameter strings for API requests
📝 (use-get-folder.ts): add comments to explain the purpose of the code and improve code readability
🔧 (use-get-folder.ts): update useGetFolderQuery function to include additional configuration options for the query, such as refetchOnWindowFocus: false
* ✨ (use-delete-folders.ts): add functionality to update local store after deleting a folder to keep it in sync with the server data
* 📝 (use-post-add-flow.ts): import useFolderStore to access myCollectionId state for refetching queries with the correct folder_id
🐛 (use-post-add-flow.ts): fix queryClient.refetchQueries to include the correct queryKey with folder_id or myCollectionId if response.folder_id is null
* ✨ (use-get-refresh-flows.ts): refactor addQueryParams function to use buildQueryStringUrl utility function for better code readability and maintainability
* ♻️ (flows.py): remove unnecessary commented out code and add pagination functionality to the router for better code organization and readability
* 🔧 (NodeDescription/index.tsx): remove console.log statement for better code cleanliness and readability
* ✨ (index.tsx): Add DialogClose component from @radix-ui/react-dialog to handle cancel action in ConfirmationModal. Refactor handleCancel function to improve code readability and maintainability.
* ♻️ (use-redirect-flow-card-click.tsx): remove unused setFlowToCanvas function to clean up code and improve maintainability
* 📝 (use-patch-update-flow.ts): update onSettled callback to refetch useGetFolders query with the updated folder_id after patching a flow
* 🔧 (use-delete-folders.ts): update onSettled function to correctly refetch queries with the specific folder id when deleting folders
* ✨ (use-get-folder.ts): update useGetFolderQuery to include additional query parameters for pagination and filtering options
* 🔧 (use-post-upload-to-folder.ts): update onSettled callback to refetch useGetFolders query with the correct queryKey and folder_id parameter
* ✨ (use-add-flow.ts): add functionality to refresh flows after adding a new flow to ensure the UI is up to date with the latest data.
* ✨ (AppInitPage/index.tsx): enable fetching basic examples and tags only when isFetched is true to improve performance and reduce unnecessary API calls
* ✨ (myCollectionComponent/index.tsx): refactor onPaginate function to handlePageChange callback for better code organization and readability. Update key prop in ComponentsComponent to include filter and search variables for proper re-rendering.
* ✨ (use-get-folder.ts): add placeholderData option to useGetFolderQuery to provide initial data while fetching folder information
* [autofix.ci] apply automated fixes
* 🐛 (use-post-upload-to-folder.ts): fix queryKey values to correctly refetch queries after uploading a file to a folder
* ⬆️ (folders.spec.ts): increase timeout for waiting in test to improve reliability and prevent flakiness
* ✨ (folders.spec.ts): update selectors to target specific elements by using the first() method to improve test reliability
* ✅ (auto-save-off.spec.ts): update test to match changes in UI for auto-save feature and improve test coverage for hover functionality.
* 📝 (model.py): update model fields to set default values for folder_id, is_component, endpoint_name, and description to None for consistency and clarity
* ♻️ (index.tsx): refactor isUpdatingFolder logic to include isFetchingFolder variable for better accuracy and readability
* 🐛 (index.tsx): fix variable name typo in isLoadingFolder assignment to correctly reference isFetchingFolder
* 🐛 (use-patch-update-flow.ts): fix issue with missing closing parenthesis in queryClient.refetchQueries() method
📝 (use-patch-update-flow.ts): update queryKey in queryClient.refetchQueries() to ["useGetFolder"] to correctly refetch the folder data after updating a flow
* ✨ (use-save-flow.ts): add support for fetching flow data before saving if not already present to ensure data consistency and accuracy
* ✅ (folders.spec.ts): update selectors to target specific elements correctly for testing purposes
* ✨ (use-on-file-drop.tsx): add support for checking flow names in a specific collection to prevent duplicates
♻️ (use-add-flow.ts): refactor to use the same logic for checking flow names in a specific collection to prevent duplicates
* ✨ (index.tsx): Add useIsMutating hook to check if a folder is being deleted to update UI accordingly
♻️ (index.tsx): Refactor logic to determine if a folder is being updated to include check for folder deletion
🔧 (index.tsx): Refactor Select component to use a separate function for handling value change
🔧 (index.tsx): Refactor Button components to disable based on separate variables for first and last page
🔧 (index.ts): Remove unused import and refactor code to use useRef hook for storing the latest folder id in useGetFolderQuery
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>