@lumeo-ui/mcp-server 2.0.0-rc.8 → 2.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.
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Static install/setup metadata that isn't derivable from the Razor source.
3
+ * Keyed by NuGet package; plus a small list of component-specific gotchas
4
+ * (portal components needing theme classes on <body>, etc.). Hand-maintained —
5
+ * these change rarely. Surfaced via the `lumeo_get_install` MCP tool so an
6
+ * LLM gets everything it needs to actually run a component, not just its API.
7
+ */
8
+ export const PACKAGE_SETUP = {
9
+ Lumeo: {
10
+ package: "Lumeo",
11
+ dotnetAdd: "dotnet add package Lumeo --prerelease",
12
+ lumeoAddNote: "Or copy a single component into your project: `lumeo add <component>` (after `lumeo init`).",
13
+ usings: ["@using Lumeo"],
14
+ di: ["builder.Services.AddLumeo(); // registers ComponentInteropService, OverlayService, ConsentService, etc."],
15
+ hostIncludes: [
16
+ `<link rel="stylesheet" href="_content/Lumeo/css/lumeo.css" />`,
17
+ `<script src="_content/Lumeo/js/components.js"></script>`,
18
+ ],
19
+ notes: [
20
+ "Tailwind v4: Lumeo ships pre-compiled utilities in lumeo.css — no Tailwind build step required for the components themselves.",
21
+ "Dark mode is handled by CSS-variable swaps in lumeo.css. Do NOT use `dark:` Tailwind prefixes; toggle the `dark` class on <html>.",
22
+ "All colours come from theme tokens (bg-primary, text-foreground, border-border, …) — never raw hex/hsl. Use the `lumeo_get_theme_tokens` tool for the full list.",
23
+ ],
24
+ },
25
+ "Lumeo.Charts": {
26
+ package: "Lumeo.Charts",
27
+ dotnetAdd: "dotnet add package Lumeo.Charts --prerelease",
28
+ lumeoAddNote: "`lumeo add chart` copies the Chart component + ECharts interop.",
29
+ usings: ["@using Lumeo"],
30
+ di: ["builder.Services.AddLumeo();", "builder.Services.AddLumeoCharts();"],
31
+ hostIncludes: [
32
+ `<script src="_content/Lumeo.Charts/js/echarts.min.js"></script>`,
33
+ `<script src="_content/Lumeo.Charts/js/chart-interop.js"></script>`,
34
+ ],
35
+ notes: ["Wraps Apache ECharts — 30+ chart types via the declarative <Chart> wrapper or raw EChartOption / OptionJson."],
36
+ },
37
+ "Lumeo.DataGrid": {
38
+ package: "Lumeo.DataGrid",
39
+ dotnetAdd: "dotnet add package Lumeo.DataGrid --prerelease",
40
+ lumeoAddNote: "`lumeo add datagrid` copies the DataGrid + supporting types.",
41
+ usings: ["@using Lumeo"],
42
+ di: ["builder.Services.AddLumeo();", "builder.Services.AddLumeoDataGrid(); // registers IDataGridExportService"],
43
+ hostIncludes: [],
44
+ notes: [
45
+ "Excel/PDF export pulls in ClosedXML (MIT) and QuestPDF (dual-licensed — free under $1M revenue, otherwise paid). CSV/JSON export has no third-party dependency.",
46
+ "In Blazor WebAssembly, hide PDF export (`ExportFormats=\"DataGridExportFormat.Csv | DataGridExportFormat.Excel\"`) — QuestPDF throws PlatformNotSupportedException there.",
47
+ ],
48
+ },
49
+ "Lumeo.Editor": {
50
+ package: "Lumeo.Editor",
51
+ dotnetAdd: "dotnet add package Lumeo.Editor --prerelease",
52
+ lumeoAddNote: "`lumeo add rich-text-editor`.",
53
+ usings: ["@using Lumeo"],
54
+ di: ["builder.Services.AddLumeo();", "builder.Services.AddLumeoEditor();"],
55
+ hostIncludes: [`<script src="_content/Lumeo.Editor/js/editor-interop.js"></script>`],
56
+ notes: [],
57
+ },
58
+ "Lumeo.Scheduler": {
59
+ package: "Lumeo.Scheduler",
60
+ dotnetAdd: "dotnet add package Lumeo.Scheduler --prerelease",
61
+ lumeoAddNote: "`lumeo add scheduler`.",
62
+ usings: ["@using Lumeo"],
63
+ di: ["builder.Services.AddLumeo();", "builder.Services.AddLumeoScheduler();"],
64
+ hostIncludes: [],
65
+ notes: [],
66
+ },
67
+ "Lumeo.Gantt": {
68
+ package: "Lumeo.Gantt",
69
+ dotnetAdd: "dotnet add package Lumeo.Gantt --prerelease",
70
+ lumeoAddNote: "`lumeo add gantt`.",
71
+ usings: ["@using Lumeo"],
72
+ di: ["builder.Services.AddLumeo();", "builder.Services.AddLumeoGantt();"],
73
+ hostIncludes: [],
74
+ notes: [],
75
+ },
76
+ "Lumeo.Motion": {
77
+ package: "Lumeo.Motion",
78
+ dotnetAdd: "dotnet add package Lumeo.Motion --prerelease",
79
+ lumeoAddNote: "`lumeo add <motion-component>` (e.g. `lumeo add border-beam`).",
80
+ usings: ["@using Lumeo"],
81
+ di: ["builder.Services.AddLumeo();", "builder.Services.AddLumeoMotion();"],
82
+ hostIncludes: [`<script src="_content/Lumeo.Motion/js/motion-interop.js"></script>`],
83
+ notes: ["Animation primitives (BorderBeam, Marquee, NumberTicker, Confetti, …). Most are pure CSS; a few use a small JS interop module."],
84
+ },
85
+ };
86
+ /**
87
+ * Components whose content renders into a portal/overlay outside the normal
88
+ * component tree. They need `bg-background text-foreground` on <body> (or a
89
+ * wrapper that is an ancestor of the portal root) or they render outside the
90
+ * theme cascade and look unstyled.
91
+ */
92
+ export const PORTAL_COMPONENTS = new Set([
93
+ "Dialog", "Sheet", "Drawer", "Toast", "Popover", "Tooltip", "AlertDialog",
94
+ "HoverCard", "ContextMenu", "DropdownMenu", "Command", "PopConfirm", "Tour",
95
+ "DatePicker", "DateTimePicker", "TimePicker", "Combobox", "Cascader", "Mention", "Select",
96
+ ]);
97
+ /** Components that need an OverlayProvider in the layout for the service-driven API. */
98
+ export const NEEDS_OVERLAY_PROVIDER = new Set(["Toast", "Dialog", "Sheet", "Drawer"]);
99
+ export function setupFor(nugetPackage) {
100
+ return PACKAGE_SETUP[nugetPackage] ?? PACKAGE_SETUP.Lumeo;
101
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumeo-ui/mcp-server",
3
- "version": "2.0.0-rc.8",
3
+ "version": "2.0.0",
4
4
  "description": "Model Context Protocol server for the Lumeo Blazor component library. Lets LLMs (Claude, Copilot, Cursor) author correct Lumeo markup.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -10,6 +10,7 @@
10
10
  "files": [
11
11
  "dist",
12
12
  "src/registry.json",
13
+ "src/components-api.json",
13
14
  "README.md"
14
15
  ],
15
16
  "publishConfig": {