BRIC-11: Add RAG File Browser section for MinIO folder/file exploration#3
Merged
Conversation
…tion (BRIC-11) - Add /rag route with BreadcrumbBar + FileList navigation - Create dedicated ragApiClient with ragApiBaseUrl from config - Implement hexagonal layers: FileEntry/FolderEntry entities, IRagFilePort, ragApi adapter - Add useFolders and useFiles TanStack Query hooks - Add formatFileSize utility, FileRow/FolderRow/BreadcrumbBar components - Add Vite proxy for /api/v1/files to RAG service (port 8020) - Add ragApiBaseUrl to AppConfigSchema (optional, backward compatible) - 47 new unit tests, 213 total passing
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.
Jira
BRIC-11
Summary
ragApiClientaxios instance withragApiBaseUrlfrom runtime configChanges
New Files (13 source + 11 test)
Domain Layer:
src/domain/entities/rag/fileEntry.ts—FileEntryandFolderEntryclasses with computedfilename/namegetterssrc/domain/ports/rag/ragFilePort.ts—IRagFilePortinterfaceInfrastructure Layer:
src/infrastructure/api/ragAxiosInstance.ts— Dedicated axios client for RAG APIsrc/infrastructure/api/rag/ragApi.ts— IRagFilePort implementation (listFolders, listFiles)Application Layer:
src/application/hooks/rag/useFolders.ts— TanStack Query hook for folder listingsrc/application/hooks/rag/useFiles.ts— TanStack Query hook for file listingsrc/application/lib/formatFileSize.ts— Human-readable file size formattersrc/application/components/rag/BreadcrumbBar.tsx— Breadcrumb navigationsrc/application/components/rag/FolderRow.tsx— Clickable folder rowsrc/application/components/rag/FileRow.tsx— File metadata row (name, size, date)src/application/components/rag/FileList.tsx— Composed list with loading/error/empty statessrc/application/pages/RagPage.tsx— Page orchestratorModified Files (5)
src/application/App.tsx— Add/ragroutesrc/application/components/layout/TopNav.tsx— Add "RAG" nav linksrc/domain/entities/config/appConfig.ts— AddragApiBaseUrl(optional)vite.config.ts— Proxy/api/v1/filesto port 8020public/config.json/config.example.json— AddragApiBaseUrlTests
soludev-compose-apps/bricks/qa/Quality Gates
DO NOT MERGE
User requested review before merge.