243 Commits

Author SHA1 Message Date
hsiegeln
45d56262ea feat: add Alert primitive
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:00:13 +01:00
hsiegeln
b6fcdada8a feat: add Skeleton primitive
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:58:40 +01:00
hsiegeln
ba48f677d9 feat: add ProgressBar primitive
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:56:34 +01:00
hsiegeln
afe1abf7a1 feat: add Textarea primitive
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:54:11 +01:00
hsiegeln
4d420dfa6d feat: add Radio primitive (RadioGroup + RadioItem)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:52:33 +01:00
hsiegeln
10a9ccfd42 feat: add Label primitive
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:50:24 +01:00
hsiegeln
ce3203c842 chore: add .worktrees/ to .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:35:11 +01:00
hsiegeln
883e4b565d fix: add page navigation to Sidebar + wire in camel SVG logo
- Add Navigation section (Dashboard, Metrics, Agents) with useNavigate
- Route items now navigate to /routes/:id
- Active state highlights current page based on location.pathname
- Replace inline CamelIcon with actual camel-logo.svg asset

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:01:40 +01:00
hsiegeln
dee4b681d3 asset: add camel SVG logo with currentColor fill
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:30:10 +01:00
hsiegeln
da4dd55209 feat: Cameleer3 design system — complete standalone implementation
Wires up all 5 routes in App.tsx (/, /metrics, /routes/:id,
/exchanges/:id, /agents). Fixes pre-existing build errors: vite.config.ts
now uses vitest/config defineConfig so the test property is typed
correctly; removes unused imports in Collapsible.tsx and _chart-utils.ts;
removes unused parameter in metrics.ts generateTimeSeries.

Build: tsc -b && vite build passes clean. Test suite: 72/72 pass.
Bundle: 334kB JS (101kB gzip) + 54kB CSS (10kB gzip).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:22:23 +01:00
hsiegeln
82f7f88820 feat: ExchangeDetail and AgentHealth pages
ExchangeDetail (/exchanges/:id): exchange header card with ID/route/
status/duration, ProcessorTimeline for the specific exchange, step-by-
step exchange inspector using Collapsible+CodeBlock for headers/body at
each processor step, and error details block for failed exchanges.

