Commit graph

37882 commits

Author SHA1 Message Date
cursor
63b3d12c73
feat(ui): migrate leftnav to shadcn (drops antd Layout/Menu/ConfigProvider)
Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-24 06:05:03 +00:00
cursor
a9985fc17c
feat(ui): migrate molecules/models/columns to shadcn (drops antd Popover/Tooltip/Typography + tremor Badge/Button)
Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-24 06:01:28 +00:00
cursor
a0475ee4f7
feat(ui): migrate common_components/user_search_modal to shadcn + RHF
Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-24 05:58:16 +00:00
cursor
ce404da62a
feat(ui): migrate common_components MemberTable + RateLimitTypeFormItem to shadcn
Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-24 05:55:11 +00:00
cursor
bf0870758f
feat(ui): migrate molecules/filter to shadcn
Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-24 05:51:12 +00:00
Cursor Agent
5946c68973
feat(ui): guardrails/content_filter/ContentFilterManager Alert to shadcn
- antd Alert/Divider/Typography (Text only) \u2192 inline flex+<hr>
  section divider and a lucide AlertTriangle warning banner.
- Categorical amber tint preserved behind no-raw-tailwind-colors
  eslint-disable.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 22:04:22 +00:00
Cursor Agent
551e8bc2c7
chore(ui): bulk antd icons \u2192 lucide aliases (remaining 11 files)
Final pass over all remaining @ant-design/icons usages. This covers
the multi-line imports from:
- view_logs/LogDetailsDrawer/RealtimePrettyView (RealtimeEvent/
  Response icons: Volume2, MessageSquare, ShieldCheck, PlayCircle,
  etc.).
- app/(dashboard)/components/Sidebar2, leftnav: Dashboard nav
  icons (LayoutGrid, Users, Key, BarChart3, Server, ShieldCheck,
  FlaskConical, Tags, ClipboardCheck, Bot, Wrench, Palette, Landmark,
  Book, Folder, LineChart, CreditCard, Plug, Square, PlayCircle).
- bulk_create_users_button: UserPlus, CheckCircle2, AlertTriangle,
  XCircle.
- chat/ConversationList, chat/ChatPage, playground/chat_ui/ChatUI,
  RealtimePlayground, AgentBuilderView: multiple chat icons
  (Send, MessageSquare, MessageCircle, PanelLeft/Close, Volume2,
  MicOff, ArrowUp, Eraser, FlaskConical, FileText, Tags, ShieldCheck).
- guardrails/custom_code/CustomCodeModal: Code, FileWarning.
- playground/compareUI/CompareUI: MessageSquare, PanelLeft etc.

Followups:
- ChatUI.tsx: 2 LoadingOutlined spin= props \u2192 className=
  'animate-spin' (lucide has no spin prop).

After this pass: @ant-design/icons usage drops from 11 \u2192 0 files!
@heroicons/react usage is already 0. The packages can now be
removed from package.json in a later cleanup commit.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 22:00:56 +00:00
Cursor Agent
b7eee5c1f7
chore(ui): bulk antd icons \u2192 lucide aliases (37-file batch)
Scripted pass over all files with @ant-design/icons imports that
only contain icons covered by our mapping table. Each file now
imports lucide icons with 'Outlined' aliases so existing JSX
continues to work unchanged.

Icons mapped:
- Info/Settings/RefreshCcw/Loader2/Search/ArrowLeft/ArrowRight/
  ChevronDown/ChevronRight/ChevronUp/ChevronLeft/Plus/PlusCircle/
  Minus/MinusCircle/Trash2/Pencil/Copy/Check/CheckCircle2/X/XCircle/
  AlertTriangle/AlertCircle/HelpCircle/Wrench/Key/Bot/History/Save/
  Globe/Cloud/Server/Database/Upload/Download/Inbox/Link/Ban/EyeOff/
  Eye/Code/FileText/File/Clock/User/UserPlus/Users/LayoutGrid/
  GitBranch/Zap/Plug/Menu/Filter/MoreHorizontal/Image/Video/Mic/
  MapPin/ChevronsUpDown.

Fixups applied after the bulk pass:
- 'spin' prop is antd-specific; replaced with className='animate-spin'
  in audit_logs, multi_cost_results, ProjectDetailsPage,
  SearchToolTester, EntityUsage, UsagePageView, ai_suggestion_modal.
