Appearance
Panel Features
Features of the Panel module.
- AI Agents Center — List, create, and manage AI agents at
/ai-agents. - Agent avatar upload (S3 presign) — Presign, browser POST to S3, then persist S3 key on the agent.
- Multi-Tenant Subdomain Resolution — Resolve the active agency from the hostname subdomain for microsite multi-tenancy.
- Settings — Catalog services — Manage catalog service modules under
/settings?section=services(Catalog API). - Settings — CASL policies — Manage organization policies under
/settings?section=roles(Identity API). - Organization tasks and projects — Dashboard section at
/taskswith status creation, project/task creation, and Board/List views for both projects and tasks. - Directory — member cards and management dialog —
/directorygrid and two-column dialog: summary (roles, policies, remove member); tasks tab lists tasks created by the member and opens the shared task form in a right-hand panel (embedded editor). - Calendar (operations) — FullCalendar-based agenda at
/calendarwithGET/POST /operations/events, month/week/agenda views, and create-event dialog. - Nexos — connections UI —
/connections: one card per active provider type, workspace modal to list/edit multiple instances per type, Telegram + SMTP catalog, schema-driven forms, Connections API CRUD. - Files — Opened from the primary sidebar as a floating window (
react-rnd, not a routed tab): drag the title bar to move; drag edges/corners to resize. Inside the window, layout is plain flex (categories ~25% width, main area flexible, detail strip w-80 when a file is selected) — no inner shadcn resizable splitters. Library and trash views: storage usage fromGET /storage/stats, bulk selection and actions on cards, upload placeholders, category labels in the edit dialog, sidebar category filter (All / Uncategorized / per category) on the current list, and Add category under the sidebar list (POST /storage/categories). Legacy path/filesredirects to the dashboard. - Dashboard sidebars — Left and right collapse/expand handles now keep a stable position while pressed and render above adjacent panes, preventing intermittent misses when reopening sidebars from the screen edges.