mirror of
https://github.com/vxcontrol/pentagi.git
synced 2026-11-03 20:43:29 +00:00
The e2e suite and CI gates could report green without checking anything: the lint/codegen gate never ran on fork PRs, the codegen freshness check diffed the wrong range, the sticky comment claimed passes it never read, and several visual/palette/contrast/a11y gates were written so they could not fail. Closing those gates then exposed real defects. **E2E and CI.** New coverage for the assistant lifecycle, flow interrupt, live panels, tab deep links, the report route and its exports, session expiry, and uploads/downloads (59 → 125 spec cases). Gates now fail on real regressions: absolute pixel budget, per-tab panel sweeps, scoped a11y waivers, page-error assertions. CI runs on `pull_request`, ranges from the PR base, routes comments by PR identity, and redacts stand secrets from the public artifact. **Markdown editor.** ~20 round-trip and toolbar fixes: table pipe escaping (nested lists, Go template pipelines, headerless tables), fence validity, setext and line-leading escapes, inline code containing a backtick, block toggles under select-all, controls disabled where the command is unavailable or a table cell cannot hold the block, theme-aware code surface. Two perf fixes cut 1 MB document load from 69s to 4s. **Accessibility and UI.** Focus returns to whatever opened a dialog, sheet or menu; icon-only buttons named; `aria-sort` on table columns; syntax tokens retuned to clear AA in both themes; a dedicated link token. Detail and settings pages now distinguish authz denials and partial errors from missing records, survive background refetches without blanking or discarding unsaved edits, and stop naming exported PDFs `*.pdf.pdf`. **Backend.** Passwords capped at the 72 bytes bcrypt can hash (over-long ones previously 500'd after passing validation); four agent options the GraphQL round trip silently dropped are carried through; a flow whose worker fails to start is no longer left in the listing; the Graphiti health check retries before permanently disabling the client. --------- Co-authored-by: Sergey Kozyrenko <sirozha_blr@tut.by>
PentAGI Frontend
A chat application built with React, TypeScript, and GraphQL that enables intelligent conversations with AI agents.
Features
- 💬 Real-time chat interface with AI agents
- 🤖 Multiple AI agent support and management
- 📊 Real-time terminal output monitoring
- 🎯 Task and subtask tracking system
- 🔍 Integrated search capabilities
- 📚 Vector store for knowledge base management
- 📸 Screenshot capture and management
- 🌓 Dark/Light theme support
- 📱 Responsive design (mobile, tablet, desktop)
- 🔐 Authentication system with multiple providers
- 🔄 Real-time updates via GraphQL subscriptions
- ⚡ High-performance React components
Tech Stack
- Framework: React 18 with TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- UI Components:
- shadcn/ui
- Radix UI primitives
- Lucide icons
- State Management:
- React Context
- Custom Hooks
- API Integration:
- GraphQL
- Apollo Client
- WebSocket subscriptions
- Type Safety: TypeScript
- Authentication: Multiple provider support
- Code Quality:
- ESLint
- Prettier
- TypeScript strict mode
Project Structure
src/ ├── components/ # Shared UI components │ ├── ui/ # Base UI components │ └── icons/ # SVG icons and logo ├── features/ # Feature-based modules │ ├── chat/ # Chat related components │ ├── authentication/ # Auth related components ├── hooks/ # Custom React hooks ├── lib/ # Utilities and configurations ├── graphql/ # GraphQL operations and types ├── models/ # TypeScript interfaces └── pages/ # Application routes
Key Components
Chat Interface
- Split view with messages and tools panels
- Resizable panels for desktop
- Mobile-optimized view with tabs
- Real-time message updates
Task System
- Real-time task tracking
- Subtask management
- Progress monitoring
- Status updates
Terminal
- Command output display
- Real-time updates
- Scrollable history
- Syntax highlighting
Vector Store
- Knowledge base integration
- Search capabilities
- Data management
Agent System
- Multi-agent support
- Agent status monitoring
- Agent communication logs
Development
Prerequisites
- Node.js 18+
- pnpm 10+
Installation
- Clone the repository
- Install dependencies: pnpm install
- Start the development server: pnpm run dev
Building for Production
pnpm run build
Environment Variables
Create a .env file in the root directory:
VITE_API_URL=your_api_url
Contributing
- Fork the repository
- Create your feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add some amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request