Commit Graph

68 Commits

Author SHA1 Message Date
Nikhil-Doye 6958653a75 Remove unused imports from UnifiedDatabaseNode and UnifiedDatabaseService for cleaner code 2025-10-23 14:49:31 -04:00
Nikhil-Doye 077b4dcc45 Refactor database node configuration to unify database operations
- Consolidated individual database operation types (query, insert, update, delete) into a single "database" entry for improved clarity and maintainability.
- Updated connection suggestions and common patterns to reflect the new unified structure, enhancing the overall configuration of database nodes.
2025-10-23 14:49:13 -04:00
Nikhil-Doye c849e7e4d8 Consolidate database operation types in NodeLibrary component
- Unified individual database operation types (query, insert, update, delete) into a single "database" entry for improved clarity and maintainability.
- Updated associated color mappings to reflect this consolidation, enhancing the overall structure of the NodeLibrary component.
2025-10-23 14:48:54 -04:00
Nikhil-Doye 33214f66e1 Add database operation configuration to fieldConfigs
- Introduced a new 'operation' entry in fieldConfigs to define various database operations (Query, Insert, Update, Delete, Aggregate, Transaction).
- Enhanced user guidance with descriptions, help text, and examples for each operation type.
- Updated field mappings to consolidate database operation parameters under a single entry for improved clarity and maintainability.
2025-10-23 14:48:43 -04:00
Nikhil-Doye 88ff76e38b Consolidate database operation labels into a single entry for improved clarity
- Updated the ConfigurationWizard component to unify individual database operation labels (query, insert, update, delete) under a single "Database Operations" label.
- This change enhances the clarity of the configuration interface and aligns with recent refactoring efforts to streamline database management.
2025-10-23 14:48:28 -04:00
Nikhil-Doye 521fcb19a9 Refactor database node configuration to unify operations under a single entry
- Consolidated individual database operation configurations (query, insert, update, delete) into a single unified database configuration.
- Updated the component structure to enhance clarity and maintainability, with a focus on setting up database operations.
- Adjusted validation logic to ensure proper handling of operation parameters and connection IDs.
2025-10-23 14:48:09 -04:00
Nikhil-Doye b092917e68 Enhance UnifiedDatabaseNode with type safety for operations
- Updated the UnifiedDatabaseNode component to use the DatabaseOperation type for better type safety in operation handling.
- Refined operationIcons and operationLabels to utilize TypeScript's Record utility, improving code clarity and maintainability.
2025-10-23 14:47:59 -04:00
Nikhil-Doye b4bb7608fb Update UnifiedDatabaseService to use updateLimit instead of limit in DatabaseConfig
- Changed the property name from 'limit' to 'updateLimit' in the DatabaseConfig interface for better clarity on its purpose.
- Updated the UnifiedDatabaseService to reflect this change, ensuring consistency across database operations.
2025-10-23 14:47:45 -04:00
Nikhil-Doye cf6813f6d5 Refactor database node structure to unify operations under a single component
- Consolidated individual database operation nodes (query, insert, update, delete) into a single UnifiedDatabaseNode for streamlined management.
- Updated WorkflowEditor and related components to utilize the new unified database structure, enhancing code clarity and reducing redundancy.
- Introduced DatabaseWizard for configuring various database operations, improving user experience and flexibility in workflow design.
- Updated node type configurations and execution engine to support the new unified approach, ensuring compatibility with existing features.
- Removed deprecated database operation nodes and adjusted related imports and exports accordingly.
2025-10-23 14:45:50 -04:00
Nikhil-Doye ee44ba537a Remove onboarding features from WorkflowToolbar component
- Eliminated onboarding-related state and UI elements from the WorkflowToolbar, including the tutorial button and modal.
- Cleaned up unused imports related to onboarding, streamlining the component's code structure.
2025-10-22 18:49:28 -04:00
Nikhil-Doye 229035e79f Add interactive tutorial and connection management features
- Introduced a new InteractiveTutorial component to guide users through creating workflows step-by-step.
- Added ConnectionSuggestions and ConnectionValidation components to assist users in establishing valid connections between nodes.
- Enhanced the WorkflowEditor to integrate connection management features, improving user experience and workflow design.
- Updated onboarding system to include tutorial prompts, encouraging users to engage with new features.
- Implemented utility functions for managing connection suggestions and validations, ensuring robust workflow integrity.
2025-10-22 18:39:06 -04:00
Nikhil-Doye 9dadf94b1b Add @tailwindcss/line-clamp for improved text truncation in NodeLibrary
- Updated package.json and package-lock.json to include @tailwindcss/line-clamp version 0.4.4.
- Modified tailwind.config.js to register the line-clamp plugin.
- Enhanced NodeLibrary component to utilize line-clamp for better text handling in descriptions, improving UI clarity.
2025-10-22 17:49:23 -04:00
Nikhil-Doye 906b62bdfe Refactor NodeConfiguration and NodeLibrary components for improved clarity and performance
- Removed unused imports and streamlined the code structure in NodeConfiguration and NodeLibrary components.
- Updated CSS for field labels to enhance styling consistency.
- Optimized category generation in NodeLibrary using useMemo for better performance.
- Cleaned up commented-out code and unnecessary variables to improve readability.
2025-10-22 00:30:04 -04:00
Nikhil-Doye 2701b4c94c Add help system and field configuration components
- Introduced a new help system with styled help icons and panels for user guidance.
- Created FieldWithHelp component to integrate help text and examples for various input fields.
- Added comprehensive field configurations for different node types, enhancing user experience and clarity.
- Implemented tests for dual-label system to ensure proper configuration and validation of node types and fields.
- Updated NodeConfiguration and NodeLibrary components to utilize new help features and improve accessibility.
2025-10-21 23:47:27 -04:00
Nikhil-Doye f909a3c38a Refactor LabelChangeDialog and NodeLibrary components for improved readability and functionality
- Cleaned up whitespace and formatting in LabelChangeDialog for better code clarity.
- Enhanced the structure of JSX elements in LabelChangeDialog to improve readability.
- Moved the getColorClasses function back to its original location in NodeLibrary for better organization.
- Added missing IDs to nodes and edges in workflow structures for consistency and clarity.
- Updated workflow serialization to ensure proper handling of node and edge IDs during import.
2025-10-21 21:27:29 -04:00
Nikhil-Doye 7dd679c6e8 Add comprehensive processor system with enhanced diagnostics and validation
- Introduced a ProcessorRegistry for managing supported, deprecated, and experimental node types.
- Enhanced defaultProcessor to provide detailed diagnostics, warnings, and execution metadata for unsupported and deprecated node types.
- Implemented comprehensive tests for defaultProcessor and node type diagnostics utilities, ensuring robust functionality and error handling.
- Developed utilities for generating node type diagnostics and summaries, improving workflow validation and user feedback.
- Updated workflowValidator to check for unsupported and deprecated node types, providing suggestions for alternatives.
- Enhanced documentation to reflect new features and usage examples for the processor system.
2025-10-20 17:59:26 -04:00
Nikhil-Doye 7e3c204119 Add accessibility enhancements to NodeLibrary component
- Implemented comprehensive keyboard navigation and screen reader support, ensuring all interactive elements are accessible.
- Added ARIA roles and labels for improved semantic structure and user interaction.
- Introduced focus management features, including visual focus indicators and focus restoration after actions.
- Developed an AccessibilityTestPanel for testing various accessibility features and compliance with WCAG 2.1 AA guidelines.
- Enhanced CSS for high contrast mode and reduced motion support, improving visual accessibility.
- Documented accessibility improvements and testing recommendations in NodeLibraryAccessibility.md for future reference.
2025-10-20 17:37:50 -04:00
Nikhil-Doye edc70b0b43 Add comprehensive command pattern for database operations
- Introduced a command pattern for managing database operations, enhancing extensibility and maintainability.
- Implemented various command classes (QueryCommand, InsertCommand, UpdateCommand, DeleteCommand, AggregateCommand, TransactionCommand) to encapsulate specific database actions.
- Developed a CommandFactory for creating and validating commands, streamlining command execution.
- Enhanced databaseProcessor to utilize the command pattern, improving code clarity and reducing reliance on string-based operation routing.
- Added support for transaction management in MongoDB, MySQL, and PostgreSQL connectors, allowing for atomic operations.
- Created a WorkflowImportHelper to assist with importing workflows and fixing node ID mismatches, improving workflow management.
- Updated workflow validation utilities to handle node ID checks and provide suggestions for fixing common issues.
- Added unit tests for command classes and workflow import functionality to ensure reliability and error handling.
- Enhanced documentation for command pattern usage and examples, promoting better understanding and adoption of the new system.
2025-10-20 17:34:12 -04:00
Nikhil-Doye 205add853f Add onboarding system with comprehensive management and UI components
- Introduced OnboardingManager utility for managing onboarding preferences and state, including localStorage integration for persistence.
- Implemented OnboardingDemo component to showcase onboarding status and actions, enhancing user interaction with onboarding features.
- Developed OnboardingModal component for guided onboarding experience, allowing users to navigate through steps and manage preferences.
- Enhanced WorkflowList and WorkflowToolbar components to conditionally display onboarding based on user preferences and workflow count.
- Added unit tests for OnboardingManager to ensure reliable functionality and error handling in onboarding processes.
2025-10-20 17:23:49 -04:00
Nikhil-Doye a5dd6cd14e Add label dependency management and UI components for label changes
- Introduced LabelDependencyManager utility for managing label dependencies and variable references within workflows.
- Implemented LabelChangeDialog component to analyze and confirm label changes, displaying potential impacts and dependencies.
- Added LabelDependencyDemo component to demonstrate label change analysis and updating references in a user-friendly interface.
- Enhanced NodeConfiguration component to integrate label change handling, including dependency checks and user prompts for updates.
- Updated workflow store to support label updates with dependency management, ensuring safe modifications to node labels.
2025-10-20 17:16:17 -04:00
Nikhil-Doye 4607c276a3 Enhance error handling and reporting in WorkflowAgent and AgentManager
- Improved error handling in WorkflowAgent and AgentManager to include detailed error context, allowing for better debugging and user feedback.
- Introduced a new DetailedError class to encapsulate error information, including stage, tool name, input parameters, and suggestions for resolution.
- Updated methods to utilize the new error handling structure, ensuring that errors are logged with comprehensive context.
- Added utility functions for formatting error messages for both users and developers, enhancing the overall error reporting mechanism.
- Enhanced the workflow store to log detailed error context when generating workflows, improving traceability of issues.
2025-10-20 17:10:26 -04:00
Nikhil-Doye 5f1bc5aa00 Refactor CopilotService to utilize NaturalLanguageToWorkflowService for workflow generation
- Replaced direct AI calls in CopilotService with a centralized NaturalLanguageToWorkflowService to streamline natural language processing and workflow generation.
- Updated methods to delegate parsing, intent analysis, entity extraction, and workflow validation to the new service, enhancing code maintainability and reducing duplication.
- Removed legacy caching and error handling logic, simplifying the CopilotService implementation.
- Added comprehensive tests to ensure functionality and error handling for the new service integration.
2025-10-20 17:00:49 -04:00
Nikhil-Doye 5ff245f7d8 Add Jest configuration and testing utilities for improved test coverage
- Introduced a Jest configuration file to set up the testing environment with jsdom and TypeScript support.
- Added setupTests.ts to mock localStorage and console methods, enhancing test reliability and reducing noise.
- Implemented comprehensive test cases for llmProcessor and copilotService, ensuring robust functionality and error handling.
- Created unit tests for variable substitution utility, validating correct behavior for various scenarios.
- Enhanced database connection manager tests to cover connection handling and credential validation.
- Established a workflow store test suite to validate workflow management and node/edge operations.
2025-10-20 15:36:35 -04:00
Nikhil-Doye f5a157a49e Implement UUID migration for workflow nodes and edges
- Added utility functions to generate UUIDs for nodes and edges, ensuring unique identifiers.
- Implemented a migration process to convert deterministic IDs to UUIDs in existing workflows.
- Updated localStorage loading to include ID migration, enhancing data integrity.
- Refactored workflow creation to utilize UUIDs from the start, improving consistency across the application.
2025-10-20 15:06:22 -04:00
Nikhil-Doye db6c11dd23 Enhance DatabaseConnectionManager with credential validation and connection handling
- Added credential validation methods for MongoDB, MySQL, and PostgreSQL connections to ensure required fields are present and correctly formatted.
- Implemented checks to validate credentials during connection creation and updates, improving error handling and user feedback.
- Refactored connection configuration to streamline the creation of database connectors, enhancing maintainability and clarity in the codebase.
2025-10-20 14:52:30 -04:00
Nikhil-Doye 53fbbe22c7 Add cron-parser integration and enhance workflow scheduling validation
- Introduced cron-parser for improved cron expression handling in the WorkflowScheduler.
- Added validation for cron expressions during schedule creation and updates, ensuring correct format and providing user feedback on errors.
- Implemented utility methods for generating supported cron examples and validating cron expressions, enhancing usability and clarity in scheduling workflows.
- Updated llmProcessor to support variable substitution in prompts, improving flexibility in input handling.
2025-10-20 14:43:23 -04:00
Nikhil-Doye fe93de79ae Enhance OpenAI service with proxy support and error handling
- Introduced a method to retrieve an optional proxy base URL for production use, improving security by allowing API calls to be routed through a backend.
- Updated error handling to provide clear messages when the API key is not configured or when the proxy is not set in production.
- Refactored the web scraping processor to handle undefined configuration values more gracefully, ensuring default behaviors are maintained.
2025-10-20 14:18:06 -04:00
Nikhil-Doye 8249469c31 Refactor ExecutionEngine to build execution plan object and enhance variable substitution
- Updated ExecutionEngine to construct a plan object for workflow execution, improving clarity and structure.
- Added a mapping for node labels to IDs within the plan, facilitating variable substitution and enhancing usability.
- Ensured backward compatibility with existing node ID references while supporting new node label functionality.
2025-10-20 14:02:20 -04:00
Nikhil-Doye 25b9fd056a Enhance variable substitution functionality in workflow builder
- Updated README to reflect new variable substitution methods using node labels alongside node IDs for improved usability.
- Modified demo workflows to utilize descriptive node labels for variable references, enhancing clarity in configurations.
- Implemented a mapping system in the ExecutionEngine to support variable substitution using node labels, ensuring backward compatibility with existing node ID references.
- Added validation for unique node labels within the workflow to prevent conflicts and improve user experience.
- Enhanced utility functions for variable validation to accommodate both node IDs and labels, ensuring robust error handling during workflow execution.
2025-10-20 14:02:12 -04:00
Nikhil-Doye 375d948ba2 Implement workflow validation and error handling in ExecutionEngine and ExecutionPanel
- Added validation checks for workflow structure, including detection of circular dependencies and validation errors before execution.
- Enhanced ExecutionPanel to display validation error messages to users, improving feedback during workflow execution.
- Updated error handling in workflow store to specifically manage validation errors, ensuring clear communication of issues to users.
- Introduced detailed logging for validation failures, aiding in debugging and user experience.
2025-10-20 13:27:28 -04:00
Nikhil-Doye 3600310f4c Refactor WorkflowEditor to streamline node and edge management
- Removed local state management for nodes and edges, syncing directly with the workflow store for improved consistency.
- Introduced new updateNodePosition and updateNodeData methods in the workflow store to handle node position and data updates.
- Simplified edge and node change handling by utilizing callbacks for direct store updates, enhancing performance and maintainability.
- Cleaned up unused code related to local state management, improving overall code clarity.
2025-10-20 13:08:10 -04:00
Nikhil-Doye e856045970 Enhance TestingPanel and ExecutionEngine with improved error handling and real-time node status updates
- Refactored TestingPanel to include detailed logging during workflow execution and enhanced error handling for better user feedback.
- Updated ExecutionEngine to support real-time node status updates through a callback mechanism, allowing for more dynamic execution monitoring.
- Introduced new node statuses ('completed' and 'failed') to provide clearer execution state representation.
- Improved BaseNode component to handle invalid data gracefully and added debug logging for better traceability.
- Enhanced workflow store to manage and log node status updates effectively, improving overall workflow execution visibility.
2025-10-20 01:02:40 -04:00
Nikhil-Doye 6352974028 Add test workflow execution script and enhance ExecutionPanel functionality
- Introduced a new test script for verifying workflow execution, allowing for easier testing of workflow configurations.
- Enhanced the ExecutionPanel to support the creation of test workflows with data input and output nodes.
- Updated node status handling and improved UI interactions for better user experience.
- Refactored components to streamline the workflow creation process and added new icons for better visual representation.
- Implemented panel state management for improved visibility and control over the execution and node library panels.
2025-10-19 16:42:16 -04:00
Nikhil-Doye e6f0a7684a Add database connection management and execution configuration components
- Introduced DatabaseConnectionManager and DatabaseNodeConfiguration components for managing database connections within workflows.
- Implemented ExecutionConfiguration component to allow users to configure execution settings, including execution mode and retry policies.
- Enhanced WorkflowToolbar to integrate database connection management and scheduling functionalities.
- Added WorkflowScheduler component for scheduling workflows with various trigger types.
- Updated the store to manage execution states and configurations, improving overall workflow execution handling.
2025-10-19 15:06:56 -04:00
Nikhil-Doye 26812ed4df Add database node configurations and connectors
- Introduced new database node types: DatabaseQueryNode, DatabaseInsertNode, DatabaseUpdateNode, and DatabaseDeleteNode, enhancing workflow capabilities.
- Added corresponding configurations in NodeConfiguration for database operations, including fields for connectors, queries, and data handling.
- Implemented base connector classes for MongoDB, MySQL, and PostgreSQL, providing a structured approach to database interactions.
- Updated the WorkflowEditor to include new database nodes and their respective icons and categories for improved user experience.
- Enhanced the overall node management system to support new database functionalities, ensuring seamless integration within the existing framework.
2025-10-19 13:39:52 -04:00
Nikhil-Doye a10d6cb643 Add Radix UI Select component and refactor NodeConfiguration
- Introduced the Radix UI Select component to enhance dropdown functionality in NodeConfiguration.
- Refactored NodeConfiguration to replace standard select elements with the new Select component, improving UI consistency and user experience.
- Updated various input elements to utilize custom Input and Textarea components for better styling and functionality.
- Added new Card and Badge components for improved layout and visual appeal in the configuration modal.
- Enhanced button interactions and styling for a more cohesive design across the application.
2025-10-19 12:55:10 -04:00
Nikhil-Doye d9ac6d2f89 Refactor TestingPanel and WorkflowToolbar to use Button component
- Replaced standard button elements with a custom Button component in TestingPanel and WorkflowToolbar for consistent styling and improved UI.
- Updated button properties and classes to align with the new Button component's design, enhancing user experience across the application.
- Adjusted layout and spacing for better visual coherence and usability.
2025-10-19 12:42:01 -04:00
Nikhil-Doye 9ead8d5142 Enhance API key management and integrate Radix UI components
- Updated ApiKeysSettings component to utilize Radix UI's Dialog for improved modal functionality and styling.
- Refactored OnboardingModal to implement Radix UI Dialog components, enhancing user experience and consistency.
- Introduced new Input and Textarea components for better form handling and styling.
- Updated WorkflowToolbar to pass the isOpen prop to ApiKeysSettings for better state management.
- Added new dependencies for Radix UI components to streamline UI development.
2025-10-19 12:33:11 -04:00
Nikhil-Doye 05f72be20e Update dependencies and enhance Tailwind CSS configuration
- Added new dependencies: @radix-ui/react-slot, class-variance-authority, tailwind-merge, and tailwindcss-animate to improve UI components and styling.
- Updated Tailwind CSS configuration to include additional content paths for better utility generation.
- Introduced custom CSS variables for theming and improved button component for consistent styling across the application.
2025-10-19 11:54:08 -04:00
Nikhil-Doye aa733a9dea Add onboarding steps for embedding and similarity search features
- Introduced new onboarding steps highlighting embedding generation and similarity search capabilities.
- Updated existing descriptions to include vector search and optimization details.
- Enhanced API key configuration instructions for improved user guidance.
- Added new features section to outline recent enhancements in the workflow.
2025-10-19 01:03:41 -04:00
Nikhil-Doye 85939b645c Update ApiKeysSettings component layout and styling
- Adjusted padding and height properties for the modal to improve visual consistency and usability.
- Enhanced the layout structure by adding flex properties to ensure better responsiveness and organization of content.
- Updated overflow handling to optimize the display of API key configurations within the modal.
2025-10-19 00:48:24 -04:00
Nikhil-Doye 011a135ee6 Remove API Keys Settings functionality from App component
- Eliminated the API Keys settings button and associated state management from the App component.
- Removed the API Keys Settings modal, streamlining the user interface and focusing on core workflow functionalities.
- This change reflects a shift away from the API Keys management feature, simplifying the overall application structure.
2025-10-19 00:44:51 -04:00
Nikhil-Doye 391f56d051 Add API Keys Settings and integrate into WorkflowToolbar
- Introduced a new ApiKeysSettings component for managing API keys, including Pinecone and DeepSeek configurations.
- Updated App component to include a button for accessing API Keys settings.
- Replaced the deprecated OpenAIConfig component with ApiKeysSettings in WorkflowToolbar.
- Enhanced user experience by providing clear feedback on API key status and validation during configuration.
- Implemented local storage management for API keys, ensuring persistence across sessions.
2025-10-19 00:42:45 -04:00
Nikhil-Doye df6a630f35 Refactor WorkflowAgent and ClassifyIntentTool for improved clarity and performance
- Removed unused AgentTask import from WorkflowAgent to streamline code.
- Simplified complexity determination logic in ClassifyIntentTool by eliminating the complexityScore variable, enhancing readability and efficiency.
2025-10-19 00:00:13 -04:00
Nikhil-Doye dfd39069b5 Remove AGENT_SYSTEM_ARCHITECTURE.md file to streamline documentation and eliminate outdated architectural details. This change reflects the transition to a more modular tool-based architecture for the multi-agent intelligence layer. 2025-10-18 23:49:24 -04:00
Nikhil-Doye 8dd1a9e042 Implement prompt optimization features across workflow components
- Integrated a new prompt optimization service to enhance AI task node prompts, improving context-awareness and domain specificity.
- Updated NodeConfiguration component to include a button for optimizing prompts, displaying results for user review and application.
- Enhanced workflow generation logic to utilize optimized prompts, ensuring better performance in AI analysis tasks.
- Refactored existing prompt generation methods to leverage the new prompt optimizer, streamlining the process for various data types and tasks.
- Added detailed context and instructions for AI tasks, improving the overall user experience and output quality.
2025-10-18 23:48:46 -04:00
Nikhil-Doye 6279d5914f Enhance PDF processing and workflow integration
- Added detailed logging for PDF processing completion and output updates in DataInputNode.
- Refactored pdfService to utilize a browser-native approach for PDF text extraction, improving performance and reliability.
- Updated workflowStore to handle pre-processed PDF data, allowing for better integration and output management.
- Enhanced variable substitution utility to provide clearer warnings about unresolved variables and available nodes.
- Improved workflow generation logic to differentiate between PDF and URL-based inputs, ensuring appropriate processing nodes are added.
2025-10-18 23:05:57 -04:00
Nikhil-Doye 8e465ed479 Enhance workflow generation and intent classification features
- Updated the CopilotPanel to include a more detailed success message with complexity indicators and node count.
- Improved the ClassifyIntentTool to provide a comprehensive breakdown of workflow requests, including complexity analysis, step breakdown, data flow, and integration points.
- Enhanced the GenerateWorkflowTool to display complexity and step breakdown in the generated workflow output.
- Added new properties to the IntentClassification interface for better data handling.
- Implemented a fallback mechanism in workflow generation to support enhanced intent classification.
2025-10-18 22:16:11 -04:00
Nikhil-Doye 6e8d85d10b Implement clearAllNodes functionality in WorkflowToolbar and workflowStore
- Added clearAllNodes method to the workflow store to reset the workflow state, clearing all nodes and edges.
- Updated WorkflowToolbar to replace the clearExecutionResults function with clearAllNodes, renaming the button to "Reset workflow (clear all nodes)" for clarity.
- Enhanced user experience by ensuring the reset action is clearly communicated through UI changes.
2025-10-18 21:53:56 -04:00
Nikhil-Doye ee87d8ad0d Add multi-agent intelligence layer architecture and tools
- Introduced a new architecture for the multi-agent intelligence layer, replacing the monolithic `CopilotService` with a modular tool-based system.
- Added core components including `AgentManager`, `WorkflowAgent`, and various tools for intent classification, entity extraction, workflow generation, validation, and suggestions.
- Implemented a comprehensive test script and demo component for interactive testing of the new agent system.
- Updated TypeScript configuration and integrated the new architecture into the existing workflow store, ensuring backward compatibility with the previous API.
- Enhanced documentation to reflect the new architecture and its components, providing a clear overview of the system's capabilities and usage.
2025-10-18 21:39:38 -04:00