@uni-design-system/uni-mcp 4.7.3 → 10.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @uni-design-system/uni-mcp
2
2
 
3
+ ## 10.2.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [`2b8d80f`](https://github.com/uni-design-system/uni/commit/2b8d80f133c68be2cffd600aa84f601ad59f22db) Thanks [@gaenglish](https://github.com/gaenglish)! - The MCP server now shares the library's version number.
8
+
9
+ It used to release on its own `4.x` line while the library was on `10.x`, which
10
+ had two consequences. Pinning was impossible: the README told you to match the
11
+ server to your installed `@uni-design-system/uni-angular` version, but
12
+ `uni-mcp@10.1.0` did not exist. And staleness was silent — the index is
13
+ regenerated on every release, stamped with that release's version and **inlined
14
+ into the published bundle**, yet the package only republished when someone
15
+ remembered a changeset for it. Miss one and the server keeps describing the
16
+ previous release while reporting a version that gives no hint of it.
17
+
18
+ `uni-mcp` joins `uni-core`, `uni-react` and `uni-angular` in the changesets
19
+ `fixed` group, so it always shares their version and always republishes. The
20
+ version therefore jumps from `4.7.3` to match the current release. Nothing about
21
+ the server's behaviour, transport or tools changes.
22
+
23
+ `uni-mcp@<version>` now describes `uni-angular@<version>`, so pinning them
24
+ together does what the docs always claimed it did.
25
+
3
26
  ## 4.7.3
4
27
 
5
28
  ### Patch Changes
package/README.md CHANGED
@@ -42,17 +42,24 @@ your client's MCP settings.
42
42
 
43
43
  ### Pin it to your installed Uni version
44
44
 
45
- All Uni packages release under one coordinated version number. The server
46
- answers from an index stamped with the release it was built from, so for
47
- answers that exactly match the APIs you have installed, replace `@latest` with
48
- the version of `@uni-design-system/uni-angular` in your `package.json`:
45
+ All Uni packages release under one coordinated version number, this server
46
+ included. It answers from an index stamped with the release it was built from,
47
+ so for answers that exactly match the APIs you have installed, replace
48
+ `@latest` with the version of `@uni-design-system/uni-angular` in your
49
+ `package.json` — they are the same number:
49
50
 
50
51
  ```jsonc
51
- "args": ["-y", "@uni-design-system/uni-mcp@4.3.0"]
52
+ "args": ["-y", "@uni-design-system/uni-mcp@10.2.0"]
52
53
  ```
53
54
 
54
55
  `@latest` is fine when you track current Uni releases.
55
56
 
57
+ > **Versions before 10.2.0.** This server used to release on its own `4.x` line
58
+ > while the library was on `10.x`, so pinning it to your installed version was
59
+ > impossible and the index could go stale whenever a release did not happen to
60
+ > bump it. It now moves with the rest of the packages, and every release
61
+ > republishes it — so `uni-mcp@10.2.0` describes `uni-angular@10.2.0`, exactly.
62
+
56
63
  ### Verify and try it
57
64
 
58
65
  In Claude Code, `/mcp` should list **uni** as connected. Then ask things like:
