@ds-mo/ui 16.2.0 → 16.3.1

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.
@@ -1 +1 @@
1
- {"schemaVersion":1,"package":"@ds-mo/ui","version":"16.2.0","components":104,"digest":"091094fecff73c04c892da58a6f9b51a60187ea65d3de7aa3fa5bcc706ef1202","completedAt":"2026-10-15T21:07:52.911Z"}
1
+ {"schemaVersion":1,"package":"@ds-mo/ui","version":"16.3.1","components":104,"digest":"871283c6a3502ffe7e73ae2981f0cc676208d862f673d907a59eb79cd0ad6b1a","completedAt":"2026-10-22T19:35:58.606Z"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "16.2.0",
4
+ "packageVersion": "16.3.1",
5
5
  "kind": "patterns",
6
6
  "entries": [
7
7
  {
package/dist/agent.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "16.2.0",
4
+ "packageVersion": "16.3.1",
5
5
  "kind": "components",
6
6
  "entries": [
7
7
  {
@@ -6845,7 +6845,7 @@
6845
6845
  "intentStatus": "complete",
6846
6846
  "intent": {
6847
6847
  "audience": "general",
6848
- "status": "experimental",
6848
+ "status": "stable",
6849
6849
  "summary": "Show-and-hide control for optional in-flow detail: a borderless ButtonUnfilled trigger with a leading chevron that reveals content below it. It owns the trigger and the reveal, not a container; the surrounding card or section supplies surface, dividers, and inset.",
6850
6850
  "useWhen": [
6851
6851
  "A card, page section, or tool panel has optional detail, such as a raw snapshot or advanced options, that should stay out of the way until requested.",
@@ -7107,7 +7107,7 @@
7107
7107
  "intentStatus": "complete",
7108
7108
  "intent": {
7109
7109
  "audience": "general",
7110
- "status": "experimental",
7110
+ "status": "stable",
7111
7111
  "summary": "Edge-attached details panel beside the current page with a generic header, a composable content slot, and a footer for record actions and previous/next paging; non-modal by default with an optional modal presentation and a Back action for multi-depth content.",
7112
7112
  "useWhen": [
7113
7113
  "The user inspects the details of an item selected from a list, table, or map while the page stays visible and interactive.",
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-10-15T21:07:14",
2
+ "timestamp": "2026-10-22T19:35:28",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.45.1",
@@ -390,7 +390,7 @@ For more information, please see
390
390
  <http://creativecommons.org/publicdomain/zero/1.0/>
391
391
 
392
392
 
393
- nanoid@3.3.18
393
+ nanoid@3.3.20
394
394
  License: MIT
395
395
 
396
396
  LICENSE
@@ -493,7 +493,7 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
493
493
  OTHER DEALINGS IN THE SOFTWARE.
494
494
 
495
495
 
496
- postcss@8.5.28
496
+ postcss@8.5.31
497
497
  License: MIT
498
498
 
499
499
  LICENSE
@@ -519,7 +519,7 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
519
519
  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
520
520
 
521
521
 
522
- source-map-js@1.2.1
522
+ source-map-js@1.2.2
523
523
  License: BSD-3-Clause
524
524
 
525
525
  LICENSE
@@ -91,7 +91,7 @@
91
91
  },
92
92
  {
93
93
  "name": "nanoid",
94
- "version": "3.3.18",
94
+ "version": "3.3.20",
95
95
  "license": "MIT",
96
96
  "files": [
97
97
  "LICENSE"
@@ -123,7 +123,7 @@
123
123
  },
124
124
  {
125
125
  "name": "postcss",
126
- "version": "8.5.28",
126
+ "version": "8.5.31",
127
127
  "license": "MIT",
128
128
  "files": [
129
129
  "LICENSE"
@@ -131,7 +131,7 @@
131
131
  },
132
132
  {
133
133
  "name": "source-map-js",
134
- "version": "1.2.1",
134
+ "version": "1.2.2",
135
135
  "license": "BSD-3-Clause",
136
136
  "files": [
137
137
  "LICENSE"
@@ -490,14 +490,7 @@ var require_css_syntax_error = __commonJS({
490
490
  var require_stringifier = __commonJS({
491
491
  "node_modules/postcss/lib/stringifier.js"(exports, module) {
492
492
  "use strict";
493
- var STYLE_TAG = /(<)(\/?style\b)/gi;
494
- var COMMENT_OPEN = /(<)(!--)/g;
495
493
  var AT_NAME_END = /[\t\n\f\r "#'()/;[\\\]{}]/;
496
- function escapeHTMLInCSS(str) {
497
- if (typeof str !== "string") return str;
498
- if (!str.includes("<")) return str;
499
- return str.replace(STYLE_TAG, "\\3c $2").replace(COMMENT_OPEN, "\\3c $2");
500
- }
501
494
  var DEFAULT_RAW = {
502
495
  after: "\n",
503
496
  beforeClose: "\n",
@@ -529,7 +522,7 @@ var require_stringifier = __commonJS({
529
522
  function isCustomProperty2(node) {
530
523
  if (!node.prop.startsWith("--")) return false;
531
524
  let before = node.raws.before;
532
- return typeof before === "undefined" || !/\S$/.test(before);
525
+ return typeof before === "undefined" || !/[^\s;]$/.test(before);
533
526
  }
534
527
  function pushBody(str, stack, node) {
535
528
  let nodes = node.nodes;
@@ -555,14 +548,14 @@ var require_stringifier = __commonJS({
555
548
  }
556
549
  function pushBlock(str, stack, node, start) {
557
550
  let between = str.raw(node, "between", "beforeOpen");
558
- str.builder(escapeHTMLInCSS(start + between) + "{", node, "start");
551
+ str.builder(start + between + "{", node, "start");
559
552
  let hasNodes = node.nodes && node.nodes.length;
560
553
  let close = () => {
561
554
  let after = hasNodes ? str.raw(node, "after") : str.raw(node, "after", "emptyBody");
562
- if (after) str.builder(escapeHTMLInCSS(after));
555
+ if (after) str.builder(after);
563
556
  str.builder("}", node, "end");
564
557
  if (node.type === "rule" && node.raws.ownSemicolon) {
565
- str.builder(escapeHTMLInCSS(node.raws.ownSemicolon), node, "end");
558
+ str.builder(node.raws.ownSemicolon, node, "end");
566
559
  }
567
560
  };
568
561
  if (hasNodes) {
@@ -582,7 +575,7 @@ var require_stringifier = __commonJS({
582
575
  this.block(node, start);
583
576
  } else {
584
577
  let end = (node.raws.between || "") + (semicolon ? ";" : "");
585
- this.builder(escapeHTMLInCSS(start + end), node);
578
+ this.builder(start + end, node);
586
579
  }
587
580
  }
588
581
  beforeAfter(node, detect) {
@@ -612,7 +605,7 @@ var require_stringifier = __commonJS({
612
605
  }
613
606
  block(node, start) {
614
607
  let between = this.raw(node, "between", "beforeOpen");
615
- this.builder(escapeHTMLInCSS(start + between) + "{", node, "start");
608
+ this.builder(start + between + "{", node, "start");
616
609
  let after;
617
610
  if (node.nodes && node.nodes.length) {
618
611
  this.body(node);
@@ -620,7 +613,7 @@ var require_stringifier = __commonJS({
620
613
  } else {
621
614
  after = this.raw(node, "after", "emptyBody");
622
615
  }
623
- if (after) this.builder(escapeHTMLInCSS(after));
616
+ if (after) this.builder(after);
624
617
  this.builder("}", node, "end");
625
618
  }
626
619
  body(node) {
@@ -639,7 +632,7 @@ var require_stringifier = __commonJS({
639
632
  let child = entry.node;
640
633
  let before = this.raw(child, "before");
641
634
  if (before) {
642
- this.builder(entry.document ? before : escapeHTMLInCSS(before));
635
+ this.builder(before);
643
636
  }
644
637
  if (expandable && child.type === "rule") {
645
638
  pushBlock(this, stack, child, this.rawValue(child, "selector"));
@@ -653,7 +646,7 @@ var require_stringifier = __commonJS({
653
646
  comment(node) {
654
647
  let left = this.raw(node, "left", "commentLeft");
655
648
  let right = this.raw(node, "right", "commentRight");
656
- this.builder(escapeHTMLInCSS("/*" + left + node.text + right + "*/"), node);
649
+ this.builder("/*" + left + node.text + right + "*/", node);
657
650
  }
658
651
  decl(node, semicolon) {
659
652
  let raws = node.raws;
@@ -663,7 +656,7 @@ var require_stringifier = __commonJS({
663
656
  string2 += raws.important || " !important";
664
657
  }
665
658
  if (semicolon) string2 += ";";
666
- this.builder(escapeHTMLInCSS(string2), node);
659
+ this.builder(string2, node);
667
660
  }
668
661
  document(node) {
669
662
  this.body(node);
@@ -840,20 +833,19 @@ var require_stringifier = __commonJS({
840
833
  return value;
841
834
  }
842
835
  root(node) {
843
- if (node.source && node.source.input.hasBOM) {
836
+ let inDocument = node.parent && node.parent.type === "document";
837
+ if (!inDocument && node.source && node.source.input.hasBOM) {
844
838
  this.builder("\uFEFF", node, "start");
845
839
  }
846
840
  this.body(node);
847
841
  if (node.raws.after) {
848
- let after = node.raws.after;
849
- let isDocument2 = node.parent && node.parent.type === "document";
850
- this.builder(isDocument2 ? after : escapeHTMLInCSS(after));
842
+ this.builder(node.raws.after);
851
843
  }
852
844
  }
853
845
  rule(node) {
854
846
  this.block(node, this.rawValue(node, "selector"));
855
847
  if (node.raws.ownSemicolon) {
856
- this.builder(escapeHTMLInCSS(node.raws.ownSemicolon), node, "end");
848
+ this.builder(node.raws.ownSemicolon, node, "end");
857
849
  }
858
850
  }
859
851
  stringify(node, semicolon) {
@@ -875,9 +867,78 @@ var require_stringify = __commonJS({
875
867
  "node_modules/postcss/lib/stringify.js"(exports, module) {
876
868
  "use strict";
877
869
  var Stringifier = require_stringifier();
870
+ var STYLE_TAG = /(<)(\/?style\b)/gi;
871
+ var COMMENT_OPEN = /(<)(!--)/g;
872
+ function escapeHTMLInCSS(str) {
873
+ if (!str.includes("<")) return str;
874
+ return str.replace(STYLE_TAG, "\\3c $2").replace(COMMENT_OPEN, "\\3c $2");
875
+ }
876
+ function cutEscaped(chunks, css3, escaped) {
877
+ let parts = [];
878
+ let at = 0;
879
+ let into = 0;
880
+ for (let i6 = 0; i6 < chunks.length; i6 += 3) {
881
+ let from = into;
882
+ let end = at + chunks[i6].length;
883
+ while (at < end) {
884
+ if (css3[at] === escaped[into]) {
885
+ at += 1;
886
+ into += 1;
887
+ } else {
888
+ at += 1;
889
+ into += 4;
890
+ }
891
+ }
892
+ parts.push(escaped.slice(from, into));
893
+ }
894
+ return parts;
895
+ }
896
+ var SafeStringifier = class extends Stringifier {
897
+ escapeHTML(print) {
898
+ let builder = this.builder;
899
+ let chunks, css3;
900
+ this.builder = (str, child, type) => {
901
+ if (chunks) {
902
+ css3 += str;
903
+ chunks.push(str, child, type);
904
+ } else if (str.includes("<")) {
905
+ css3 = str;
906
+ chunks = [str, child, type];
907
+ } else {
908
+ builder(str, child, type);
909
+ }
910
+ };
911
+ print();
912
+ this.builder = builder;
913
+ if (!chunks) return;
914
+ let escaped = escapeHTMLInCSS(css3);
915
+ if (escaped === css3) {
916
+ for (let i6 = 0; i6 < chunks.length; i6 += 3) {
917
+ builder(chunks[i6], chunks[i6 + 1], chunks[i6 + 2]);
918
+ }
919
+ } else {
920
+ let parts = cutEscaped(chunks, css3, escaped);
921
+ for (let i6 = 0; i6 < chunks.length; i6 += 3) {
922
+ builder(parts[i6 / 3], chunks[i6 + 1], chunks[i6 + 2]);
923
+ }
924
+ }
925
+ }
926
+ root(node) {
927
+ if (node.parent && node.parent.type === "document") {
928
+ this.escapeHTML(() => this.body(node));
929
+ if (node.raws.after) this.builder(node.raws.after);
930
+ } else {
931
+ this.escapeHTML(() => super.root(node));
932
+ }
933
+ }
934
+ };
878
935
  function stringify5(node, builder) {
879
- let str = new Stringifier(builder);
880
- str.stringify(node);
936
+ let str = new SafeStringifier(builder);
937
+ if (node.type === "root" || node.type === "document") {
938
+ str.stringify(node);
939
+ } else {
940
+ str.escapeHTML(() => str.stringify(node));
941
+ }
881
942
  }
882
943
  module.exports = stringify5;
883
944
  stringify5.default = stringify5;
@@ -2657,10 +2718,9 @@ var require_source_map_generator = __commonJS({
2657
2718
  next = "";
2658
2719
  if (mapping.generatedLine !== previousGeneratedLine) {
2659
2720
  previousGeneratedColumn = 0;
2660
- while (mapping.generatedLine !== previousGeneratedLine) {
2661
- next += ";";
2662
- previousGeneratedLine++;
2663
- }
2721
+ var lineDelta = mapping.generatedLine - previousGeneratedLine;
2722
+ next += lineDelta === 1 ? ";" : ";".repeat(lineDelta);
2723
+ previousGeneratedLine = mapping.generatedLine;
2664
2724
  } else {
2665
2725
  if (i6 > 0) {
2666
2726
  if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i6 - 1])) {
@@ -2819,9 +2879,17 @@ var require_quick_sort = __commonJS({
2819
2879
  let templateFn = new Function(`return ${template}`)();
2820
2880
  return templateFn(comparator);
2821
2881
  }
2882
+ var isEvalAllowed = (function() {
2883
+ try {
2884
+ new Function("return 0")();
2885
+ return true;
2886
+ } catch {
2887
+ return false;
2888
+ }
2889
+ })();
2822
2890
  var sortCache = /* @__PURE__ */ new WeakMap();
2823
2891
  exports.quickSort = function(ary, comparator, start = 0) {
2824
- let doQuickSort = sortCache.get(comparator);
2892
+ let doQuickSort = isEvalAllowed ? sortCache.get(comparator) : SortTemplate(comparator);
2825
2893
  if (doQuickSort === void 0) {
2826
2894
  doQuickSort = cloneSort(comparator);
2827
2895
  sortCache.set(comparator, doQuickSort);
@@ -2839,6 +2907,7 @@ var require_source_map_consumer = __commonJS({
2839
2907
  var ArraySet = require_array_set().ArraySet;
2840
2908
  var base64VLQ = require_base64_vlq();
2841
2909
  var quickSort = require_quick_sort().quickSort;
2910
+ var MAX_SECTION_OFFSET_LINE = 1e7;
2842
2911
  function SourceMapConsumer(aSourceMap, aSourceMapURL) {
2843
2912
  var sourceMap = aSourceMap;
2844
2913
  if (typeof aSourceMap === "string") {
@@ -3331,6 +3400,7 @@ var require_source_map_consumer = __commonJS({
3331
3400
  line: -1,
3332
3401
  column: 0
3333
3402
  };
3403
+ var maxOffsetLine = 0;
3334
3404
  this._sections = sections.map(function(s4) {
3335
3405
  if (s4.url) {
3336
3406
  throw new Error("Support for url field in sections not implemented.");
@@ -3338,10 +3408,24 @@ var require_source_map_consumer = __commonJS({
3338
3408
  var offset = util.getArg(s4, "offset");
3339
3409
  var offsetLine = util.getArg(offset, "line");
3340
3410
  var offsetColumn = util.getArg(offset, "column");
3411
+ if (!isValidOffset(offsetLine) || !isValidOffset(offsetColumn)) {
3412
+ throw new Error("Section offset line and column must be non-negative integers.");
3413
+ }
3414
+ if (offsetLine > MAX_SECTION_OFFSET_LINE) {
3415
+ throw new Error("Section offset line must not exceed " + MAX_SECTION_OFFSET_LINE + ".");
3416
+ }
3341
3417
  if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) {
3342
3418
  throw new Error("Section offsets must be ordered and non-overlapping.");
3343
3419
  }
3344
3420
  lastOffset = offset;
3421
+ var consumer = new SourceMapConsumer(util.getArg(s4, "map"), aSourceMapURL);
3422
+ var totalOffsetLine = offsetLine + (consumer._maxOffsetLine || 0);
3423
+ if (totalOffsetLine > MAX_SECTION_OFFSET_LINE) {
3424
+ throw new Error("Section offset line must not exceed " + MAX_SECTION_OFFSET_LINE + ", including offsets of nested sections.");
3425
+ }
3426
+ if (totalOffsetLine > maxOffsetLine) {
3427
+ maxOffsetLine = totalOffsetLine;
3428
+ }
3345
3429
  return {
3346
3430
  generatedOffset: {
3347
3431
  // The offset fields are 0-based, but we use 1-based indices when
@@ -3349,9 +3433,14 @@ var require_source_map_consumer = __commonJS({
3349
3433
  generatedLine: offsetLine + 1,
3350
3434
  generatedColumn: offsetColumn + 1
3351
3435
  },
3352
- consumer: new SourceMapConsumer(util.getArg(s4, "map"), aSourceMapURL)
3436
+ consumer
3353
3437
  };
3354
3438
  });
3439
+ this._maxOffsetLine = maxOffsetLine;
3440
+ }
3441
+ function isValidOffset(aValue) {
3442
+ return typeof aValue === "number" && aValue >= 0 && aValue <= 9007199254740991 && // Number.MAX_SAFE_INTEGER
3443
+ Math.floor(aValue) === aValue;
3355
3444
  }
3356
3445
  IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
3357
3446
  IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;
@@ -3360,8 +3449,9 @@ var require_source_map_consumer = __commonJS({
3360
3449
  get: function() {
3361
3450
  var sources = [];
3362
3451
  for (var i6 = 0; i6 < this._sections.length; i6++) {
3363
- for (var j3 = 0; j3 < this._sections[i6].consumer.sources.length; j3++) {
3364
- sources.push(this._sections[i6].consumer.sources[j3]);
3452
+ var sectionSources = this._sections[i6].consumer.sources;
3453
+ for (var j3 = 0; j3 < sectionSources.length; j3++) {
3454
+ sources.push(sectionSources[j3]);
3365
3455
  }
3366
3456
  }
3367
3457
  return sources;
@@ -3527,6 +3617,10 @@ var require_source_node = __commonJS({
3527
3617
  }
3528
3618
  }
3529
3619
  while (lastGeneratedLine < mapping.generatedLine) {
3620
+ if (remainingLinesIndex >= remainingLines.length) {
3621
+ lastGeneratedLine = mapping.generatedLine;
3622
+ break;
3623
+ }
3530
3624
  node.add(shiftNextLine());
3531
3625
  lastGeneratedLine++;
3532
3626
  }
@@ -4214,7 +4308,18 @@ var require_list = __commonJS({
4214
4308
  let inQuote = false;
4215
4309
  let prevQuote = "";
4216
4310
  let escape = false;
4217
- for (let letter of string2) {
4311
+ let inComment = false;
4312
+ for (let i6 = 0; i6 < string2.length; i6++) {
4313
+ let letter = string2[i6];
4314
+ if (inComment) {
4315
+ current += letter;
4316
+ if (letter === "*" && string2[i6 + 1] === "/") {
4317
+ current += "/";
4318
+ i6 += 1;
4319
+ inComment = false;
4320
+ }
4321
+ continue;
4322
+ }
4218
4323
  if (escape) {
4219
4324
  escape = false;
4220
4325
  } else if (letter === "\\") {
@@ -4226,6 +4331,11 @@ var require_list = __commonJS({
4226
4331
  } else if (letter === '"' || letter === "'") {
4227
4332
  inQuote = true;
4228
4333
  prevQuote = letter;
4334
+ } else if (letter === "/" && string2[i6 + 1] === "*") {
4335
+ current += "/*";
4336
+ i6 += 1;
4337
+ inComment = true;
4338
+ continue;
4229
4339
  } else if (letter === "(") {
4230
4340
  func += 1;
4231
4341
  } else if (letter === ")") {
@@ -4440,15 +4550,19 @@ var require_map_generator = __commonJS({
4440
4550
  }
4441
4551
  } else if (this.css) {
4442
4552
  let annotation = "/*# sourceMappingURL=";
4553
+ let css3 = "";
4554
+ let cursor = 0;
4443
4555
  let startIndex;
4444
- while ((startIndex = this.css.lastIndexOf(annotation)) !== -1) {
4556
+ while ((startIndex = this.css.indexOf(annotation, cursor)) !== -1) {
4445
4557
  let endIndex = this.css.indexOf("*/", startIndex + annotation.length);
4446
4558
  if (endIndex === -1) break;
4447
- while (startIndex > 0 && this.css[startIndex - 1] === "\n") {
4559
+ while (startIndex > cursor && this.css[startIndex - 1] === "\n") {
4448
4560
  startIndex--;
4449
4561
  }
4450
- this.css = this.css.slice(0, startIndex) + this.css.slice(endIndex + 2);
4562
+ css3 += this.css.slice(cursor, startIndex);
4563
+ cursor = endIndex + 2;
4451
4564
  }
4565
+ if (cursor > 0) this.css = css3 + this.css.slice(cursor);
4452
4566
  }
4453
4567
  }
4454
4568
  generate() {
@@ -5126,6 +5240,7 @@ var require_parser = __commonJS({
5126
5240
  let token, type;
5127
5241
  let length = tokens.length;
5128
5242
  let value = "";
5243
+ let last = "";
5129
5244
  let clean = true;
5130
5245
  let next, prev;
5131
5246
  for (let i6 = 0; i6 < length; i6 += 1) {
@@ -5137,16 +5252,18 @@ var require_parser = __commonJS({
5137
5252
  prev = tokens[i6 - 1] ? tokens[i6 - 1][0] : "empty";
5138
5253
  next = tokens[i6 + 1] ? tokens[i6 + 1][0] : "empty";
5139
5254
  if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {
5140
- if (value.slice(-1) === ",") {
5255
+ if (last === ",") {
5141
5256
  clean = false;
5142
5257
  } else {
5143
5258
  value += token[1];
5259
+ last = token[1].slice(-1);
5144
5260
  }
5145
5261
  } else {
5146
5262
  clean = false;
5147
5263
  }
5148
5264
  } else {
5149
5265
  value += token[1];
5266
+ last = token[1].slice(-1);
5150
5267
  }
5151
5268
  }
5152
5269
  if (!clean) {
@@ -6020,7 +6137,7 @@ var require_processor = __commonJS({
6020
6137
  var Root2 = require_root();
6021
6138
  var Processor2 = class {
6022
6139
  constructor(plugins = []) {
6023
- this.version = "8.5.28";
6140
+ this.version = "8.5.31";
6024
6141
  this.plugins = this.normalize(plugins);
6025
6142
  }
6026
6143
  normalize(plugins) {
@@ -1,5 +1,5 @@
1
- @modelcontextprotocol/core@2.0.0
2
- License: MIT
1
+ @modelcontextprotocol/core@2.3.1
2
+ License: Apache-2.0
3
3
 
4
4
  LICENSE
5
5
  The MCP project is undergoing a licensing transition from the MIT License to the Apache License, Version 2.0 ("Apache-2.0"). All new code and specification contributions to the project are licensed under Apache-2.0. Documentation contributions (excluding specifications) are licensed under CC-BY-4.0.
@@ -220,8 +220,8 @@ CC-BY-4.0. See https://creativecommons.org/licenses/by/4.0/legalcode for
220
220
  the full license text.
221
221
 
222
222
 
223
- @modelcontextprotocol/server@2.0.0
224
- License: MIT
223
+ @modelcontextprotocol/server@2.3.1
224
+ License: Apache-2.0
225
225
 
226
226
  LICENSE
227
227
  The MCP project is undergoing a licensing transition from the MIT License to the Apache License, Version 2.0 ("Apache-2.0"). All new code and specification contributions to the project are licensed under Apache-2.0. Documentation contributions (excluding specifications) are licensed under CC-BY-4.0.
@@ -3,16 +3,16 @@
3
3
  "packages": [
4
4
  {
5
5
  "name": "@modelcontextprotocol/core",
6
- "version": "2.0.0",
7
- "license": "MIT",
6
+ "version": "2.3.1",
7
+ "license": "Apache-2.0",
8
8
  "files": [
9
9
  "LICENSE"
10
10
  ]
11
11
  },
12
12
  {
13
13
  "name": "@modelcontextprotocol/server",
14
- "version": "2.0.0",
15
- "license": "MIT",
14
+ "version": "2.3.1",
15
+ "license": "Apache-2.0",
16
16
  "files": [
17
17
  "LICENSE"
18
18
  ]