- Introduced a new test script to verify Slack integration with AI Copilot, including intent classification and entity extraction for reminders.
- Enhanced the natural language processing service to support new entity types for database operations, notifications, and email automation.
- Updated workflow generation logic to include Slack and database operations, ensuring proper handling of notifications and messages.
- Expanded entity extraction to cover additional notification types and channels for improved integration capabilities.
- Updated the introduction to highlight the AI workflow builder's capabilities.
- Enhanced feature sections with icons and clearer descriptions for better readability.
- Added new sections for workflow management, execution, testing, and advanced features with corresponding icons.
- Improved quick start instructions and added visual elements for clarity.
- Included example workflows with icons to illustrate use cases.
- Updated troubleshooting and support sections for better user guidance.
- Introduced Gmail integration in ConfigurationWizard with a new wizard step for Gmail operations.
- Updated NodeLibrary to include Gmail as a node type with associated color coding.
- Enhanced BaseNode to represent Gmail with an appropriate icon.
- Configured nodeTypeConfigs for Gmail with detailed descriptions and common use cases.
- Added Gmail-specific fields in fieldConfigs for operation configuration.
- Implemented GmailService and gmailProcessor for handling various Gmail operations, including sending, reading, and managing emails.
- Created GmailNode component for visualizing Gmail operation details, including status and configuration.
- Developed GmailWizard component for configuring Gmail operations with dynamic form fields based on selected operation type.
- Updated ProcessorRegistry to recognize Gmail-related patterns for improved operation handling.
- Introduced a new 'discord' entry in the ConfigurationWizard for Discord integration setup.
- Updated NodeLibrary to include Discord as a node type with associated color coding.
- Enhanced BaseNode with Discord icon representation.
- Configured nodeTypeConfigs for Discord with detailed descriptions and common use cases.
- Added connection suggestions for Discord nodes to facilitate integration patterns.
- Implemented DiscordService and discordProcessor for handling various Discord operations, including sending messages, managing channels, and user interactions.
- Created DiscordWizard component for configuring Discord operations with dynamic form fields based on selected operation type.
- Added DiscordNode component for visualizing Discord operation details, including status and configuration.
- Added nodeType prop to FieldWithHelp for dynamic field configuration based on node type.
- Updated getFieldConfig function to retrieve node-specific field configurations.
- Integrated nodeType in NodeConfiguration to pass relevant type to input fields, improving flexibility for different operations.
- Introduced configuration fields for Slack integration, including bot token, operation type, channel, message text, and user ID.
- Enhanced user experience by providing tailored input options for various Slack operations.
- Utilized useMemo in WorkflowEditor to optimize node retrieval based on currentWorkflow.
- Removed unused cycle detection logic from connectionSuggestions to streamline the codebase.
- Removed unused connection handling functions from WorkflowEditor to streamline the component.
- Updated connectionSuggestions to improve cycle detection with a new hasCycleWithEdges function.
- Exported SlackNode from the nodes index for enhanced integration with Slack operations.
- Updated WorkflowEditor to include SlackNode in node types for enhanced workflow visualization.
- Modified executionEngine to support Slack operations by importing the slackProcessor.
- Enhanced ProcessorRegistry to recognize Slack-related patterns for improved operation handling.
- Introduced SlackWizard component to facilitate the configuration of various Slack operations, including sending messages, managing channels, and setting reminders.
- Implemented dynamic form fields based on selected operation type, enhancing user experience with tailored input options.
- Added state management for operation selection and configuration updates, ensuring real-time feedback and validation.
- Introduced SlackNode component to display Slack operation details, including status, configuration, and relevant metadata.
- Implemented dynamic rendering of operation icons and labels based on the selected Slack operation type.
- Enhanced user experience with status indicators and error displays for better feedback on operation outcomes.
- Implemented slackProcessor to validate Slack configuration and execute operations using SlackService.
- Added error handling for configuration validation and operation execution to ensure robust integration.
- Standardized response format for successful operations, including relevant metadata.
- Implemented SlackService to manage Slack API interactions, including sending messages, managing channels, user operations, file uploads, reactions, and reminders.
- Added error handling and configuration validation for each operation to ensure robust integration with Slack.
- Introduced a makeRequest method for streamlined API calls to the Slack endpoint.
- Introduced a new 'slack' entry in the ConfigurationWizard for Slack integration setup.
- Updated NodeLibrary to include Slack as a node type with associated color coding.
- Enhanced BaseNode with Slack icon representation.
- Configured nodeTypeConfigs for Slack with detailed descriptions and common use cases.
- Added connection suggestions for Slack nodes to facilitate integration patterns.
- Introduced a new 'slack' entry in NodeType to support Slack operations.
- Added SlackOperation type and SlackConfig interface to define various Slack operations and their configurations, enhancing integration capabilities.
- Added a new 'step' property to the FieldConfig interface for better configuration of numeric fields.
- Reformatted the options array in the operation configuration for improved readability and maintainability.
- Introduced a new FieldConfig interface for better type safety and clarity in field definitions.
- Consolidated database operation configurations under a single "database" entry, streamlining the configuration process.
- Updated field labels and placeholders to improve user guidance and consistency across database operations.
- Updated the operationIcons definition in UnifiedDatabaseNode to enhance code clarity by formatting the type declaration across multiple lines.
- Simplified the ProcessorRegistry by consolidating database operation types into a single "database" entry, streamlining the configuration for database-related tasks.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.