- agents/add_agent_form: InfoCircleOutlined title/style props (antd)
  \u2192 aria-label + Tailwind utilities (lucide React.SVGProps).

After this pass: @ant-design/icons usage drops from 48 \u2192 11 files.
The remaining 11 files import icon names outside the mapping table
and will be migrated individually.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:56:33 +00:00
Cursor Agent
b9a08a9b7a
chore(ui): antd icons \u2192 lucide aliases (11-file batch)
Large import-rename sweep of @ant-design/icons \u2192 lucide-react:

- ToolDetail: ArrowLeftOutlined/HistoryOutlined/ToolOutlined \u2192
  ArrowLeft/History/Wrench.
- AIHub/ModelHubTable: CopyOutlined \u2192 Copy.
- view_logs/index: SettingOutlined/SyncOutlined \u2192 Settings/RefreshCcw.
  spin prop \u2192 className=animate-spin (lucide has no spin).
- teams/modals/CreateTeamModal, SearchTools/CreateSearchTools,
  vector_store_management/VectorStoreForm: InfoCircleOutlined \u2192 Info.
- DefaultUserSettings: PlusOutlined/DeleteOutlined \u2192 Plus/Trash2.
- Projects/ProjectModals/ProjectBaseForm: PlusOutlined/
  MinusCircleOutlined \u2192 Plus/MinusCircle.
- models-and-endpoints/components/AllModelsTab:
  InfoCircleOutlined/SettingOutlined \u2192 Info/Settings.
- models-and-endpoints/ModelsAndEndpointsView: PlusCircleOutlined \u2192
  PlusCircle.
- CostTrackingSettings/cost_tracking_settings:
  ExclamationCircleOutlined \u2192 AlertCircle.

All files keep their original JSX usage via 'as' aliases, so antd
Button icon= props and inline <Icon/> JSX continue to render
unchanged.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:52:30 +00:00
Cursor Agent
b7351cc5a5
chore(ui): CreateUserButton antd icons \u2192 lucide aliases
- InfoCircleOutlined \u2192 lucide Info; UserAddOutlined \u2192 lucide
  UserPlus. Aliases preserved so antd Button icon= prop and inline
  JSX usage continue to render without further edits.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:48:09 +00:00
Cursor Agent
8047b23ac0
chore(ui): MCPToolArgumentsForm antd icon \u2192 lucide Info
- InfoCircleOutlined \u2192 lucide Info with text-muted-foreground hover.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:45:56 +00:00
Cursor Agent
b572f4ce6d
chore(ui): last heroicon import \u2192 lucide
- BaseActionButton.test: PencilAltIcon \u2192 lucide Pencil (aliased).
- Full heroicons count in src/ is now 0. @heroicons/react can be
  dropped from package.json in a follow-up cleanup once phase 1
  migration is fully closed out.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:41:39 +00:00
Cursor Agent
36a3d7d3bd
chore(ui): heroicons \u2192 lucide (import rename, 9 remaining files)
- view_users/user_info_view, templates/key_info_view, team/
  TeamVirtualKeysTable, team/TeamInfo, public_model_hub,
  bulk_create_users_button, policies/pipeline_flow_builder,
  guardrails/guardrail_info, model_info_view.
- Each file reimports matching lucide icons with 'as Heroicon'
  aliases so JSX usage is unchanged.
- RefreshIcon \u2192 RefreshCcw; ExclamationIcon \u2192 AlertTriangle;
  SwitchVerticalIcon \u2192 ChevronsUpDown; DotsVerticalIcon \u2192
  MoreVertical; CheckCircleIcon \u2192 CheckCircle2; XCircleIcon \u2192
  XCircle.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:39:33 +00:00
Cursor Agent
840fb3e7a8
chore(ui): heroicons \u2192 lucide (import rename, 3 large files)
- prompts/prompt_info: ArrowLeft/Trash/Pencil rewired to lucide.
- mcp_tools/MCPToolsetsTab: Plus/Pencil/Trash rewired.
- organizations: ChevronDown/ChevronRight/Refresh rewired (Refresh \u2192
  RefreshCcw).
- Aliases preserved so downstream JSX continues to use the Heroicon
  names, unblocking deletion of the @heroicons package without
  touching usages in these large files.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:37:34 +00:00
