* feat(plugins): add workspace panels and command center contributions Give local plugins contextual UI entry points without making the daemon interpret client placement or callbacks. Panels receive stable IDs and read cached client state through required selectors with shallow equality, avoiding unrelated guest rerenders and context-discovery RPCs. * fix(plugins): align shared client state ownership Workspace panels and Command Center callbacks consume the same frozen client snapshots, so their adapter belongs to the plugin boundary rather than either contribution surface. Refresh the Nix dependency hash for the selector-store dependency added by this feature.
112 lines
3.6 KiB
TypeScript
112 lines
3.6 KiB
TypeScript
import type { ComponentType } from "react";
|
|
|
|
export type LucideIcon = ComponentType<{
|
|
size?: number;
|
|
color?: string;
|
|
uniProps?: unknown;
|
|
}>;
|
|
|
|
const StubIcon: LucideIcon = () => null;
|
|
|
|
export const Activity = StubIcon;
|
|
export const AlertTriangle = StubIcon;
|
|
export const Archive = StubIcon;
|
|
export const ArrowDownUp = StubIcon;
|
|
export const ArrowLeft = StubIcon;
|
|
export const ArrowLeftToLine = StubIcon;
|
|
export const ArrowRight = StubIcon;
|
|
export const ArrowUp = StubIcon;
|
|
export const ArrowUpRight = StubIcon;
|
|
export const AudioLines = StubIcon;
|
|
export const Blocks = StubIcon;
|
|
export const Bot = StubIcon;
|
|
export const Brain = StubIcon;
|
|
export const Check = StubIcon;
|
|
export const CheckCircle2 = StubIcon;
|
|
export const ChevronDown = StubIcon;
|
|
export const ChevronLeft = StubIcon;
|
|
export const ChevronRight = StubIcon;
|
|
export const CircleAlert = StubIcon;
|
|
export const CircleCheck = StubIcon;
|
|
export const CircleDot = StubIcon;
|
|
export const CircleSlash = StubIcon;
|
|
export const CircleX = StubIcon;
|
|
export const ClipboardPaste = StubIcon;
|
|
export const Copy = StubIcon;
|
|
export const CornerDownLeft = StubIcon;
|
|
export const Download = StubIcon;
|
|
export const ExternalLink = StubIcon;
|
|
export const Eye = StubIcon;
|
|
export const EyeOff = StubIcon;
|
|
export const File = StubIcon;
|
|
export const FileText = StubIcon;
|
|
export const Folder = StubIcon;
|
|
export const FolderPlus = StubIcon;
|
|
export const Gift = StubIcon;
|
|
export const GitBranch = StubIcon;
|
|
export const GitCommitHorizontal = StubIcon;
|
|
export const GitMerge = StubIcon;
|
|
export const GitPullRequest = StubIcon;
|
|
export const GitPullRequestClosed = StubIcon;
|
|
export const GitPullRequestDraft = StubIcon;
|
|
export const Globe = StubIcon;
|
|
export const Heart = StubIcon;
|
|
export const History = StubIcon;
|
|
export const Home = StubIcon;
|
|
export const Image = StubIcon;
|
|
export const Import = StubIcon;
|
|
export const Inbox = StubIcon;
|
|
export const Info = StubIcon;
|
|
export const Layers = StubIcon;
|
|
export const Link = StubIcon;
|
|
export const Link2 = StubIcon;
|
|
export const MessageSquare = StubIcon;
|
|
export const MessageSquarePlus = StubIcon;
|
|
export const Mic = StubIcon;
|
|
export const MicOff = StubIcon;
|
|
export const Monitor = StubIcon;
|
|
export const Moon = StubIcon;
|
|
export const MoreHorizontal = StubIcon;
|
|
export const MoreVertical = StubIcon;
|
|
export const MousePointer2 = StubIcon;
|
|
export const PackagePlus = StubIcon;
|
|
export const PanelLeft = StubIcon;
|
|
export const PanelsTopLeft = StubIcon;
|
|
export const Paperclip = StubIcon;
|
|
export const Pencil = StubIcon;
|
|
export const PencilRuler = StubIcon;
|
|
export const Pin = StubIcon;
|
|
export const PinOff = StubIcon;
|
|
export const Play = StubIcon;
|
|
export const Plug = StubIcon;
|
|
export const Plus = StubIcon;
|
|
export const QrCode = StubIcon;
|
|
export const RefreshCcw = StubIcon;
|
|
export const RefreshCw = StubIcon;
|
|
export const RotateCw = StubIcon;
|
|
export const Scan = StubIcon;
|
|
export const Search = StubIcon;
|
|
export const Server = StubIcon;
|
|
export const Settings = StubIcon;
|
|
export const Settings2 = StubIcon;
|
|
export const ShieldAlert = StubIcon;
|
|
export const ShieldCheck = StubIcon;
|
|
export const ShieldOff = StubIcon;
|
|
export const ShieldQuestionMark = StubIcon;
|
|
export const Smartphone = StubIcon;
|
|
export const Split = StubIcon;
|
|
export const Square = StubIcon;
|
|
export const SquarePen = StubIcon;
|
|
export const SquareTerminal = StubIcon;
|
|
export const Star = StubIcon;
|
|
export const Sun = StubIcon;
|
|
export const Terminal = StubIcon;
|
|
export const Trash2 = StubIcon;
|
|
export const TriangleAlert = StubIcon;
|
|
export const Undo2 = StubIcon;
|
|
export const Unlink = StubIcon;
|
|
export const Upload = StubIcon;
|
|
export const Wrench = StubIcon;
|
|
export const X = StubIcon;
|
|
export const XCircle = StubIcon;
|