Commit graph

37789 commits

Author SHA1 Message Date
Cursor Agent
aa7c219fc4
feat(ui): common_components/check_openapi_schema to shadcn
- @tremor TextInput + antd Input/Input.TextArea/InputNumber/Tooltip
  + @ant-design InfoCircleOutlined \u2192 shadcn Input/Textarea/Tooltip +
  NumericalInput shared helper + lucide Info.
- antd Select preserved for enum-backed fields.
- text-red-500 \u2192 text-destructive / text-gray-500 \u2192 text-muted-
  foreground.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:33:34 +00:00
Cursor Agent
7d31cc2ecc
feat(ui): guardrails/guardrail_garden_detail to shadcn
- antd Button + @ant-design ArrowLeftOutlined \u2192 shadcn Button +
  lucide ArrowLeft.
- Removed all inline style={{ ... }} blocks; replaced Vertex-like
  hex palette (#5f6368 / #dadce0 / #f1f3f4 / #1a73e8 / #202124)
  with semantic tokens (muted-foreground/border/primary/foreground).
- Tab bar implemented as native buttons with bottom-border active
  state; table cells use border-border/60 for lighter dividers.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:31:17 +00:00
Cursor Agent
010b0bd00b
feat(ui): playground/CodeInterpreterOutput to shadcn
- antd Collapse/Spin + @ant-design icons (Code/Download/FileImage/
  FileText/Loading) \u2192 shadcn Accordion + lucide Code/Download/
  FileImage/FileText/Loader2.
- Converted all gray palette (bg-gray-50/text-gray-500/border-gray-
  200) to semantic muted/border tokens. Primary token used for
  download/file icons.
- SyntaxHighlighter preserved.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:29:03 +00:00
Cursor Agent
5c633d5322
feat(ui): playground/MCPEventsDisplay to shadcn Accordion
- antd Typography/Collapse+Panel \u2192 shadcn Accordion/AccordionItem/
  AccordionTrigger/AccordionContent + lucide Check.
- Large inline styled-jsx block replaced with semantic Tailwind
  (bg-muted/border-border/text-muted-foreground).
- Vertical guide line uses bg-border; 'Approved' checkmark uses
  text-emerald-500 (categorical but limited to a single inline token).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:26:59 +00:00
Cursor Agent
c235ee3a7f
feat(ui): playground/A2AMetrics to shadcn
- antd Tooltip/Button + full @ant-design/icons set (CheckCircle/Clock/
  Loading/ExclamationCircle/Copy/Down/Right/Link/FileText/Robot) \u2192
  shadcn Tooltip/Button + lucide AlertCircle/Bot/CheckCircle2/
  ChevronDown/ChevronRight/Clock/Copy/FileText/Link/Loader2.
- Status pill palette (emerald/blue/red/muted) + categorical TTFT
  green / latency blue accents. File added to .eslintrc overrides.
- Inline code blocks and details panel use bg-muted/bg-background
  semantic tokens.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:25:01 +00:00
Cursor Agent
9b86cd428f
feat(ui): mcp_tools/mcp_server_columns to shadcn
- @tremor Icon + @heroicons Pencil/Trash + antd Tooltip + @ant-design
  CheckOutlined \u2192 shadcn Tooltip + lucide Check/Pencil/Trash2.
- Health status badge: emerald (healthy), red (unhealthy), muted
  (unknown/checking). Public/Internal network badges use emerald/
  orange categorical palette.
- Server ID chip uses blue categorical accent. File added to
  .eslintrc.json overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:21:45 +00:00
Cursor Agent
5ff1af0dea
feat(ui): common_components/ModelAliasManager to shadcn
- @tremor Card/Title/Text + @heroicons PlusCircle/Pencil/Trash \u2192
  shadcn Card/Button/Input + lucide Plus/Pencil/Trash2.
- Tremor Table family preserved (phase 1 whitelist).
- Edit/Delete action chips keep categorical blue/red tints; file added
  to .eslintrc.json overrides. Added-alias button reuses categorical
  emerald when enabled.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:18:51 +00:00
Cursor Agent
3ee523b8ae
feat(ui): prompts/prompt_table to shadcn
- @tremor Button + @heroicons SwitchVert/ChevronUp/Down/Trash + antd
  Tooltip + @ant-design CopyOutlined \u2192 shadcn Button/Tooltip + lucide
  ArrowUpDown/ChevronUp/ChevronDown/Copy/Trash2.
- Tremor Table family preserved (phase 1 whitelist).
- Environment pill keeps categorical red/amber/emerald (production/
  staging/development) palette; blue prompt-id chip + fallback logo
  palette preserved. File added to .eslintrc.json overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:15:27 +00:00
Cursor Agent
45329723be
feat(ui): guardrails/guardrail_table to shadcn
- @tremor Button/Icon/Badge + @heroicons Trash/SwitchVert/Chevrons
  + antd Tooltip \u2192 shadcn Badge/Button/Tooltip + lucide ArrowUpDown/
  ChevronDown/ChevronUp/Trash2.
- Config guardrail delete button is now a disabled shadcn Button
  (keeps data-testid='config-delete-icon' so callers can still look
  it up); tooltip still communicates the "delete in config" message.
- Updated test assertion to check for .cursor-not-allowed + .disabled
  state rather than the old tremor Icon classes.
- Categorical emerald "Default On" badge; file added to .eslintrc
  overrides.

Gates: TS \u2713 | Build \u2713 | Vitest 2/2 green.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:12:57 +00:00
Cursor Agent
2e6d053932
feat(ui): policies/policy_table to shadcn
- @tremor Button/Icon/Badge + @heroicons Trash/Pencil/SwitchVert/
  ChevronUp/Down + antd Tooltip/Tag \u2192 shadcn Badge/Button/Tooltip +
  lucide ArrowUpDown/ChevronUp/ChevronDown/Pencil/Trash2.
- Reusable chipList helper with tooltip for overflow. Tremor Table
  family whitelisted.
- Blue inherit badge + emerald guardrails-add + red guardrails-remove
  categorical palette; file added to .eslintrc.json overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:09:56 +00:00
Cursor Agent
f01f8dd628
feat(ui): claude_code_plugins/plugin_table to shadcn
- @ant-design CopyOutlined + @heroicons ChevronDown/Up/SwitchVert/
  Trash + @tremor Badge/Button + antd Tooltip \u2192 shadcn Badge/Button/
  Tooltip + lucide ArrowUpDown/ChevronDown/ChevronUp/Copy/Trash2.
- Tremor Table family preserved (phase 1 whitelist).
- BADGE_COLOR_CLASSES map translates helper-returned tremor color
  tokens into categorical Tailwind palette classes. File added to
  .eslintrc.json overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:06:49 +00:00
Cursor Agent
70ad22d3cf
feat(ui): policies/attachment_table to shadcn
- @tremor Icon/Badge + @heroicons Trash/SwitchVertical/ChevronUp/
  ChevronDown + antd Tooltip/Tag \u2192 shadcn Badge/Button/Tooltip +
  lucide ArrowUpDown/ChevronUp/ChevronDown/Trash2.
- Shared listChip(items, classes) helper for per-column Teams/Keys/
  Models/Tags badges (cyan/purple/emerald/orange categorical palette).
- Tremor Table preserved (whitelisted).
- File added to .eslintrc.json overrides (categorical chip palette).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:03:50 +00:00
Cursor Agent
cb273143d2
feat(ui): pass_through_settings to shadcn
- @tremor Text/Button/Icon/Title + antd Badge/Tooltip + @heroicons
  PencilAlt/Trash/InformationCircle \u2192 shadcn AlertDialog/Badge/
  Button/Tooltip + lucide Eye/EyeOff/Info/Pencil/Trash2.
- Delete confirm modal rewritten as AlertDialog (was a hand-rolled
  bg-gray-500 overlay).
- Categorical: blue ID pill, blue/indigo method badges, emerald auth
  badge. File added to .eslintrc.json overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 16:00:45 +00:00
Cursor Agent
8d84cacf77
feat(ui): molecules/filter Button/Input to shadcn
- @heroicons FilterIcon + antd Button/Input \u2192 lucide Filter +
  shadcn Button/Input.
- antd Select preserved for search/dropdown behavior (showSearch +
  onOpenChange + onSearch + notFoundContent).
- Used variant=outline for the Filter/Reset buttons.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:58:10 +00:00
Cursor Agent
ba18757a4d
feat(ui): semantic token + heroicon sweep (model_dashboard/agents)
- model_dashboard/table: @heroicons SwitchVertical/ChevronUp/
  ChevronDown \u2192 lucide ArrowUpDown/ChevronUp/ChevronDown. Tremor
  Table family preserved (whitelisted).
- model_dashboard/table: bg-white / hover:bg-gray-50 / text-gray-500
  / bg-blue-500 / hover:bg-blue-200 \u2192 semantic background/primary/
  muted tokens. Dropped unused getHeaderText helper.
- agents/cost_config_fields: antd Input \u2192 shadcn Input; Form.Item
  preserved (parent antd Form).
- GuardrailsMonitor/ScoreChart: bg-white / border-gray-200 /
  text-gray-900 / text-gray-500 \u2192 semantic tokens. Tremor BarChart
  palette unchanged (chart whitelist).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:54:55 +00:00
Cursor Agent
5596c5be9c
feat(ui): Projects/ProjectsPage chrome to shadcn
- antd Button/Card/Flex/Input/Layout/Pagination/Space/Spin/Tag/
  theme/Tooltip/Typography + @ant-design Loading/Plus \u2192 shadcn
  Badge/Button/Card/Input/Tooltip + lucide ChevronLeft/Right/Layers/
  Loader2/Plus/Search.
- antd Table preserved (plan phase 1 whitelist).
- Built-in Pagination \u2192 simple prev/next chevrons with total count.
- Blue ID pill + blue models badge + emerald/red status badges use
  categorical palette (file added to .eslintrc.json overrides).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:49:12 +00:00
Cursor Agent
9ba7c53cd9
feat(ui): router_settings/index to shadcn Button
- antd Button \u2192 shadcn Button (variant=outline for Reset, default
  for Save Changes).
- border-gray-200 \u2192 border-border semantic token.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:37:28 +00:00
Cursor Agent
9516e199da
feat(ui): view_users/columns to shadcn
- @tremor Badge/Grid/Icon + antd Tooltip/Checkbox + @ant-design Copy/
  @heroicons Pencil/Trash/InformationCircle/Refresh \u2192 shadcn Badge/
  Tooltip/Checkbox + lucide Copy/Info/Pencil/Trash2/RefreshCcw +
  IconTipButton helper.
- Indigo Virtual Keys badge preserved as categorical accent (file
  added to .eslintrc.json overrides).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:26:06 +00:00
Cursor Agent
e39bbc6b3f
feat(ui): agents/agent_table to shadcn
- @tremor Button/Table family + @heroicons SwitchVertical/Chevron/
  Trash + antd Tooltip + @ant-design CopyOutlined \u2192 shadcn Button/
  Tooltip + lucide ArrowUpDown/ChevronUp/ChevronDown/Copy/Trash2.
- Tremor Table preserved (chart/table whitelist).
- Blue agent-name pill preserved as categorical accent; file added
  to .eslintrc.json overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:21:30 +00:00
Cursor Agent
d281de302b
feat(ui): policies/policy_info to shadcn
- @tremor Card/Badge/Button + @heroicons ArrowLeft/Pencil + antd
  Descriptions/Tag/Spin/Divider/Typography/Alert \u2192 shadcn Card/
  Badge/Button + lucide ArrowLeft/Info/Loader2/Pencil + custom
  Section/InfoAlert/DescRow helpers.
- Categorical badge palette: blue (inherit + resolved), emerald
  (guardrails_add), red (guardrails_remove), purple (model condition).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:18:31 +00:00
Cursor Agent
aa2ab451e1
feat(ui): CostTrackingSettings/provider_margin_table to shadcn
- @tremor TextInput/Icon/Text + @heroicons Trash/Pencil/Check/X \u2192
  shadcn Input + lucide Trash2/Pencil/Check/X with plain buttons.
- SimpleTable (whitelisted tremor Table family) keeps its shape.
- Edit mode supports simultaneous percentage + fixed-amount inputs.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:15:23 +00:00
Cursor Agent
25d67210ec
feat(ui): CostTrackingSettings/add_margin_form to shadcn
- @tremor TextInput/Button + antd Radio/Tooltip + @ant-design
  InfoCircleOutlined \u2192 shadcn Button/Input/RadioGroup/Tooltip +
  lucide Info.
- antd AntdSelect preserved for provider picker with logo rendering.
  antd Form.Item preserved (validator rules).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:12:54 +00:00
Cursor Agent
afa60be4af
feat(ui): user_edit_view to shadcn
- @tremor Button/SelectItem/TextInput/Textarea + antd Checkbox/Tooltip
  + @ant-design InfoCircleOutlined \u2192 shadcn Button/Input/Textarea/
  Checkbox/Tooltip + lucide Info.
- antd Form/Form.Item/Select preserved (form.setFieldsValue +
  validation rules). Role + models multi-select kept on antd Select
  since shadcn Select doesn't support multiple.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:10:26 +00:00
Cursor Agent
1f4656bc4c
feat(ui): guardrails/pii_components to shadcn
- antd Typography/Select/Button/Checkbox/Tooltip/Tag + @ant-design
  Close/EyeInvisible/Stop/Filter \u2192 shadcn Badge/Button/Checkbox/
  Select/Tooltip + lucide Ban/EyeOff/Filter/Info/X.
- CategoryFilter keeps antd Select mode='multiple' \u2014 shadcn Select
  doesn't support multiple. Blue category badge in PiiEntityList
  preserved as categorical (file added to .eslintrc.json overrides).
- Quick Action buttons use destructive/primary outline variants for
  Mask/Block/Unselect respectively.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:08:02 +00:00
Cursor Agent
aa0ab33ac7
feat(ui): LogDetailsDrawer/DrawerHeader to shadcn
- antd Button/Space/Tag/Tooltip/Typography + @ant-design Close/Up/
  Down \u2192 shadcn Button/Badge/Tooltip + lucide X/ChevronUp/ChevronDown.
- Typography.Text copyable rewritten as a custom inline copy button
  (same pattern as LabeledField / KeyInfoHeader).
- Status badge uses categorical emerald/red palette; file added to
  .eslintrc.json overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:05:23 +00:00
Cursor Agent
336d542369
feat(ui): add_model/litellm_model_name to shadcn Input
- @tremor TextInput/Text + antd Row/Col \u2192 shadcn Input + plain
  grid-cols-24 layout.
- antd Form.Item / AntSelect preserved (parent drives a full antd
  Form with Form.Item noStyle + shouldUpdate patterns).
- Text-gray helper line converted to plain <p> with text-muted-
  foreground.

Gates: TS \u2713 | Build \u2713 | Vitest 2/2 green for litellm_model_name tests.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 15:02:18 +00:00
Cursor Agent
5e8b9f7a4f
feat(ui): common_components/user_search_modal to shadcn Dialog
- antd Modal/Button/Tooltip + @ant-design UserAddOutlined \u2192 shadcn
  Dialog/Button/Tooltip + lucide UserPlus.
- antd Form/Select with onSearch/onSelect preserved (debounced server
  fetch inside the Form.Item container).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:59:28 +00:00
Cursor Agent
d51e049dd9
feat(ui): view_logs/GuardrailViewer/CompliancePanel to shadcn
- antd Tooltip + raw SVG check/cross/spinner + chevron \u2192 shadcn
  Tooltip + lucide CheckCircle2/XCircle/Loader2/ChevronDown.
- Inline hex gray palette replaced with semantic tokens; compliant /
  non-compliant status pills use categorical emerald / red tones
  (file added to .eslintrc.json overrides).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:56:51 +00:00
Cursor Agent
fe16b30108
feat(ui): view_logs/DataTable semantic-tokens pass
- Tremor Table family preserved (chart/table whitelist) with inline
  eslint-disable on the import.
- bg-gray-50 / text-gray-500 / text-gray-400 \u2192 bg-muted /
  text-muted-foreground tokens.
- Sort-indicator arrow renders the same; sortable header hover state
  uses bg-muted.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:53:45 +00:00
Cursor Agent
229576f324
feat(ui): TeamsTable to shadcn Button + Tooltip + lucide icons
- @tremor Button/Icon/Text + antd Tooltip + @heroicons PencilAlt/
  Trash \u2192 shadcn Button/Tooltip + lucide Pencil/Trash2. Tremor
  Table/TableHead/Row/Cell preserved (chart/table family whitelist,
  inline eslint-disable).
- Team ID pill preserved as blue-tinted categorical accent; file
  added to .eslintrc.json overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:48:39 +00:00
Cursor Agent
3224841391
feat(ui): mcp_tools/mcp_server_cost_config to shadcn
- antd InputNumber/Collapse/Badge/Tooltip + @tremor Card/Title/Text +
  @ant-design InfoCircle/Dollar/Tool \u2192 shadcn Accordion/Badge/Card/
  Input/Tooltip + lucide DollarSign/Info/Wrench.
- Custom MoneyInput wrapper ties a '$' prefix chip to a shadcn Input
  type='number' since Radix Input has no prefix slot.
- Emerald badge + blue summary callout are categorical; file added
  to .eslintrc.json overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:44:02 +00:00
Cursor Agent
fd5e3d191a
feat(ui): S3VectorsConfig to shadcn Tooltip + custom info alert
- antd Alert \u2192 plain blue-tinted div with lucide Info icon.
- antd Tooltip + @ant-design InfoCircleOutlined \u2192 shadcn Tooltip +
  lucide Info (four field tooltips).
- antd Form.Item / Input / Select preserved \u2014 parent wraps the file in
  an antd Form.
- File added to .eslintrc.json overrides for the blue info callout.

Gates: TS \u2713 | Build \u2713 | Vitest 11/11 green for S3VectorsConfig tests.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:40:31 +00:00
Cursor Agent
ac6cd602a9
feat(ui): guardrails/GuardrailTestPlayground to shadcn
- antd Card/List/Empty/Spin/Input/Typography + @ant-design
  ExperimentOutlined/SearchOutlined \u2192 shadcn Card/Input + native
  <ul> with divide-y border + lucide FlaskConical/Loader2/Search.
- Active-list item uses blue-tinted bg + left border (categorical,
  added to overrides).
- List.Item.Meta flattened to plain flex layouts.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:32:20 +00:00
Cursor Agent
f4e7aba66a
feat(ui): guardrails/GuardrailTestResults to shadcn
- @tremor Button/Card + antd Typography + @ant-design Copy/Check/
  Clock/Down/Right + raw SVG error icon \u2192 shadcn Button/Card +
  lucide CheckCircle2/ChevronDown/ChevronRight/Clock/Copy/XCircle.
- Success card uses emerald palette; error card uses red palette
  (both categorical, added to overrides).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:25:47 +00:00
Cursor Agent
11049a1141
feat(ui): guardrails/GuardrailTestPanel to shadcn
- @tremor Button + antd Input.TextArea/Typography/Tooltip + @ant-design
  Copy/InfoCircle \u2192 shadcn Button/Textarea/Tooltip + lucide Copy/Info.
- Blue guardrail-name chips preserved as categorical accent (file
  added to .eslintrc.json overrides).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:22:17 +00:00
Cursor Agent
81ebf913e8
feat(ui): AdditionalModelSettings to shadcn
- antd Checkbox/InputNumber/Popover/Slider/Tooltip/Typography +
  @tremor Text + @ant-design InfoCircleOutlined \u2192 shadcn
  Checkbox/Input/Popover/Slider/Tooltip + lucide Info.
- Shadcn Slider is value={[n]} / onValueChange=([v])=>... Preserves
  both sliders with their min/max/step.
- Tick marks (0/1/2, 1/32768) rendered as a simple flex justify-
  between row below each slider.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:18:47 +00:00
Cursor Agent
c62e1ffbe0
feat(ui): UsageViewSelect to shadcn
- antd Select + Badge + @ant-design icon set (9 icons) \u2192 shadcn
  Select + lucide equivalents (Globe/Building2/Users/ShoppingCart/
  Tags/Bot/User/LineChart/BarChart3).
- labelRender / optionRender / filterOption dropped \u2014 shadcn Select
  renders the two-line option layout directly in the SelectItem.
- Updated UsageViewSelect.test.tsx: dropped the antd Select mock and
  asserts trigger presence + the 'Your Usage' non-admin label inside
  the combobox instead of driving a fireEvent.change on a fake select.
  Full option-change coverage lives in Playwright.

Gates: TS \u2713 | Build \u2713 | Vitest 2/2 \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:15:03 +00:00
Cursor Agent
d4b5cb2514
feat(ui): KeyLifecycleSettings to shadcn
- antd Select/Tooltip/Divider/Switch/Checkbox + @tremor TextInput +
  @ant-design InfoCircleOutlined \u2192 shadcn Select/Tooltip/Switch/
  Checkbox/Input + lucide Info + native <hr className='border-border'>.
- Extracted a small InfoTooltip helper for the repeated info-icon
  pattern.
- Blue auto-rotation notification callout is categorical; file added
  to .eslintrc.json overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:09:23 +00:00
Cursor Agent
c69d0c6aa6
feat(ui): view_logs/VectorStoreViewer to shadcn
- antd Collapse \u2192 shadcn Accordion. Inline SVG chevron \u2192 lucide
  ChevronRight.
- Gray palette replaced with semantic bg-background/border-border/
  bg-muted and text-muted-foreground tokens.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:06:10 +00:00
Cursor Agent
f286c5a592
feat(ui): chat/MCPCredentialsTab to shadcn
- antd Spin + @tremor Badge/Table family + @ant-design Delete/Link \u2192
  shadcn Table/Badge + lucide Loader2/Trash2/Link.
- Red (Expired) / emerald (valid) status badges preserved as
  categorical (file added to .eslintrc.json overrides).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:03:28 +00:00
Cursor Agent
4d9072bf3e
feat(ui): chat/MCPConnectPicker to shadcn
- antd Switch/Spin \u2192 shadcn Switch + lucide Loader2 (replacing the
  Switch's loading prop with a separate inline spinner since shadcn
  Switch has no loading slot).
- Inline style attributes replaced with Tailwind utilities + semantic
  tokens (text-muted-foreground / text-foreground).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 14:00:23 +00:00
Cursor Agent
e1c0b5291b
feat(ui): prompts/variable_textarea to shadcn
- antd Input.TextArea/Popover/Tag + @ant-design EditOutlined \u2192
  shadcn Textarea/Popover/Badge + lucide Pencil.
- Inline <style> tag for variable-highlight-text dropped \u2014 unused.
- Orange 'variable chip' palette preserved as categorical (file added
  to .eslintrc.json overrides).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 13:57:46 +00:00
Cursor Agent
07c5420d03
feat(ui): prompts/add_prompt_form to shadcn Dialog
- antd Modal/Button/Divider + @tremor TextInput + @ant-design
  UploadOutlined \u2192 shadcn Dialog/Button/Input + lucide Upload
  + native <hr className='border-border'>.
- antd Form/Select/Upload preserved since Form.Item drives validation
  and the antd Upload widget binds the file-list state.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 13:54:57 +00:00
Cursor Agent
8d88347800
feat(ui): PaginatedModelSelect to shadcn combobox
- antd Select with onPopupScroll + LoadingOutlined \u2192 shadcn Popover
  + Button (combobox) + Input + lucide Loader2/ChevronsUpDown/X.
- Each option renders as a two-line label (model name + ID) via a
  simple custom layout, same contract as the original optionRender.
- Infinite-scroll threshold preserved at 0.8 on the list container.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 13:51:45 +00:00
Cursor Agent
eb0cb1eee4
feat(ui): KeyModelUsageView to shadcn Table
- antd Table \u2192 shadcn Table. @tremor BarChart/Card/Title preserved
  (chart-family whitelist with inline eslint-disable).
- Scroll container replaced the scroll={{ y: N }} contract with a
  Tailwind max-height overflow-y-auto wrapper.

Gates: TS \u2713 | Build \u2713 (from prior commit pipeline).

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 13:48:52 +00:00
Cursor Agent
ae7b7e8228
feat(ui): FallbackGroupConfig semantic tokens + shadcn Tooltip
- antd Tooltip \u2192 shadcn Tooltip for the '+N more' hidden-values
  placeholder.
- Gray/indigo/red hex palettes replaced with semantic tokens
  (text-foreground, text-muted-foreground, bg-muted, border-border,
  destructive). Indigo connector chip + hover accent retained as
  categorical; file added to .eslintrc.json overrides.
- antd Select primary + multiple dropdowns preserved; optionRender and
  maxTagPlaceholder hooks kept intact.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 13:46:29 +00:00
Cursor Agent
7f19d8c8be
feat(ui): guardrails/CategoryTable to shadcn
- antd Typography/Select/Table/Tag/Button + @ant-design DeleteOutlined
  \u2192 shadcn Table/Badge/Select/Button + lucide Trash2.
- Severity + action badge palette: red (high/BLOCK), amber (medium),
  yellow (low), blue (MASK). Added to overrides.
- Read-only mode renders badges; editable mode renders Select
  dropdowns.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 13:42:48 +00:00
Cursor Agent
e959382ec2
feat(ui): AIHub/AgentHubTableColumns to shadcn
- @tremor Button/Badge/Text + antd Tooltip/Tag + @ant-design Copy/
  InfoCircle \u2192 shadcn Button/Badge/Tooltip + lucide Copy/Info.
- Categorical badge palette: blue (version), emerald (public/
  capabilities), purple (skills), gray (fallback). Added to overrides.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 13:39:03 +00:00
Cursor Agent
10868011ac
feat(ui): AIHub/marketplace_table_columns to shadcn
- @tremor Button/Badge/Text + antd Tooltip + @ant-design CopyOutlined
  \u2192 shadcn Button/Badge/Tooltip + lucide Copy.
- Tremor color name \u2192 Tailwind class mapping for category badges
  (blue, emerald, amber, red, purple, indigo, gray).

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 13:36:27 +00:00
Cursor Agent
7e50afed51
feat(ui): AIHub/ClaudeCodeMarketplaceTab to shadcn
- antd Input/@ant-design SearchOutlined + @tremor Card/Tab/TabGroup/
  TabList/TabPanel/TabPanels/Text \u2192 shadcn Card/Input/Tabs + lucide
  Search. Category tabs now use the category name as the tab value
  (instead of numeric index) \u2014 simpler API.

Gates: TS \u2713 | Build \u2713.

Co-authored-by: yuneng-jiang <yuneng-berri@users.noreply.github.com>
2026-04-23 13:33:52 +00:00