@salilvnair/dui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +185 -0
  3. package/dist/chunks/EditorView.shell-BGH2VhWM.js +460 -0
  4. package/dist/chunks/EditorView.shell-BGH2VhWM.js.map +1 -0
  5. package/dist/chunks/daakia-icons-DxWnX_IQ.js +1726 -0
  6. package/dist/chunks/daakia-icons-DxWnX_IQ.js.map +1 -0
  7. package/dist/icons/daakia-icons.d.ts +304 -0
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.js +17032 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/lib/components/button/AIButtonView.d.ts +20 -0
  12. package/dist/lib/components/button/ButtonView.d.ts +28 -0
  13. package/dist/lib/components/button/DropDownButtonView.d.ts +19 -0
  14. package/dist/lib/components/button/IconButtonView.d.ts +22 -0
  15. package/dist/lib/components/button/SegmentedView.d.ts +17 -0
  16. package/dist/lib/components/button/SplitButtonView.d.ts +23 -0
  17. package/dist/lib/components/chips/ChipView.d.ts +21 -0
  18. package/dist/lib/components/display/CodeBlockView.d.ts +11 -0
  19. package/dist/lib/components/display/ColoredTextView.d.ts +18 -0
  20. package/dist/lib/components/display/CopyButtonView.d.ts +11 -0
  21. package/dist/lib/components/display/DataTableView.d.ts +27 -0
  22. package/dist/lib/components/display/DottedCardView.d.ts +10 -0
  23. package/dist/lib/components/display/EmptyStateView.d.ts +14 -0
  24. package/dist/lib/components/display/ExpandableLogEntryView.d.ts +14 -0
  25. package/dist/lib/components/display/FeatureCategoryView.d.ts +18 -0
  26. package/dist/lib/components/display/HudView.d.ts +25 -0
  27. package/dist/lib/components/display/JsonTreeView.d.ts +11 -0
  28. package/dist/lib/components/display/LiveColorCustomizer.d.ts +21 -0
  29. package/dist/lib/components/display/LoaderView.d.ts +12 -0
  30. package/dist/lib/components/display/MarkdownView.d.ts +19 -0
  31. package/dist/lib/components/display/PromptCardView.d.ts +33 -0
  32. package/dist/lib/components/display/PromptLibraryEditorView.d.ts +32 -0
  33. package/dist/lib/components/display/PromptLibraryListView.d.ts +30 -0
  34. package/dist/lib/components/display/StageView.d.ts +26 -0
  35. package/dist/lib/components/display/StatsCardView.d.ts +15 -0
  36. package/dist/lib/components/display/StatusIndicatorView.d.ts +14 -0
  37. package/dist/lib/components/display/ToastView.d.ts +19 -0
  38. package/dist/lib/components/display/YamlKeyChip.d.ts +15 -0
  39. package/dist/lib/components/input/CheckboxView.d.ts +15 -0
  40. package/dist/lib/components/input/DebugEditorView.d.ts +26 -0
  41. package/dist/lib/components/input/DiffEditorView.d.ts +18 -0
  42. package/dist/lib/components/input/DiffEditorView.fallback.d.ts +2 -0
  43. package/dist/lib/components/input/DiffEditorView.monaco.d.ts +2 -0
  44. package/dist/lib/components/input/DurationInputView.d.ts +15 -0
  45. package/dist/lib/components/input/EditorView.d.ts +222 -0
  46. package/dist/lib/components/input/EditorView.fallback.d.ts +10 -0
  47. package/dist/lib/components/input/EditorView.monaco.d.ts +2 -0
  48. package/dist/lib/components/input/EditorView.shell.d.ts +13 -0
  49. package/dist/lib/components/input/FormDataTableView.d.ts +22 -0
  50. package/dist/lib/components/input/HiddenKeyValueItemView.d.ts +22 -0
  51. package/dist/lib/components/input/HighlightedInputView.d.ts +26 -0
  52. package/dist/lib/components/input/KeyValueTableRowView.d.ts +31 -0
  53. package/dist/lib/components/input/KeyValueTableView.d.ts +59 -0
  54. package/dist/lib/components/input/MergedInputView.d.ts +43 -0
  55. package/dist/lib/components/input/MultilineInputView.d.ts +15 -0
  56. package/dist/lib/components/input/SearchInputView.d.ts +17 -0
  57. package/dist/lib/components/input/SegmentedControlView.d.ts +23 -0
  58. package/dist/lib/components/input/SelectInputView.d.ts +31 -0
  59. package/dist/lib/components/input/SelectTextInputView.d.ts +44 -0
  60. package/dist/lib/components/input/SliderView.d.ts +15 -0
  61. package/dist/lib/components/input/TabView.d.ts +28 -0
  62. package/dist/lib/components/input/TagInputView.d.ts +10 -0
  63. package/dist/lib/components/input/TextInputView.d.ts +36 -0
  64. package/dist/lib/components/input/ThemeCardSelectorView.d.ts +18 -0
  65. package/dist/lib/components/input/ToggleSwitchView.d.ts +19 -0
  66. package/dist/lib/components/layout/BottomPanelView.d.ts +16 -0
  67. package/dist/lib/components/layout/CollapsibleSectionView.d.ts +14 -0
  68. package/dist/lib/components/layout/DebugView.d.ts +63 -0
  69. package/dist/lib/components/layout/FolderView.d.ts +85 -0
  70. package/dist/lib/components/layout/ResizablePanelView.d.ts +10 -0
  71. package/dist/lib/components/layout/SettingsNavView.d.ts +29 -0
  72. package/dist/lib/components/layout/SideNavView.d.ts +39 -0
  73. package/dist/lib/components/layout/SpacerView.d.ts +7 -0
  74. package/dist/lib/components/layout/SplitPanelView.d.ts +33 -0
  75. package/dist/lib/components/modal/ContextMenuView.d.ts +28 -0
  76. package/dist/lib/components/modal/InfoPopupView.d.ts +17 -0
  77. package/dist/lib/components/modal/ModalView.d.ts +41 -0
  78. package/dist/lib/components/rearrange/RearrangeView.d.ts +34 -0
  79. package/dist/lib/components/tabs/PilledTabView.d.ts +19 -0
  80. package/dist/lib/components/tabs/TabBarView.d.ts +28 -0
  81. package/dist/lib/components/tabs/TabView.d.ts +34 -0
  82. package/dist/lib/core/ButtonBase.d.ts +28 -0
  83. package/dist/lib/core/CardBase.d.ts +21 -0
  84. package/dist/lib/core/ChipBase.d.ts +21 -0
  85. package/dist/lib/core/DisplayBase.d.ts +21 -0
  86. package/dist/lib/core/DuiContext.d.ts +53 -0
  87. package/dist/lib/core/DuiTokens.d.ts +115 -0
  88. package/dist/lib/core/DuiTypes.d.ts +29 -0
  89. package/dist/lib/core/EditorBase.d.ts +13 -0
  90. package/dist/lib/core/InputBase.d.ts +25 -0
  91. package/dist/lib/core/MenuBase.d.ts +23 -0
  92. package/dist/lib/core/NavBase.d.ts +26 -0
  93. package/dist/lib/core/OverlayBase.d.ts +20 -0
  94. package/dist/lib/core/SelectBase.d.ts +22 -0
  95. package/dist/lib/core/TabBase.d.ts +25 -0
  96. package/dist/lib/core/TableBase.d.ts +19 -0
  97. package/dist/lib/core/ToggleBase.d.ts +19 -0
  98. package/dist/lib/core/index.d.ts +25 -0
  99. package/dist/lib/index.d.ts +159 -0
  100. package/dist/lib/monaco-runtime.d.ts +29 -0
  101. package/dist/lib/theme/core.d.ts +8 -0
  102. package/dist/lib/theme/editor.d.ts +11 -0
  103. package/dist/lib/theme/utils.d.ts +6 -0
  104. package/dist/monaco-setup.d.ts +4 -0
  105. package/dist/monaco-setup.js +883 -0
  106. package/dist/monaco-setup.js.map +1 -0
  107. package/dist/style.css +1 -0
  108. package/dist/style.js +2 -0
  109. package/dist/style.js.map +1 -0
  110. package/dist/theme/core.js +191 -0
  111. package/dist/theme/core.js.map +1 -0
  112. package/dist/theme/editor.js +104 -0
  113. package/dist/theme/editor.js.map +1 -0
  114. package/dist/theme/utils.js +67 -0
  115. package/dist/theme/utils.js.map +1 -0
  116. package/package.json +81 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daakia-icons-DxWnX_IQ.js","sources":["../../src/icons/daakia-icons.tsx"],"sourcesContent":["/**\n * Centralized icon registry for Daakia.\n * All SVG icons live here — import and reuse throughout the app.\n * Each icon is a React component accepting standard SVG props.\n */\nimport type { SVGProps } from 'react';\n\ntype IconProps = SVGProps<SVGSVGElement> & { size?: number };\n\nfunction withDefaults(props: IconProps, defaults: Partial<IconProps> = {}) {\n const { size = defaults.size ?? 14, ...rest } = props;\n return {\n width: size,\n height: size,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round' as const,\n strokeLinejoin: 'round' as const,\n ...rest,\n };\n}\n\n// ─── Action Icons ───────────────────────────────────────────────────────────\n\nexport function UndoIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"1 4 1 10 7 10\" />\n <path d=\"M3.51 15a9 9 0 102.13-9.36L1 10\" />\n </svg>\n );\n}\n\nexport function RedoIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"23 4 23 10 17 10\" />\n <path d=\"M20.49 15a9 9 0 11-2.13-9.36L23 10\" />\n </svg>\n );\n}\n\nexport function CutIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"6\" cy=\"6\" r=\"3\" />\n <circle cx=\"6\" cy=\"18\" r=\"3\" />\n <line x1=\"20\" y1=\"4\" x2=\"8.12\" y2=\"15.88\" />\n <line x1=\"14.47\" y1=\"14.48\" x2=\"20\" y2=\"20\" />\n <line x1=\"8.12\" y1=\"8.12\" x2=\"12\" y2=\"12\" />\n </svg>\n );\n}\n\nexport function PasteIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2\" />\n <rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\" />\n </svg>\n );\n}\n\nexport function SelectAllIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <path d=\"M8 12h8\" />\n <path d=\"M8 8h8\" />\n <path d=\"M8 16h5\" />\n </svg>\n );\n}\n\nexport function SaveIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M19 21H5a2 2 0 01-2-2V5a2 2 0 012-2h11l5 5v11a2 2 0 01-2 2z\" />\n <polyline points=\"17 21 17 13 7 13 7 21\" />\n <polyline points=\"7 3 7 8 15 8\" />\n </svg>\n );\n}\n\nexport function DownloadIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4\" />\n <polyline points=\"7 10 12 15 17 10\" />\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\" />\n </svg>\n );\n}\n\nexport function CopyIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\" />\n <path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\" />\n </svg>\n );\n}\n\nexport function CodeIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"16 18 22 12 16 6\" />\n <polyline points=\"8 6 2 12 8 18\" />\n </svg>\n );\n}\n\nexport function RefreshIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"1 4 1 10 7 10\" />\n <path d=\"M3.51 15a9 9 0 102.13-9.36L1 10\" />\n </svg>\n );\n}\n\nexport function TrashIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"3 6 5 6 21 6\" />\n <path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\" />\n </svg>\n );\n}\n\nexport function PlusIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\" />\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" />\n </svg>\n );\n}\n\nexport function RenameIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M17 3a2.85 2.85 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z\" />\n <path d=\"m15 5 4 4\" />\n </svg>\n );\n}\n\nexport function PlayIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polygon points=\"5 3 19 12 5 21 5 3\" />\n </svg>\n );\n}\n\nexport function PauseIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"6\" y=\"4\" width=\"4\" height=\"16\" />\n <rect x=\"14\" y=\"4\" width=\"4\" height=\"16\" />\n </svg>\n );\n}\n\nexport function CloseIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n );\n}\n\nexport function CloseCircleIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" />\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" />\n </svg>\n );\n}\n\nexport function CloseSquareIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\" />\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" />\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" />\n </svg>\n );\n}\n\nexport function PinIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"22\" />\n <path d=\"M5 12H2a10 10 0 0 0 20 0h-3\" />\n <circle cx=\"12\" cy=\"7\" r=\"5\" />\n </svg>\n );\n}\n\nexport function UnpinIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"22\" />\n <path d=\"M5 12H2a10 10 0 0 0 20 0h-3\" />\n <circle cx=\"12\" cy=\"7\" r=\"5\" />\n <line x1=\"2\" y1=\"2\" x2=\"22\" y2=\"22\" />\n </svg>\n );\n}\n\nexport function ArrowToRightIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"9 6 15 12 9 18\" />\n <line x1=\"18\" y1=\"4\" x2=\"18\" y2=\"20\" />\n </svg>\n );\n}\n\nexport function ArrowToLeftIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"15 6 9 12 15 18\" />\n <line x1=\"6\" y1=\"4\" x2=\"6\" y2=\"20\" />\n </svg>\n );\n}\n\nexport function CloseAllIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\" />\n <line x1=\"3\" y1=\"3\" x2=\"21\" y2=\"21\" />\n <line x1=\"21\" y1=\"3\" x2=\"3\" y2=\"21\" />\n </svg>\n );\n}\n\nexport function SaveCheckIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\" />\n <polyline points=\"9 12 11 14 15 10\" />\n </svg>\n );\n}\n\nexport function ShareIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"18\" cy=\"5\" r=\"3\" />\n <circle cx=\"6\" cy=\"12\" r=\"3\" />\n <circle cx=\"18\" cy=\"19\" r=\"3\" />\n <line x1=\"8.59\" y1=\"13.51\" x2=\"15.42\" y2=\"17.49\" />\n <line x1=\"15.41\" y1=\"6.51\" x2=\"8.59\" y2=\"10.49\" />\n </svg>\n );\n}\n\nexport function ExternalLinkIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" />\n <polyline points=\"15 3 21 3 21 9\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" />\n </svg>\n );\n}\n\nexport function PlusSquareIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\" />\n <line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\" />\n </svg>\n );\n}\n\nexport function FolderIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\" />\n </svg>\n );\n}\n\nexport function DocumentIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" />\n <polyline points=\"14 2 14 8 20 8\" />\n <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\" />\n <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\" />\n </svg>\n );\n}\n\nexport function SettingsIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\" />\n </svg>\n );\n}\n\nexport function ServerIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect width=\"20\" height=\"8\" x=\"2\" y=\"2\" rx=\"2\" ry=\"2\" />\n <rect width=\"20\" height=\"8\" x=\"2\" y=\"14\" rx=\"2\" ry=\"2\" />\n <path d=\"M6 6h.01M6 18h.01\" />\n </svg>\n );\n}\n\nexport function SearchIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n );\n}\n\nexport function FilterIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\" />\n </svg>\n );\n}\n\nexport function ChevronDownIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n );\n}\n\nexport function ChevronRightIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n );\n}\n\nexport function CheckIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n );\n}\n\nexport function SpinnerIcon(props: IconProps) {\n const { size = 24, className = '', ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" className={`animate-spin ${className}`} {...rest}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"3\" opacity=\"0.2\" />\n <path d=\"M12 2a10 10 0 0 1 10 10\" stroke=\"currentColor\" strokeWidth=\"3\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\nexport function LockIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\" />\n <path d=\"M7 11V7a5 5 0 0110 0v4\" />\n </svg>\n );\n}\n\nexport function KeyIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 11-7.78 7.78 5.5 5.5 0 017.78-7.78zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4\" />\n </svg>\n );\n}\n\n// ─── Protocol / Brand Icons (custom viewBox) ─────────────────────────────────\n\nexport function GlobeIcon(props: IconProps) {\n const { size = 20, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" {...rest}>\n <path d=\"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.66 0 3-4.03 3-9s-1.34-9-3-9m0 18c-1.66 0-3-4.03-3-9s1.34-9 3-9m-9 9a9 9 0 019-9\" />\n </svg>\n );\n}\n\nexport function CookieIcon(props: IconProps) {\n const { size = 20, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" {...rest}>\n <path d=\"M12 2a10 10 0 1010 10\" />\n <path d=\"M12 2a10 10 0 0010 10\" strokeDasharray=\"2 4\" />\n <circle cx=\"9\" cy=\"9\" r=\"1.2\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"14\" cy=\"14\" r=\"1.2\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"9\" cy=\"15\" r=\"1\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"15\" cy=\"9\" r=\"1\" fill=\"currentColor\" stroke=\"none\" />\n </svg>\n );\n}\n\n/** REST/API icon — gear cog with circular sync arrows (API lifecycle). */\nexport function RestApiIcon(props: IconProps) {\n const { size = 20, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" {...rest}>\n {/* Outer circular arrows */}\n <path d=\"M21 3v4h-4\" />\n <path d=\"M3 21v-4h4\" />\n <path d=\"M21 7A9.96 9.96 0 0012 2a9.96 9.96 0 00-7.071 2.929L3 7\" />\n <path d=\"M3 17a9.96 9.96 0 009 5 9.96 9.96 0 007.071-2.929L21 17\" />\n {/* Inner gear/cog */}\n <path d=\"M12 8v1m0 6v1m3.5-5.5l-.7.7m-5.6 5.6l-.7.7m7-.7l-.7-.7m-5.6-5.6l-.7-.7\" />\n <circle cx=\"12\" cy=\"12\" r=\"2.5\" />\n </svg>\n );\n}\n\nexport function GraphQLIcon(props: IconProps) {\n const { size = 20, className, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 400 400\" className={className} {...rest}>\n <g fill=\"currentColor\">\n <rect x=\"122\" y=\"-0.4\" transform=\"matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)\" width=\"16.6\" height=\"320.3\"/>\n <rect x=\"39.8\" y=\"272.2\" width=\"320.3\" height=\"16.6\"/>\n <rect x=\"37.9\" y=\"312.2\" transform=\"matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)\" width=\"185\" height=\"16.6\"/>\n <rect x=\"177.1\" y=\"71.1\" transform=\"matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)\" width=\"185\" height=\"16.6\"/>\n <rect x=\"122.1\" y=\"-13\" transform=\"matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)\" width=\"16.6\" height=\"185\"/>\n <rect x=\"109.6\" y=\"151.6\" transform=\"matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)\" width=\"320.3\" height=\"16.6\"/>\n <rect x=\"52.5\" y=\"107.5\" width=\"16.6\" height=\"185\"/>\n <rect x=\"330.9\" y=\"107.5\" width=\"16.6\" height=\"185\"/>\n <rect x=\"262.4\" y=\"240.1\" transform=\"matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)\" width=\"14.5\" height=\"160.9\"/>\n <path d=\"M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8C373.5,259.9,379.2,281.2,369.5,297.9\"/>\n <path d=\"M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8C94.8,99,100.5,120.3,90.9,137\"/>\n <path d=\"M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7C61.4,320.3,40.1,314.6,30.5,297.9\"/>\n <path d=\"M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7C340.1,159.4,318.7,153.7,309.1,137\"/>\n <path d=\"M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9C234.9,380.1,219.3,395.8,200,395.8\"/>\n <path d=\"M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9C234.9,58.4,219.3,74,200,74\"/>\n </g>\n </svg>\n );\n}\n\nexport function WebSocketIcon(props: IconProps) {\n const { size = 20, className, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 100 100\" className={className} {...rest}>\n <circle cx=\"50\" cy=\"50\" r=\"45\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"10\"/>\n <path fill=\"currentColor\" d=\"M 66.23 62.237 L 74.235 62.237 L 74.235 43.019 L 65.218 34.002 L 59.557 39.661 L 66.23 46.334 L 66.23 62.237 Z M 74.254 66.249 L 62.597 66.249 L 46.336 66.249 L 39.662 59.577 L 42.492 56.746 L 48.005 62.259 L 59.345 62.259 L 48.173 51.066 L 51.024 48.215 L 62.196 59.387 L 62.196 48.046 L 56.706 42.556 L 59.514 39.747 L 45.639 25.808 L 31.954 25.808 L 31.954 25.808 L 17.763 25.808 L 25.746 33.791 L 25.746 33.812 L 25.788 33.812 L 42.304 33.812 L 48.153 39.661 L 39.599 48.215 L 33.751 42.365 L 33.751 37.825 L 25.746 37.825 L 25.746 45.68 L 39.599 59.535 L 33.961 65.174 L 42.978 74.192 L 56.662 74.192 L 82.238 74.192 L 82.238 74.192 L 74.254 66.249 Z\"/>\n </svg>\n );\n}\n\n// ─── Sidebar Section Icons ───────────────────────────────────────────────────\n\nexport function CollectionsFolderIcon(props: IconProps) {\n const { size = 20, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" {...rest}>\n <path d=\"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z\" />\n </svg>\n );\n}\n\nexport function ClockIcon(props: IconProps) {\n const { size = 20, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" {...rest}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"12 6 12 12 16 14\" />\n </svg>\n );\n}\n\nexport function LayersIcon(props: IconProps) {\n const { size = 20, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" {...rest}>\n <path d=\"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z\" />\n <path d=\"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12\" />\n <path d=\"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17\" />\n </svg>\n );\n}\n\n// ─── Toggle / State Icons ────────────────────────────────────────────────────\n\nexport function CheckCircleFilledIcon(props: IconProps & { checked?: boolean }) {\n const { checked = true, size = 14, ...rest } = props;\n const color = checked ? 'var(--color-success)' : 'currentColor';\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" {...rest}>\n {checked ? (\n <>\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke={color} strokeWidth=\"1.5\" />\n <path d=\"M5.5 8L7.2 9.7L10.5 6.3\" stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </>\n ) : (\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke={color} strokeWidth=\"1.5\" />\n )}\n </svg>\n );\n}\n\n/** Radio-button select icon — hollow ring = not selected, ring + center dot = selected */\nexport function RadioSelectIcon({ size = 16, selected = false, className, style }: { size?: number; selected?: boolean; className?: string; style?: React.CSSProperties }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" className={className} style={style}>\n <circle cx=\"8\" cy=\"8\" r=\"6.5\" strokeWidth=\"1.5\" stroke=\"currentColor\" />\n {selected && <circle cx=\"8\" cy=\"8\" r=\"3.5\" fill=\"currentColor\" />}\n </svg>\n );\n}\n\nexport function DotIcon(props: IconProps) {\n const { size = 12, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\" {...rest}>\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n </svg>\n );\n}\n\n// ─── Progress Stage Icons ────────────────────────────────────────────────────\n\n/** Circle with checkmark — for completed progress stages. Uses accent color via CSS var. */\nexport function StageCheckIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" className=\"flex-shrink-0\" {...rest}>\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"var(--color-accent, var(--color-success))\" strokeWidth=\"1.5\" />\n <path d=\"M5.5 8L7.2 9.7L10.5 6.3\" stroke=\"var(--color-accent, var(--color-success))\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\n/** Circle with X — for errored progress stages. */\nexport function StageErrorIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" className=\"flex-shrink-0\" {...rest}>\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"var(--color-error)\" strokeWidth=\"1.5\" />\n <path d=\"M6 6L10 10M10 6L6 10\" stroke=\"var(--color-error)\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\n/** Empty circle — for pending progress stages. */\nexport function StagePendingIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" className=\"flex-shrink-0\" {...rest}>\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"var(--color-surface-border)\" strokeWidth=\"1.5\" />\n </svg>\n );\n}\n\n/** Spinning arc circle — for running progress stages. Uses native SVG animateTransform (CSS-independent). */\nexport function StageSpinIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" {...rest}>\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"var(--color-accent, var(--color-primary))\" strokeWidth=\"2\" strokeDasharray=\"10 28\" strokeLinecap=\"round\">\n <animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 8 8\" to=\"360 8 8\" dur=\"1s\" repeatCount=\"indefinite\" />\n </circle>\n </svg>\n );\n}\n\n/** Pulsing circle background — for running progress stages. Uses native SVG animate. */\nexport function StagePulseIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" {...rest}>\n <circle cx=\"8\" cy=\"8\" r=\"6\" stroke=\"var(--color-accent, var(--color-text-muted))\" strokeWidth=\"1\" opacity=\"0.5\" />\n <circle cx=\"8\" cy=\"8\" r=\"3\" fill=\"var(--color-accent, var(--color-text-muted))\" opacity=\"0.4\" />\n </svg>\n );\n}\n\n// ─── Misc ────────────────────────────────────────────────────────────────────\n\nexport function AttachmentIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48\" />\n </svg>\n );\n}\n\nexport function EyeIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n );\n}\n\nexport function EyeOffIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24\" />\n <line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\" />\n </svg>\n );\n}\n\nexport function UploadIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4\" />\n <polyline points=\"17 8 12 3 7 8\" />\n <line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\" />\n </svg>\n );\n}\n\nexport function MoreHorizontalIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"12\" cy=\"12\" r=\"1\" />\n <circle cx=\"19\" cy=\"12\" r=\"1\" />\n <circle cx=\"5\" cy=\"12\" r=\"1\" />\n </svg>\n );\n}\n\nexport function ExportIcon(props: IconProps) {\n return <DownloadIcon {...props} />;\n}\n\n// ─── Additional Icons (migrated from inline SVGs) ────────────────────────────\n\nexport function ChevronLeftIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n );\n}\n\nexport function MoreVerticalIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props, { size: 13 })} stroke=\"none\" fill=\"currentColor\">\n <circle cx=\"12\" cy=\"5\" r=\"1.5\" />\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" />\n <circle cx=\"12\" cy=\"19\" r=\"1.5\" />\n </svg>\n );\n}\n\nexport function WrapLinesIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M3 6h18\" />\n <path d=\"M3 12h15a3 3 0 1 1 0 6h-4\" />\n <polyline points=\"16 16 14 18 16 20\" />\n <path d=\"M3 18h7\" />\n </svg>\n );\n}\n\nexport function InfoCircleIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\" />\n </svg>\n );\n}\n\nexport function WarningTriangleIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\" />\n <line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\" />\n <line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\" />\n </svg>\n );\n}\n\nexport function BulkEditIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\" />\n <path d=\"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\" />\n </svg>\n );\n}\n\nexport function SparkleIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5L12 3z\" />\n <path d=\"M18 14l.75 2.25L21 17l-2.25.75L18 20l-.75-2.25L15 17l2.25-.75L18 14z\" />\n </svg>\n );\n}\n\nexport function WandIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M15 4V2\" />\n <path d=\"M15 16v-2\" />\n <path d=\"M8 9h2\" />\n <path d=\"M20 9h2\" />\n <path d=\"M17.8 11.8l1.4 1.4\" />\n <path d=\"M15 9h.01\" />\n <path d=\"M17.8 6.2l1.4-1.4\" />\n <path d=\"M3 21l9-9\" />\n <path d=\"M12.2 6.2L10.8 4.8\" />\n </svg>\n );\n}\n\nexport function FileUploadIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" />\n <polyline points=\"14 2 14 8 20 8\" />\n <polyline points=\"12 18 12 12\" />\n <polyline points=\"9 15 12 12 15 15\" />\n </svg>\n );\n}\n\nexport function DragHandleIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)} stroke=\"none\" fill=\"currentColor\">\n <circle cx=\"9\" cy=\"5\" r=\"1.5\" />\n <circle cx=\"15\" cy=\"5\" r=\"1.5\" />\n <circle cx=\"9\" cy=\"12\" r=\"1.5\" />\n <circle cx=\"15\" cy=\"12\" r=\"1.5\" />\n <circle cx=\"9\" cy=\"19\" r=\"1.5\" />\n <circle cx=\"15\" cy=\"19\" r=\"1.5\" />\n </svg>\n );\n}\n\nexport function FilePlusIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z\" />\n <polyline points=\"14 3 14 8 19 8\" />\n <line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"18\" />\n <line x1=\"9\" y1=\"15\" x2=\"15\" y2=\"15\" />\n </svg>\n );\n}\n\nexport function FolderPlusIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M3 7.5A2.5 2.5 0 0 1 5.5 5H10l2 2h6.5A2.5 2.5 0 0 1 21 9.5v7A2.5 2.5 0 0 1 18.5 19h-13A2.5 2.5 0 0 1 3 16.5z\" />\n <line x1=\"12\" y1=\"10.5\" x2=\"12\" y2=\"16.5\" />\n <line x1=\"9\" y1=\"13.5\" x2=\"15\" y2=\"13.5\" />\n </svg>\n );\n}\n\nexport function DuplicateIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\" />\n <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\" />\n </svg>\n );\n}\n\nexport function SunIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\" />\n <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\" />\n <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\" />\n <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\" />\n <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\" />\n <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\" />\n <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\" />\n <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\" />\n </svg>\n );\n}\n\nexport function CpuIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\" />\n <rect x=\"9\" y=\"9\" width=\"6\" height=\"6\" />\n <line x1=\"9\" y1=\"1\" x2=\"9\" y2=\"4\" />\n <line x1=\"15\" y1=\"1\" x2=\"15\" y2=\"4\" />\n <line x1=\"9\" y1=\"20\" x2=\"9\" y2=\"23\" />\n <line x1=\"15\" y1=\"20\" x2=\"15\" y2=\"23\" />\n <line x1=\"20\" y1=\"9\" x2=\"23\" y2=\"9\" />\n <line x1=\"20\" y1=\"14\" x2=\"23\" y2=\"14\" />\n <line x1=\"1\" y1=\"9\" x2=\"4\" y2=\"9\" />\n <line x1=\"1\" y1=\"14\" x2=\"4\" y2=\"14\" />\n </svg>\n );\n}\n\nexport function CodeBracketsIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"16 18 22 12 16 6\" />\n <polyline points=\"8 6 2 12 8 18\" />\n </svg>\n );\n}\n\nexport function HelpCircleIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\" />\n <line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\" />\n </svg>\n );\n}\n\nexport function FileTextIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" />\n <polyline points=\"14 2 14 8 20 8\" />\n <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\" />\n <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\" />\n </svg>\n );\n}\n\nexport function VariableIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M8 21s-4-3-4-9 4-9 4-9\" />\n <path d=\"M16 3s4 3 4 9-4 9-4 9\" />\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" />\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" />\n </svg>\n );\n}\n\nexport function FolderOpenIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2v2\" />\n <path d=\"M2 10l2.5 9h15l2.5-9H2z\" />\n </svg>\n );\n}\n\nexport function FolderImportIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z\" />\n <path d=\"M12 10v6\" />\n <path d=\"m15 13-3 3-3-3\" />\n </svg>\n );\n}\n\nexport function FolderExportIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z\" />\n <path d=\"M12 16v-6\" />\n <path d=\"m9 13 3-3 3 3\" />\n </svg>\n );\n}\n\nexport function FolderTransferIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z\" />\n {/* Down arrow (import) */}\n <path d=\"M9 10v5\" />\n <path d=\"m7 13 2 2 2-2\" />\n {/* Up arrow (export) */}\n <path d=\"M15 15v-5\" />\n <path d=\"m13 12 2-2 2 2\" />\n </svg>\n );\n}\n\nexport function DropdownArrowIcon({ className, style, size = 12 }: { className?: string; style?: React.CSSProperties; size?: number }) {\n return (\n <svg className={className} style={style} width={size} height={size} viewBox=\"0 0 12 7\" fill=\"none\">\n <path d=\"M1 1l5 5 5-5\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\nexport function PanelMinimizeIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M4 12h16\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\nexport function PanelMaximizeIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\" />\n </svg>\n );\n}\n\nexport function DiagonalLinesPattern({ patternId, stroke = 'var(--color-mock-server-muted)' }: { patternId: string; stroke?: string }) {\n return (\n <svg className=\"absolute inset-0 w-full h-full rounded-lg opacity-[0.08]\" xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <pattern id={patternId} patternUnits=\"userSpaceOnUse\" width=\"8\" height=\"8\" patternTransform=\"rotate(45)\">\n <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke={stroke} strokeWidth=\"1\" />\n </pattern>\n </defs>\n <rect width=\"100%\" height=\"100%\" fill={`url(#${patternId})`} />\n </svg>\n );\n}\n\nexport function SendIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M22 2 11 13\" />\n <path d=\"m22 2-7 20-4-9-9-4z\" />\n </svg>\n );\n}\n\nexport function ReplSendIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M5 3l14 9-14 9V3z\" fill=\"currentColor\" stroke=\"none\" />\n </svg>\n );\n}\n\nexport function EraserIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21\" />\n <path d=\"M22 21H7\" />\n <path d=\"m5 11 9 9\" />\n </svg>\n );\n}\n\nexport function WifiIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M12 20h.01\" />\n <path d=\"M2 8.82a15 15 0 0 1 20 0\" />\n <path d=\"M5 12.859a10 10 0 0 1 14 0\" />\n <path d=\"M8.5 16.429a5 5 0 0 1 7 0\" />\n </svg>\n );\n}\n\nexport function RadioIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M4.9 19.1C1 15.2 1 8.8 4.9 4.9\" />\n <path d=\"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.4\" />\n <circle cx=\"12\" cy=\"12\" r=\"2\" />\n <path d=\"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.4\" />\n <path d=\"M19.1 4.9C23 8.8 23 15.1 19.1 19\" />\n </svg>\n );\n}\n\nexport function ArrowUpIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M12 19V5\" />\n <path d=\"m5 12 7-7 7 7\" />\n </svg>\n );\n}\n\nexport function ArrowDownIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M12 5v14\" />\n <path d=\"m19 12-7 7-7-7\" />\n </svg>\n );\n}\n\nexport function ArrowUpRightIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M7 17L17 7M17 7H9M17 7V15\" />\n </svg>\n );\n}\n\nexport function ArrowDownLeftIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M17 7L7 17M7 17H15M7 17V9\" />\n </svg>\n );\n}\n\nexport function AutoScrollIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n );\n}\n\nexport function TerminalIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"4 17 10 11 4 5\" />\n <line x1=\"12\" y1=\"19\" x2=\"20\" y2=\"19\" />\n </svg>\n );\n}\n\nexport function TimelineIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M12 20V10\" />\n <path d=\"M18 20V4\" />\n <path d=\"M6 20v-4\" />\n </svg>\n );\n}\n\nexport function NetworkIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M4 12h16\" />\n <path d=\"M4 6h16\" />\n <path d=\"M4 18h16\" />\n <circle cx=\"7\" cy=\"6\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"17\" cy=\"18\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" />\n </svg>\n );\n}\n\n// ─── Debugger Icons ──────────────────────────────────────────────────────────\n\nexport function BugIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M8 2l1.88 1.88\" />\n <path d=\"M14.12 3.88L16 2\" />\n <path d=\"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1\" />\n <path d=\"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6\" />\n <path d=\"M12 20v-9\" />\n <path d=\"M6.53 9C4.6 8.8 3 7.1 3 5\" />\n <path d=\"M6 13H2\" />\n <path d=\"M3 21c0-2.1 1.7-3.9 3.8-4\" />\n <path d=\"M20.97 5c0 2.1-1.6 3.8-3.5 4\" />\n <path d=\"M22 13h-4\" />\n <path d=\"M17.2 17c2.1.1 3.8 1.9 3.8 4\" />\n </svg>\n );\n}\n\nexport function StepOverIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M5 16V8\" />\n <path d=\"M5 8l4 4-4 4\" />\n <path d=\"M12 4h4a4 4 0 0 1 0 8h-4\" />\n <path d=\"M16 16l-4-4 4-4\" />\n </svg>\n );\n}\n\nexport function StopSquareIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <rect x=\"8\" y=\"8\" width=\"8\" height=\"8\" rx=\"1\" fill=\"currentColor\" stroke=\"none\" />\n </svg>\n );\n}\n\nexport function VariablesIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M4 7V4h16v3\" />\n <path d=\"M9 20h6\" />\n <path d=\"M12 4v16\" />\n </svg>\n );\n}\n\nexport function OutputIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"22 12 16 12 14 15 10 15 8 12 2 12\" />\n <path d=\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\" />\n </svg>\n );\n}\n\nexport function PanelRightIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <line x1=\"15\" y1=\"3\" x2=\"15\" y2=\"21\" />\n </svg>\n );\n}\n\nexport function SidebarLeftIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\" />\n <rect x=\"3\" y=\"3\" width=\"6\" height=\"18\" rx=\"2\" fill=\"currentColor\" stroke=\"none\" fillOpacity={0.35} />\n </svg>\n );\n}\n\nexport function SidebarRightIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" />\n <line x1=\"15\" y1=\"3\" x2=\"15\" y2=\"21\" />\n <rect x=\"15\" y=\"3\" width=\"6\" height=\"18\" rx=\"2\" fill=\"currentColor\" stroke=\"none\" fillOpacity={0.35} />\n </svg>\n );\n}\n\nexport function SystemIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n {/* Bot/system icon — rectangular face + eyes */}\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"10\" rx=\"2\" />\n <path d=\"M12 11V7\" />\n <path d=\"M8 7h8\" />\n <circle cx=\"9\" cy=\"16\" r=\"1\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"15\" cy=\"16\" r=\"1\" fill=\"currentColor\" stroke=\"none\" />\n <path d=\"M9.5 19.5h5\" />\n </svg>\n );\n}\n\nexport function UserPromptIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n {/* Classic person — circle head + arc body */}\n <circle cx=\"12\" cy=\"8\" r=\"4\" />\n <path d=\"M20 21a8 8 0 1 0-16 0\" />\n </svg>\n );\n}\n\nexport function StepIntoIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M12 3v12\" />\n <path d=\"M8 11l4 4 4-4\" />\n <line x1=\"4\" y1=\"21\" x2=\"20\" y2=\"21\" />\n </svg>\n );\n}\n\nexport function StepOutIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M12 21V9\" />\n <path d=\"M8 13l4-4 4 4\" />\n <line x1=\"4\" y1=\"3\" x2=\"20\" y2=\"3\" />\n </svg>\n );\n}\n\nexport function RestartIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M1 4v6h6\" />\n <path d=\"M3.51 15a9 9 0 1 0 2.13-9.36L1 10\" />\n </svg>\n );\n}\n\nexport function DevToolsIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M16 18 22 12 16 6\" />\n <path d=\"M8 6 2 12 8 18\" />\n </svg>\n );\n}\n\nexport function GaugeIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Z\" />\n <path d=\"M12 6v2\" />\n <path d=\"M16.24 7.76l-1.42 1.42\" />\n <path d=\"M18 12h-2\" />\n <path d=\"M12 12l-3.5-3.5\" />\n </svg>\n );\n}\n\nexport function LineNumbersIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M5 4v16\" />\n <path d=\"M3 8h4\" />\n <path d=\"M10 6h10\" />\n <path d=\"M10 12h10\" />\n <path d=\"M10 18h10\" />\n </svg>\n );\n}\n\nexport function MemoryIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\" />\n <rect x=\"8\" y=\"8\" width=\"8\" height=\"8\" rx=\"1\" />\n <path d=\"M2 9h2\" /><path d=\"M2 15h2\" />\n <path d=\"M20 9h2\" /><path d=\"M20 15h2\" />\n <path d=\"M9 2v2\" /><path d=\"M15 2v2\" />\n <path d=\"M9 20v2\" /><path d=\"M15 20v2\" />\n </svg>\n );\n}\n\nexport function UptimeIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"12 6 12 12 16 14\" />\n </svg>\n );\n}\n\nexport function ProcessIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\" />\n <path d=\"M8 21h8\" />\n <path d=\"M12 17v4\" />\n <path d=\"M7 8h2\" /><path d=\"M7 11h4\" />\n </svg>\n );\n}\n\n// ─── Realtime Protocol Icons ─────────────────────────────────────────────────\n\nexport function RealtimeIcon(props: IconProps) {\n const { size = 20, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" {...rest}>\n <path d=\"M12 2a10 10 0 1 0 10 10\" />\n <path d=\"M12 2a14.5 14.5 0 0 1 2 10\" />\n <path d=\"M12 2c-2.5 3-4 6.5-4 10s1.5 7 4 10\" />\n <path d=\"M2 12h10\" />\n <path d=\"M19 5l-2 5h5l-2 5\" />\n </svg>\n );\n}\n\nexport function SSEIcon(props: IconProps) {\n const { size = 20, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" {...rest}>\n <path d=\"M4 10a7.31 7.31 0 0 0 10 10Z\" />\n <path d=\"M9 15l3-3\" />\n <path d=\"M18 16a6 6 0 0 0-6-6\" />\n <path d=\"M22 16A10 10 0 0 0 11 3\" />\n </svg>\n );\n}\n\nexport function SocketIOIcon(props: IconProps) {\n const { size = 20, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"currentColor\" stroke=\"none\" {...rest}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M9.277 2.084a.5.5 0 0 1 .185.607l-2.269 5.5a.5.5 0 0 1-.462.309H3.5a.5.5 0 0 1-.354-.854l5.5-5.5a.5.5 0 0 1 .631-.062ZM4.707 7.5h1.69l1.186-2.875L4.707 7.5Zm2.016 6.416a.5.5 0 0 1-.185-.607l2.269-5.5a.5.5 0 0 1 .462-.309H12.5a.5.5 0 0 1 .354.854l-5.5 5.5a.5.5 0 0 1-.631.062Zm4.57-5.416h-1.69l-1.186 2.875L11.293 8.5Z\" />\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-1 0A7 7 0 1 1 1 8a7 7 0 0 1 14 0Z\" />\n </svg>\n );\n}\n\nexport function MQTTIcon(props: IconProps) {\n const { size = 20, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"currentColor\" stroke=\"none\" {...rest}>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M10.133 1h4.409a.5.5 0 0 1 .5.5v4.422c0 .026-.035.033-.045.01l-.048-.112a9.095 9.095 0 0 0-4.825-4.776c-.023-.01-.016-.044.01-.044Zm-8.588.275h-.5v1h.5c7.027 0 12.229 5.199 12.229 12.226v.5h1v-.5c0-7.58-5.65-13.226-13.229-13.226Zm.034 4.22h-.5v1h.5c2.361 0 4.348.837 5.744 2.238 1.395 1.401 2.227 3.395 2.227 5.758v.5h1v-.5c0-2.604-.921-4.859-2.52-6.463-1.596-1.605-3.845-2.532-6.45-2.532Zm-.528 8.996v-4.423c0-.041.033-.074.074-.074a4.923 4.923 0 0 1 4.923 4.922.074.074 0 0 1-.074.074H1.551a.5.5 0 0 1-.5-.5Z\" />\n </svg>\n );\n}\n\n// ─── Debugger Icons (VS Code codicons, colorized) ───────────────────────────\n\nexport function DbgContinueIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"#89d185\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n <path d=\"M14.578 7.149L7.578 2.186C7.397 2.058 7.198 2 7.003 2C6.484 2 6 2.411 6 3.002V13.003C6 13.594 6.485 14.005 7.004 14.005C7.201 14.005 7.403 13.946 7.585 13.815L14.585 8.777C15.142 8.376 15.139 7.546 14.579 7.15L14.578 7.149ZM7.5 12.027V3.969L13.14 7.968L7.5 12.027ZM3.5 2.75V13.25C3.5 13.664 3.164 14 2.75 14C2.336 14 2 13.664 2 13.25V2.75C2 2.336 2.336 2 2.75 2C3.164 2 3.5 2.336 3.5 2.75Z\"/>\n </svg>\n );\n}\n\nexport function DbgStepOverIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"#75beff\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n <path d=\"M9.99993 13C9.99993 14.103 9.10293 15 7.99993 15C6.89693 15 5.99993 14.103 5.99993 13C5.99993 11.897 6.89693 11 7.99993 11C9.10293 11 9.99993 11.897 9.99993 13ZM13.2499 2C12.8359 2 12.4999 2.336 12.4999 2.75V4.027C11.3829 2.759 9.75993 2 7.99993 2C5.03293 2 2.47993 4.211 2.06093 7.144C2.00193 7.554 2.28793 7.934 2.69793 7.993C2.73393 7.999 2.76993 8.001 2.80493 8.001C3.17193 8.001 3.49293 7.731 3.54693 7.357C3.86093 5.159 5.77593 3.501 8.00093 3.501C9.52993 3.501 10.9199 4.264 11.7439 5.501H9.75093C9.33693 5.501 9.00093 5.837 9.00093 6.251C9.00093 6.665 9.33693 7.001 9.75093 7.001H13.2509C13.6649 7.001 14.0009 6.665 14.0009 6.251V2.751C14.0009 2.337 13.6649 2.001 13.2509 2.001L13.2499 2Z\"/>\n </svg>\n );\n}\n\nexport function DbgStepIntoIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"#75beff\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n <path d=\"M10 13C10 14.103 9.10304 15 8.00004 15C6.89704 15 6.00004 14.103 6.00004 13C6.00004 11.897 6.89704 11 8.00004 11C9.10304 11 10 11.897 10 13ZM12.03 5.22C11.737 4.927 11.262 4.927 10.969 5.22L8.74904 7.44V1.75C8.74904 1.336 8.41304 1 7.99904 1C7.58504 1 7.24904 1.336 7.24904 1.75V7.439L5.02904 5.219C4.73604 4.926 4.26104 4.926 3.96804 5.219C3.67504 5.512 3.67504 5.987 3.96804 6.28L7.46804 9.78C7.61404 9.926 7.80604 10 7.99804 10C8.19004 10 8.38204 9.927 8.52804 9.78L12.028 6.28C12.321 5.987 12.321 5.512 12.028 5.219L12.03 5.22Z\"/>\n </svg>\n );\n}\n\nexport function DbgStepOutIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"#75beff\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n <path d=\"M9.99802 13C9.99802 14.103 9.10102 15 7.99802 15C6.89502 15 5.99802 14.103 5.99802 13C5.99802 11.897 6.89502 11 7.99802 11C9.10102 11 9.99802 11.897 9.99802 13ZM12.03 4.71999L8.53002 1.21999C8.23702 0.926994 7.76202 0.926994 7.46902 1.21999L3.96902 4.71999C3.67602 5.01299 3.67602 5.48799 3.96902 5.78099C4.26202 6.07399 4.73702 6.07399 5.03002 5.78099L7.25002 3.56099V9.24999C7.25002 9.66399 7.58602 9.99999 8.00002 9.99999C8.41402 9.99999 8.75002 9.66399 8.75002 9.24999V3.56099L10.97 5.78099C11.116 5.92699 11.308 6.00099 11.5 6.00099C11.692 6.00099 11.884 5.92799 12.03 5.78099C12.323 5.48799 12.323 5.01299 12.03 4.71999Z\"/>\n </svg>\n );\n}\n\nexport function DbgRestartIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"#89d185\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n <path d=\"M14 8C14 8.81 13.842 9.596 13.528 10.336C13.224 11.053 12.791 11.694 12.241 12.243C11.694 12.791 11.053 13.224 10.337 13.528C9.59602 13.841 8.81002 14 8.00002 14C7.19002 14 6.40402 13.842 5.66402 13.528C4.94702 13.224 4.30602 12.791 3.75702 12.242C3.20802 11.693 2.77602 11.053 2.47202 10.337C2.31002 9.956 2.48802 9.516 2.86902 9.354C3.25102 9.19 3.69002 9.37 3.85202 9.751C4.08102 10.288 4.40502 10.77 4.81802 11.181C5.23002 11.595 5.71202 11.919 6.24902 12.148C7.35602 12.615 8.64302 12.615 9.75202 12.148C10.288 11.919 10.77 11.595 11.181 11.183C11.595 10.77 11.919 10.288 12.148 9.751C12.381 9.197 12.501 8.608 12.501 8C12.501 7.392 12.382 6.803 12.148 6.248C11.919 5.712 11.595 5.23 11.182 4.819C10.77 4.405 10.288 4.081 9.75102 3.852C8.64402 3.385 7.35702 3.385 6.24802 3.852C5.71202 4.081 5.23002 4.405 4.81902 4.817C4.60802 5.027 4.42002 5.256 4.25702 5.5H6.24902C6.66302 5.5 6.99902 5.836 6.99902 6.25C6.99902 6.664 6.66302 7 6.24902 7H2.74902C2.33502 7 1.99902 6.664 1.99902 6.25V2.75C1.99902 2.336 2.33502 2 2.74902 2C3.16302 2 3.49902 2.336 3.49902 2.75V4.032C3.58202 3.938 3.66802 3.845 3.75802 3.757C4.30502 3.209 4.94602 2.776 5.66202 2.472C7.14402 1.845 8.85402 1.845 10.335 2.472C11.052 2.776 11.693 3.209 12.242 3.758C12.791 4.307 13.223 4.947 13.527 5.663C13.84 6.404 13.999 7.19 13.999 8H14Z\"/>\n </svg>\n );\n}\n\n/** VS Code codicon: debug-restart-frame */\nexport function RestartFrameIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"#89d185\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n <path d=\"M1 3.5C1 3.22386 1.22386 3 1.5 3H14.5C14.7761 3 15 3.22386 15 3.5C15 3.77614 14.7761 4 14.5 4H1.5C1.22386 4 1 3.77614 1 3.5Z\"/>\n <path d=\"M1 7.5C1 7.22386 1.22386 7 1.5 7H14.5C14.7761 7 15 7.22386 15 7.5C15 7.77614 14.7761 8 14.5 8H1.5C1.22386 8 1 7.77614 1 7.5Z\"/>\n <path d=\"M1 11.5C1 11.2239 1.22386 11 1.5 11H7.99939V11.4994C7.99939 11.6716 8.02899 11.8407 8.08538 12H1.5C1.22386 12 1 11.7761 1 11.5Z\"/>\n <path d=\"M8.99939 9.49939V11.4994C8.99939 11.632 9.05207 11.7592 9.14584 11.8529C9.2396 11.9467 9.36678 11.9994 9.49939 11.9994H11.4994C11.632 11.9994 11.7592 11.9467 11.8529 11.8529C11.9467 11.7592 11.9994 11.632 11.9994 11.4994C11.9994 11.3668 11.9467 11.2396 11.8529 11.1458C11.7592 11.0521 11.632 10.9994 11.4994 10.9994H10.4994C10.5702 10.9049 10.6477 10.8157 10.7314 10.7324C11.2078 10.2778 11.8409 10.0242 12.4994 10.0242C13.1579 10.0242 13.791 10.2778 14.2674 10.7324C14.4996 10.9645 14.6838 11.2402 14.8095 11.5435C14.9352 11.8469 14.9999 12.172 14.9999 12.5004C14.9999 12.8287 14.9352 13.1539 14.8095 13.4573C14.6838 13.7606 14.4996 14.0362 14.2674 14.2684C13.7909 14.7227 13.1578 14.9762 12.4994 14.9762C11.841 14.9762 11.2079 14.7227 10.7314 14.2684C10.6371 14.1773 10.5108 14.1269 10.3797 14.1281C10.2486 14.1292 10.1232 14.1818 10.0305 14.2745C9.93778 14.3672 9.88519 14.4926 9.88405 14.6237C9.88291 14.7548 9.93331 14.8811 10.0244 14.9754C10.6808 15.6318 11.5711 16.0006 12.4994 16.0006C13.4277 16.0006 14.318 15.6318 14.9744 14.9754C15.6308 14.319 15.9996 13.4287 15.9996 12.5004C15.9996 11.5721 15.6308 10.6818 14.9744 10.0254C14.3075 9.38902 13.4212 9.03396 12.4994 9.03396C11.5776 9.03396 10.6912 9.38902 10.0244 10.0254L9.99939 10.0514V9.49939C9.99939 9.36678 9.94671 9.2396 9.85294 9.14584C9.75918 9.05207 9.632 8.99939 9.49939 8.99939C9.36678 8.99939 9.2396 9.05207 9.14584 9.14584C9.05207 9.2396 8.99939 9.36678 8.99939 9.49939Z\"/>\n </svg>\n );\n}\n\nexport function DbgStopIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"#f48771\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n <path d=\"M12.5 3.5V12.5H3.5V3.5H12.5ZM12.5 2H3.5C2.672 2 2 2.672 2 3.5V12.5C2 13.328 2.672 14 3.5 14H12.5C13.328 14 14 13.328 14 12.5V3.5C14 2.672 13.328 2 12.5 2Z\"/>\n </svg>\n );\n}\n\nexport function MuteBreakpointsIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" {...rest}>\n <circle cx=\"8\" cy=\"8\" r=\"5.5\" fill=\"var(--color-error)\" />\n <line x1=\"4.2\" y1=\"11.8\" x2=\"11.8\" y2=\"4.2\" stroke=\"white\" strokeWidth=\"1.6\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\nexport function RunDebugIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n <path fill=\"#89d185\" d=\"M19.854 13.9605L13.2105 17.697C12.954 17.22 12.5505 16.8345 12.039 16.641L12.054 16.626L19.1175 12.6525C19.6275 12.366 19.6275 11.6325 19.1175 11.3445L7.11751 4.59599C6.61801 4.31399 6.00001 4.67549 6.00001 5.24999V10.5C5.46901 10.5 4.97401 10.6215 4.50001 10.791V5.24999C4.50001 3.52949 6.35251 2.44499 7.85251 3.28949L19.8525 10.0395C21.381 10.899 21.381 13.101 19.8525 13.962L19.854 13.9605Z\"/>\n <path fill=\"#e06c75\" d=\"M10.5 16.0605V18H11.25C11.664 18 12 18.336 12 18.75C12 19.164 11.664 19.5 11.25 19.5H10.5C10.5 20.076 10.3905 20.625 10.1925 21.132L11.781 22.7205C12.0735 23.013 12.0735 23.4885 11.781 23.781C11.634 23.928 11.442 24 11.25 24C11.058 24 10.866 23.9265 10.719 23.781L9.39151 22.4535C8.56651 23.4 7.35151 24.0015 6.00001 24.0015C4.64851 24.0015 3.43351 23.4015 2.60851 22.4535L1.28101 23.781C1.13401 23.928 0.942009 24 0.750009 24C0.558009 24 0.366009 23.9265 0.219009 23.781C-0.0734912 23.4885 -0.0734912 23.013 0.219009 22.7205L1.80751 21.132C1.60951 20.625 1.50001 20.076 1.50001 19.5H0.750009C0.336009 19.5 8.78423e-06 19.164 8.78423e-06 18.75C8.78423e-06 18.336 0.336009 18 0.750009 18H1.50001V16.0605L0.219009 14.7795C-0.0734912 14.487 -0.0734912 14.0115 0.219009 13.719C0.511509 13.4265 0.987009 13.4265 1.27951 13.719L2.56051 15H3.00001C3.00001 13.3455 4.34551 12 6.00001 12C7.65451 12 9.00001 13.3455 9.00001 15H9.43951L10.7205 13.719C11.013 13.4265 11.4885 13.4265 11.781 13.719C12.0735 14.0115 12.0735 14.487 11.781 14.7795L10.5 16.0605ZM4.50001 15H7.50001C7.50001 14.172 6.82801 13.5 6.00001 13.5C5.17201 13.5 4.50001 14.172 4.50001 15ZM9.00001 16.5H3.00001V19.5C3.00001 21.1545 4.34551 22.5 6.00001 22.5C7.65451 22.5 9.00001 21.1545 9.00001 19.5V16.5Z\"/>\n </svg>\n );\n}\n\n// ─── gRPC Icon (Official gRPC logo arrow/connector) ─────────────────────────\nexport function GrpcIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n <circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"currentColor\" opacity=\"0.12\" />\n <path\n d=\"M6.5 8.5L4 11l2.5 2.5 2.1-.01-2.2-2.19L17.3 11.27l-.95.96 1.05-.01 1.23-1.24-1.24-1.23-1.05.01 1 .96-10.9.04 2.18-2.2L6.5 8.5z\"\n fill=\"currentColor\"\n transform=\"translate(0, 1) scale(1.1)\"\n />\n </svg>\n );\n}\n\n// ─── gRPC Stream Type Icons ─────────────────────────────────────────────────\n\n/**\n * Unary RPC — single request, single response.\n * One arrow up + one arrow down.\n */\nexport function GrpcUnaryIcon(props: IconProps) {\n const { size = 14, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" {...rest}>\n {/* Single up arrow */}\n <path d=\"M5 13V3M3 5l2-2 2 2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n {/* Single down arrow */}\n <path d=\"M11 3v10M9 11l2 2 2-2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\n/**\n * Server Streaming RPC — single request, stream of responses.\n * One full arrow up + one arrow down with double chevron head.\n */\nexport function GrpcServerStreamIcon(props: IconProps) {\n const { size = 14, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" {...rest}>\n {/* Single up arrow */}\n <path d=\"M4 13V3M2 5l2-2 2 2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n {/* Down arrow with tail + double chevron head (spaced) */}\n <path d=\"M12 3v10\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n <path d=\"M10 8.5l2 2 2-2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M10 12l2 2 2-2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\n/**\n * Client Streaming RPC — stream of requests, single response.\n * One arrow up with double chevron head + one full arrow down.\n */\nexport function GrpcClientStreamIcon(props: IconProps) {\n const { size = 14, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" {...rest}>\n {/* Up arrow with tail + double chevron head (spaced) */}\n <path d=\"M4 13V3\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n <path d=\"M2 7.5l2-2 2 2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M2 4l2-2 2 2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n {/* Single down arrow */}\n <path d=\"M12 3v10M10 11l2 2 2-2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\n/**\n * Bidirectional Streaming RPC — stream in both directions.\n * Up arrow with double chevron + down arrow with double chevron.\n */\nexport function GrpcBidiStreamIcon(props: IconProps) {\n const { size = 14, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" {...rest}>\n {/* Up arrow with tail + double chevron head (spaced) */}\n <path d=\"M4 13V3\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n <path d=\"M2 7.5l2-2 2 2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M2 4l2-2 2 2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n {/* Down arrow with tail + double chevron head (spaced) */}\n <path d=\"M12 3v10\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" />\n <path d=\"M10 8.5l2 2 2-2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M10 12l2 2 2-2\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n );\n}\n\n// ─── SOAP Protocol Icon ─────────────────────────────────────────────────────\n\n/**\n * SOAP icon — a bar of soap shape with \"S\" letter.\n * Round peach background with concave soap bar silhouette.\n */\nexport function SoapIcon(props: IconProps) {\n const { size = 16, ...rest } = props;\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...rest}>\n {/* Circular peach background */}\n <circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"currentColor\" opacity=\"0.12\" />\n {/* Soap bar shape (concave sides like a real bar of soap) */}\n <path\n d=\"M5 10.5C5 9.2 5.8 8.2 7 8c1-.2 3.5-.5 5-.5s4 .3 5 .5c1.2.2 2 1.2 2 2.5v3c0 1.3-.8 2.3-2 2.5-1 .2-3.5.5-5 .5s-4-.3-5-.5c-1.2-.2-2-1.2-2-2.5v-3z\"\n fill=\"currentColor\"\n opacity=\"0.25\"\n />\n {/* Bold \"S\" letter centered */}\n <text\n x=\"12\"\n y=\"13.2\"\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n fontSize=\"7.5\"\n fontWeight=\"700\"\n fontFamily=\"Arial, sans-serif\"\n fill=\"currentColor\"\n >\n S\n </text>\n </svg>\n );\n}\n\n// ─── Protocol Badge Icons (rich circular icons with dark/light theme support) ─\n\n/**\n * REST protocol badge — circular icon with arrows and \"REST\" text.\n * Uses CSS variable for accent color to match protocol theme.\n */\nexport function ProtocolRestBadge(props: IconProps) {\n const { size = 24, ...rest } = props;\n const accent = 'var(--color-protocol-rest)';\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 512 512\" fill=\"none\" {...rest}>\n <g fill=\"none\" stroke={accent} strokeWidth=\"16\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M108 155 L404 155\" />\n <path d=\"M362 123 L404 155\" />\n <path d=\"M404 345 L108 345\" />\n <path d=\"M150 377 L108 345\" />\n </g>\n <text x=\"256\" y=\"288\" textAnchor=\"middle\" fontFamily=\"Futura, 'Avenir Next', 'Helvetica Neue', Helvetica, Arial, sans-serif\" fontWeight=\"800\" fontSize=\"105\" fill={accent} letterSpacing=\"4\">REST</text>\n </svg>\n );\n}\n\n/**\n * GraphQL protocol badge — circular icon with GraphQL atom/molecule shape.\n */\nexport function ProtocolGraphQLBadge(props: IconProps) {\n const { size = 24, ...rest } = props;\n const accent = 'var(--color-protocol-graphql)';\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 512 512\" fill=\"none\" {...rest}>\n <g transform=\"translate(116 116) scale(9.33)\" fill={accent}>\n <path d=\"M4.08 22.864l-1.1-.636L15.248.98l1.1.636z\" />\n <path d=\"M2.727 20.53h24.538v1.272H2.727z\" />\n <path d=\"M15.486 28.332L3.213 21.246l.636-1.1 12.273 7.086zm10.662-18.47L13.874 2.777l.636-1.1 12.273 7.086z\" />\n <path d=\"M3.852 9.858l-.636-1.1L15.5 1.67l.636 1.1z\" />\n <path d=\"M25.922 22.864l-12.27-21.25 1.1-.636 12.27 21.25zM3.7 7.914h1.272v14.172H3.7zm21.328 0H26.3v14.172h-1.272z\" />\n <path d=\"M15.27 27.793l-.555-.962 10.675-6.163.555.962z\" />\n <path d=\"M27.985 22.5a2.68 2.68 0 0 1-3.654.981 2.68 2.68 0 0 1-.981-3.654 2.68 2.68 0 0 1 3.654-.981c1.287.743 1.724 2.375.98 3.654M6.642 10.174a2.68 2.68 0 0 1-3.654.981A2.68 2.68 0 0 1 2.007 7.5a2.68 2.68 0 0 1 3.654-.981 2.68 2.68 0 0 1 .981 3.654M2.015 22.5a2.68 2.68 0 0 1 .981-3.654 2.68 2.68 0 0 1 3.654.981 2.68 2.68 0 0 1-.981 3.654c-1.287.735-2.92.3-3.654-.98m21.343-12.326a2.68 2.68 0 0 1 .981-3.654 2.68 2.68 0 0 1 3.654.981 2.68 2.68 0 0 1-.981 3.654 2.68 2.68 0 0 1-3.654-.981M15 30a2.674 2.674 0 1 1 2.674-2.673A2.68 2.68 0 0 1 15 30m0-24.652a2.67 2.67 0 0 1-2.674-2.674 2.67 2.67 0 1 1 5.347 0A2.67 2.67 0 0 1 15 5.347\" />\n </g>\n </svg>\n );\n}\n\n/**\n * Realtime/WebSocket protocol badge — circular icon with clock and streaming arrows.\n */\nexport function ProtocolRealtimeBadge(props: IconProps) {\n const { size = 24, ...rest } = props;\n const accent = 'var(--color-protocol-websocket)';\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 512 512\" fill=\"none\" {...rest}>\n <g fill=\"none\" stroke={accent} strokeLinecap=\"round\" strokeLinejoin=\"round\">\n {/* Clock face */}\n <circle cx=\"256\" cy=\"256\" r=\"92\" strokeWidth=\"14\" />\n {/* 12 tick marks */}\n <g strokeWidth=\"8\">\n <line x1=\"256\" y1=\"178\" x2=\"256\" y2=\"192\" />\n <line x1=\"295\" y1=\"188.5\" x2=\"288\" y2=\"200.6\" />\n <line x1=\"323.5\" y1=\"217\" x2=\"311.4\" y2=\"224\" />\n <line x1=\"334\" y1=\"256\" x2=\"320\" y2=\"256\" />\n <line x1=\"323.5\" y1=\"295\" x2=\"311.4\" y2=\"288\" />\n <line x1=\"295\" y1=\"323.5\" x2=\"288\" y2=\"311.4\" />\n <line x1=\"256\" y1=\"334\" x2=\"256\" y2=\"320\" />\n <line x1=\"217\" y1=\"323.5\" x2=\"224\" y2=\"311.4\" />\n <line x1=\"188.5\" y1=\"295\" x2=\"200.6\" y2=\"288\" />\n <line x1=\"178\" y1=\"256\" x2=\"192\" y2=\"256\" />\n <line x1=\"188.5\" y1=\"217\" x2=\"200.6\" y2=\"224\" />\n <line x1=\"217\" y1=\"188.5\" x2=\"224\" y2=\"200.6\" />\n </g>\n {/* Clock hands */}\n <line x1=\"256\" y1=\"256\" x2=\"228.5\" y2=\"208.4\" strokeWidth=\"12\" />\n <line x1=\"256\" y1=\"256\" x2=\"275\" y2=\"223\" strokeWidth=\"12\" />\n {/* Center dot */}\n <circle cx=\"256\" cy=\"256\" r=\"7\" fill={accent} stroke=\"none\" />\n {/* Outer top arc (solid) */}\n <path d=\"M 96 256 A 160 160 0 0 1 416 256\" strokeWidth=\"16\" />\n {/* Arrowhead at right end */}\n <path d=\"M 402 252 L 416 278 L 430 252\" strokeWidth=\"16\" />\n {/* Outer bottom arc (dashed) */}\n <path d=\"M 416 256 A 160 160 0 0 1 96 256\" strokeWidth=\"16\" strokeDasharray=\"22 22\" />\n {/* Arrowhead at left end */}\n <path d=\"M 82 260 L 96 234 L 110 260\" strokeWidth=\"16\" />\n </g>\n </svg>\n );\n}\n\n/**\n * gRPC protocol badge — circular icon with arrow and \"g\" text.\n */\nexport function ProtocolGrpcBadge(props: IconProps) {\n const { size = 24, ...rest } = props;\n const accent = 'var(--color-protocol-grpc)';\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 512 512\" fill=\"none\" {...rest}>\n <g transform=\"translate(30.6 64.85) scale(4.9)\">\n <polygon\n fill={accent}\n stroke={accent}\n strokeWidth=\"3\"\n strokeLinejoin=\"round\"\n strokeLinecap=\"round\"\n points=\"23.0104694,11.6978798 11.2639265,23.5324173 23.0981483,35.2791634 33.1096115,35.2420006 22.6113586,24.8274956 74.4533539,24.6351719 69.909668,29.2099323 74.9154282,29.1913223 80.7888184,23.274168 74.8718109,17.4009247 69.8660812,17.4195061 74.4437408,21.9606667 22.601862,22.1528721 33.0221939,11.6609182\"\n />\n </g>\n <text x=\"256\" y=\"385\" textAnchor=\"middle\" fontFamily=\"Futura, 'Avenir Next', 'Helvetica Neue', Helvetica, Arial, sans-serif\" fontWeight=\"800\" fontSize=\"280\" fill={accent}>g</text>\n </svg>\n );\n}\n\n/**\n * SOAP protocol badge — circular icon with arrows and \"SOAP\" text.\n */\nexport function ProtocolSoapBadge(props: IconProps) {\n const { size = 24, ...rest } = props;\n const accent = 'var(--color-protocol-soap)';\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 512 512\" fill=\"none\" {...rest}>\n <g fill=\"none\" stroke={accent} strokeWidth=\"16\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M108 155 L404 155\" />\n <path d=\"M362 123 L404 155\" />\n <path d=\"M404 345 L108 345\" />\n <path d=\"M150 377 L108 345\" />\n </g>\n <text x=\"256\" y=\"288\" textAnchor=\"middle\" fontFamily=\"Futura, 'Avenir Next', 'Helvetica Neue', Helvetica, Arial, sans-serif\" fontWeight=\"800\" fontSize=\"95\" fill={accent} letterSpacing=\"2\">SOAP</text>\n </svg>\n );\n}\n\n/**\n * AI protocol badge — circular icon with chip/processor and \"AI\" text.\n */\nexport function ProtocolAiBadge(props: IconProps) {\n const { size = 24, ...rest } = props;\n const accent = 'var(--color-protocol-ai)';\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 512 512\" fill=\"none\" {...rest}>\n <g transform=\"translate(256 256) scale(0.9) translate(-256 -256)\">\n <g fill=\"none\" stroke={accent} strokeWidth=\"14\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"156\" y=\"156\" width=\"200\" height=\"200\" rx=\"26\" ry=\"26\" />\n <line x1=\"196\" y1=\"156\" x2=\"196\" y2=\"112\" />\n <line x1=\"232\" y1=\"156\" x2=\"232\" y2=\"112\" />\n <line x1=\"280\" y1=\"156\" x2=\"280\" y2=\"112\" />\n <line x1=\"316\" y1=\"156\" x2=\"316\" y2=\"112\" />\n <line x1=\"196\" y1=\"356\" x2=\"196\" y2=\"400\" />\n <line x1=\"232\" y1=\"356\" x2=\"232\" y2=\"400\" />\n <line x1=\"280\" y1=\"356\" x2=\"280\" y2=\"400\" />\n <line x1=\"316\" y1=\"356\" x2=\"316\" y2=\"400\" />\n <line x1=\"156\" y1=\"196\" x2=\"112\" y2=\"196\" />\n <line x1=\"156\" y1=\"232\" x2=\"112\" y2=\"232\" />\n <line x1=\"156\" y1=\"280\" x2=\"112\" y2=\"280\" />\n <line x1=\"156\" y1=\"316\" x2=\"112\" y2=\"316\" />\n <line x1=\"356\" y1=\"196\" x2=\"400\" y2=\"196\" />\n <line x1=\"356\" y1=\"232\" x2=\"400\" y2=\"232\" />\n <line x1=\"356\" y1=\"280\" x2=\"400\" y2=\"280\" />\n <line x1=\"356\" y1=\"316\" x2=\"400\" y2=\"316\" />\n </g>\n <g fill={accent}>\n <circle cx=\"196\" cy=\"105\" r=\"8\" />\n <circle cx=\"232\" cy=\"105\" r=\"8\" />\n <circle cx=\"280\" cy=\"105\" r=\"8\" />\n <circle cx=\"316\" cy=\"105\" r=\"8\" />\n <circle cx=\"196\" cy=\"407\" r=\"8\" />\n <circle cx=\"232\" cy=\"407\" r=\"8\" />\n <circle cx=\"280\" cy=\"407\" r=\"8\" />\n <circle cx=\"316\" cy=\"407\" r=\"8\" />\n <circle cx=\"105\" cy=\"196\" r=\"8\" />\n <circle cx=\"105\" cy=\"232\" r=\"8\" />\n <circle cx=\"105\" cy=\"280\" r=\"8\" />\n <circle cx=\"105\" cy=\"316\" r=\"8\" />\n <circle cx=\"407\" cy=\"196\" r=\"8\" />\n <circle cx=\"407\" cy=\"232\" r=\"8\" />\n <circle cx=\"407\" cy=\"280\" r=\"8\" />\n <circle cx=\"407\" cy=\"316\" r=\"8\" />\n </g>\n <text x=\"256\" y=\"296\" textAnchor=\"middle\" fontFamily=\"Futura, 'Avenir Next', 'Helvetica Neue', Helvetica, Arial, sans-serif\" fontWeight=\"800\" fontSize=\"120\" fill={accent} letterSpacing=\"4\">AI</text>\n </g>\n </svg>\n );\n}\n\n/**\n * MCP protocol badge — circular icon with MCP connector paths.\n */\nexport function ProtocolMcpBadge(props: IconProps) {\n const { size = 24, ...rest } = props;\n const accent = 'var(--color-protocol-mcp)';\n\n return (\n <svg width={size} height={size} viewBox=\"0 0 512 512\" fill=\"none\" {...rest}>\n <g transform=\"translate(76 76) scale(2)\" fill=\"none\" stroke={accent} strokeWidth=\"12\" strokeLinecap=\"round\">\n <path d=\"M18 84.8528L85.8822 16.9706C95.2548 7.59798 110.451 7.59798 119.823 16.9706V16.9706C129.196 26.3431 129.196 41.5391 119.823 50.9117L68.5581 102.177\" />\n <path d=\"M69.2652 101.47L119.823 50.9117C129.196 41.5391 144.392 41.5391 153.765 50.9117L154.118 51.2652C163.491 60.6378 163.491 75.8338 154.118 85.2063L92.7248 146.6C89.6006 149.724 89.6006 154.789 92.7248 157.913L105.331 170.52\" />\n <path d=\"M102.853 33.9411L52.6482 84.1457C43.2756 93.5183 43.2756 108.714 52.6482 118.087V118.087C62.0208 127.459 77.2167 127.459 86.5893 118.087L136.794 67.8822\" />\n </g>\n </svg>\n );\n}\n\n// ─── SOAP-specific utility icons ─────────────────────────────────────────────\n\nexport function LinkIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\" />\n <path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\" />\n </svg>\n );\n}\n\nexport function CheckCircleIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\" />\n <polyline points=\"22 4 12 14.01 9 11.01\" />\n </svg>\n );\n}\n\nexport function XCircleIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" />\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" />\n </svg>\n );\n}\n\nexport function XmlTagIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"7 7 2 12 7 17\" />\n <polyline points=\"17 7 22 12 17 17\" />\n <line x1=\"14\" y1=\"4\" x2=\"10\" y2=\"20\" />\n </svg>\n );\n}\n\nexport function SchemaIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" />\n <rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" />\n <rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" />\n <rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" />\n <line x1=\"10\" y1=\"6.5\" x2=\"14\" y2=\"6.5\" />\n <line x1=\"6.5\" y1=\"10\" x2=\"6.5\" y2=\"14\" />\n </svg>\n );\n}\n\nexport function TypeIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <polyline points=\"4 7 4 4 20 4 20 7\" />\n <line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\" />\n <line x1=\"8\" y1=\"20\" x2=\"16\" y2=\"20\" />\n </svg>\n );\n}\n\nexport function ExpandAllIcon(props: IconProps) {\n return (\n <svg width={props.size || 16} height={props.size || 16} viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" className={props.className}>\n <path d=\"M15 6V11C15 13.21 13.21 15 11 15H6C5.26 15 4.62 14.6 4.27 14H11C12.65 14 14 12.65 14 11V4.27C14.6 4.62 15 5.26 15 6ZM11 13H4C2.897 13 2 12.103 2 11V4C2 2.897 2.897 2 4 2H11C12.103 2 13 2.897 13 4V11C13 12.103 12.103 13 11 13ZM4 12H11C11.551 12 12 11.552 12 11V4C12 3.449 11.551 3 11 3H4C3.449 3 3 3.449 3 4V11C3 11.552 3.449 12 4 12ZM9.5 7H8V5.5C8 5.224 7.776 5 7.5 5C7.224 5 7 5.224 7 5.5V7H5.5C5.224 7 5 7.224 5 7.5C5 7.776 5.224 8 5.5 8H7V9.5C7 9.776 7.224 10 7.5 10C7.776 10 8 9.776 8 9.5V8H9.5C9.776 8 10 7.776 10 7.5C10 7.224 9.776 7 9.5 7Z\"/>\n </svg>\n );\n}\n\nexport function CollapseAllIcon(props: IconProps) {\n return (\n <svg width={props.size || 16} height={props.size || 16} viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"currentColor\" className={props.className}>\n <path d=\"M14 4.27051C14.5999 4.62053 15 5.26009 15 6V11C15 13.21 13.21 15 11 15H6C5.26009 15 4.62053 14.5999 4.27051 14H11C12.65 14 14 12.65 14 11V4.27051Z\"/>\n <path d=\"M9.5 7C9.776 7 10 7.224 10 7.5C10 7.776 9.776 8 9.5 8H5.5C5.224 8 5 7.776 5 7.5C5 7.224 5.224 7 5.5 7H9.5Z\"/>\n <path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M11 2C12.103 2 13 2.897 13 4V11C13 12.103 12.103 13 11 13H4C2.897 13 2 12.103 2 11V4C2 2.897 2.897 2 4 2H11ZM4 3C3.449 3 3 3.449 3 4V11C3 11.552 3.449 12 4 12H11C11.551 12 12 11.552 12 11V4C12 3.449 11.551 3 11 3H4Z\"/>\n </svg>\n );\n}\n\n/** Power plug connect icon — used for Connect buttons */\nexport function ConnectIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M12 2v4\" />\n <path d=\"M8 2v4\" />\n <path d=\"M16 2v4\" />\n <path d=\"M6 6h12v4a6 6 0 0 1-6 6 6 6 0 0 1-6-6V6z\" />\n <path d=\"M12 16v6\" />\n </svg>\n );\n}\n\n/** Disconnect icon — unplug / power off style */\nexport function DisconnectIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M18 3l-3 3\" />\n <path d=\"M10.5 13.5l-7 7\" />\n <path d=\"M15 6l-6 6\" />\n <path d=\"M6 18l3-3\" />\n <path d=\"M21 6l-3 3\" />\n <path d=\"M3 18l3-3\" />\n <path d=\"M13.5 10.5l3-3\" />\n <path d=\"M10.5 13.5l-3 3\" />\n </svg>\n );\n}\n\n/** MCP Tool sparkle icon — gradient sparkle for tool listings */\nexport function McpToolIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props, { size: 14 })} fill=\"none\" stroke=\"none\">\n <path d=\"M14.187 8.096L15 5.25L15.813 8.096C16.072 8.965 16.535 9.758 17.163 10.408C17.792 11.059 18.567 11.547 19.424 11.833L22.25 12.75L19.424 13.667C18.567 13.953 17.792 14.441 17.163 15.092C16.535 15.742 16.072 16.535 15.813 17.404L15 20.25L14.187 17.404C13.928 16.535 13.465 15.742 12.837 15.092C12.208 14.441 11.433 13.953 10.576 13.667L7.75 12.75L10.576 11.833C11.433 11.547 12.208 11.059 12.837 10.408C13.465 9.758 13.928 8.965 14.187 8.096Z\" fill=\"url(#mcpToolGrad)\"/>\n <path d=\"M6 3L6.482 4.627C6.636 5.145 6.917 5.614 7.299 5.993C7.682 6.372 8.154 6.647 8.673 6.791L10.25 7.25L8.673 7.709C8.154 7.853 7.682 8.128 7.299 8.507C6.917 8.886 6.636 9.355 6.482 9.873L6 11.5L5.518 9.873C5.364 9.355 5.083 8.886 4.701 8.507C4.318 8.128 3.846 7.853 3.327 7.709L1.75 7.25L3.327 6.791C3.846 6.647 4.318 6.372 4.701 5.993C5.083 5.614 5.364 5.145 5.518 4.627L6 3Z\" fill=\"url(#mcpToolGrad2)\"/>\n <defs>\n <linearGradient id=\"mcpToolGrad\" x1=\"7.75\" y1=\"5.25\" x2=\"22.25\" y2=\"20.25\"><stop offset=\"0%\" stopColor=\"#a78bfa\"/><stop offset=\"100%\" stopColor=\"#38bdf8\"/></linearGradient>\n <linearGradient id=\"mcpToolGrad2\" x1=\"1.75\" y1=\"3\" x2=\"10.25\" y2=\"11.5\"><stop offset=\"0%\" stopColor=\"#c4b5fd\"/><stop offset=\"100%\" stopColor=\"#67e8f9\"/></linearGradient>\n </defs>\n </svg>\n );\n}\n\n/** Eraser/Clear conversation icon */\nexport function ClearChatIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" />\n <line x1=\"9\" y1=\"8\" x2=\"15\" y2=\"14\" />\n <line x1=\"15\" y1=\"8\" x2=\"9\" y2=\"14\" />\n </svg>\n );\n}\n\n/** GitHub Copilot icon */\nexport function CopilotIcon(props: IconProps) {\n const { size = 16, style, className } = props;\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n style={style}\n className={className}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M9.75 14.25c0 .69-.56 1.25-1.25 1.25s-1.25-.56-1.25-1.25.56-1.25 1.25-1.25 1.25.56 1.25 1.25zM16.75 13c-.69 0-1.25.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25S17.44 13 16.75 13zM22.5 12c0 5.799-4.701 10.5-10.5 10.5S1.5 17.799 1.5 12 6.201 1.5 12 1.5 22.5 6.201 22.5 12zm-8.048-5.26c-.444.087-.87.244-1.28.46a6.5 6.5 0 0 0-2.35 0 5.07 5.07 0 0 0-1.28-.46C7.83 6.38 6 7.7 6 9.5c0 .94.28 1.82.78 2.56.22.33.47.63.74.88.04.73.17 1.44.4 2.1.3.87.75 1.62 1.35 2.14.6.52 1.38.82 2.23.82h1.01c.85 0 1.63-.3 2.23-.82.6-.52 1.05-1.27 1.35-2.14.23-.66.36-1.37.4-2.1.27-.25.52-.55.74-.88.5-.74.78-1.62.78-2.56 0-1.8-1.83-3.12-3.57-2.76zm-.7 9.51h-.98c-.53 0-1.04-.19-1.46-.54-.42-.35-.74-.88-.98-1.56a7.5 7.5 0 0 1-.36-1.84 6.3 6.3 0 0 0 1.81.27c.66 0 1.3-.1 1.91-.27.02.64.1 1.26.27 1.84.05.15.1.3.16.43-.13.37-.37.68-.68.9-.31.22-.67.34-1.05.35l.08.02c.09.12.19.24.28.4zm3.7-3.94c-.2.29-.42.52-.65.68a7.6 7.6 0 0 1-.36 1.84c-.24.68-.56 1.21-.98 1.56-.42.35-.93.54-1.46.54h-.04a2.04 2.04 0 0 0 .36-.35c.28-.38.46-.84.54-1.3a6.3 6.3 0 0 0 1.91.27c.65 0 1.28-.1 1.87-.27a7.54 7.54 0 0 1-.36-1.84c-.24-.16-.46-.39-.65-.68-.33-.49-.52-1.1-.52-1.81 0-.52.1-1.01.28-1.45.55.23 1.03.59 1.38 1.06.35.47.55 1.04.55 1.63 0 .71-.19 1.32-.52 1.81zm-9.18-1.81c0-.59.2-1.16.55-1.63.35-.47.83-.83 1.38-1.06.18.44.28.93.28 1.45 0 .71-.19 1.32-.52 1.81-.19.28-.41.52-.65.68a7.6 7.6 0 0 1-.52-1.25z\"/>\n </svg>\n );\n}\n\n/**\n * GitHub Copilot branded provider icon — official Copilot logo\n * with white rounded-rect background (matches dmcr_copilot CopilotProviderIcon).\n */\nexport function CopilotBrandIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"white\" />\n <path\n d=\"M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z\"\n fill=\"#18181b\"\n />\n </svg>\n );\n}\n\n// ─── AI Provider Brand Icons ──────────────────────────────────────────────────\n// One icon per provider. Each accepts { size?: number }.\n// All SVG paths sourced from official provider brand assets.\n// currentColor icons use a dark bg + white path; pre-colored icons use white bg.\n\n/** OpenAI provider brand icon — white logo on brand green (#10a37f) */\nexport function OpenAiProviderIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"#10a37f\" />\n <path fillRule=\"evenodd\" fill=\"white\"\n d=\"M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.566 0 .167 0 .357-.024.547l-4.71-2.759a.797.797 0 00-.856 0l-5.97 3.473zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473 1.95-1.118a.433.433 0 01.476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948 0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737v6.898zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33L12 15.128zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482 4.482 0 014.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449-1.95 1.118a.432.432 0 01-.476 0zm-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71c.286.167.571.167.856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523zm5.899 2.83a5.947 5.947 0 005.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498 0-3.401-2.759-5.947-5.946-5.947-.642 0-1.26.095-1.88.31A5.962 5.962 0 0010.205 0a5.947 5.947 0 00-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448-.119.5-.19 1-.19 1.499 0 3.401 2.759 5.946 5.946 5.946.642 0 1.26-.095 1.88-.309a5.96 5.96 0 004.162 1.713z\"\n />\n </svg>\n );\n}\n\n/** Anthropic/Claude provider brand icon — orange Claude logo on white background */\nexport function AnthropicProviderIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"white\" />\n <path fillRule=\"nonzero\" fill=\"#D97757\"\n d=\"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z\"\n />\n </svg>\n );\n}\n\n/** Google Gemini provider brand icon — four-pointed star with multicolor gradients on white */\nexport function GeminiProviderIcon({ size = 22 }: { size?: number }) {\n const star = 'M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z';\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"white\" />\n <defs>\n <linearGradient gradientUnits=\"userSpaceOnUse\" id=\"daakia-gem-g0\" x1=\"7\" x2=\"11\" y1=\"15.5\" y2=\"12\">\n <stop stopColor=\"#08B962\" /><stop offset=\"1\" stopColor=\"#08B962\" stopOpacity={0} />\n </linearGradient>\n <linearGradient gradientUnits=\"userSpaceOnUse\" id=\"daakia-gem-g1\" x1=\"8\" x2=\"11.5\" y1=\"5.5\" y2=\"11\">\n <stop stopColor=\"#F94543\" /><stop offset=\"1\" stopColor=\"#F94543\" stopOpacity={0} />\n </linearGradient>\n <linearGradient gradientUnits=\"userSpaceOnUse\" id=\"daakia-gem-g2\" x1=\"3.5\" x2=\"17.5\" y1=\"13.5\" y2=\"12\">\n <stop stopColor=\"#FABC12\" /><stop offset=\".46\" stopColor=\"#FABC12\" stopOpacity={0} />\n </linearGradient>\n </defs>\n <path d={star} fill=\"#3186FF\" />\n <path d={star} fill=\"url(#daakia-gem-g0)\" />\n <path d={star} fill=\"url(#daakia-gem-g1)\" />\n <path d={star} fill=\"url(#daakia-gem-g2)\" />\n </svg>\n );\n}\n\n/** DeepSeek provider brand icon — blue DeepSeek logo on white background */\nexport function DeepSeekProviderIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"white\" />\n <path fill=\"#4D6BFE\"\n d=\"M23.748 4.482c-.254-.124-.364.113-.512.234-.051.039-.094.09-.137.136-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.156-.708-.311-.955-.65-.172-.241-.219-.51-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434 1.202-.422 1.84.027 1.436.633 2.58 1.838 3.393.137.093.172.187.129.323-.082.28-.18.552-.266.833-.055.179-.137.217-.329.14a5.526 5.526 0 01-1.736-1.18c-.857-.828-1.631-1.742-2.597-2.458a11.365 11.365 0 00-.689-.471c-.985-.957.13-1.743.388-1.836.27-.098.093-.432-.779-.428-.872.004-1.67.295-2.687.684a3.055 3.055 0 01-.465.137 9.597 9.597 0 00-2.883-.102c-1.885.21-3.39 1.102-4.497 2.623C.082 8.606-.231 10.684.152 12.85c.403 2.284 1.569 4.175 3.36 5.653 1.858 1.533 3.997 2.284 6.438 2.14 1.482-.085 3.133-.284 4.994-1.86.47.234.962.327 1.78.397.63.059 1.236-.03 1.705-.128.735-.156.684-.837.419-.961-2.155-1.004-1.682-.595-2.113-.926 1.096-1.296 2.746-2.642 3.392-7.003.05-.347.007-.565 0-.845-.004-.17.035-.237.23-.256a4.173 4.173 0 001.545-.475c1.396-.763 1.96-2.015 2.093-3.517.02-.23-.004-.467-.247-.588zM11.581 18c-2.089-1.642-3.102-2.183-3.52-2.16-.392.024-.321.471-.235.763.09.288.207.486.371.739.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.167-1.361-.802-2.5-1.86-3.301-3.307-.774-1.393-1.224-2.887-1.298-4.482-.02-.386.093-.522.477-.592a4.696 4.696 0 011.529-.039c2.132.312 3.946 1.265 5.468 2.774.868.86 1.525 1.887 2.202 2.891.72 1.066 1.494 2.082 2.48 2.914.348.292.625.514.891.677-.802.09-2.14.11-3.054-.614zm1-6.44a.306.306 0 01.415-.287.302.302 0 01.2.288.306.306 0 01-.31.307.303.303 0 01-.304-.308zm3.11 1.596c-.2.081-.399.151-.59.16a1.245 1.245 0 01-.798-.254c-.274-.23-.47-.358-.552-.758a1.73 1.73 0 01.016-.588c.07-.327-.008-.537-.239-.727-.187-.156-.426-.199-.688-.199a.559.559 0 01-.254-.078c-.11-.054-.2-.19-.114-.358.028-.054.16-.186.192-.21.356-.202.767-.136 1.146.016.352.144.618.408 1.001.782.391.451.462.576.685.914.176.265.336.537.445.848.067.195-.019.354-.25.452z\"\n />\n </svg>\n );\n}\n\n/** xAI Grok provider brand icon — white Grok logo on near-black background */\nexport function GrokProviderIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"#18181b\" />\n <path fillRule=\"evenodd\" fill=\"white\"\n d=\"M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815\"\n />\n </svg>\n );\n}\n\n/** Groq provider brand icon — white Groq \"G\" logo on near-black background */\nexport function GroqProviderIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"#18181b\" />\n <path fillRule=\"evenodd\" fill=\"white\"\n d=\"M12.036 2c-3.853-.035-7 3-7.036 6.781-.035 3.782 3.055 6.872 6.908 6.907h2.42v-2.566h-2.292c-2.407.028-4.38-1.866-4.408-4.23-.029-2.362 1.901-4.298 4.308-4.326h.1c2.407 0 4.358 1.915 4.365 4.278v6.305c0 2.342-1.944 4.25-4.323 4.279a4.375 4.375 0 01-3.033-1.252l-1.851 1.818A7 7 0 0012.029 22h.092c3.803-.056 6.858-3.083 6.879-6.816v-6.5C18.907 4.963 15.817 2 12.036 2z\"\n />\n </svg>\n );\n}\n\n/** Together AI provider brand icon — pink/purple/orange triskelion on dark background */\nexport function TogetherProviderIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"#0D0D0D\" />\n <path d=\"M23.197 4.503A6 6 0 0015 2.307a5.973 5.973 0 00-2.995 4.933l5.996.008v.515h-5.996c.039.937.298 1.87.8 2.74a6 6 0 1010.39-6z\" fill=\"#EF2CC1\" />\n <path d=\"M.805 4.5A6 6 0 003 12.697a5.972 5.972 0 005.77.127L5.779 7.627l.446-.257 2.997 5.192A6 6 0 10.804 4.5z\" fill=\"#CAAEF5\" />\n <path d=\"M12 23.894a6 6 0 005.999-6c0-2.13-1.1-3.996-2.775-5.06l-3.005 5.189-.444-.258 2.997-5.192A6 6 0 1012 23.894z\" fill=\"#FC4C02\" />\n </svg>\n );\n}\n\n/** Mistral AI provider brand icon — gold/orange/red block grid on dark background */\nexport function MistralProviderIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"#18181b\" />\n <path d=\"M3.428 3.4h3.429v3.428H3.428V3.4zm13.714 0h3.43v3.428h-3.43V3.4z\" fill=\"gold\" />\n <path d=\"M3.428 6.828h6.857v3.429H3.429V6.828zm10.286 0h6.857v3.429h-6.857V6.828z\" fill=\"#FFAF00\" />\n <path d=\"M3.428 10.258h17.144v3.428H3.428v-3.428z\" fill=\"#FF8205\" />\n <path d=\"M3.428 13.686h3.429v3.428H3.428v-3.428zm6.858 0h3.429v3.428h-3.429v-3.428zm6.856 0h3.43v3.428h-3.43v-3.428z\" fill=\"#FA500F\" />\n <path d=\"M0 17.114h10.286v3.429H0v-3.429zm13.714 0H24v3.429H13.714v-3.429z\" fill=\"#E10500\" />\n </svg>\n );\n}\n\n/** Ollama provider brand icon — white llama logo on dark background */\nexport function OllamaProviderIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"#18181b\" />\n <path fillRule=\"evenodd\" fill=\"white\"\n d=\"M7.905 1.09c.216.085.411.225.588.41.295.306.544.744.734 1.263.191.522.315 1.1.362 1.68a5.054 5.054 0 012.049-.636l.051-.004c.87-.07 1.73.087 2.48.474.101.053.2.11.297.17.05-.569.172-1.134.36-1.644.19-.52.439-.957.733-1.264a1.67 1.67 0 01.589-.41c.257-.1.53-.118.796-.042.401.114.745.368 1.016.737.248.337.434.769.561 1.287.23.934.27 2.163.115 3.645l.053.04.026.019c.757.576 1.284 1.397 1.563 2.35.435 1.487.216 3.155-.534 4.088l-.018.021.002.003c.417.762.67 1.567.724 2.4l.002.03c.064 1.065-.2 2.137-.814 3.19l-.007.01.01.024c.472 1.157.62 2.322.438 3.486l-.006.039a.651.651 0 01-.747.536.648.648 0 01-.54-.742c.167-1.033.01-2.069-.48-3.123a.643.643 0 01.04-.617l.004-.006c.604-.924.854-1.83.8-2.72-.046-.779-.325-1.544-.8-2.273a.644.644 0 01.18-.886l.009-.006c.243-.159.467-.565.58-1.12a4.229 4.229 0 00-.095-1.974c-.205-.7-.58-1.284-1.105-1.683-.595-.454-1.383-.673-2.38-.61a.653.653 0 01-.632-.371c-.314-.665-.772-1.141-1.343-1.436a3.288 3.288 0 00-1.772-.332c-1.245.099-2.343.801-2.67 1.686a.652.652 0 01-.61.425c-1.067.002-1.893.252-2.497.703-.522.39-.878.935-1.066 1.588a4.07 4.07 0 00-.068 1.886c.112.558.331 1.02.582 1.269l.008.007c.212.207.257.53.109.785-.36.622-.629 1.549-.673 2.44-.05 1.018.186 1.902.719 2.536l.016.019a.643.643 0 01.095.69c-.576 1.236-.753 2.252-.562 3.052a.652.652 0 01-1.269.298c-.243-1.018-.078-2.184.473-3.498l.014-.035-.008-.012a4.339 4.339 0 01-.598-1.309l-.005-.019a5.764 5.764 0 01-.177-1.785c.044-.91.278-1.842.622-2.59l.012-.026-.002-.002c-.293-.418-.51-.953-.63-1.545l-.005-.024a5.352 5.352 0 01.093-2.49c.262-.915.777-1.701 1.536-2.269.06-.045.123-.09.186-.132-.159-1.493-.119-2.73.112-3.67.127-.518.314-.95.562-1.287.27-.368.614-.622 1.015-.737.266-.076.54-.059.797.042zm4.116 9.09c.936 0 1.8.313 2.446.855.63.527 1.005 1.235 1.005 1.94 0 .888-.406 1.58-1.133 2.022-.62.375-1.451.557-2.403.557-1.009 0-1.871-.259-2.493-.734-.617-.47-.963-1.13-.963-1.845 0-.707.398-1.417 1.056-1.946.668-.537 1.55-.849 2.485-.849zm0 .896a3.07 3.07 0 00-1.916.65c-.461.37-.722.835-.722 1.25 0 .428.21.829.61 1.134.455.347 1.124.548 1.943.548.799 0 1.473-.147 1.932-.426.463-.28.7-.686.7-1.257 0-.423-.246-.89-.683-1.256-.484-.405-1.14-.643-1.864-.643zm.662 1.21l.004.004c.12.151.095.37-.056.49l-.292.23v.446a.375.375 0 01-.376.373.375.375 0 01-.376-.373v-.46l-.271-.218a.347.347 0 01-.052-.49.353.353 0 01.494-.051l.215.172.22-.174a.353.353 0 01.49.051zm-5.04-1.919c.478 0 .867.39.867.871a.87.87 0 01-.868.871.87.87 0 01-.867-.87.87.87 0 01.867-.872zm8.706 0c.48 0 .868.39.868.871a.87.87 0 01-.868.871.87.87 0 01-.867-.87.87.87 0 01.867-.872zM7.44 2.3l-.003.002a.659.659 0 00-.285.238l-.005.006c-.138.189-.258.467-.348.832-.17.692-.216 1.631-.124 2.782.43-.128.899-.208 1.404-.237l.01-.001.019-.034c.046-.082.095-.161.148-.239.123-.771.022-1.692-.253-2.444-.134-.364-.297-.65-.453-.813a.628.628 0 00-.107-.09L7.44 2.3zm9.174.04l-.002.001a.628.628 0 00-.107.09c-.156.163-.32.45-.453.814-.29.794-.387 1.776-.23 2.572l.058.097.008.014h.03a5.184 5.184 0 011.466.212c.086-1.124.038-2.043-.128-2.722-.09-.365-.21-.643-.349-.832l-.004-.006a.659.659 0 00-.285-.239h-.004z\"\n />\n </svg>\n );\n}\n\n/** Azure OpenAI provider brand icon — gradient purple/blue logo on white background */\nexport function AzureOpenAiProviderIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"white\" />\n <defs>\n <linearGradient gradientUnits=\"userSpaceOnUse\" id=\"daakia-az-g0\" x1=\"18.242\" x2=\"14.191\" y1=\"16.837\" y2=\".616\">\n <stop stopColor=\"#712575\" /><stop offset=\".09\" stopColor=\"#9A2884\" /><stop offset=\".18\" stopColor=\"#BF2C92\" />\n <stop offset=\".27\" stopColor=\"#DA2E9C\" /><stop offset=\".34\" stopColor=\"#EB30A2\" /><stop offset=\".4\" stopColor=\"#F131A5\" />\n <stop offset=\".5\" stopColor=\"#EC30A3\" /><stop offset=\".61\" stopColor=\"#DF2F9E\" /><stop offset=\".72\" stopColor=\"#C92D96\" />\n <stop offset=\".83\" stopColor=\"#AA2A8A\" /><stop offset=\".95\" stopColor=\"#83267C\" /><stop offset=\"1\" stopColor=\"#712575\" />\n </linearGradient>\n <linearGradient gradientUnits=\"userSpaceOnUse\" id=\"daakia-az-g1\" x1=\"19.782\" x2=\"19.782\" y1=\".34\" y2=\"23.222\">\n <stop stopColor=\"#DA7ED0\" /><stop offset=\".08\" stopColor=\"#B17BD5\" /><stop offset=\".19\" stopColor=\"#8778DB\" />\n <stop offset=\".3\" stopColor=\"#6276E1\" /><stop offset=\".41\" stopColor=\"#4574E5\" /><stop offset=\".54\" stopColor=\"#2E72E8\" />\n <stop offset=\".67\" stopColor=\"#1D71EB\" /><stop offset=\".81\" stopColor=\"#1471EC\" /><stop offset=\"1\" stopColor=\"#1171ED\" />\n </linearGradient>\n <linearGradient gradientUnits=\"userSpaceOnUse\" id=\"daakia-az-g2\" x1=\"18.404\" x2=\"3.236\" y1=\".859\" y2=\"25.183\">\n <stop stopColor=\"#DA7ED0\" /><stop offset=\".05\" stopColor=\"#B77BD4\" /><stop offset=\".11\" stopColor=\"#9079DA\" />\n <stop offset=\".18\" stopColor=\"#6E77DF\" /><stop offset=\".25\" stopColor=\"#5175E3\" /><stop offset=\".33\" stopColor=\"#3973E7\" />\n <stop offset=\".42\" stopColor=\"#2772E9\" /><stop offset=\".54\" stopColor=\"#1A71EB\" /><stop offset=\".68\" stopColor=\"#1371EC\" />\n <stop offset=\"1\" stopColor=\"#1171ED\" />\n </linearGradient>\n </defs>\n <path clipRule=\"evenodd\" fillRule=\"evenodd\" fill=\"url(#daakia-az-g0)\"\n d=\"M16.233 0c.713 0 1.345.551 1.572 1.329.227.778 1.555 5.59 1.555 5.59v9.562h-4.813L14.645 0h1.588z\" />\n <path fill=\"url(#daakia-az-g1)\"\n d=\"M23.298 7.47c0-.34-.275-.6-.6-.6h-2.835a3.617 3.617 0 00-3.614 3.615v5.996h3.436a3.617 3.617 0 003.613-3.614V7.47z\" />\n <path clipRule=\"evenodd\" fillRule=\"evenodd\" fill=\"url(#daakia-az-g2)\"\n d=\"M16.233 0a.982.982 0 00-.989.989l-.097 18.198A4.814 4.814 0 0110.334 24H1.6a.597.597 0 01-.567-.794l7-19.981A4.819 4.819 0 0112.57 0h3.679-.016z\" />\n </svg>\n );\n}\n\n/** 🤖 Bot/Agent icon — for AI agents */\nexport function AgentIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"10\" rx=\"2\" />\n <path d=\"M9 11V7a3 3 0 0 1 6 0v4\" />\n <circle cx=\"9\" cy=\"16\" r=\"1\" />\n <circle cx=\"15\" cy=\"16\" r=\"1\" />\n </svg>\n );\n}\n\n// ─── AI Agent Scenario Icons ──────────────────────────────────────────────────\n\n/** 🌐 REST API Agent — globe with HTTP layers */\nexport function RestAgentIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M2 12h20\" />\n <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\" />\n <path d=\"M7 8h10M7 16h10\" />\n </svg>\n );\n}\n\n/** 💻 cURL Agent — terminal prompt with command line */\nexport function CurlAgentIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"2\" y=\"3\" width=\"20\" height=\"18\" rx=\"2\" />\n <path d=\"M8 9l4 4-4 4\" />\n <path d=\"M16 17h2\" />\n </svg>\n );\n}\n\n/** 🗄️ Mock Server Agent — layered server rack */\nexport function MockServerAgentIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"2\" y=\"4\" width=\"20\" height=\"5\" rx=\"1\" />\n <rect x=\"2\" y=\"11\" width=\"20\" height=\"5\" rx=\"1\" />\n <circle cx=\"18.5\" cy=\"6.5\" r=\"1\" />\n <circle cx=\"18.5\" cy=\"13.5\" r=\"1\" />\n <path d=\"M6 6.5h6M6 13.5h6\" />\n </svg>\n );\n}\n\n/** 🧪 Test Script Agent — beaker / test tube */\nexport function TestAgentIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M9 3h6M9 3v8.5L4 20h16l-5-8.5V3\" />\n <path d=\"M6 17h12\" />\n </svg>\n );\n}\n\n/** 📚 Knowledge Agent — open book */\nexport function KnowledgeAgentIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\" />\n <path d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\" />\n </svg>\n );\n}\n\n/** 💬 General Assistant — chat bubble with sparkle dot */\nexport function GeneralAssistantIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" />\n <circle cx=\"9\" cy=\"10\" r=\"1\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"12\" cy=\"10\" r=\"1\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"15\" cy=\"10\" r=\"1\" fill=\"currentColor\" stroke=\"none\" />\n </svg>\n );\n}\n\n/** DiceIcon — cube die representing random data generation */\nexport function DiceIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)}>\n <rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"3\" />\n <circle cx=\"7\" cy=\"7\" r=\"1.2\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"17\" cy=\"7\" r=\"1.2\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"7\" cy=\"17\" r=\"1.2\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"17\" cy=\"17\" r=\"1.2\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"12\" cy=\"12\" r=\"1.2\" fill=\"currentColor\" stroke=\"none\" />\n </svg>\n );\n}\n\n/** DaakiaAI Mock provider brand icon — server rack on dark background with amber status dots */\nexport function BookOpenIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props, { size: 14 })}>\n <path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"/>\n <path d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"/>\n </svg>\n );\n}\n\nexport function PaletteIcon(props: IconProps) {\n return (\n <svg {...withDefaults(props)} fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <circle cx=\"13.5\" cy=\"6.5\" r=\".5\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"17.5\" cy=\"10.5\" r=\".5\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"8.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\" stroke=\"none\" />\n <circle cx=\"6.5\" cy=\"12.5\" r=\".5\" fill=\"currentColor\" stroke=\"none\" />\n <path d=\"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z\" />\n </svg>\n );\n}\n\nexport function DaakiaMockProviderIcon({ size = 22 }: { size?: number }) {\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"24\" height=\"24\" rx=\"5.5\" fill=\"transparent\" />\n {/* Top server bar */}\n <rect x=\"3.5\" y=\"4.5\" width=\"17\" height=\"4.5\" rx=\"1.5\" stroke=\"#eab308\" strokeWidth=\"1.4\" />\n {/* Mid server bar */}\n <rect x=\"3.5\" y=\"11\" width=\"17\" height=\"4.5\" rx=\"1.5\" stroke=\"#eab308\" strokeWidth=\"1.4\" opacity=\"0.7\" />\n {/* Status dots — green/amber */}\n <circle cx=\"18.5\" cy=\"6.75\" r=\"1.3\" fill=\"#eab308\" />\n <circle cx=\"18.5\" cy=\"13.25\" r=\"1.3\" fill=\"#eab308\" opacity=\"0.7\" />\n {/* Server labels (horizontal bars on each rack) */}\n <rect x=\"5.5\" y=\"6\" width=\"7\" height=\"1.5\" rx=\"0.75\" fill=\"#eab308\" opacity=\"0.45\" />\n <rect x=\"5.5\" y=\"12.5\" width=\"7\" height=\"1.5\" rx=\"0.75\" fill=\"#eab308\" opacity=\"0.3\" />\n {/* Bottom accent strip */}\n <rect x=\"3.5\" y=\"17.5\" width=\"17\" height=\"2\" rx=\"1\" fill=\"#eab308\" opacity=\"0.2\" />\n </svg>\n );\n}\n\n/** State machine flow icon — interconnected nodes with directional arrows */\nexport function StateMachineIcon({ size = 14, ...props }: IconProps) {\n return (\n <svg\n width={size} height={size} viewBox=\"0 0 24 24\"\n fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\"\n strokeLinecap=\"round\" strokeLinejoin=\"round\"\n {...props}\n >\n {/* Initial trigger node (top-left circle) */}\n <circle cx=\"4\" cy=\"5\" r=\"2.2\" />\n {/* Middle state node (center circle) */}\n <circle cx=\"12\" cy=\"12\" r=\"2.2\" />\n {/* Terminal node (bottom-right — double ring) */}\n <circle cx=\"20\" cy=\"19\" r=\"2.2\" />\n <circle cx=\"20\" cy=\"19\" r=\"1\" />\n {/* Arrow: trigger → state */}\n <line x1=\"5.8\" y1=\"6.6\" x2=\"10.2\" y2=\"10.4\" />\n <polyline points=\"10.2,9 10.2,10.4 8.8,10.4\" />\n {/* Arrow: state → terminal */}\n <line x1=\"13.8\" y1=\"13.6\" x2=\"18.2\" y2=\"17.4\" />\n <polyline points=\"18.2,16 18.2,17.4 16.8,17.4\" />\n {/* Condition branch node (top-right diamond) */}\n <polygon points=\"20,5 22.2,7.5 20,10 17.8,7.5\" />\n {/* Arrow: state → condition */}\n <line x1=\"14.1\" y1=\"10.8\" x2=\"18.2\" y2=\"7.8\" />\n <polyline points=\"17,7.8 18.2,7.8 18.2,9\" />\n </svg>\n )\n}\n\n"],"names":["withDefaults","props","defaults","size","rest","UndoIcon","jsxs","jsx","RedoIcon","CutIcon","PasteIcon","SelectAllIcon","SaveIcon","DownloadIcon","CopyIcon","CodeIcon","RefreshIcon","TrashIcon","PlusIcon","RenameIcon","PlayIcon","PauseIcon","CloseIcon","CloseCircleIcon","CloseSquareIcon","PinIcon","UnpinIcon","ArrowToRightIcon","ArrowToLeftIcon","CloseAllIcon","SaveCheckIcon","ShareIcon","ExternalLinkIcon","PlusSquareIcon","FolderIcon","DocumentIcon","SettingsIcon","ServerIcon","SearchIcon","FilterIcon","ChevronDownIcon","ChevronRightIcon","CheckIcon","SpinnerIcon","className","LockIcon","KeyIcon","GlobeIcon","CookieIcon","RestApiIcon","GraphQLIcon","WebSocketIcon","CollectionsFolderIcon","ClockIcon","LayersIcon","CheckCircleFilledIcon","checked","color","Fragment","RadioSelectIcon","selected","style","DotIcon","StageCheckIcon","StageErrorIcon","StagePendingIcon","StageSpinIcon","StagePulseIcon","AttachmentIcon","EyeIcon","EyeOffIcon","UploadIcon","MoreHorizontalIcon","ExportIcon","ChevronLeftIcon","MoreVerticalIcon","WrapLinesIcon","InfoCircleIcon","WarningTriangleIcon","BulkEditIcon","SparkleIcon","WandIcon","FileUploadIcon","DragHandleIcon","FilePlusIcon","FolderPlusIcon","DuplicateIcon","SunIcon","CpuIcon","CodeBracketsIcon","HelpCircleIcon","FileTextIcon","VariableIcon","FolderOpenIcon","FolderImportIcon","FolderExportIcon","FolderTransferIcon","DropdownArrowIcon","PanelMinimizeIcon","PanelMaximizeIcon","DiagonalLinesPattern","patternId","stroke","SendIcon","ReplSendIcon","EraserIcon","WifiIcon","RadioIcon","ArrowUpIcon","ArrowDownIcon","ArrowUpRightIcon","ArrowDownLeftIcon","AutoScrollIcon","TerminalIcon","TimelineIcon","NetworkIcon","BugIcon","StepOverIcon","StopSquareIcon","VariablesIcon","OutputIcon","PanelRightIcon","SidebarLeftIcon","SidebarRightIcon","SystemIcon","UserPromptIcon","StepIntoIcon","StepOutIcon","RestartIcon","DevToolsIcon","GaugeIcon","LineNumbersIcon","MemoryIcon","UptimeIcon","ProcessIcon","RealtimeIcon","SSEIcon","SocketIOIcon","MQTTIcon","DbgContinueIcon","DbgStepOverIcon","DbgStepIntoIcon","DbgStepOutIcon","DbgRestartIcon","RestartFrameIcon","DbgStopIcon","MuteBreakpointsIcon","RunDebugIcon","GrpcIcon","GrpcUnaryIcon","GrpcServerStreamIcon","GrpcClientStreamIcon","GrpcBidiStreamIcon","SoapIcon","ProtocolRestBadge","accent","ProtocolGraphQLBadge","ProtocolRealtimeBadge","ProtocolGrpcBadge","ProtocolSoapBadge","ProtocolAiBadge","ProtocolMcpBadge","LinkIcon","CheckCircleIcon","XCircleIcon","XmlTagIcon","SchemaIcon","TypeIcon","ExpandAllIcon","CollapseAllIcon","ConnectIcon","DisconnectIcon","McpToolIcon","ClearChatIcon","CopilotIcon","CopilotBrandIcon","OpenAiProviderIcon","AnthropicProviderIcon","GeminiProviderIcon","star","DeepSeekProviderIcon","GrokProviderIcon","GroqProviderIcon","TogetherProviderIcon","MistralProviderIcon","OllamaProviderIcon","AzureOpenAiProviderIcon","AgentIcon","RestAgentIcon","CurlAgentIcon","MockServerAgentIcon","TestAgentIcon","KnowledgeAgentIcon","GeneralAssistantIcon","DiceIcon","BookOpenIcon","PaletteIcon","DaakiaMockProviderIcon","StateMachineIcon"],"mappings":"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"}