@@ -8,7 +8,7 @@ import { z } from "zod";
8
8
  var uni_index_default = {
9
9
  meta: {
10
10
  version: "10.1.0",
11
- builtAt: "2026-08-31T19:56:38.627Z",
11
+ builtAt: "2026-09-01T19:15:56.528Z",
12
12
  frameworks: [
13
13
  "angular"
14
14
  ],
@@ -1941,6 +1941,13 @@ var uni_index_default = {
1941
1941
  default: "false",
1942
1942
  description: "Synced from required() validators by the Signal Forms [formField] directive."
1943
1943
  },
1944
+ {
1945
+ name: "checkedColor",
1946
+ kind: "input",
1947
+ type: "ColorKey",
1948
+ required: false,
1949
+ description: "Accent colour token, overriding the variant's themed accent for one instance. Mirrors `uni-toggle`'s input of the same name \u2014 it exists because `variant` defaults to `'primary'`, so the component cannot tell \"set to primary\" from \"not set\"."
1950
+ },
1944
1951
  {
1945
1952
  name: "ariaDescribedBy",
1946
1953
  kind: "input",
@@ -7370,6 +7377,13 @@ initialFocus="input"
7370
7377
  default: "false",
7371
7378
  description: "Synced from required() validators by the Signal Forms [formField] directive."
7372
7379
  },
7380
+ {
7381
+ name: "checkedColor",
7382
+ kind: "input",
7383
+ type: "ColorKey",
7384
+ required: false,
7385
+ description: "Accent colour token, overriding the variant's themed accent for one instance. Mirrors the input of the same name on `uni-checkbox` and `uni-toggle`."
7386
+ },
7373
7387
  {
7374
7388
  name: "ariaDescribedBy",
7375
7389
  kind: "input",
@@ -19958,6 +19972,18 @@ var buildBorders = (c) => ({
19958
19972
  dark: `1px solid ${c["on-background"]}`,
19959
19973
  dotted: `1px dotted ${c["on-background"]}`
19960
19974
  });
19975
+ var SELECTION_ACCENTS = {
19976
+ primary: { accent: "primary" },
19977
+ secondary: { accent: "secondary" },
19978
+ tertiary: { accent: "tertiary" },
19979
+ warn: { accent: "warn" },
19980
+ success: { accent: "success" },
19981
+ disabled: { accent: "disabled" },
19982
+ ghost: {
19983
+ accent: "ghost",
19984
+ onAccent: "on-primary"
19985
+ }
19986
+ };
19961
19987
  var tagVariant = (c, role) => ({ [role]: {
19962
19988
  backgroundColor: c[`${role}-container`],
19963
19989
  color: c[`on-${role}-container`],
@@ -20094,18 +20120,24 @@ var buildComponents = (c) => ({
20094
20120
  activeColor: "primary-container",
20095
20121
  maxSuggestions: 8
20096
20122
  } },
20097
- checkbox: { options: {
20098
- size: 20,
20099
- boxColor: "surface",
20100
- borderRadius: 2,
20101
- focusRingGap: 2
20102
- } },
20103
- radio: { options: {
20104
- size: 20,
20105
- ringColor: "outline",
20106
- fillColor: "surface",
20107
- motion: "control"
20108
- } },
20123
+ checkbox: {
20124
+ options: {
20125
+ size: 20,
20126
+ boxColor: "surface",
20127
+ borderRadius: 2,
20128
+ focusRingGap: 2
20129
+ },
20130
+ variantOptions: SELECTION_ACCENTS
20131
+ },
20132
+ radio: {
20133
+ options: {
20134
+ size: 20,
20135
+ ringColor: "outline",
20136
+ fillColor: "surface",
20137
+ motion: "control"
20138
+ },
20139
+ variantOptions: SELECTION_ACCENTS
20140
+ },
20109
20141
  dialog: { options: {
20110
20142
  borderRadius: "lg",
20111
20143
  color: "primary-surface",
@@ -20167,13 +20199,16 @@ var buildComponents = (c) => ({
20167
20199
  activeSymbol: "check",
20168
20200
  motion: "control"
20169
20201
  },
20170
- variants: { warn: {
20171
- color: c.warn,
20172
- [HOVER_OR_KEYBOARD_FOCUS]: {
20173
- backgroundColor: c["warn-container"],
20174
- color: c["on-warn-container"]
20202
+ variants: {
20203
+ primary: {},
20204
+ warn: {
20205
+ color: c.warn,
20206
+ [HOVER_OR_KEYBOARD_FOCUS]: {
20207
+ backgroundColor: c["warn-container"],
20208
+ color: c["on-warn-container"]
20209
+ }
20175
20210
  }
20176
- } }
20211
+ }
20177
20212
  },
20178
20213
  popover: { options: {
20179
20214
  color: "primary-surface",
@@ -20722,6 +20757,7 @@ var buildComponents = (c) => ({
20722
20757
  knobColor: "surface",
20723
20758
  motion: "control"
20724
20759
  },
20760
+ variantOptions: SELECTION_ACCENTS,
20725
20761
  sizes: {
20726
20762
  sm: {
20727
20763
  width: 28,
@@ -21401,6 +21437,17 @@ var checkComponents = (value, issues) => {
21401
21437
  }
21402
21438
  for (const [key, style] of Object.entries(styles)) if (style !== void 0) checkStyleExpression(style, `components.${name}.${section}.${key}`, issues);
21403
21439
  }
21440
+ const variantOptions = entry["variantOptions"];
21441
+ if (variantOptions !== void 0) {
21442
+ if (!isRecord(variantOptions)) issues.push({
21443
+ path: `components.${name}.variantOptions`,
21444
+ message: "must be an object"
21445
+ });
21446
+ else for (const [key, roles] of Object.entries(variantOptions)) if (roles !== void 0 && !isRecord(roles)) issues.push({
21447
+ path: `components.${name}.variantOptions.${key}`,
21448
+ message: "must be an object"
21449
+ });
21450
+ }
21404
21451
  if (entry["options"] !== void 0 && !isRecord(entry["options"])) issues.push({
21405
21452
  path: `components.${name}.options`,
21406
21453
  message: "must be an object"
@@ -22131,4 +22178,4 @@ export {
22131
22178
  buildStoredTheme,
22132
22179
  createUniServer
22133
22180
  };
22134
- //# sourceMappingURL=chunk-MK73QVY4.js.map
22181
+ //# sourceMappingURL=chunk-OV2VCKGB.js.map