@rio-cloud/uikit-mcp 1.1.7 → 1.1.9
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.
- package/README.md +24 -18
- package/dist/doc-metadata.json +125 -295
- package/dist/docs/components/accentBar.md +16 -69
- package/dist/docs/components/activity.md +7 -44
- package/dist/docs/components/animatedNumber.md +3 -11
- package/dist/docs/components/animatedTextReveal.md +6 -34
- package/dist/docs/components/animations.md +21 -54
- package/dist/docs/components/appHeader.md +11 -30
- package/dist/docs/components/appLayout.md +40 -193
- package/dist/docs/components/appNavigationBar.md +1 -24
- package/dist/docs/components/areaCharts.md +7 -22
- package/dist/docs/components/aspectRatioPlaceholder.md +1 -9
- package/dist/docs/components/assetTree.md +241 -280
- package/dist/docs/components/autosuggests.md +3 -102
- package/dist/docs/components/avatar.md +1 -16
- package/dist/docs/components/banner.md +4 -37
- package/dist/docs/components/barCharts.md +20 -75
- package/dist/docs/components/barList.md +10 -78
- package/dist/docs/components/basicMap.md +1 -67
- package/dist/docs/components/bottomSheet.md +2 -28
- package/dist/docs/components/button.md +12 -65
- package/dist/docs/components/buttonToolbar.md +5 -19
- package/dist/docs/components/calendarStripe.md +50 -100
- package/dist/docs/components/card.md +1 -9
- package/dist/docs/components/carousel.md +1 -14
- package/dist/docs/components/chartColors.md +1 -156
- package/dist/docs/components/chartsGettingStarted.md +1 -1
- package/dist/docs/components/chat.md +2 -81
- package/dist/docs/components/checkbox.md +11 -72
- package/dist/docs/components/circularProgress.md +8 -49
- package/dist/docs/components/clearableInput.md +3 -62
- package/dist/docs/components/collapse.md +2 -15
- package/dist/docs/components/composedCharts.md +16 -26
- package/dist/docs/components/contentLoader.md +7 -25
- package/dist/docs/components/dataTabs.md +16 -104
- package/dist/docs/components/datepickers.md +710 -962
- package/dist/docs/components/dialogs.md +5 -67
- package/dist/docs/components/divider.md +1 -33
- package/dist/docs/components/dropdowns.md +3424 -5567
- package/dist/docs/components/editableContent.md +4 -82
- package/dist/docs/components/expander.md +15 -88
- package/dist/docs/components/fade.md +4 -61
- package/dist/docs/components/fadeExpander.md +1 -7
- package/dist/docs/components/fadeUp.md +2 -76
- package/dist/docs/components/feedback.md +9 -68
- package/dist/docs/components/filePickers.md +4 -18
- package/dist/docs/components/formLabel.md +7 -27
- package/dist/docs/components/groupedItemList.md +2 -158
- package/dist/docs/components/iconList.md +7 -64
- package/dist/docs/components/imagePreloader.md +1 -9
- package/dist/docs/components/labeledElement.md +3 -18
- package/dist/docs/components/licensePlate.md +1 -43
- package/dist/docs/components/lineCharts.md +8 -39
- package/dist/docs/components/listMenu.md +2 -34
- package/dist/docs/components/loadMore.md +5 -24
- package/dist/docs/components/mainNavigation.md +1 -9
- package/dist/docs/components/mapCircle.md +1 -23
- package/dist/docs/components/mapCluster.md +2 -54
- package/dist/docs/components/mapContext.md +1 -23
- package/dist/docs/components/mapDraggableMarker.md +2 -28
- package/dist/docs/components/mapGettingStarted.md +2 -2
- package/dist/docs/components/mapInfoBubble.md +1 -27
- package/dist/docs/components/mapLayerGroup.md +1 -23
- package/dist/docs/components/mapMarker.md +1 -99
- package/dist/docs/components/mapPolygon.md +2 -116
- package/dist/docs/components/mapRoute.md +6 -1465
- package/dist/docs/components/mapRouteGenerator.md +1 -1
- package/dist/docs/components/mapSettings.md +11 -128
- package/dist/docs/components/mapUtils.md +10 -113
- package/dist/docs/components/multiselects.md +14 -163
- package/dist/docs/components/noData.md +8 -22
- package/dist/docs/components/notifications.md +3 -19
- package/dist/docs/components/numbercontrol.md +3 -47
- package/dist/docs/components/onboarding.md +3 -15
- package/dist/docs/components/page.md +1 -33
- package/dist/docs/components/pager.md +1 -17
- package/dist/docs/components/pieCharts.md +40 -71
- package/dist/docs/components/popover.md +1 -12
- package/dist/docs/components/position.md +2 -6
- package/dist/docs/components/radialBarCharts.md +32 -116
- package/dist/docs/components/radioCardGroup.md +6 -48
- package/dist/docs/components/radiobutton.md +6 -75
- package/dist/docs/components/releaseNotes.md +3 -21
- package/dist/docs/components/resizer.md +1 -7
- package/dist/docs/components/responsiveColumnStripe.md +9 -49
- package/dist/docs/components/responsiveVideo.md +1 -7
- package/dist/docs/components/rioglyph.md +1 -17
- package/dist/docs/components/rules.md +7 -70
- package/dist/docs/components/saveableInput.md +267 -401
- package/dist/docs/components/selects.md +27 -1164
- package/dist/docs/components/sidebar.md +6 -17
- package/dist/docs/components/sliders.md +1 -27
- package/dist/docs/components/smoothScrollbars.md +1 -73
- package/dist/docs/components/spinners.md +6 -51
- package/dist/docs/components/states.md +6 -92
- package/dist/docs/components/statsWidgets.md +1 -76
- package/dist/docs/components/statusBar.md +1 -57
- package/dist/docs/components/stepButton.md +2 -7
- package/dist/docs/components/steppedProgressBars.md +5 -62
- package/dist/docs/components/subNavigation.md +1 -31
- package/dist/docs/components/supportMarker.md +2 -14
- package/dist/docs/components/svgImage.md +1 -5
- package/dist/docs/components/switch.md +2 -33
- package/dist/docs/components/tables.md +1 -1
- package/dist/docs/components/tagManager.md +1 -41
- package/dist/docs/components/tags.md +1 -138
- package/dist/docs/components/teaser.md +2 -122
- package/dist/docs/components/textTruncateMiddle.md +2 -9
- package/dist/docs/components/timeline.md +1 -99
- package/dist/docs/components/timepicker.md +4 -79
- package/dist/docs/components/toggleButton.md +2 -15
- package/dist/docs/components/tooltip.md +9 -30
- package/dist/docs/components/tracker.md +2 -19
- package/dist/docs/components/virtualList.md +61 -130
- package/dist/docs/foundations.md +749 -4069
- package/dist/docs/start/changelog.md +5 -1
- package/dist/docs/start/goodtoknow.md +1 -1
- package/dist/docs/start/guidelines/color-combinations.md +149 -483
- package/dist/docs/start/guidelines/custom-css.md +1 -1
- package/dist/docs/start/guidelines/custom-rioglyph.md +1 -1
- package/dist/docs/start/guidelines/formatting.md +1 -1
- package/dist/docs/start/guidelines/iframe.md +4 -16
- package/dist/docs/start/guidelines/obfuscate-data.md +1 -1
- package/dist/docs/start/guidelines/print-css.md +1 -1
- package/dist/docs/start/guidelines/spinner.md +13 -67
- package/dist/docs/start/guidelines/state-in-url.md +1 -1
- package/dist/docs/start/guidelines/supported-browsers.md +1 -1
- package/dist/docs/start/guidelines/writing.md +1 -1
- package/dist/docs/start/howto.md +11 -11
- package/dist/docs/start/intro.md +1 -1
- package/dist/docs/start/responsiveness.md +1 -1
- package/dist/docs/utilities/classNames.md +3 -18
- package/dist/docs/utilities/deviceUtils.md +7 -13
- package/dist/docs/utilities/featureToggles.md +1 -1
- package/dist/docs/utilities/fuelTypeUtils.md +2 -12
- package/dist/docs/utilities/routeUtils.md +25 -343
- package/dist/docs/utilities/useAfterMount.md +1 -6
- package/dist/docs/utilities/useAutoAnimate.md +2 -15
- package/dist/docs/utilities/useAverage.md +1 -6
- package/dist/docs/utilities/useClickOutside.md +1 -5
- package/dist/docs/utilities/useClipboard.md +2 -6
- package/dist/docs/utilities/useCookies.md +2 -10
- package/dist/docs/utilities/useCount.md +7 -16
- package/dist/docs/utilities/useDarkMode.md +2 -6
- package/dist/docs/utilities/useDebugInfo.md +6 -20
- package/dist/docs/utilities/useEffectOnce.md +1 -6
- package/dist/docs/utilities/useElapsedTime.md +2 -6
- package/dist/docs/utilities/useElementSize.md +1 -7
- package/dist/docs/utilities/useEsc.md +1 -5
- package/dist/docs/utilities/useEvent.md +1 -5
- package/dist/docs/utilities/useFocusTrap.md +1 -5
- package/dist/docs/utilities/useFullscreen.md +2 -15
- package/dist/docs/utilities/useHover.md +1 -5
- package/dist/docs/utilities/useIncomingPostMessages.md +2 -18
- package/dist/docs/utilities/useInterval.md +2 -8
- package/dist/docs/utilities/useIsFocusWithin.md +1 -10
- package/dist/docs/utilities/useKey.md +1 -15
- package/dist/docs/utilities/useLocalStorage.md +2 -11
- package/dist/docs/utilities/useLocationSuggestions.md +1 -5
- package/dist/docs/utilities/useMax.md +1 -5
- package/dist/docs/utilities/useMin.md +1 -5
- package/dist/docs/utilities/useMutationObserver.md +3 -11
- package/dist/docs/utilities/useOnScreen.md +1 -8
- package/dist/docs/utilities/useOnlineStatus.md +1 -5
- package/dist/docs/utilities/usePostMessage.md +3 -9
- package/dist/docs/utilities/usePostMessageSender.md +3 -13
- package/dist/docs/utilities/usePrevious.md +1 -5
- package/dist/docs/utilities/useResizeObserver.md +3 -11
- package/dist/docs/utilities/useRioCookieConsent.md +1 -5
- package/dist/docs/utilities/useScrollPosition.md +3 -59
- package/dist/docs/utilities/useSearch.md +2 -16
- package/dist/docs/utilities/useSearchHighlight.md +13 -78
- package/dist/docs/utilities/useSorting.md +18 -43
- package/dist/docs/utilities/useStateWithValidation.md +1 -5
- package/dist/docs/utilities/useSum.md +1 -9
- package/dist/docs/utilities/useTableExport.md +42 -59
- package/dist/docs/utilities/useTableSelection.md +74 -119
- package/dist/docs/utilities/useTimeout.md +2 -6
- package/dist/docs/utilities/useToggle.md +4 -14
- package/dist/docs/utilities/useUrlState.md +2 -27
- package/dist/docs/utilities/useWindowResize.md +1 -5
- package/dist/index.mjs +46 -16
- package/dist/version.json +2 -2
- package/package.json +15 -9
- package/dist/docs/templates/common-table.md +0 -1112
- package/dist/docs/templates/detail-views.md +0 -942
- package/dist/docs/templates/expandable-details.md +0 -228
- package/dist/docs/templates/feature-cards.md +0 -549
- package/dist/docs/templates/form-summary.md +0 -199
- package/dist/docs/templates/form-toggle.md +0 -367
- package/dist/docs/templates/list-blocks.md +0 -1021
- package/dist/docs/templates/loading-progress.md +0 -109
- package/dist/docs/templates/options-panel.md +0 -152
- package/dist/docs/templates/panel-variants.md +0 -164
- package/dist/docs/templates/progress-cards.md +0 -607
- package/dist/docs/templates/progress-success.md +0 -142
- package/dist/docs/templates/settings-form.md +0 -434
- package/dist/docs/templates/stats-blocks.md +0 -1381
- package/dist/docs/templates/table-panel.md +0 -184
- package/dist/docs/templates/table-row-animation.md +0 -317
- package/dist/docs/templates/usage-cards.md +0 -227
package/dist/index.mjs
CHANGED
|
@@ -5,7 +5,43 @@ import { z } from "zod";
|
|
|
5
5
|
import { existsSync, readFileSync } from "node:fs";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import FlexSearch from "flexsearch";
|
|
8
|
-
|
|
8
|
+
//#region server/lib/doc-id.ts
|
|
9
|
+
var InvalidDocIdError = class extends Error {
|
|
10
|
+
constructor(id, reason) {
|
|
11
|
+
super(`Invalid doc id "${id}": ${reason}`);
|
|
12
|
+
this.name = "InvalidDocIdError";
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
function decodeSegment(segment, originalId) {
|
|
16
|
+
try {
|
|
17
|
+
return decodeURIComponent(segment);
|
|
18
|
+
} catch {
|
|
19
|
+
throw new InvalidDocIdError(originalId, `segment "${segment}" contains invalid encoding`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function assertSafeDocId(id) {
|
|
23
|
+
if (typeof id !== "string") throw new InvalidDocIdError(String(id), "doc id must be a string");
|
|
24
|
+
const trimmed = id.trim();
|
|
25
|
+
if (!trimmed) throw new InvalidDocIdError(id, "doc id must not be empty");
|
|
26
|
+
if (trimmed.startsWith("/")) throw new InvalidDocIdError(id, "leading slash is not allowed");
|
|
27
|
+
const segments = trimmed.split("/");
|
|
28
|
+
for (const segment of segments) {
|
|
29
|
+
if (!segment.length) throw new InvalidDocIdError(id, "empty path segment is not allowed");
|
|
30
|
+
const decoded = decodeSegment(segment, id);
|
|
31
|
+
if (decoded === "." || decoded === "..") throw new InvalidDocIdError(id, "dot segments are not allowed");
|
|
32
|
+
if (decoded.includes("/") || decoded.includes("\\")) throw new InvalidDocIdError(id, "slash characters in path segments are not allowed");
|
|
33
|
+
if (decoded.includes("\0")) throw new InvalidDocIdError(id, "null bytes are not allowed");
|
|
34
|
+
}
|
|
35
|
+
return trimmed;
|
|
36
|
+
}
|
|
37
|
+
function resolveInsideRoot(root, relativePath) {
|
|
38
|
+
const rootPath = path.resolve(root);
|
|
39
|
+
const resolved = path.resolve(rootPath, relativePath);
|
|
40
|
+
const relative = path.relative(rootPath, resolved);
|
|
41
|
+
if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) throw new Error(`Resolved path escapes root: root="${rootPath}" relative="${relativePath}"`);
|
|
42
|
+
return resolved;
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
9
45
|
//#region server/lib/load-compiled.ts
|
|
10
46
|
/**
|
|
11
47
|
* Runtime loading of pre-compiled documentation data.
|
|
@@ -45,17 +81,13 @@ function loadCompiledData(distRoot) {
|
|
|
45
81
|
version
|
|
46
82
|
};
|
|
47
83
|
}
|
|
48
|
-
/** Markdown path is computed: docs/${id}.md */
|
|
49
|
-
function getMarkdownPath(id) {
|
|
50
|
-
return `docs/${id}.md`;
|
|
51
|
-
}
|
|
52
84
|
function loadMarkdown(distRoot, id) {
|
|
53
|
-
const
|
|
54
|
-
const fullPath = path.join(distRoot,
|
|
85
|
+
const safeId = assertSafeDocId(id);
|
|
86
|
+
const fullPath = resolveInsideRoot(path.join(distRoot, "docs"), `${safeId}.md`);
|
|
87
|
+
const mdPath = path.relative(distRoot, fullPath);
|
|
55
88
|
if (!existsSync(fullPath)) throw new Error(`Markdown file not found: ${mdPath}\nExpected at: ${fullPath}\nThis may indicate an incomplete build. Run "npm run build:server" to regenerate.`);
|
|
56
89
|
return readFileSync(fullPath, "utf8");
|
|
57
90
|
}
|
|
58
|
-
|
|
59
91
|
//#endregion
|
|
60
92
|
//#region server/lib/search-index.ts
|
|
61
93
|
/**
|
|
@@ -116,11 +148,9 @@ function buildSearchIndex(entries) {
|
|
|
116
148
|
};
|
|
117
149
|
return { search };
|
|
118
150
|
}
|
|
119
|
-
|
|
120
151
|
//#endregion
|
|
121
152
|
//#region package.json
|
|
122
|
-
var version = "1.1.
|
|
123
|
-
|
|
153
|
+
var version = "1.1.9";
|
|
124
154
|
//#endregion
|
|
125
155
|
//#region server/index.ts
|
|
126
156
|
const DIST_ROOT = import.meta.dirname;
|
|
@@ -159,13 +189,14 @@ function expandDomainSynonyms(rawQuery, config) {
|
|
|
159
189
|
}
|
|
160
190
|
function registerDocResources(docs) {
|
|
161
191
|
for (const doc of docs) {
|
|
162
|
-
const
|
|
163
|
-
|
|
192
|
+
const safeId = assertSafeDocId(doc.id);
|
|
193
|
+
const uri = buildResourceUri(safeId);
|
|
194
|
+
server.registerResource(safeId, uri.href, {
|
|
164
195
|
title: doc.title,
|
|
165
196
|
description: doc.summary,
|
|
166
197
|
mimeType: "text/markdown"
|
|
167
198
|
}, async () => {
|
|
168
|
-
const markdown = loadMarkdown(DIST_ROOT,
|
|
199
|
+
const markdown = loadMarkdown(DIST_ROOT, safeId);
|
|
169
200
|
const versionNote = CAPTURED_UIKIT_VERSION ? `\n\n> Captured UI Kit version: ${CAPTURED_UIKIT_VERSION}` : "";
|
|
170
201
|
return { contents: [{
|
|
171
202
|
uri: uri.href,
|
|
@@ -272,6 +303,5 @@ main().catch((error) => {
|
|
|
272
303
|
console.error(error);
|
|
273
304
|
process.exit(1);
|
|
274
305
|
});
|
|
275
|
-
|
|
276
306
|
//#endregion
|
|
277
|
-
export {
|
|
307
|
+
export {};
|
package/dist/version.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rio-cloud/uikit-mcp",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"description": "MCP server that serves the captured RIO UI Kit documentation to Model Context Protocol clients.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
"type": "module",
|
|
9
9
|
"author": "TB Digital Services GmbH",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=24",
|
|
13
|
+
"npm": ">=11"
|
|
14
|
+
},
|
|
11
15
|
"bin": {
|
|
12
16
|
"uikit-mcp": "./dist/index.mjs"
|
|
13
17
|
},
|
|
@@ -17,9 +21,7 @@
|
|
|
17
21
|
"scripts": {
|
|
18
22
|
"build:server": "tsdown",
|
|
19
23
|
"typecheck": "tsc --noEmit",
|
|
20
|
-
"
|
|
21
|
-
"test": "npm run typecheck && node --test --import tsx test/**/*.ts",
|
|
22
|
-
"prepack": "npm test",
|
|
24
|
+
"test": "npm run build:server && npm run typecheck && node --test --import tsx test/**/*.ts",
|
|
23
25
|
"setup:crawler": "npx playwright install chromium",
|
|
24
26
|
"crawl:full": "tsx tools/crawl-full.ts",
|
|
25
27
|
"crawl:navigation": "tsx crawler/cli/crawl-navigation.ts",
|
|
@@ -28,15 +30,19 @@
|
|
|
28
30
|
"mcp:server": "npm run build:server && node dist/index.mjs"
|
|
29
31
|
},
|
|
30
32
|
"dependencies": {
|
|
31
|
-
"@modelcontextprotocol/sdk": "1.
|
|
33
|
+
"@modelcontextprotocol/sdk": "1.29.0",
|
|
32
34
|
"flexsearch": "0.8.212",
|
|
33
35
|
"zod": "4.3.6"
|
|
34
36
|
},
|
|
37
|
+
"overrides": {
|
|
38
|
+
"@hono/node-server": "1.19.13",
|
|
39
|
+
"hono": "4.12.12"
|
|
40
|
+
},
|
|
35
41
|
"devDependencies": {
|
|
36
|
-
"@types/node": "
|
|
37
|
-
"playwright": "1.
|
|
38
|
-
"tsdown": "0.
|
|
42
|
+
"@types/node": "24.12.2",
|
|
43
|
+
"playwright": "1.59.1",
|
|
44
|
+
"tsdown": "0.21.7",
|
|
39
45
|
"tsx": "4.21.0",
|
|
40
|
-
"typescript": "
|
|
46
|
+
"typescript": "6.0.2"
|
|
41
47
|
}
|
|
42
48
|
}
|