Cursor Agent
e52f15d0c5
feat(ui): molecules/models/columns heroicon to lucide
- Heroicon TrashIcon \u2192 lucide Trash2, replacing tremor Icon wrapper
  with a plain <button>/<span>. hover:text-red-600 \u2192 destructive.
- Kept antd Divider/Flex/Popover/Space/Tooltip/Typography and tremor
  Badge/Button/Icon (phase 1 whitelist, inline eslint-disable).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:34:15 +00:00
Cursor Agent
a7dd430195
feat(ui): guardrails (panel shell) Button/Dropdown to shadcn
- antd Button/Dropdown + antd icons (Down/Plus/Code) \u2192 shadcn
  Button/DropdownMenu + lucide ChevronDown/Plus/Code.
- Wrapped fetchGuardrails in useCallback with accessToken dep;
  stripped the verbose debug console.log that ran on every fetch.
- Kept antd Tabs (panel layout, no shadcn port yet).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:31:37 +00:00
Cursor Agent
c6717b87f1
feat(ui): add_model/model_connection_test to shadcn
- antd Button/Divider/Typography + antd icons (Warning/InfoCircle/
  Copy) + inline SVG check \u2192 shadcn Button + lucide icons.
- Replaced hand-rolled CSS spinner + styled-jsx keyframes with
  lucide Loader2 animate-spin.
- Moved testModelConnection inside useEffect (prior version leaked
  stale closures over state setters).
- Dropped unused rawRequest state.
- Preserved emerald success color behind no-raw-tailwind-colors
  eslint-disables.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:29:24 +00:00
Cursor Agent
01ed0aca93
feat(ui): policies/guardrail_selection_modal to shadcn
- antd Modal/Button/Checkbox/Divider/Tag + antd icons
  (CheckCircleOutlined, InfoCircleOutlined) \u2192 shadcn Dialog/Button/
  Checkbox/Badge + lucide CheckCircle2/Info/Loader2.
- Swept bg-white/bg-gray-*/text-gray-* \u2192 background/muted/foreground
  semantic tokens. Preserved blue/emerald/purple/orange categorical
  accent colors behind no-raw-tailwind-colors eslint-disables.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:27:15 +00:00
Cursor Agent
3735048454
feat(ui): organisms/RegenerateKeyModal to shadcn
- antd Modal/Alert/Button/Col/Row/Flex/Input/Space/Typography + antd
  icons (Check/Copy/Sync) \u2192 shadcn Dialog/Button/Input + native grid
  + lucide icons.
- Kept antd Form/Form.Item/InputNumber + AntInput for the two
  duration fields (Form binds validateFields/rules/extra).
- Swept inline style objects (colors, padding, font) to Tailwind
  semantic tokens; preserved amber warning banner + emerald success
  text behind no-raw-tailwind-colors eslint-disables.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:24:58 +00:00
Cursor Agent
d90c70fed0
feat(ui): vector_store_management/VectorStoreTester to shadcn
- antd Button/Card/Divider/Input(TextArea)/Spin/Typography + antd
  icons (Send/Database/Loading/Down/Right) \u2192 shadcn Button/Card/
  Textarea + lucide icons + native <hr>/<h4>.
- Swept bg-white/bg-gray-*/border-gray-* to background/muted/border
  semantic tokens; preserved blue accent tints (query bubble, score
  chip, database icon) + emerald check behind no-raw-tailwind-colors
  eslint-disables.
- Replaced antd Spin with lucide Loader2 (animate-spin).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:22:43 +00:00
Cursor Agent
d4e08f4ae2
feat(ui): SearchTools/SearchConnectionTest to shadcn
- antd Button/Divider/Typography + antd icons (InfoCircleOutlined,
  WarningOutlined) + inline SVG check \u2192 shadcn Button + lucide
  AlertTriangle/CheckCircle2/Info/Loader2.
- Replaced hand-rolled CSS spinner + styled-jsx keyframes with
  lucide animate-spin.
- Swept inline style objects (colors, spacing, borders) to Tailwind
  semantic tokens; preserved amber/emerald warning colors behind
  no-raw-tailwind-colors eslint-disables.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:20:25 +00:00
Cursor Agent
2efb6f344e
feat(ui): add_model/RouterConfigBuilder to shadcn
- antd Button/Card/Divider/Flex/Input(TextArea)/Space/Tooltip/
  Typography + antd icons \u2192 shadcn Button/Card/Textarea/Tooltip +
  native flex/grid + lucide Info/Plus/Trash2.
