Spaces:
Runtime error
Runtime error
File size: 4,727 Bytes
cd8bd0a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | ---
title: "Monitoring & Costs β Navigation Structure"
version: 3.8.6
lastUpdated: 2026-05-28
---
# Monitoring & Costs β Navigation Structure
> Implemented in Group B (plan 16). See `src/shared/constants/sidebarVisibility.ts`.
---
## High-Level Navigation
The dashboard sidebar (after Group B) has these top-level sections in order:
```
Home
Providers
Combos
API Keys
Settings
Analytics
Costs β NEW (Group B, plan 16)
Monitoring β REORGANIZED (Group B, plan 16)
...
```
---
## Costs section (new, level 1)
Path prefix: `/dashboard/costs/`
| Item | URL | Description |
|------|-----|-------------|
| Overview | `/dashboard/costs` | Aggregated cost dashboard (moved from Analytics) |
| Pricing | `/dashboard/costs/pricing` | Per-model pricing table |
| Budget | `/dashboard/costs/budget` | Budget thresholds + alerts |
| Quota Sharing | `/dashboard/costs/quota-share` | Quota Share pools + usage |
| Plan Config | `/dashboard/costs/quota-share/plans` | Per-provider plan overrides |
**Rationale**: Pricing, Budget, and Quota Sharing were previously under
`Monitoring > Costs Parameters`. Moving them to a dedicated top-level section
makes them discoverable without navigating through observability tooling.
---
## Monitoring section (reorganized)
The Monitoring section now has **Activity at the top** followed by **3 subgroups**:
```
Monitoring
βββ Activity β Timeline feed (top-level item)
βββ Logs group
β βββ Logs (all)
β βββ Proxy Logs
β βββ Console Logs
βββ Audit group
β βββ Audit Log
β βββ MCP Audit
β βββ A2A Audit
βββ System group
βββ Health
βββ Runtime
```
### What changed from the old structure
| Before | After |
|--------|-------|
| Activity = tab inside Logs that rendered the Audit Log | Activity = dedicated feed (`/dashboard/activity`) |
| Costs Parameters group in Monitoring | Moved to Costs section |
| Flat list: Logs, Activity (logs), Audit, Health, Runtime, Pricing, Budget, Quota | Structured 3-group + dedicated Costs section |
---
## Activity vs Audit Log
These two are now distinct:
| Dimension | Activity (`/dashboard/activity`) | Audit Log (`/dashboard/audit`) |
|-----------|----------------------------------|-------------------------------|
| **Purpose** | User-facing event feed ("what happened recently") | Compliance / security log |
| **Data source** | `GET /api/compliance/audit-log?level=high` | `GET /api/compliance/audit-log?level=all` |
| **Format** | Timeline, grouped by day, human-readable verbs + icons | Dense paginaged table, 50/page |
| **Filters** | Event type category | Action, severity, actor, date range |
| **Export** | Not available | JSON export |
| **Actor filter** | Not applicable | Filterable by actor |
| **Events shown** | High-level actions only (allowlist) | All audit events |
### High-Level Actions allowlist
Defined in `src/lib/audit/highLevelActions.ts`. Controls which events appear in
the Activity feed. The allowlist includes:
- Provider add/remove/test events
- Combo create/update/delete
- API key lifecycle (create, revoke, rotate)
- Budget threshold reached
- Auth login/logout
- Cloud agent session creation
- MCP tool registration
- Webhook create/delete
- Quota pool/plan changes (`quota.*` actions, Group B)
- Platform events (update, deploy)
- Skill install/remove
Events not in this list appear only in the Audit Log.
### Adding a new high-level action
Edit `src/lib/audit/highLevelActions.ts` and add the action string to
`HIGH_LEVEL_ACTIONS`. This requires a PR (the list is code, not DB-configurable).
The corresponding icon can be added to `src/lib/audit/activityIcons.ts`.
---
## Redirect: `/dashboard/logs/activity`
The old path `/dashboard/logs/activity` is permanently redirected (HTTP 308) to
`/dashboard/activity` via `permanentRedirect()` in
`src/app/(dashboard)/dashboard/logs/activity/page.tsx`.
The legacy sidebar ID `logs-activity` is preserved in `HIDEABLE_SIDEBAR_ITEM_IDS`
(but removed from `SIDEBAR_DEFINITIONS`) to avoid breaking user presets that
reference the old ID.
---
## i18n
Namespaces added by Group B:
| Namespace key | Covers |
|---------------|--------|
| `sidebar.costsSection` | Costs section label |
| `sidebar.activity` | Activity sidebar item |
| `sidebar.logsGroup` | Logs subgroup label |
| `sidebar.systemGroup` | System subgroup label |
| `sidebar.costsOverview` | Costs overview item |
| `activity.*` | All Activity page strings (title, verbs, filters, empty state) |
Source-of-truth locales: `pt-BR` and `en`. All other 39 locales fall back to
English via the `next-intl` fallback mechanism (configured in `src/i18n/config.ts`).
|