AgentHealth (/agents): 6-card system overview strip, 2-column grid of
agent cards (StatusDot, name, version, tps, uptime, last-seen, CPU/mem
usage, active routes), expandable per-agent LineCharts for throughput
and error rate trends. Both pages use AppShell + shared Sidebar layout.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:22:11 +01:00
hsiegeln
ebf653e848 feat: RouteDetail page
Implements the /routes/:id route with route header card (name, status
badge, description), 5-card KPI strip (total executions, success rate,
p50/p99 latency, inflight count), ProcessorTimeline showing aggregate
processor stats across all executions, filtered DataTable of recent
executions for the route, and error patterns section grouped by
exception class. Uses useParams() to get route ID and navigates to
/exchanges/:id on row click.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:22:02 +01:00
hsiegeln
9dd78a7d2e feat: Metrics dashboard page
Implements the /metrics route with DateRangePicker bar, 5 KPI StatCards
with sparklines (throughput, latency p99, error rate, success rate,
active routes), per-route DataTable with trend sparklines, and a 2x2
chart grid (AreaChart throughput, LineChart latency with SLA threshold,
BarChart errors, AreaChart volume). Uses AppShell + Sidebar + TopBar
layout with mock data from src/mocks/metrics.ts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:21:52 +01:00
hsiegeln
5f6bcd374d feat: Dashboard page composing full design system
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:06:41 +01:00
hsiegeln
cd0d02a61b feat: static mock data for executions, routes, agents, metrics
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:06:38 +01:00
hsiegeln
332cf18d1d feat: AppShell, Sidebar, TopBar layout components
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 10:06:32 +01:00
hsiegeln
a44e93383c feat: composites barrel export
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:58:17 +01:00
hsiegeln
d106dfd275 feat: CommandPalette composite with search, filtering, keyboard navigation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:58:13 +01:00
hsiegeln
e86fecbd00 feat: ProcessorTimeline and EventFeed composites
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:58:09 +01:00
hsiegeln
f88e83dd0a feat: AreaChart, LineChart, BarChart SVG composites
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:58:03 +01:00
hsiegeln
6e90ca2ac8 feat: DataTable composite with sorting, pagination, row selection
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:57:58 +01:00
hsiegeln
8daf21428c feat: FilterBar and ShortcutsBar composites
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:42:20 +01:00
hsiegeln
42bd896383 feat: Modal and DetailPanel composites
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:42:15 +01:00
hsiegeln
388c109272 feat: MenuItem and Dropdown composites
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:42:09 +01:00
hsiegeln
e9fc8c24e8 feat: Breadcrumb and Tabs composites
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:42:03 +01:00
hsiegeln
d2df6bcd3e feat: primitives barrel export
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:35:55 +01:00
hsiegeln
1192e1f780 feat: DateTimePicker and DateRangePicker primitives
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:34:28 +01:00
hsiegeln
52cf5129f7 feat: Collapsible and Tooltip primitives
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:33:43 +01:00
hsiegeln
ebf5fc6cb7 feat: InfoCallout, EmptyState, CodeBlock primitives
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:32:43 +01:00
hsiegeln
34d24dd434 feat: Sparkline, Card, StatCard, FilterPill primitives
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:31:55 +01:00
hsiegeln
36d6539775 feat: Badge, Avatar, Tag primitives with hashColor integration
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:30:59 +01:00
hsiegeln
e37a4d323c feat: Select, Checkbox, Toggle form primitives 2026-03-18 09:29:00 +01:00
hsiegeln
c2f61543f1 feat: Button and Input primitives 2026-03-18 09:26:35 +01:00
hsiegeln
34537fd1a3 feat: MonoText, KeyboardHint, SectionHeader primitives 2026-03-18 09:25:25 +01:00
hsiegeln
49789d6a15 feat: StatusDot and Spinner primitives 2026-03-18 09:24:30 +01:00
hsiegeln
c24c2829b2 feat: ThemeProvider with light/dark toggle and localStorage persistence 2026-03-18 09:09:52 +01:00
hsiegeln
91e137a013 feat: hashColor utility with FNV-1a for deterministic badge/avatar colors 2026-03-18 09:09:16 +01:00
hsiegeln
0f2d730287 foundations: design tokens (light + dark) and CSS reset
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 09:07:31 +01:00
hsiegeln
216651e525 scaffold: Vite + React + TypeScript + Vitest project setup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 09:03:33 +01:00
hsiegeln
e5c3679b9e plan: Cameleer3 design system implementation plan (30 tasks)
Covers: scaffold, foundations, 23 primitives, 15 composites,
3 layout components, mock data, and 5 pages.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 08:56:13 +01:00
hsiegeln
cce16d25c6 Fix remaining spec review flags
- EventFeed severity uses 'running' not 'info' for consistency
- Fix stale SHA reference in design decisions table
- Document StatusDot live/stale/dead token mappings
- Type Tag color prop as semantic union instead of string

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 08:44:49 +01:00
hsiegeln
b8aa5a5481 Address spec review: fix all blockers and flags
- Standardize semantic color naming (running, not info/teal)
- Add chart tokens (--chart-1 through --chart-8)
- Document dark theme strategy (same token names, muted redesign)
- Switch hashColor from SHA-256 to synchronous FNV-1a
- Add missing components: CodeBlock, Collapsible, Sparkline,
  AreaChart, LineChart, BarChart, ProcessorTimeline, EventFeed,
  ShortcutsBar
- Define SearchResult interface for CommandPalette
- Add DataTable pagination spec
- Expand DateTimePicker/DateRangePicker specifications
- Fix Tooltip position type to union
- Standardize Card/StatCard accent props to semantic names

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 08:43:05 +01:00
hsiegeln
9c9b4e06c5 Initial commit: UI mocks and design system specification
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 08:36:48 +01:00