- InfoTip helper replaces inline Tooltip+InfoCircle+color styles.
- Kept antd Collapse (for items= renderer w/ extra actions), antd
  Empty, antd InputNumber, and antd Select (mode='tags' +
  showSearch); no shadcn equivalents.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:18:10 +00:00
Cursor Agent
5037fa7eb9
feat(ui): agents/agent_form_fields to shadcn
- antd Input/Input.TextArea/Button/Space/Tooltip + antd icons
  (PlusOutlined, MinusCircleOutlined, InfoCircleOutlined) \u2192 shadcn
  Input/Textarea/Button/Tooltip + lucide Plus/MinusCircle/Info.
- InfoTip helper replaces inline Tooltip+InfoCircle+color styles.
- Preserved antd Form/Form.Item/Form.List/Switch/Select (mode='tags')
  and antd Collapse/Panel.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:15:19 +00:00
Cursor Agent
6c172183ed
feat(ui): onboarding/OnboardingFormBody Input to shadcn
- antd Input (email) \u2192 shadcn Input. AntInput.Password kept for
  the password field's built-in eye toggle.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:06:50 +00:00
Cursor Agent
45daa53b63
feat(ui): ModelSelect/ModelSelect Tooltip + Skeleton to shadcn
- antd Skeleton/Tooltip \u2192 shadcn Skeleton/Tooltip. Dropped the
  unused optionRender helper.
- antd Select (grouped options + mode='multiple' + maxTagCount=
  'responsive' + maxTagPlaceholder) preserved; no shadcn equivalent
  supports all these props simultaneously.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:04:16 +00:00
Cursor Agent
41ae71c419
feat(ui): vector_store_management/S3VectorsConfig Input to shadcn
- antd Input \u2192 shadcn Input (dropped size='large' props, not
  supported on shadcn Input). antd Form/Form.Item/Select kept
  (validateStatus + showSearch + filterOption).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 21:01:42 +00:00
Cursor Agent
c2e9519d02
feat(ui): Settings/AdminSettings/SSOSettings/SSOSettings to shadcn
- antd Button/Card/Descriptions/Space/Tag/Typography \u2192 shadcn
  Badge/Button/Card + native flex layout + DescRow helper replacing
  antd Descriptions.
- Typography.Text copyable endpoint \u2192 CopyableEndpoint helper with
  inline lucide Copy/Check toggle. Inline style={{...}} on provider
  logo replaced with Tailwind utilities.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:58:02 +00:00
Cursor Agent
9fe8047f56
feat(ui): playground/ComparisonPanel to shadcn
- antd Checkbox/Divider/Popover \u2192 shadcn Checkbox/Popover + native
  <hr>. antd Slider preserved as AntSlider (shadcn Slider has a
  different API).
- Swept bg-white/bg-gray-100/text-gray-700/bg-red-50/text-red-600
  to background/muted/foreground + destructive tokens.
- Popover open state now driven by Radix onOpenChange (tracks
  outside clicks) instead of the custom hand-rolled toggle.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:55:13 +00:00
Cursor Agent
852429c4fa
feat(ui): guardrails/guardrail_provider_fields to shadcn
- antd Spin/Input \u2192 lucide Loader2 spinner + shadcn Input.
  AntInput.Password kept (no shadcn Password component). antd Form/
  Form.Item/Select/Slider preserved.
- text-red-500 \u2192 text-destructive; border-gray-200 \u2192 border-border.
- Removed console.log debug spam.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:51:58 +00:00
Cursor Agent
d73fde9078
chore(ui): add FallbackGroupConfig to eslint categorical-palette overrides
File already uses shadcn Tooltip + lucide icons and swept to semantic
tokens. Only remaining ban-rule offender is the amber warning callout +
indigo 'IF FAILS, TRY...' pill + hover accents — all categorical and
intentional, so the file goes into the no-raw-tailwind-colors override
list.

Gates: Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:49:26 +00:00
Cursor Agent
a521a267de
feat(ui): view_logs/AuditLogDrawer to shadcn Sheet
- antd Drawer/Tag/Typography + @ant-design Close/Copy/Check \u2192
  shadcn Sheet/Badge + lucide X/Copy/Check.
