@amedia/brick-mcp 1.0.1 → 1.0.2

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 (34) hide show
  1. package/data/components/brick-alt-teaser.md +9 -4
  2. package/data/components/brick-button.md +3 -2
  3. package/data/components/brick-byline.md +138 -0
  4. package/data/components/brick-carousel.md +8 -6
  5. package/data/components/brick-classnames.md +19 -14
  6. package/data/components/brick-dialog.md +3 -3
  7. package/data/components/brick-expand.md +129 -0
  8. package/data/components/brick-illustrations.md +6 -5
  9. package/data/components/brick-pill.md +9 -7
  10. package/data/components/brick-player.md +6 -3
  11. package/data/components/brick-share.md +5 -2
  12. package/data/components/brick-skip-link.md +78 -0
  13. package/data/components/brick-stepper.md +2 -2
  14. package/data/components/brick-teaser.md +8 -7
  15. package/data/components/brick-tokens.md +12 -8
  16. package/data/components-metadata.json +41 -29
  17. package/dist/data/components/brick-alt-teaser.md +9 -4
  18. package/dist/data/components/brick-button.md +3 -2
  19. package/dist/data/components/brick-byline.md +138 -0
  20. package/dist/data/components/brick-carousel.md +8 -6
  21. package/dist/data/components/brick-classnames.md +19 -14
  22. package/dist/data/components/brick-dialog.md +3 -3
  23. package/dist/data/components/brick-expand.md +129 -0
  24. package/dist/data/components/brick-illustrations.md +6 -5
  25. package/dist/data/components/brick-pill.md +9 -7
  26. package/dist/data/components/brick-player.md +6 -3
  27. package/dist/data/components/brick-share.md +5 -2
  28. package/dist/data/components/brick-skip-link.md +78 -0
  29. package/dist/data/components/brick-stepper.md +2 -2
  30. package/dist/data/components/brick-teaser.md +8 -7
  31. package/dist/data/components/brick-tokens.md +12 -8
  32. package/dist/data/components-metadata.json +41 -29
  33. package/package.json +32 -32
  34. package/scripts/check-docs-versions.js +121 -0
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
3
  "name": "brick-alt-teaser",
4
- "version": "8.1.18",
4
+ "version": "8.1.23",
5
5
  "selector": "brick-alt-teaser-v8",
6
6
  "category": "Display",
7
7
  "tags": [
@@ -11,7 +11,7 @@
11
11
  },
12
12
  {
13
13
  "name": "brick-avatar",
14
- "version": "0.2.56",
14
+ "version": "0.2.60",
15
15
  "selector": "brick-avatar-v0",
16
16
  "description": "brick-avatar component",
17
17
  "category": "Display",
@@ -23,7 +23,7 @@
23
23
  },
24
24
  {
25
25
  "name": "brick-button",
26
- "version": "9.4.14",
26
+ "version": "9.4.18",
27
27
  "selector": "brick-button-v9",
28
28
  "category": "Forms",
29
29
  "tags": [
@@ -35,7 +35,7 @@
35
35
  },
36
36
  {
37
37
  "name": "brick-byline",
38
- "version": "1.0.18",
38
+ "version": "1.0.22",
39
39
  "selector": "brick-byline-v1",
40
40
  "description": "brick-byline component",
41
41
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-byline",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  {
45
45
  "name": "brick-card",
46
- "version": "7.3.28",
46
+ "version": "7.3.32",
47
47
  "selector": "brick-card-v7",
48
48
  "category": "Layout",
49
49
  "tags": [
@@ -54,7 +54,7 @@
54
54
  },
55
55
  {
56
56
  "name": "brick-carousel",
57
- "version": "2.3.1",
57
+ "version": "2.3.5",
58
58
  "selector": "brick-carousel-v2",
59
59
  "description": "Simple carousel for any content passed to it.",
60
60
  "category": "Display",
@@ -78,7 +78,7 @@
78
78
  },
79
79
  {
80
80
  "name": "brick-countdown",
81
- "version": "3.0.3",
81
+ "version": "3.0.7",
82
82
  "selector": "brick-countdown-v3",
83
83
  "description": "brick-countdown component",
84
84
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-countdown",
@@ -86,7 +86,7 @@
86
86
  },
87
87
  {
88
88
  "name": "brick-dialog",
89
- "version": "2.1.11",
89
+ "version": "2.1.15",
90
90
  "selector": "brick-dialog-v2",
91
91
  "description": "brick-dialog component",
92
92
  "category": "Feedback",
@@ -98,7 +98,7 @@
98
98
  },
99
99
  {
100
100
  "name": "brick-expand",
101
- "version": "0.0.23",
101
+ "version": "0.0.27",
102
102
  "selector": "brick-expand-v0",
103
103
  "description": "brick-expand component",
104
104
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-expand",
@@ -117,7 +117,7 @@
117
117
  },
118
118
  {
119
119
  "name": "brick-helloworld",
120
- "version": "2.0.22",
120
+ "version": "2.0.28",
121
121
  "selector": "brick-helloworld-v2",
122
122
  "description": "Brick Hello World component",
123
123
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-helloworld",
@@ -125,7 +125,7 @@
125
125
  },
126
126
  {
127
127
  "name": "brick-icon",
128
- "version": "2.3.20",
128
+ "version": "2.3.24",
129
129
  "selector": "brick-icon-v2",
130
130
  "category": "Display",
131
131
  "tags": [
@@ -143,7 +143,7 @@
143
143
  },
144
144
  {
145
145
  "name": "brick-image",
146
- "version": "6.0.23",
146
+ "version": "6.0.27",
147
147
  "selector": "brick-image-v6",
148
148
  "category": "Display",
149
149
  "tags": [
@@ -154,7 +154,7 @@
154
154
  },
155
155
  {
156
156
  "name": "brick-input",
157
- "version": "4.0.2",
157
+ "version": "4.0.7",
158
158
  "selector": "brick-input-v4",
159
159
  "description": "brick-input component",
160
160
  "category": "Forms",
@@ -167,14 +167,14 @@
167
167
  },
168
168
  {
169
169
  "name": "brick-pill",
170
- "version": "10.1.2",
170
+ "version": "10.1.6",
171
171
  "selector": "brick-pill-v10",
172
172
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-pill",
173
173
  "mainJsFile": "brick-pill.js"
174
174
  },
175
175
  {
176
176
  "name": "brick-player",
177
- "version": "2.3.3",
177
+ "version": "2.4.3",
178
178
  "selector": "brick-player-v2",
179
179
  "description": "Component for playing video and audio files",
180
180
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-player",
@@ -182,7 +182,7 @@
182
182
  },
183
183
  {
184
184
  "name": "brick-published",
185
- "version": "4.0.19",
185
+ "version": "4.0.23",
186
186
  "selector": "brick-published-v4",
187
187
  "description": "brick-published",
188
188
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-published",
@@ -190,15 +190,27 @@
190
190
  },
191
191
  {
192
192
  "name": "brick-share",
193
- "version": "0.3.24",
193
+ "version": "0.4.3",
194
194
  "selector": "brick-share-v0",
195
195
  "description": "brick-share component",
196
196
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-share",
197
197
  "mainJsFile": "brick-share.js"
198
198
  },
199
+ {
200
+ "name": "brick-skip-link",
201
+ "version": "0.0.2",
202
+ "selector": "brick-skip-link-v0",
203
+ "description": "brick-skip-link component",
204
+ "category": "Navigation",
205
+ "tags": [
206
+ "navigation"
207
+ ],
208
+ "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-skip-link",
209
+ "mainJsFile": "brick-skip-link.js"
210
+ },
199
211
  {
200
212
  "name": "brick-stepper",
201
- "version": "1.1.5",
213
+ "version": "1.1.9",
202
214
  "selector": "brick-stepper-v1",
203
215
  "description": "brick-stepper component",
204
216
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-stepper",
@@ -206,7 +218,7 @@
206
218
  },
207
219
  {
208
220
  "name": "brick-tab",
209
- "version": "0.1.26",
221
+ "version": "0.1.30",
210
222
  "selector": "brick-tab-v0",
211
223
  "description": "brick-tab component",
212
224
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-tab",
@@ -214,7 +226,7 @@
214
226
  },
215
227
  {
216
228
  "name": "brick-tabs",
217
- "version": "0.1.27",
229
+ "version": "0.1.31",
218
230
  "selector": "brick-tabs-v0",
219
231
  "description": "brick-tabs component handling tablist, tabs and tabpanel",
220
232
  "category": "Navigation",
@@ -226,7 +238,7 @@
226
238
  },
227
239
  {
228
240
  "name": "brick-tag",
229
- "version": "0.0.26",
241
+ "version": "0.0.30",
230
242
  "selector": "brick-tag-v0",
231
243
  "description": "brick-tag component",
232
244
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-tag",
@@ -234,7 +246,7 @@
234
246
  },
235
247
  {
236
248
  "name": "brick-teaser",
237
- "version": "22.2.1",
249
+ "version": "22.2.9",
238
250
  "selector": "brick-teaser-v22",
239
251
  "description": "Teaser component.",
240
252
  "category": "Display",
@@ -246,7 +258,7 @@
246
258
  },
247
259
  {
248
260
  "name": "brick-teaser-player",
249
- "version": "1.1.15",
261
+ "version": "1.1.20",
250
262
  "selector": "brick-teaser-player-v1",
251
263
  "description": "brick-video-teaser component",
252
264
  "category": "Display",
@@ -258,7 +270,7 @@
258
270
  },
259
271
  {
260
272
  "name": "brick-teaser-reels",
261
- "version": "0.4.18",
273
+ "version": "0.4.22",
262
274
  "selector": "brick-teaser-reels-v0",
263
275
  "description": "brick-teaser-reels component",
264
276
  "category": "Display",
@@ -270,7 +282,7 @@
270
282
  },
271
283
  {
272
284
  "name": "brick-textarea",
273
- "version": "2.0.22",
285
+ "version": "2.0.26",
274
286
  "selector": "brick-textarea-v2",
275
287
  "description": "brick-textarea component",
276
288
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-textarea",
@@ -286,7 +298,7 @@
286
298
  },
287
299
  {
288
300
  "name": "brick-toast",
289
- "version": "0.1.40",
301
+ "version": "0.1.44",
290
302
  "selector": "brick-toast-v0",
291
303
  "description": "brick-toast component",
292
304
  "category": "Feedback",
@@ -298,7 +310,7 @@
298
310
  },
299
311
  {
300
312
  "name": "brick-toggle",
301
- "version": "3.1.27",
313
+ "version": "3.1.32",
302
314
  "selector": "brick-toggle-v3",
303
315
  "description": "brick-toggle component",
304
316
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-toggle",
@@ -306,7 +318,7 @@
306
318
  },
307
319
  {
308
320
  "name": "brick-tokens",
309
- "version": "6.0.12",
321
+ "version": "6.2.1",
310
322
  "selector": "brick-tokens-v6",
311
323
  "description": "Tokens package",
312
324
  "category": "Utilities",
@@ -318,7 +330,7 @@
318
330
  },
319
331
  {
320
332
  "name": "brick-tooltip",
321
- "version": "1.0.29",
333
+ "version": "1.0.33",
322
334
  "selector": "brick-tooltip-v1",
323
335
  "description": "brick-tooltip component",
324
336
  "assetUrl": "https://assets.acdn.no/pkg/@amedia/brick-tooltip",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@amedia/brick-mcp",
3
3
  "homepage": "https://github.com/amedia/brick.git",
4
4
  "author": "Amedia",
5
- "version": "1.0.1",
5
+ "version": "1.0.2",
6
6
  "description": "This is a MCP server for Brick",
7
7
  "license": "MIT",
8
8
  "type": "module",
@@ -40,41 +40,41 @@
40
40
  "zod-to-json-schema": "3.24.6"
41
41
  },
42
42
  "devDependencies": {
43
- "@amedia/brick-alt-teaser": "8.1.18",
44
- "@amedia/brick-avatar": "0.2.56",
45
- "@amedia/brick-button": "9.4.14",
46
- "@amedia/brick-byline": "1.0.18",
47
- "@amedia/brick-card": "7.3.28",
48
- "@amedia/brick-carousel": "2.3.1",
43
+ "@amedia/brick-alt-teaser": "8.1.23",
44
+ "@amedia/brick-avatar": "0.2.60",
45
+ "@amedia/brick-button": "9.4.18",
46
+ "@amedia/brick-byline": "1.0.22",
47
+ "@amedia/brick-card": "7.3.32",
48
+ "@amedia/brick-carousel": "2.3.5",
49
49
  "@amedia/brick-classnames": "3.0.2",
50
- "@amedia/brick-countdown": "3.0.3",
51
- "@amedia/brick-dialog": "2.1.11",
52
- "@amedia/brick-expand": "0.0.23",
50
+ "@amedia/brick-countdown": "3.0.7",
51
+ "@amedia/brick-dialog": "2.1.15",
52
+ "@amedia/brick-expand": "0.0.27",
53
53
  "@amedia/brick-fonts": "2.0.2",
54
- "@amedia/brick-helloworld": "2.0.22",
55
- "@amedia/brick-icon": "2.3.20",
56
- "@amedia/brick-icons": "2.2.4",
54
+ "@amedia/brick-helloworld": "2.0.28",
55
+ "@amedia/brick-icon": "2.3.24",
56
+ "@amedia/brick-icons": "2.2.5",
57
57
  "@amedia/brick-illustrations": "1.3.0",
58
- "@amedia/brick-image": "6.0.23",
59
- "@amedia/brick-input": "4.0.2",
60
- "@amedia/brick-pill": "10.1.2",
61
- "@amedia/brick-player": "2.3.3",
62
- "@amedia/brick-published": "4.0.19",
63
- "@amedia/brick-share": "0.3.24",
64
- "@amedia/brick-stepper": "1.1.5",
65
- "@amedia/brick-tab": "0.1.26",
66
- "@amedia/brick-tabs": "0.1.27",
67
- "@amedia/brick-tag": "0.0.26",
68
- "@amedia/brick-teaser": "22.2.1",
69
- "@amedia/brick-teaser-player": "1.1.15",
70
- "@amedia/brick-teaser-reels": "0.4.18",
58
+ "@amedia/brick-image": "6.0.27",
59
+ "@amedia/brick-input": "4.0.7",
60
+ "@amedia/brick-pill": "10.1.6",
61
+ "@amedia/brick-player": "2.4.3",
62
+ "@amedia/brick-published": "4.0.23",
63
+ "@amedia/brick-share": "0.4.3",
64
+ "@amedia/brick-stepper": "1.1.9",
65
+ "@amedia/brick-tab": "0.1.30",
66
+ "@amedia/brick-tabs": "0.1.31",
67
+ "@amedia/brick-tag": "0.0.30",
68
+ "@amedia/brick-teaser": "22.2.9",
69
+ "@amedia/brick-teaser-player": "1.1.20",
70
+ "@amedia/brick-teaser-reels": "0.4.22",
71
71
  "@amedia/brick-template": "2.0.1",
72
- "@amedia/brick-textarea": "2.0.22",
72
+ "@amedia/brick-textarea": "2.0.26",
73
73
  "@amedia/brick-themes": "1.0.2",
74
- "@amedia/brick-toast": "0.1.40",
75
- "@amedia/brick-toggle": "3.1.27",
76
- "@amedia/brick-tokens": "6.0.12",
77
- "@amedia/brick-tooltip": "1.0.29"
74
+ "@amedia/brick-toast": "0.1.44",
75
+ "@amedia/brick-toggle": "3.1.32",
76
+ "@amedia/brick-tokens": "6.2.1",
77
+ "@amedia/brick-tooltip": "1.0.33"
78
78
  },
79
79
  "eik": {
80
80
  "server": "https://assets.acdn.no",
@@ -83,4 +83,4 @@
83
83
  "brick-mcp.js.map": "./dist/index.js.map"
84
84
  }
85
85
  }
86
- }
86
+ }
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Check if component documentation is outdated relative to current package versions.
3
+ * Compares version in each .md frontmatter against components-metadata.json.
4
+ * Warns (does not fail) when major or minor version has changed.
5
+ *
6
+ * Run after generate-data.js so that components-metadata.json is up to date.
7
+ */
8
+
9
+ import { readdir, readFile } from 'node:fs/promises';
10
+ import { join, dirname } from 'node:path';
11
+ import { fileURLToPath } from 'node:url';
12
+
13
+ const __filename = fileURLToPath(import.meta.url);
14
+ const __dirname = dirname(__filename);
15
+
16
+ const DATA_DIR = join(__dirname, '..', 'data');
17
+ const COMPONENTS_DIR = join(DATA_DIR, 'components');
18
+
19
+ /**
20
+ * Parse the version from YAML frontmatter in a markdown file.
21
+ * Returns null if no version field is found.
22
+ */
23
+ function parseVersionFromFrontmatter(content) {
24
+ const match = content.match(/^---\n([\s\S]*?)\n---/);
25
+ if (!match) return null;
26
+ const versionMatch = match[1].match(/^version:\s*(.+)$/m);
27
+ return versionMatch ? versionMatch[1].trim() : null;
28
+ }
29
+
30
+ /**
31
+ * Compare two semver strings.
32
+ * Returns 'major', 'minor', 'patch', or 'none'.
33
+ */
34
+ function compareVersions(docVersion, packageVersion) {
35
+ const [docMajor, docMinor] = docVersion.split('.').map(Number);
36
+ const [pkgMajor, pkgMinor] = packageVersion.split('.').map(Number);
37
+
38
+ if (pkgMajor !== docMajor) return 'major';
39
+ if (pkgMinor !== docMinor) return 'minor';
40
+ return 'patch';
41
+ }
42
+
43
+ async function main() {
44
+ const metadataPath = join(DATA_DIR, 'components-metadata.json');
45
+ const metadataContent = await readFile(metadataPath, 'utf-8');
46
+ const metadata = JSON.parse(metadataContent);
47
+
48
+ // Build a lookup map: component name → current version
49
+ const currentVersions = Object.fromEntries(
50
+ metadata.map((c) => [c.name, c.version])
51
+ );
52
+
53
+ const mdFiles = (await readdir(COMPONENTS_DIR)).filter((f) =>
54
+ f.endsWith('.md')
55
+ );
56
+
57
+ const stale = [];
58
+ const missing = [];
59
+ const upToDate = [];
60
+
61
+ for (const file of mdFiles) {
62
+ const componentName = file.replace('.md', '');
63
+
64
+ // Skip components not in metadata (e.g. orphaned docs)
65
+ if (!(componentName in currentVersions)) {
66
+ continue;
67
+ }
68
+
69
+ const content = await readFile(join(COMPONENTS_DIR, file), 'utf-8');
70
+ const docVersion = parseVersionFromFrontmatter(content);
71
+ const packageVersion = currentVersions[componentName];
72
+
73
+ if (!docVersion) {
74
+ missing.push(componentName);
75
+ continue;
76
+ }
77
+
78
+ const changeType = compareVersions(docVersion, packageVersion);
79
+
80
+ if (changeType === 'major' || changeType === 'minor') {
81
+ stale.push({ name: componentName, docVersion, packageVersion, changeType });
82
+ } else {
83
+ upToDate.push(componentName);
84
+ }
85
+ }
86
+
87
+ // Check for components in metadata that have no .md file at all
88
+ const existingMdNames = new Set(mdFiles.map((f) => f.replace('.md', '')));
89
+ for (const name of Object.keys(currentVersions)) {
90
+ if (!existingMdNames.has(name)) {
91
+ stale.push({
92
+ name,
93
+ docVersion: '(none)',
94
+ packageVersion: currentVersions[name],
95
+ changeType: 'missing',
96
+ });
97
+ }
98
+ }
99
+
100
+ console.log(`\nšŸ“‹ MCP Docs Version Check`);
101
+ console.log(` Checked: ${mdFiles.length} files\n`);
102
+
103
+ if (stale.length > 0) {
104
+ console.warn(`āš ļø Stale MCP docs (${stale.length} component${stale.length > 1 ? 's' : ''}):`);
105
+ for (const { name, docVersion, packageVersion, changeType } of stale) {
106
+ console.warn(
107
+ ` ${name}: docs ${docVersion} → package ${packageVersion} (${changeType} change)`
108
+ );
109
+ }
110
+ console.warn(
111
+ `\n Run the prompt in prompts/update-component-docs.md to regenerate.\n`
112
+ );
113
+ } else {
114
+ console.log(`āœ… All MCP docs are up to date`);
115
+ }
116
+ }
117
+
118
+ main().catch((err) => {
119
+ console.error('Error checking docs versions:', err);
120
+ process.exit(1);
121
+ });