Web platform for Open Agent.
- Svelte 49.2%
- Rust 27.1%
- TypeScript 18%
- Shell 4.5%
- CSS 0.5%
- Other 0.7%
Backend: single Permission enum + Role::allows() table in auth/permissions.rs, replacing ad-hoc require_agent()/role comparisons scattered across clients, policies, documents, and auth routes. Unit tests assert every agent-only permission is denied to assistants. Frontend: $lib/permissions.ts mirrors the same permission names; every component that hides UI for assistants now calls allows(role, 'X') instead of independently re-deriving role === 'agent'. This is the fix for the class of bug where backend enforcement and frontend visibility drifted (assistants could see delete buttons the API would 401 on) — everything now reads from one table per side. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| backend | ||
| frontend | ||
| garage | ||
| scripts | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||