* feat(ui): cut budgets, workflows, and guardrails-monitor over to path routes Continues the page-by-page App Router migration (#30185, #30226). All three legacy switch arms passed only accessToken, so each route wrapper is a thin useAuthorized() + render. MIGRATED_PAGES routes the sidebar and redirects the legacy ?page= URLs; the e2e fixture picks all three up in the migration smoke and sidebar specs automatically. * refactor(ui): colocate budgets, workflows, and guardrails-monitor components budgets and workflow_runs were imported only by the legacy switch, so they move wholesale into their route folders; the budgetItem type hoists into the shared useBudgets hook, which owns the API response shape, so the hooks layer no longer imports from a page folder. GuardrailsMonitor keeps LogViewer, mockData, and MetricCard at the shared src/components home because ToolDetail and ToolPolicies import them; the rest moves. eslint suppressions are re-keyed accordingly. * fix(ui): restore MetricCard test-utils path and merge duplicate import MetricCard.test.tsx got the moved-tree depth rewrite before being moved back to src/components/GuardrailsMonitor, leaving a five-level path that escapes the project root; the suite failed at import. Also merge the two imports from useBudgets in budget_panel.tsx. Both flagged by Greptile.
28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
/**
|
|
* Source of truth for the App Router migration E2E suites.
|
|
*
|
|
* Add an entry (legacy sidebar page id -> route segment) once a page's migration
|
|
* has MERGED to the branch under test. Consumers pick it up automatically:
|
|
* - migration smoke (tests/migration/migratedPages.spec.ts), via MIGRATED_E2E_SEGMENTS:
|
|
* default mount: npm run e2e:migration
|
|
* server-root-path mount: SERVER_ROOT_PATH=/<root> npm run e2e:migration:root
|
|
* - navigation specs that assert per-page URLs (tests/navigation/sidebar.spec.ts)
|
|
*
|
|
* Keep this in lockstep with MIGRATED_PAGES in src/utils/migratedPages.ts.
|
|
* Pending (add as each PR lands): the leaf-pages batch
|
|
* (caching, cost-tracking, guardrails, logs, mcp-servers, memory,
|
|
* policies, prompts, search-tools, skills, tag-management, tool-policies,
|
|
* transform-request, ui-theme, vector-stores).
|
|
*/
|
|
export const MIGRATED_E2E_PAGES: Record<string, string> = {
|
|
api_ref: "api-reference",
|
|
"llm-playground": "playground",
|
|
projects: "projects",
|
|
"access-groups": "access-groups",
|
|
budgets: "budgets",
|
|
workflows: "workflows",
|
|
"guardrails-monitor": "guardrails-monitor",
|
|
};
|
|
|
|
export const MIGRATED_E2E_SEGMENTS: string[] = [...new Set(Object.values(MIGRATED_E2E_PAGES))];
|