Merge develop into master#2815
Closed
HarshP4585 wants to merge 220 commits into
Closed
Conversation
- Change vite proxy to forward all API requests through Node.js server - Update deepEvalRoutes for proper request handling - Update package-lock.json version
… research ## Changes - Add EvalsSidebar component with project selector and navigation - Convert ProjectDatasets from cards to table layout with drawer for content view - Add pagination and delete actions to datasets table - Improve organization management with edit functionality - Add scorers research documentation for future implementation - Various UI improvements to EvalsDashboard layout 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Create unified Chip component with light pastel backgrounds - Add subtle gradient and border to all chips - Migrate all tables to use unified Chip component: - Risk Management tables (severity, likelihood, risk level) - Model Inventory tables (status, security assessment) - Incident Management table (severity, status, approval) - Policy table (status) - Training table (status) - Tasks table (priority, overdue) - Vendor Risks table (severity) - Automation History (execution status) - Project Overview table (AI risk classification) - Auto-detect chip variant from label text - Remove deprecated RiskChip component - Clean up unused style functions
Implement comprehensive CE Marking functionality to track EU AI Act conformity assessment journey for high-risk AI systems. Frontend: - Add CE Marking tab to project view with complete UI - Display classification and scope (high-risk status, Annex III category, role in product) - Show EU AI Act completion status with real-time calculation from controls and assessments - Track 7 conformity assessment steps with status, owner, and due dates - Manage declaration of conformity with signatory and document tracking - Track EU database registration status - Link policies and evidence files to CE Marking process - Display incident tracking for use case - Add VWTooltip component with HTML content support and custom styling Backend: - Create CE Marking controller with get/update endpoints - Implement database schema with ce_markings, ce_marking_conformity_steps, and audit trail tables - Add association tables for linking policies (ce_marking_policies) and evidence (ce_marking_evidences) - Auto-create default 7 conformity steps on first access - Calculate EU AI Act completion percentages using existing utility functions - Auto-populate completed dates when status changes to "Completed" - Track all changes in audit trail for compliance history - Use multi-tenant schema support Features: - Real-time dropdown saving for Annex III category and role in product - Edit modals for conformity steps, declaration, and registration details - Multi-select modals for linking policies and evidence using VerifyWise components - Progress bars and completion tracking - Responsive layout with proper spacing and VerifyWise component usage - Toast notifications for all save operations 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Replace CustomizableToast with proper Alert toast system that shows on top right. Changes: - Add showAlert export to customAxios.ts for components to trigger alerts - Update CEMarking component to use global showAlert function - Remove CustomEvent-based alert system - Ensure toasts appear in top right corner (not center popup) - All save operations now show proper toast notifications 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add incidents selection modal with checkbox interface - Remove AI ACT REPORTABLE section from UI - Create ce_marking_incidents association table - Implement backend logic for linking/unlinking incidents - Add incident service methods (getAllIncidents, updateLinkedIncidents) - Update CE Marking to display linked incidents count - Add audit trail for incident changes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Critical fixes: - Add transaction management to getCEMarking and updateCEMarking controllers - Add transactions to database migrations for data consistency - Replace console.error with proper logger in controllers - Add logEvent for database logging of errors High priority fixes: - Add input validation (validateId) to CE Marking routes - Add detailed error messages in controller responses Medium priority fixes: - Remove placeholder console.log from frontend - Replace non-functional VWLink with Typography for declaration document All database operations now properly wrapped in transactions with rollback on error.
- Replaced mock OWNER_OPTIONS with real user data from useUsers hook - Removed all 12 console.error statements from error handlers - Improved code cleanliness by relying on showAlert for user feedback
- Add Select dropdown for High Risk AI System field with Yes/No options - Implement handleHighRiskChange to update classification via API - Add state management for isHighRiskAISystem field - Change "Intended Purpose" to "Description" - Fetch and display project description from useProjectData hook - Add useProjectData hook integration to get project details
Backend improvements: - Add project existence validation before GET and UPDATE operations - Use framework name lookup instead of hardcoded framework_id=1 - Remove intendedPurpose field (now uses project description) - Add proper error responses for missing projects Frontend improvements: - Remove console.error statements from service file - Add owner name lookup to display user names instead of IDs - Handle useProjectData error state properly - Remove unused getDescriptionPlaceholder function - Use generic placeholder for step description field TypeScript improvements: - Create proper interfaces for update payloads - Replace all "as any" with typed interfaces - Remove intendedPurpose from CEMarkingData interface - Add ConformityStepsUpdatePayload interface - Add LinkedResourcesUpdatePayload interface Code quality: - Improved type safety throughout codebase - Better error handling and user feedback - Cleaner, more maintainable code structure
Frontend UX improvements: - Add confirmation dialog for high-risk classification changes - Implement optimistic UI updates for Annex III and Role changes - Make loading states consistent (include project loading state) - Improve responsiveness with immediate UI feedback Database migration: - Add foreign key constraint for project_id (ensures referential integrity) - Remove intended_purpose column (now uses project description) - Include proper rollback support for migration - Make migration idempotent with constraint existence checks User experience enhancements: - Critical regulatory changes now require confirmation - UI updates immediately, reverts only on error - Consistent loading indicators across all data sources - Cascading delete ensures orphaned records are prevented
- Update field label from 'DESCRIPTION' to 'GOAL' - Display project goal instead of project description - Update fallback text to 'No goal provided'
Frontend improvements: - Fix confirmation dialog to show message in modal content instead of header - Display full names (name + surname) in owner dropdown and table - Change "DECLARATION DOCUMENT" to "DECLARATION DOCUMENT LINK" - Display declaration document and EU record URLs as clickable links with external link icons - Use VWLink component for URL display - Remove "LAST INCIDENT" section from Incidents card - Import ExternalLink icon from lucide-react UX enhancements: - Better visual distinction for clickable URLs - Clearer confirmation dialog messaging - More informative owner selection with full names - Cleaner incidents section without redundant last incident field
Updated declaration document and EU record URL links to properly open in new tabs. Added helper function to automatically prepend https:// protocol to URLs that don't already include http:// or https://. Co-Authored-By: Claude <noreply@anthropic.com>
- Add type assertion for conformity steps update payload - Remove unused ExternalLink import Co-Authored-By: Claude <noreply@anthropic.com>
Add BrandFetch API integration to display company logos in the vendors table. Logos are fetched from BrandFetch CDN with graceful fallback to letter avatars. Changes: - Create VendorLogo component with logo fetching and fallback handling - Add brandfetch.config.ts with domain extraction utilities - Integrate VendorLogo into vendors table - Add environment variable support for API key (VITE_BRANDFETCH_API_KEY) - Create .env.example to document required configuration - Update TypeScript declarations for new environment variable Security: - API key stored in environment variable, not committed to repository - .env.example provided as template without sensitive data
Replace gray fallback avatars with vibrant, colorful avatars to improve visual appeal and make the vendor list more engaging. Changes: - Add 12-color vibrant palette (red, amber, emerald, blue, violet, pink, etc.) - Implement hash function to assign consistent colors based on vendor name - Each vendor always gets the same color for visual consistency - Remove gray border for cleaner look with colored backgrounds The color assignment is deterministic - same vendor name = same color.
Prevent 'relation organizations does not exist' error by checking if the organizations table exists before attempting to query it. This makes the migrations compatible with fresh database setups where the organizations table may not exist yet. Changes: - Add table existence check in both up() and down() methods - Skip migration gracefully if organizations table doesn't exist - Add informative console messages for debugging
## Changes ### Security improvements - Add security warning documentation to extractToken.ts explaining JWT client-side decoding limitations and proper usage - Wrap production console.log/error statements in development mode checks in networkServices.ts and store.ts ### Type safety improvements - Replace 'any' types with proper interfaces in user.repository.ts: - CreateUserData, UpdateUserData, LoginCredentials - PasswordChangeResponse, DeleteResponse, UserExistsResponse, ProfilePhotoResponse - Add DecodedToken interface to extractToken.ts - Export RootState and AppDispatch types from Redux store - Update useAuth.ts to use typed RootState instead of 'any' ### Code cleanup - Remove unnecessary try/catch blocks that only logged and re-threw - Simplify error handling in user.repository.ts
## Changes ### Type signature updates - Update userId parameter types to accept `string | number` in repository functions to match actual usage (token returns string IDs) - Add `role_id` and `organization_id` snake_case variants to CreateUserData interface for API compatibility - Fix LoginResponse type to match nested `data.data.token` structure - Update useProfilePhotoFetch hook to accept string userId ### Null safety improvements - Add early return guards for undefined userId in Password and Profile pages - Show user-friendly error message when session is not found ### Error handling - Fix spread type error by casting error object before spreading
## Changes - Move action hints next to headers in AdminSetupStep (e.g., "Invite team members (Settings → Team)") - Remove bottom helper texts and Alert component - Convert framework selection to 4-in-a-row grid layout - Remove framework descriptions for cleaner UI - Rename "Select a use case template" to "Demo use case" - Add placeholder text to use case select dropdown - Remove "What's included in your demo project" section
…Manage) ## Changes ### Backend - Add countNISTAIRMFSubcategoriesAssignmentsByFunction utility to get assignments per function - Add countNISTAIRMFSubcategoriesProgressByFunction utility to get progress per function - Add /assignments-by-function and /progress-by-function API endpoints ### Frontend - Update AssignmentStatusCard to show 4 rows (Govern, Map, Measure, Manage) instead of single "Subcategories" row - Update FrameworkProgressCard to show 4 progress bars per function instead of single "Subcategories" progress - Update Dashboard to fetch new by-function endpoints for NIST AI RMF
…rd boxes ## Changes - Persist selected framework (ISO 42001/NIST AI RMF/ISO 27001) in Controls tab - Persist sub-tabs (Clauses/Annexes for ISO, Govern/Map/Measure/Manage for NIST) - Persist Dashboard tab selection - Make Framework Progress and Assignment Status card rows clickable - Clicking a row navigates to the corresponding Controls section
Prevents errors when tables already exist in the database.
…tors ## Changes - Add clickable chevron icons to bottom dashboard cards (ControlCategoriesCard, AnnexOverviewCard, NISTFunctionsOverviewCard) for navigation to Controls page - Remove clickable functionality from top cards (FrameworkProgressCard, AssignmentStatusCard) - Add horizontal dividers between framework sections with proper spacing - Fix navigation sync when clicking dashboard cards to navigate to Controls - Update chart tooltip font size to 13px for consistency 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The model was missing from db.ts, causing 'Model not initialized' error when fetching API keys from the configuration page. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add Sidebar navigation for LLM Evals - Register evaluation API key routes in Express server - Add frontend API services for DeepEval integration: - deepEvalDatasetsService.ts - deepEvalProjectsService.ts - evaluationLlmApiKeysService.ts - evaluationLogsService.ts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- EvaluationModule/data/ - User uploads for evaluations - EvaluationModule/artifacts/ - DeepEval output files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Notes module, phase 1: NIST AI RMF
…ion types, install recharts
LLM Evals module integration
## Changes - Add UserGuide component with sidebar, landing page, and article views - Add 32 screenshot images for documentation - Integrate sidebar into App.tsx - Add content for all major features: - Getting started guides - AI governance (model inventory, incidents, evidence) - Compliance frameworks (EU AI Act, ISO 42001, ISO 27001, NIST AI RMF) - Risk management (assessments, mitigation, vendors) - Policies, reporting, settings, integrations 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
## Changes - Add shared/user-guide-content/ with content configuration - Update vite.config.ts with @user-guide-content path alias - Update tsconfig.app.json with TypeScript path mapping 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
## Changes - Remove unused 'colors' import from ImageLightbox.tsx - Remove unused 'TAB_BAR_WIDTH' constant from SidebarWrapper.tsx - Fix contentTypes import paths to use @user-guide-content alias - Replace lucide-react imports in shared folder with icon name strings - Add iconMap to resolve icon names to components in consuming files
Regenerated lock file after merging latest develop changes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
## Changes - Fix unknown type not assignable to ReactNode in DetailSidebar.tsx - Remove unused FormControlLabel import in EntityGraph/index.tsx - Add index signature to ExtendedNodeData interface for type compatibility - Prefix unused entityType parameter with underscore - Remove unused setNodes from ReactFlowDemo.tsx 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
## Changes - Remove EntityGraph feature files (should be in separate PR) - Remove ReactFlowDemo.tsx and reactflow-demo.html - Remove accidentally committed docs/api-docs/node_modules - Remove docs/api-docs/dist build artifacts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
These routes referenced deleted files that are not part of the user guide feature. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Add User Guide sidebar with documentation content
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Describe your changes
Provide a concise description of the changes made and their intended purpose.
Write your issue number after "Fixes "
Enter the corresponding issue number after "Fixes #"
Please ensure all items are checked off before requesting a review: