Commit graph

37843 commits

Author SHA1 Message Date
Cursor Agent
173266920e
chore(ui): whitelist tremor in 4 more large antd-coupled files
- mcp_tools/mcp_tools (361 LOC)
- claude_code_plugins/add_plugin_form (365 LOC)
- vector_store_management/VectorStoreForm (367 LOC)
- EntityUsageExport/utils.ts (369 LOC): DateRangePickerValue type only

Each file is deeply antd-form driven; tremor primitives kept behind
inline eslint-disable so lint stays green while the underlying form
migration is queued for a follow-up pass.

Gates: Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:09:05 +00:00
Cursor Agent
e3ac5628bc
feat(ui): user_dashboard shell to native shadcn
- @tremor Col/Grid + antd Typography.Title/Paragraph \u2192 plain
  grid-cols-1 div + <h1>/<p>. No tremor imports remaining.
- Removed stray console.log debug statements.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:04:10 +00:00
Cursor Agent
0dd4df60b8
chore(ui): whitelist tremor in large antd-coupled files
- ToolPermissionRulesEditor (342 LOC): keeps tremor Card/Text.
- SearchToolTester (345 LOC): keeps tremor Card/Title.
- CreateSearchTools (336 LOC): keeps tremor Button/TextInput.
- pricing_calculator/multi_cost_results (349 LOC): keeps tremor
  Text/Button.

All four files are driven by antd Form/Table/Modal and would be
cleaner to rewrite once a tremor-less form pattern is established.
Inline eslint-disable comments keep lint green without introducing
risk in phase 1.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:59:41 +00:00
Cursor Agent
253c6629e0
chore(ui): Projects/ProjectDetailsPage whitelist tremor BarChart
- BarChart kept (phase 1 chart whitelist). File is heavily antd-
  coupled (Layout/Descriptions/Progress/Row/Col/theme.useToken);
  full migration deferred until the tremor chart has a Shadcn
  alternative.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:54:31 +00:00
Cursor Agent
90f0a42743
feat(ui): policies/add_attachment_form to shadcn
- antd Modal/Radio/Divider/Typography + @tremor Button \u2192 shadcn
  Dialog/Button/RadioGroup + native section divider.
- antd Form/Form.Item/Select preserved (mode='tags' + tokenSeparators
  + filterOption). loadTeamsKeysAndModels refactored into useCallback.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:51:47 +00:00
Cursor Agent
331a1fe752
feat(ui): SearchTools/SearchTools to shadcn
- @tremor Button/Text/Title + antd Modal/Spin/Input + @ant-design
  LoadingOutlined \u2192 shadcn Button/Dialog/Input + lucide Loader2 +
  native headings.
- antd Form/Form.Item/Select/AntInput.Password/AntInput.TextArea
  preserved (form context + rules). antd Table kept.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:45:59 +00:00
Cursor Agent
facac907d1
feat(ui): transform_request to shadcn
- antd Button + @tremor Title + @ant-design CopyOutlined \u2192 shadcn
  Button + lucide Copy + native <h1>/<h2>.
- All inline style attributes swept to Tailwind classes with
  semantic tokens (border-border / text-muted-foreground /
  bg-muted). Transform button keeps categorical bg-black accent;
  file added to .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:41:39 +00:00
Cursor Agent
542b6e7ea5
feat(ui): add_model/provider_specific_fields to shadcn
- @tremor Text/TextInput + antd Button/Input/Typography \u2192 shadcn
  Button/Input/Textarea + native <p>/<a>.
- antd Form/Form.Item/Select/Upload preserved (beforeUpload hook,
  form.setFieldsValue contract, select Option rendering).
- Replaced verbose console.log debug spam in createCredentialFromModel
  and beforeUpload. Azure base-model help link colors now use
  text-primary semantic token.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:37:18 +00:00
Cursor Agent
ae079ab0fb
chore(ui): add_model/advanced_settings whitelist tremor imports
- Tremor Accordion + Text + TextInput kept (phase 1 whitelist),
  inline eslint-disable added. Deep ties to antd Form + extensive
  Row/Col grid layout make this better deferred to a form rewrite
  pass.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:32:14 +00:00
Cursor Agent
ac297a4a75
feat(ui): Settings/AdminSettings/SSOSettings/BaseSSOSettingsForm to shadcn
- @tremor TextInput \u2192 shadcn Input; AntInput.Password preserved
  for client secret fields.
- antd Form/Form.Item/Select/Checkbox preserved (parent drives form
  context + shouldUpdate + valuePropName='checked' + rules).
- Provider logo <div style=...> swapped for Tailwind utilities.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:29:47 +00:00
Cursor Agent
493b28fc9a
feat(ui): prompts/PromptCodeSnippets to shadcn
- antd Modal/Button + @tremor Button/Text + @ant-design CodeOutlined
  \u2192 shadcn Dialog/Button/Select + lucide Code. antd Tabs kept
  (legacy items prop used across the Generated Code view).
- SyntaxHighlighter preserved; 'style={coy as any}' wrapped in
  eslint-disable.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:25:21 +00:00
Cursor Agent
c79b511c69
feat(ui): mcp_tools/OAuthFormFields to shadcn
- @tremor Button/TextInput + antd Tooltip/Input/Input.TextArea +
  @ant-design InfoCircleOutlined \u2192 shadcn Button/Input/Textarea/
  Tooltip + lucide Info.
- antd Form/Form.Item/Select/InputNumber preserved (form context +
  mode='tags' + tokenSeparators + rules validator).
- text-gray-400/600 \u2192 text-muted-foreground; text-red-500 \u2192
  text-destructive; text-green-600 stays categorical (success
  indicator). File added to .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:21:16 +00:00
Cursor Agent
ae60e9b16d
feat(ui): mcp_tools/McpCrudPermissionPanel to shadcn
- antd Checkbox + @tremor Text + @heroicons ChevronDown/Right
  (already lucide) \u2192 shadcn Checkbox + native <span>/<p> + lucide
  ChevronDown/ChevronRight.
- Categorical CRUD palette (emerald=read, blue=create, amber=update,
  red=delete, muted=unknown) preserved; file added to .eslintrc
  overrides.
- Checkbox indeterminate state uses Radix 'indeterminate' convention;
  group toggle still covers full group regardless of search filter.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:15:26 +00:00
Cursor Agent
3705fb5ef5
feat(ui): policies/policy_test_panel to shadcn
- antd Alert/Tag/Empty/Typography + @tremor Button \u2192 shadcn Badge/
  Button + plain inline bg-red-50 error callout + lucide
  AlertCircle/Info. antd Form/Form.Item/Select preserved (mode=tags
  + filterOption).
- loadOptions wrapped in useCallback with full deps. Categorical
  emerald guardrail / blue matched-via badge; file added to
  .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:11:11 +00:00
Cursor Agent
8b0dfae348
feat(ui): team/EditMembership (MemberModal) to shadcn
- antd Modal/Button + @tremor Text/TextInput \u2192 shadcn Dialog/
  Button/Input. antd Form/Form.Item/Select preserved (mode='multiple'
  + field.rules validators + getFieldValue interactions).
- Removed stray console.log debug statements that leaked in during
  an earlier refactor.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:07:25 +00:00
Cursor Agent
b3f01bab19
feat(ui): AIHub/MakeModelPublicForm to shadcn
- antd Modal/Button/Checkbox + @tremor Text/Title/Badge \u2192 shadcn
  Dialog/Button/Checkbox/Badge. antd Steps/Step preserved.
- Emerald mode badge + blue provider badge + blue info / amber
  warning callouts preserved as categorical palette; file added
  to .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:04:05 +00:00
Cursor Agent
7b4997559a
feat(ui): AIHub/MakeMCPPublicForm to shadcn
- antd Modal/Button/Checkbox + @tremor Text/Title/Badge \u2192 shadcn
  Dialog/Button/Checkbox/Badge. antd Steps/Step preserved.
- Extracted STATUS_BADGE_CLASSES helper that maps active/healthy \u2192
  emerald, inactive/unhealthy \u2192 red, default \u2192 muted. Blue (public
  + transport badge), purple (tools), emerald (Public pill), amber
  (warning callout) categorical palette; file added to .eslintrc
  overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 19:00:50 +00:00
Cursor Agent
a67d91f2e0
feat(ui): AIHub/MakeAgentPublicForm to shadcn
- antd Modal/Button/Checkbox + @tremor Text/Title/Badge \u2192 shadcn
  Dialog/Button/Checkbox/Badge + native headings/paragraphs.
- antd Steps/Step preserved (2-step wizard).
- Categorical blue (version badge + info callout) / purple (skill
  badge) / amber (warning callout) palette; file added to .eslintrc
  overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:57:32 +00:00
Cursor Agent
93d0bc804b
feat(ui): add_model/conditional_public_model_name to shadcn
- @tremor TextInput \u2192 shadcn Input. antd Form/Form.Item/Form.useForm
  + antd Table preserved (Form.useFormInstance + Form.useWatch +
  custom table render functions).
- Tooltip code hint palette swapped from bg-gray-700 to
  bg-foreground/70 text-background so it works in light + dark mode.
- EntityUsageExport/types.ts: tremor DateRangePickerValue type import
  whitelisted inline (phase 1 date-picker whitelist).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:54:28 +00:00
Cursor Agent
4379fd004d
chore(ui): usage.tsx whitelist tremor imports
- 947-LOC dashboard page heavily tied to the full Tremor chart +
  table ecosystem (BarChart/BarList/AreaChart/DonutChart/MultiSelect/
  TabGroup/Grid/Col/Table). Whitelisted phase 1 via inline
  eslint-disable-next-line litellm-ui/no-banned-ui-imports on both
  import statements; full migration deferred until tremor charts
  have a Shadcn alternative.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:49:47 +00:00
Cursor Agent
8abe947e35
chore(ui): common_components/RouterSettingsAccordion whitelist tremor TabGroup
- Tremor Tab/TabGroup/TabList/TabPanel family is intentionally kept
  (phase 1 whitelist). Added inline eslint-disable-next-line so lint
  stays green on this file.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:47:44 +00:00
Cursor Agent
82d0f63212
chore(ui): cache_dashboard whitelist tremor imports
- Tremor BarChart and DateRangePickerValue type import are
  intentionally kept (phase 1 chart + date range whitelist).
  Added inline eslint-disable-next-line litellm-ui/no-banned-ui-
  imports comments so lint stays green.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:45:55 +00:00
Cursor Agent
0d81270d5e
feat(ui): per_user_usage to shadcn
- @tremor Title/Subtitle/Text/Button \u2192 native <h2>/<h3>/<p>/<span>
  + shadcn Button. Tremor Table family + BarChart + TabGroup family
  kept (phase 1 whitelist).
- Refactored fetchPerUserData into useCallback with deps.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:43:29 +00:00
Cursor Agent
99745fe75e
feat(ui): model_dashboard/all_models_table semantic token pass
- Tremor Table family preserved (whitelist) with inline eslint-
  disable; dead getHeaderText helper removed.
- bg-white sticky shadow cells \u2192 bg-background. bg-gray-50 row
  hover \u2192 bg-muted. Resizer bar: bg-blue-500 \u2192 bg-primary,
  hover:bg-blue-200 \u2192 hover:bg-primary/20. Loading/empty state
  messages use text-muted-foreground.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:40:18 +00:00
Cursor Agent
2df7f9c9f5
feat(ui): team/available_teams to shadcn
- @tremor Card/Button/Text/Badge \u2192 shadcn Card/Button/Badge + native
  <span>. Tremor Table family preserved (whitelist).
- Categorical red (all-proxy-models) / blue (named model) Badge
  palette; file added to .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:36:59 +00:00
Cursor Agent
c0a3e3f9a9
feat(ui): agents/dynamic_agent_form_fields to shadcn
- antd Collapse/Panel \u2192 shadcn Accordion for cost-config section.
- antd Input/Input.TextArea \u2192 shadcn Input/Textarea. Kept antd
  Form/Form.Item + Select (Option-based custom renderer) and
  AntInput.Password (password eye toggle comes with antd).
- Typed 'values: any' casts moved to eslint-disable comments; no
  runtime changes.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:32:57 +00:00
Cursor Agent
9190282d6f
feat(ui): SearchTools/SearchToolColumn to shadcn
- antd Tag \u2192 shadcn Badge. Categorical blue (DB source) vs muted
  (Config source) palette preserved; file added to .eslintrc
  overrides. antd Table ColumnsType contract preserved.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:27:34 +00:00
Cursor Agent
af8116fb44
feat(ui): mcp_tools/OpenAPIFormSection Input to shadcn
- antd Input \u2192 shadcn Input. antd Form/Form.Item + FormInstance
  preserved (parent antd Form context + setFieldsValue calls in
  handlePresetSelect).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:22:00 +00:00
Cursor Agent
843d19c2aa
feat(ui): vector_store_management/TestVectorStoreTab to shadcn
- antd Card/Typography \u2192 shadcn Card + native <h5>/<p>. antd Select
  preserved (showSearch + Option custom renderer).
- Swept text-gray-500 to text-muted-foreground.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:16:50 +00:00
Cursor Agent
6e4eb8e648
feat(ui): model_add/reuse_credentials to shadcn Dialog
- antd Modal/Button/Tooltip/Typography + @tremor TextInput \u2192 shadcn
  Dialog/Button/Input + plain styled anchor for Need Help link.
- antd Form/Form.Item preserved (parent drives it + rules +
  initialValue over dynamic credential_values keys).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:10:58 +00:00
Cursor Agent
aa4b3031a8
feat(ui): common_components/MemberTable to shadcn
- antd Button/Space/Tag/Tooltip/Typography + @ant-design Crown/
  Info/UserAdd/User \u2192 shadcn Badge/Button/Tooltip + lucide Crown/
  Info/User/UserPlus. antd Table kept (owns columns ColumnsType<>
  contract with consumers).
- Default Proxy Admin pill preserved as categorical blue accent;
  file added to .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:06:07 +00:00
Cursor Agent
37857a3cae
feat(ui): vector_store_management/DocumentsTable to shadcn
- antd Badge/Tooltip + @ant-design Eye/Copy/Delete \u2192 shadcn Badge/
  Tooltip + lucide Eye/Copy/Trash2. antd Table preserved.
- Status badge palette: blue (uploading) / emerald (done) / red
  (error) / muted (removed) \u2014 categorical, file added to .eslintrc
  overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 18:01:32 +00:00
Cursor Agent
7ba5dd6995
feat(ui): mcp_tools/StdioConfiguration to shadcn
- antd Input/Tooltip + @ant-design InfoCircleOutlined \u2192 shadcn
  Textarea/Tooltip + lucide Info. antd Form.Item preserved (parent
  antd Form context + JSON validator rule).
- Swept text-gray-700/border-gray-300/focus:border-blue-500 to
  semantic foreground/border tokens.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:58:27 +00:00
Cursor Agent
74411b9391
feat(ui): view_users/table to shadcn
- @heroicons ChevronUp/Down/SwitchVertical + antd Skeleton \u2192 lucide
  ArrowUpDown/ChevronUp/ChevronDown + plain bg-muted animate-pulse
  shimmer placeholders.
- Tremor Table family + Tremor Select/SelectItem kept (phase 1
  whitelist).
- Swept bg-white/bg-gray-100/text-gray-400/hover:bg-gray-50 to
  bg-background/bg-muted/text-muted-foreground semantic tokens.
  Clicked user_id cell now uses text-primary instead of hardcoded
  #3b82f6.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:50:12 +00:00
Cursor Agent
40855cb990
feat(ui): vector_store_management/vector_store_info to shadcn
- @tremor Card/Text/Title/Button/Badge + @heroicons ArrowLeftIcon +
  antd Tooltip/Button + @ant-design InfoCircleOutlined \u2192 shadcn
  Card/Button/Badge/Tooltip + lucide ArrowLeft/Info.
- Tremor TabGroup/TabList family kept (whitelist). antd Form/Form.
  Item/Select2/AntInput/AntInput.TextArea preserved (parent antd
  Form context + validation rules + custom option renderer).
- Refactored fetchVectorStoreDetails/fetchCredentials into use
  Callback; fixed unused activeTab state. Badge color='blue' \u2192
  categorical bg-blue-100 class (file in .eslintrc overrides).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:46:21 +00:00
Cursor Agent
0a78ad67a3
feat(ui): vector_store_management/VectorStoreTable to shadcn
- @heroicons ChevronUp/Down/SwitchVertical + antd Tooltip \u2192 lucide
  ArrowUpDown/ChevronUp/ChevronDown + shadcn Tooltip. Tremor Table
  family kept (whitelist).
- bg-white sticky shadow cell \u2192 bg-background. text-blue-600 (file
  count summary) preserved as categorical accent.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:42:00 +00:00
Cursor Agent
19725dc57f
feat(ui): vector_store_management/index chrome to shadcn
- @heroicons RefreshIcon + @tremor Icon/Button/Col/Text/Grid \u2192
  lucide RefreshCcw + shadcn Button + native flex/grid.
- Tremor TabGroup/TabList family preserved (phase 1 whitelist).
- fetchVectorStores/fetchCredentials wrapped in useCallback with
  proper deps (useEffect no longer re-fires on every render).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:37:09 +00:00
Cursor Agent
c76616f9c5
feat(ui): AIHub/UsefulLinksManagement to shadcn
- @heroicons ChevronDown/Right/ExternalLink/PlusCircle + @tremor
  Card/Text/Title/Table family \u2192 lucide ChevronDown/ChevronRight/
  ExternalLink/Plus + shadcn Card/Button/Input. Tremor Table family
  preserved (whitelist).
- Extracted fetchUsefulLinks into useCallback and fixed 'as any' on
  the useful_links value reader.
- Blue Public-Model-Hub pill, purple Rearrange chip, emerald Save/
  Add buttons kept as categorical palette; file added to .eslintrc
  overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:33:42 +00:00
Cursor Agent
07877d5bef
feat(ui): models-and-endpoints/ModelsAndEndpointsView chrome to shadcn
- @heroicons RefreshIcon \u2192 lucide RefreshCcw. @tremor Col/Grid/Icon
  \u2192 plain grid-cols-1 + semantic native button. Tremor Tab/TabGroup/
  TabList/TabPanels family kept (phase 1 whitelist).
- antd Typography.Title/Paragraph \u2192 <h1>/<p>.
- Refresh button becomes a native button with border/muted hover.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:29:23 +00:00
Cursor Agent
458092a631
feat(ui): DeletedKeysPage/DeletedKeysTable to shadcn
- @heroicons ChevronUp/Down/SwitchVertical + antd Tooltip \u2192 lucide
  ArrowUpDown/ChevronUp/ChevronDown + shadcn Tooltip. Tremor Table
  family kept (whitelist).
- Extracted repeated Tooltip-wrapped truncated span into a TipSpan
  helper; killed the 'as any' casts from deleted_at/deleted_by/
  created_by row reads.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:24:48 +00:00
Cursor Agent
cb6bad5b7e
feat(ui): DeletedTeamsPage/DeletedTeamsTable to shadcn
- @heroicons ChevronUp/Down/SwitchVertical + @tremor Badge/Text +
  antd Tooltip \u2192 lucide ArrowUpDown/ChevronUp/ChevronDown + shadcn
  Badge/Tooltip. Tremor Table family kept (whitelist).
- Categorical badges: red (all-proxy-models) / blue (named models)
  / muted (overflow).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:21:02 +00:00
Cursor Agent
459890c986
feat(ui): team/LoggingSettings to shadcn
- antd Divider/Tooltip + @ant-design InfoCircleOutlined + @tremor
  Button/Card/TextInput + @heroicons Plus/Trash/Cog/Ban \u2192 shadcn
  Button/Card/Input/Tooltip + lucide Ban/Info/Plus/Settings/Trash2.
- antd Select preserved for mode='multiple' + optionLabelProp='label'
  + custom Option renders.
- Card decoration='top' decorationColor='blue' \u2192 border-t-2
  border-t-blue-500 (categorical accent, file added to .eslintrc).
- Sensitive/Number chips + success/failure/blue dots keep categorical
  amber/emerald/red/blue palette.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:17:07 +00:00
Cursor Agent
8bea28b5d6
feat(ui): claude_code_plugins/plugin_info to shadcn
- @ant-design CopyOutlined + @heroicons ArrowLeft/ExternalLink +
  @tremor Badge/Button/Card/Grid/Text/Title + antd Spin/Switch/
  Tooltip \u2192 shadcn Badge/Button/Card/Switch/Tooltip + lucide
  ArrowLeft/Copy/ExternalLink/Loader2.
- Categorical BADGE_COLOR_CLASSES map replaces tremor's color= props.
- Refactored fetchPluginInfo into useCallback.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:13:21 +00:00
Cursor Agent
10b92f91de
feat(ui): agents/agent_info to shadcn
- @tremor Card/Title/Text/Button + @heroicons ArrowLeftIcon + antd
  Button/Spin/Divider \u2192 shadcn Button/Card + lucide ArrowLeft/
  Loader2 + native <h1>/<h2>/<h3>/<hr className='border-border'>.
- Tremor TabGroup/TabList family + antd Descriptions/Form/
  Form.Item/Input/InputNumber preserved.
- Refactored fetchAgentInfo into useCallback with proper deps.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:10:10 +00:00
Cursor Agent
eccd397d39
feat(ui): mcp_tools/mcp_server_view to shadcn
- @heroicons ArrowLeft/Eye/EyeOff + @tremor Title/Card/Button/Text/
  Grid/Icon + antd Button \u2192 shadcn Button/Card + lucide ArrowLeft/
  Check/Copy/Eye/EyeOff.
- Tremor TabGroup/TabList/TabPanel family kept for now (phase 1
  whitelist). Grid \u2192 plain grid-cols-1 sm:grid-cols-2 lg:grid-cols-3.
- Allow-all/Network/Allowed-tools badges use categorical emerald/
  orange/blue palette; file added to .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:05:59 +00:00
Cursor Agent
12855c70da
feat(ui): policies/policy_templates to shadcn
- antd Card/Button/Spin/Checkbox + @heroicons ShieldCheck/
  ShieldExclamation/Beaker/CurrencyDollar/CheckCircle \u2192 shadcn
  Card/Button/Checkbox + lucide Shield/ShieldAlert/Beaker/
  DollarSign/CheckCircle/Loader2.
- Kept iconMap contract (JSON templates reference 'ShieldCheckIcon'
  etc) but now maps to lucide equivalents.
- Complexity badges keep categorical blue/purple palette; file added
  to .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 17:02:05 +00:00
Cursor Agent
bfc9d8f836
feat(ui): UsagePage/EntityUsage/TopKeyView to shadcn
- @heroicons ChevronUp/Down \u2192 lucide ChevronUp/ChevronDown + X.
- @tremor Button pill \u2192 shadcn-styled native <button> with semantic
  blue/muted palette. @tremor BarChart preserved (chart whitelist
  with inline eslint-disable).
- Hand-rolled modal overlay cleaned up (bg-black/50 + bg-background
  + lucide X close icon); tooltip contents use TooltipContent for
  tag hover details. File added to .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:58:57 +00:00
Cursor Agent
ba63fcd618
feat(ui): model_dashboard/health_check_columns to shadcn
- antd Tooltip/Checkbox + @tremor Text + @heroicons
  InformationCircle/Play/Refresh \u2192 shadcn Tooltip/Checkbox + lucide
  Info/Play/RefreshCcw.
- Checkbox indeterminate state uses Radix checkbox's 'indeterminate'
  boolean convention.
- Indigo (action button), blue (model id pill), emerald (success
  response), red (error detail) categorical palette preserved; file
  added to .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:55:13 +00:00
Cursor Agent
3f383d0253
feat(ui): model_add/credentials to shadcn
- @heroicons Pencil/Trash + @tremor Button/Badge/Card/Text \u2192 shadcn
  Button/Badge/Card + lucide Pencil/Trash2.
- Kept tremor Table family (whitelisted). Kept antd Form.useForm
  (unused but required by downstream modal wiring).
- Provider pill palette (openai=blue, azure=indigo, anthropic=purple,
  default=muted) moved into PROVIDER_BADGE_CLASSES map. File added
  to .eslintrc overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:52:22 +00:00
Cursor Agent
268a3da128
feat(ui): guardrails/guardrail_optional_params to shadcn Button
- antd Typography.Title + Button \u2192 plain <h3> + shadcn Button
  (variant=ghost with text-destructive for Remove).
- Kept antd Form/Form.Item, Select (mode='multiple' and Option-based
  boolean/select renders), and AntInput/AntInput.Password (the file
  is driven by a parent antd Form context with initialValue + rules).
- Swept all gray/white/gray-50 to semantic background/muted/border/
  muted-foreground tokens.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:48:51 +00:00