/** * SVG icon set — geometry derived from Lucide (https://lucide.dev), MIT. * * We inline the paths instead of pulling in `lucide-react` to keep the * production bundle tight. The icons follow Lucide conventions: * - 24×24 design grid * - 2px stroke (1.5 for very small chrome icons) * - round caps & joins * - currentColor everywhere so CSS controls tone * * When adding a new icon, copy the geometry from the official Lucide * source (https://github.com/lucide-icons/lucide/tree/main/icons) so the * whole set stays visually consistent. */ import React from 'react' export function IconBrain() { return ( ) } export function IconTool() { return ( ) } export function IconStop() { return ( ) } export function IconSend() { return ( ) } export function IconCopy() { return ( ) } export function IconCheck() { return ( ) } /** * Welcome-state chat icon. Lucide `message-square-text`: a squared bubble * with two transcript lines, which reads as "a real conversation" much * better than a generic empty bubble at large sizes. */ export function IconChat() { return ( ) } export function IconPaperclip() { return ( ) } export function IconChevron({ down }: { down?: boolean }) { return ( ) } export function IconPlus() { return ( ) } export function IconSearch() { return ( ) } export function IconTrash() { return ( ) } export function IconBoard() { return ( ) } export function IconActivity() { return ( ) } export function IconShield() { return ( ) } /** * Agent-avatar sparkle. Lucide `sparkles`: one large 4-point burst plus * two small accent sparks — reads as "AI/magic" without the generic * single-star look. */ export function IconSparkle() { return ( ) } /** Lucide `arrow-right` — two crisp strokes, no diagonal artifacts. */ export function IconArrowRight() { return ( ) } export function IconGate() { return ( ) } export function IconZap() { return ( ) } // ── Work Item / Runtime Panel icons ────────────────────────────────────── export function IconWorkItem() { return ( ) } export function IconGatePass() { return ( ) } export function IconGateReject() { return ( ) } export function IconClock() { return ( ) } export function IconHandoff() { return ( ) } export function IconTimeline() { return ( ) } export function IconClose() { return ( ) } // ── Mode / lock icons (shared by the composer mode chip) ───────────────── /** * Lucide `lock` — the classic shackle + body. Size defaults to 12px so it * tucks nicely inside a chip; pass a size prop to scale. */ export function IconLock({ size = 12 }: { size?: number } = {}) { return ( ) } /** Lucide `user-round` — proportional head + shoulders, perfect for Task mode. */ export function IconUserRound({ size = 14 }: { size?: number } = {}) { return ( ) } /** Lucide `building-2` — multi-story office building, reads as "company". */ export function IconBuilding({ size = 14 }: { size?: number } = {}) { return ( ) } /** * Compact 3-spark "Sparkles" for the Org mode tile. We reuse the full * `sparkles` geometry but at a smaller default size — same family, less * visual weight than the agent avatar usage. */ export function IconSparkles({ size = 14 }: { size?: number } = {}) { return ( ) }