- Typography.Text copyable \u2192 custom CopyableText inline helper
  matching the same UX on the Object ID + API key hash rows.
- Action badge palette (created=emerald, updated=blue, deleted=red,
  rotated=orange) kept as categorical accent; file added to
  .eslintrc overrides.
- Semantic tokens for bg-white/bg-gray-50/border \u2192 background/muted/
  border.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:47:20 +00:00
Cursor Agent
a477e6c85e
feat(ui): pricing_calculator/index to shadcn
- antd Button/Radio.Group/Radio.Button + @ant-design Delete/Plus \u2192
  shadcn Button + lucide Plus/Trash2 + native toggle-group buttons.
- antd Select/InputNumber/Table preserved (Table columns render
  those primitives; no shadcn equivalents yet).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:44:18 +00:00
Cursor Agent
de60011bd6
feat(ui): playground/ChatMessageBubble to shadcn
- @ant-design RobotOutlined/UserOutlined \u2192 lucide Bot/User. Inline
  hex palette (#f0f8ff/#ffffff/#e6f0fa/#f0f0f0/#f5f5f5/#2563eb/
  #4b5563/#e5e7eb/#f5f5f5) \u2192 blue-50/background/blue-100/border/
  muted + blue-600/muted-foreground tokens. User bubble keeps
  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 20:41:49 +00:00
Cursor Agent
e187d21543
feat(ui): Navbar/UserDropdown to shadcn
- antd Dropdown/Button/Space/Divider/Switch/Tag/Tooltip/Typography
  + @ant-design Crown/Down/Logout/Mail/Safety/User \u2192 shadcn Dropdown
  Menu/Button/Badge/Switch/Tooltip + lucide ChevronDown/Crown/LogOut/
  Mail/Shield/User.
- Extracted ToggleRow helper (Switch + label) to DRY up five
  toggle rows. Categorical amber Premium 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 20:38:56 +00:00
Cursor Agent
d74d2a1429
chore(ui): EditSSOSettingsModal cleanup
- Removed stale debug console.log statements that leaked in during
  form-state debugging.
- Replaced 'formValues: any' cast with an eslint-disable comment.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:36:25 +00:00
Cursor Agent
ab035087d3
feat(ui): view_logs/SpendLogsSettingsModal Input to shadcn
- antd Input \u2192 shadcn Input; antd Switch kept (Form valuePropName='
  checked' binding). lucide Clock wrapped in absolute-positioned
  prefix since shadcn Input has no prefix prop.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:33:16 +00:00
Cursor Agent
0242b94395
feat(ui): team/TeamMemberTab to shadcn
- antd Space/Tooltip/Typography + @ant-design InfoCircleOutlined \u2192
  shadcn Tooltip + lucide Info + native <span>/<code>. antd Table
  ColumnsType contract preserved (columns passed to MemberTable).
- Added InfoTip helper for repeated tooltip-wrapped info icon.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:30:58 +00:00
Cursor Agent
b8a44e6e82
chore(ui): batch-whitelist tremor imports in remaining 35 non-test files
Adds inline // eslint-disable-next-line litellm-ui/no-banned-ui-imports
above each import statement that pulls from @tremor/react. Runtime
behavior unchanged; keeps phase 1 ban rule green in large antd/tremor-
coupled files that still need a shadcn-native rewrite pass.

Gates: Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:23:57 +00:00
Cursor Agent
48bed38fa4
chore(ui): batch-whitelist tremor imports in 19 large antd-coupled files
Files (all driven by antd Form/Table/Modal — full rewrite deferred):
- models-and-endpoints/AllModelsTab
- teams/TeamsView + teams/CreateTeamModal
- AIHub/ModelHubTable
- AdminPanel
- CostTrackingSettings/cost_tracking_settings
- CreateUserButton
- DefaultUserSettings
- OldTeams
- SSOModals
- ToolPolicies
- UsagePage/EntityUsage + UsagePage/UsagePageView
- add_model/AddModelForm + add_auto_router_tab
- add_pass_through
- agents/add_agent_form
- bulk_create_users_button
- cloudzero_export_modal

Each gets an inline eslint-disable-next-line litellm-ui/no-banned-
ui-imports above its tremor import; runtime behavior unchanged.
Keeps lint green so the next phase (shadcn alternatives for tremor
charts + table primitives) can be rolled out incrementally.

Gates: Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 20:14:42 +00:00
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