Conversation
- Add package.json with React, TypeScript, and Vite dependencies - Setup Vite configuration with React SWC plugin and path aliases - Configure TypeScript with strict mode - Setup ESLint and Prettier for code quality - Configure Tailwind CSS with custom design tokens - Add PostCSS configuration for Tailwind processing
…ctionality for PDF ingestion and vector database creation
Andressa/fix langchain clean
Feat/setup front
…tion, models, NLP, and semantic analysis. Create structure for applications, including authentication service and desktop application. Establish directories for packaging, scripts, shared modules, and tests with corresponding README files. Ensure all changes maintain project organization and clarity.
…les, and add documentation
Feat/langchain chainlit
…ngestion, and update dependencies
feat: add local REST API with async ingestion and docs
…v repo architecture
feat: get frontend files from feat/setup-front branch and adapt to de…
… to replace chainlit test interface
…and add httpx to backend requirements - Updated CSS variables for light and dark modes in theme.css to improve styling consistency. - Introduced shared gradient variables and adjusted background styles for various components. - Added `next-themes` dependency in pnpm-lock.yaml for theme management. - Included `httpx` in backend requirements for enhanced HTTP requests handling.
Feat/front ai
Feat/front
additionnal backend scripts covered
Co-authored-by: Copilot <copilot@github.com>
final prod build scripts covered by unit tests
ingestion/embedding performance metrics implemented
Ci cd/bundle
…e assertions test: modify chainlit tests for clearer prompt context test: adjust embedding tests to use temporary paths test: enhance ingest tests with new loader classes and assertions test: refine OCR tests to validate dependencies and error handling test: update chat service tests to improve context handling test: modify folder scanner tests for better error handling test: enhance ingestion tests to validate document processing test: update query tests for vector store integration test: refine search tests to include Ollama embeddings test: adjust core tests for environment variable handling test: update main tests to include additional allowed origins
- Enhance `test_ingest.py` with tests for adding documents to existing collections and handling empty content. - Extend `test_ocr.py` to manage empty documents and long text scenarios. - Implement error handling in `test_folders.py` for deindexing documents during folder deletion. - Add tests in `test_folder_registery.py` to ensure folder updates do not affect non-matching documents. - Introduce tests in `test_folder_scanner.py` for indexing copies when originals exist. - Validate document ingestion with optional metadata in `test_ingestion.py`. - Improve job queue tests in `test_jobs.py` to handle missing records and update statuses correctly. - Enhance query tests in `test_query.py` for document retrieval and filtering. - Add tests in `test_registry.py` to ensure document records are saved with optional fields. - Extend search tests in `test_search.py` to ensure absolute paths are preferred and duplicates are handled. - Introduce new tests for the `SetupProvider` component in the frontend to validate loading states and error handling.
…narios and assertions
Ci cd/tests
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR bootstraps the desktop app monorepo structure by introducing a shared UI package (shadcn/Radix-style components), a local FastAPI backend for ingestion/query/search/jobs, and the supporting tooling/config (TypeScript/ESLint/Vitest/Tauri/Prettier/docs).
Changes:
- Add
@bigbrain/uipackage with reusable UI components, hooks, and TS config. - Add local desktop backend (FastAPI) services, schemas, and API routes (documents/jobs/query/search/Ollama).
- Add desktop app config for Next.js + Tauri, plus Vitest setup and initial UI tests/docs.
Reviewed changes
Copilot reviewed 178 out of 298 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
| apps/desktop/frontend/packages/ui/tsconfig.json | Adds TS config for the shared UI package with path aliases. |
| apps/desktop/frontend/packages/ui/src/lib/utils.ts | Introduces cn() utility for className merging. |
| apps/desktop/frontend/packages/ui/src/hooks/use-mobile.ts | Adds useIsMobile() hook for breakpoint detection. |
| apps/desktop/frontend/packages/ui/src/components/utils.ts | Adds component-local cn() utility (duplicate implementation). |
| apps/desktop/frontend/packages/ui/src/components/use-mobile.ts | Adds component-local useIsMobile() hook (duplicate implementation). |
| apps/desktop/frontend/packages/ui/src/components/tooltip.tsx | Adds Radix tooltip wrapper components. |
| apps/desktop/frontend/packages/ui/src/components/toggle.tsx | Adds Radix toggle wrapper with variants. |
| apps/desktop/frontend/packages/ui/src/components/toggle-group.tsx | Adds Radix toggle-group wrappers with shared variant context. |
| apps/desktop/frontend/packages/ui/src/components/textarea.tsx | Adds styled textarea component. |
| apps/desktop/frontend/packages/ui/src/components/tabs.tsx | Adds Radix tabs wrappers. |
| apps/desktop/frontend/packages/ui/src/components/table.tsx | Adds table primitives with consistent styling. |
| apps/desktop/frontend/packages/ui/src/components/switch.tsx | Adds Radix switch wrapper. |
| apps/desktop/frontend/packages/ui/src/components/sonner.tsx | Adds themed toaster wrapper around sonner. |
| apps/desktop/frontend/packages/ui/src/components/slider.tsx | Adds Radix slider wrapper. |
| apps/desktop/frontend/packages/ui/src/components/skeleton.tsx | Adds skeleton loading component. |
| apps/desktop/frontend/packages/ui/src/components/sheet.tsx | Adds Radix dialog-based sheet wrappers. |
| apps/desktop/frontend/packages/ui/src/components/separator.tsx | Adds Radix separator wrapper. |
| apps/desktop/frontend/packages/ui/src/components/scroll-area.tsx | Adds Radix scroll area wrapper. |
| apps/desktop/frontend/packages/ui/src/components/resizable.tsx | Adds resizable panels wrappers. |
| apps/desktop/frontend/packages/ui/src/components/radio-group.tsx | Adds Radix radio-group wrappers. |
| apps/desktop/frontend/packages/ui/src/components/progress.tsx | Adds Radix progress wrapper. |
| apps/desktop/frontend/packages/ui/src/components/popover.tsx | Adds Radix popover wrappers. |
| apps/desktop/frontend/packages/ui/src/components/pagination.tsx | Adds pagination helpers built on Button variants. |
| apps/desktop/frontend/packages/ui/src/components/label.tsx | Adds Radix label wrapper. |
| apps/desktop/frontend/packages/ui/src/components/input.tsx | Adds styled input component. |
| apps/desktop/frontend/packages/ui/src/components/input-otp.tsx | Adds OTP input wrappers and slots. |
| apps/desktop/frontend/packages/ui/src/components/hover-card.tsx | Adds Radix hover-card wrappers. |
| apps/desktop/frontend/packages/ui/src/components/form.tsx | Adds react-hook-form helpers/components for consistent form markup. |
| apps/desktop/frontend/packages/ui/src/components/drawer.tsx | Adds Vaul drawer wrappers. |
| apps/desktop/frontend/packages/ui/src/components/dialog.tsx | Adds Radix dialog wrappers. |
| apps/desktop/frontend/packages/ui/src/components/command.tsx | Adds cmdk command palette wrappers + dialog integration. |
| apps/desktop/frontend/packages/ui/src/components/collapsible.tsx | Adds Radix collapsible wrappers. |
| apps/desktop/frontend/packages/ui/src/components/checkbox.tsx | Adds Radix checkbox wrapper. |
| apps/desktop/frontend/packages/ui/src/components/card.tsx | Adds card primitives. |
| apps/desktop/frontend/packages/ui/src/components/calendar.tsx | Adds DayPicker-based calendar with custom classNames. |
| apps/desktop/frontend/packages/ui/src/components/button.tsx | Adds Button + variants infrastructure. |
| apps/desktop/frontend/packages/ui/src/components/breadcrumb.tsx | Adds breadcrumb primitives. |
| apps/desktop/frontend/packages/ui/src/components/badge.tsx | Adds Badge + variants infrastructure. |
| apps/desktop/frontend/packages/ui/src/components/avatar.tsx | Adds Radix avatar wrappers. |
| apps/desktop/frontend/packages/ui/src/components/aspect-ratio.tsx | Adds Radix aspect-ratio wrapper. |
| apps/desktop/frontend/packages/ui/src/components/alert.tsx | Adds Alert component + variants. |
| apps/desktop/frontend/packages/ui/src/components/alert-dialog.tsx | Adds Radix alert-dialog wrappers. |
| apps/desktop/frontend/packages/ui/src/components/accordion.tsx | Adds Radix accordion wrappers. |
| apps/desktop/frontend/packages/ui/package.json | Declares UI package exports and dependencies. |
| apps/desktop/frontend/packages/typescript-config/package.json | Adds workspace TypeScript-config package metadata. |
| apps/desktop/frontend/packages/typescript-config/nextjs.json | Adds shared tsconfig preset for Next.js. |
| apps/desktop/frontend/packages/typescript-config/base.json | Adds base shared tsconfig preset. |
| apps/desktop/frontend/packages/eslint-config/react.js | Adds shared React ESLint flat config. |
| apps/desktop/frontend/packages/eslint-config/package.json | Declares shared ESLint-config package metadata. |
| apps/desktop/frontend/packages/eslint-config/nextjs.js | Adds shared Next.js ESLint flat config. |
| apps/desktop/frontend/packages/eslint-config/base.js | Adds shared base ESLint flat config. |
| apps/desktop/frontend/packages/backend-core/package.json | Adds placeholder backend-core package scaffold. |
| apps/desktop/frontend/packages/backend-core/README.md | Adds backend-core package placeholder documentation. |
| apps/desktop/frontend/packages/backend-api/package.json | Adds placeholder backend-api package scaffold. |
| apps/desktop/frontend/packages/backend-api/README.md | Adds backend-api package placeholder documentation. |
| apps/desktop/frontend/package.json | Adds frontend workspace root scripts/tooling config. |
| apps/desktop/frontend/apps/desktop/vitest.config.ts | Adds Vitest config, coverage, and aliases. |
| apps/desktop/frontend/apps/desktop/tsconfig.json | Configures desktop app TS paths (including UI package). |
| apps/desktop/frontend/apps/desktop/src/test/setup.ts | Adds Vitest setup + mocks for Next/font, motion, Tauri APIs. |
| apps/desktop/frontend/apps/desktop/src/styles/utilities.css | Adds custom Tailwind utilities used by UI components. |
| apps/desktop/frontend/apps/desktop/src/lib/api.ts | Adds frontend API client for the local backend. |
| apps/desktop/frontend/apps/desktop/src/components/pages/tests/ProfilePage.test.tsx | Adds ProfilePage UI tests. |
| apps/desktop/frontend/apps/desktop/src/components/pages/tests/HomePage.test.tsx | Adds HomePage UI tests with API mocks. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/utils.ts | Adds FilesPage utility functions and display constants. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/types.ts | Adds FilesPage TypeScript types. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/api.ts | Adds FilesPage API helpers + overlap error typing. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/tests/utils.test.ts | Adds unit tests for FilesPage utilities. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/tests/StatusBadge.test.tsx | Adds StatusBadge tests. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/tests/FolderCard.test.tsx | Adds FolderCard tests. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/tests/EditFolderModal.test.tsx | Adds EditFolderModal tests. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/tests/DocumentsPanel.test.tsx | Adds DocumentsPanel tests. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/tests/DeleteFolderModal.test.tsx | Adds DeleteFolderModal tests. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/tests/AddFolderModal.test.tsx | Adds AddFolderModal tests. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/StatusBadge.tsx | Adds status badge UI component. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/FolderCard.tsx | Adds folder card UI with actions and scan status. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/EditFolderModal.tsx | Adds edit watched-folder modal UI. |
| apps/desktop/frontend/apps/desktop/src/components/pages/FilesPage/DeleteFolderModal.tsx | Adds delete watched-folder confirmation dialog. |
| apps/desktop/frontend/apps/desktop/src/components/tests/Dashboard.test.tsx | Adds Dashboard navigation tests. |
| apps/desktop/frontend/apps/desktop/src/components/tests/CommandPalette.test.tsx | Adds CommandPalette behavior tests. |
| apps/desktop/frontend/apps/desktop/src/components/CommandPalette.tsx | Adds command palette UI integrated with shared UI components. |
| apps/desktop/frontend/apps/desktop/src/app/page.tsx | Sets app root page to render Dashboard (auth stub commented). |
| apps/desktop/frontend/apps/desktop/src/app/layout.tsx | Adds Next root layout with ThemeProvider + app setup. |
| apps/desktop/frontend/apps/desktop/src-tauri/tauri.conf.json | Adds Tauri 2 app config for desktop packaging. |
| apps/desktop/frontend/apps/desktop/src-tauri/src/main.rs | Adds Tauri entrypoint calling generated lib runner. |
| apps/desktop/frontend/apps/desktop/src-tauri/capabilities/default.json | Adds default Tauri capability permissions for opener. |
| apps/desktop/frontend/apps/desktop/src-tauri/build.rs | Adds Tauri build script. |
| apps/desktop/frontend/apps/desktop/src-tauri/Cargo.toml | Adds Rust crate config for Tauri desktop binary. |
| apps/desktop/frontend/apps/desktop/src-tauri/.rustfmt.toml | Adds Rustfmt edition config. |
| apps/desktop/frontend/apps/desktop/src-tauri/.gitignore | Adds Rust/Tauri build artifacts ignores. |
| apps/desktop/frontend/apps/desktop/postcss.config.mjs | Adds PostCSS config for Tailwind v4 plugin. |
| apps/desktop/frontend/apps/desktop/package.json | Adds desktop Next/Tauri app dependencies and scripts. |
| apps/desktop/frontend/apps/desktop/next.config.ts | Configures Next output/export, distDir, and transpilePackages for UI. |
| apps/desktop/frontend/apps/desktop/.eslintrc.json | Adds Next ESLint config for the desktop app. |
| apps/desktop/frontend/README.md | Adds frontend architecture and run instructions. |
| apps/desktop/frontend/.prettierrc | Adds Prettier configuration. |
| apps/desktop/frontend/.prettierignore | Adds Prettier ignore patterns. |
| apps/desktop/frontend/.gitignore | Adds frontend workspace ignores. |
| apps/desktop/backend/app/services/settings.py | Adds persisted settings for choosing Ollama model. |
| apps/desktop/backend/app/services/search.py | Adds semantic search service over Qdrant w/ snippet + dedup. |
| apps/desktop/backend/app/services/registry.py | Adds global registry storage for indexed documents. |
| apps/desktop/backend/app/services/query.py | Adds retrieval + LLM answering pipeline with source tracking. |
| apps/desktop/backend/app/services/jobs.py | Adds in-memory job queue/worker for ingestion & scanning jobs. |
| apps/desktop/backend/app/services/ingestion.py | Adds ingestion pipeline wrapper delegating to AI ingestion/indexing. |
| apps/desktop/backend/app/services/chat.py | Adds SSE streaming chat endpoint integration. |
| apps/desktop/backend/app/services/init.py | Adds services package marker. |
| apps/desktop/backend/app/schemas/stats.py | Adds Pydantic schema for stats endpoint. |
| apps/desktop/backend/app/schemas/search.py | Adds Pydantic schemas for search request/response. |
| apps/desktop/backend/app/schemas/query.py | Adds Pydantic schemas for query request/response. |
| apps/desktop/backend/app/schemas/jobs.py | Adds Pydantic schemas for job tracking responses. |
| apps/desktop/backend/app/schemas/ingest.py | Adds Pydantic schema for ingestion requests. |
| apps/desktop/backend/app/schemas/folders.py | Adds Pydantic schemas for watched folders and scanning API. |
| apps/desktop/backend/app/schemas/documents.py | Adds Pydantic schemas for documents listing. |
| apps/desktop/backend/app/schemas/init.py | Adds schemas package marker. |
| apps/desktop/backend/app/main.py | Adds FastAPI app setup, routing, CORS, and startup init. |
| apps/desktop/backend/app/core/paths.py | Adds repo/data root resolution for dev vs frozen builds. |
| apps/desktop/backend/app/core/init.py | Adds core package marker. |
| apps/desktop/backend/app/api/routes.py | Adds main API routes for health/docs/jobs/query/search/chat. |
| apps/desktop/backend/app/api/ollama_api.py | Adds Ollama proxy endpoints and model pull SSE streaming. |
| apps/desktop/backend/app/api/init.py | Adds api package marker. |
| apps/desktop/backend/app/init.py | Adds backend package marker. |
| apps/desktop/backend/README.md | Adds backend setup / endpoints documentation. |
| apps/desktop/README.md | Adds high-level desktop app docs and dev instructions. |
| apps/auth-service/client/README.md | Adds auth-service client placeholder documentation. |
| apps/auth-service/backend/README.md | Adds auth-service backend placeholder documentation. |
| apps/auth-service/README.md | Adds auth-service overview documentation. |
| apps/README.md | Adds apps directory overview documentation. |
| ai/semantic/README.md | Adds semantic analysis module documentation. |
| ai/nlp/run_chainlit.py | Adds Chainlit runner for AI engine demo/integration. |
| ai/nlp/README.md | Adds NLP module documentation and Chainlit run instructions. |
| ai/nlp/.gitignore | Adds Chainlit-related ignores for NLP module. |
| ai/models/README.md | Adds models module documentation. |
| ai/ingestion/test_ocr.py | Adds OCR test script for real images. |
| ai/ingestion/README.md | Adds ingestion module documentation. |
| ai/indexing/README.md | Adds indexing module documentation. |
| ai/indexing/.gitignore | Adds Chainlit-related ignores for indexing module. |
| ai/README.md | Expands AI engine documentation incl. OCR capabilities. |
| ai/.gitignore | Adds AI module ignores incl. data directory handling. |
| SECURITY.md | Adds repository security policy document. |
| README.md | Expands root project README and local dev workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
No description provided.