@dollhousemcp/mcp-server 2.0.31 → 2.0.32

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.
@@ -146,12 +146,15 @@ p, li { max-width: 69ch; }
146
146
  position: sticky;
147
147
  top: 0;
148
148
  z-index: 35;
149
- display: flex;
150
- flex-wrap: wrap;
149
+ display: grid;
150
+ grid-template-columns: auto minmax(0, 1fr);
151
+ grid-template-areas:
152
+ "brand controls"
153
+ "nav nav";
151
154
  align-items: center;
152
- justify-content: space-between;
153
- gap: 1rem;
154
- padding: 0.55rem var(--gutter);
155
+ column-gap: 1rem;
156
+ row-gap: 0.12rem;
157
+ padding: 0.44rem var(--gutter) 0.4rem;
155
158
  border-bottom: 1px solid var(--line);
156
159
  background: color-mix(in srgb, var(--paper-strong) 90%, transparent);
157
160
  backdrop-filter: blur(8px);
@@ -169,8 +172,8 @@ p, li { max-width: 69ch; }
169
172
  pointer-events: none;
170
173
  }
171
174
 
172
- .header-brand { display: flex; flex-direction: row; align-items: center; gap: 0.6rem; min-width: 0; }
173
- .header-brand-text { display: flex; flex-direction: column; gap: 0.05rem; min-width: 0; }
175
+ .header-brand { grid-area: brand; display: flex; flex-direction: row; align-items: center; gap: 0.6rem; min-width: 0; min-height: 2.35rem; }
176
+ .header-brand-text { display: flex; flex-direction: column; justify-content: center; gap: 0.05rem; min-width: 0; min-height: 2.35rem; }
174
177
  .header-logo { width: 32px; height: 32px; flex-shrink: 0; }
175
178
 
176
179
  .site-title {
@@ -187,15 +190,37 @@ p, li { max-width: 69ch; }
187
190
  font-size: var(--step--1);
188
191
  color: var(--ink-700);
189
192
  max-width: none;
193
+ line-height: 1.15;
190
194
  }
191
195
 
192
- .header-right {
196
+ .header-controls {
197
+ grid-area: controls;
193
198
  display: flex;
194
199
  align-items: center;
195
200
  justify-content: flex-end;
196
201
  flex-wrap: wrap;
197
202
  gap: 0.65rem;
198
- flex: 1 1 auto;
203
+ width: auto;
204
+ max-width: 100%;
205
+ min-width: 0;
206
+ }
207
+
208
+ .header-nav-row {
209
+ grid-area: nav;
210
+ display: flex;
211
+ align-items: center;
212
+ justify-content: flex-end;
213
+ flex-wrap: nowrap;
214
+ gap: 0.55rem;
215
+ width: 100%;
216
+ min-width: 0;
217
+ }
218
+
219
+ .console-tab-menu-shell {
220
+ position: relative;
221
+ display: flex;
222
+ align-items: center;
223
+ flex-shrink: 0;
199
224
  min-width: 0;
200
225
  }
201
226
 
@@ -1346,6 +1371,85 @@ body.modal-open { overflow: hidden; }
1346
1371
  border-radius: var(--radius-sm);
1347
1372
  padding: 2px;
1348
1373
  min-width: 0;
1374
+ width: fit-content;
1375
+ max-width: 100%;
1376
+ flex-wrap: wrap;
1377
+ }
1378
+
1379
+ .console-tab-menu-toggle {
1380
+ display: none;
1381
+ align-items: center;
1382
+ gap: 0.42rem;
1383
+ border: 1px solid color-mix(in srgb, var(--signal) 24%, var(--line));
1384
+ border-radius: 999px;
1385
+ background: color-mix(in srgb, var(--surface-1) 70%, var(--paper-strong));
1386
+ color: var(--ink-700);
1387
+ font-family: var(--font-mono);
1388
+ font-size: 0.72rem;
1389
+ font-weight: 700;
1390
+ line-height: 1;
1391
+ padding: 0.48rem 0.78rem;
1392
+ cursor: pointer;
1393
+ white-space: nowrap;
1394
+ }
1395
+
1396
+ .console-tab-menu-toggle:hover,
1397
+ .console-tab-menu-toggle:focus-visible {
1398
+ background: color-mix(in srgb, var(--surface-1) 88%, var(--paper-strong));
1399
+ outline: 2px solid var(--signal);
1400
+ outline-offset: 2px;
1401
+ }
1402
+
1403
+ .console-tab-menu-icon {
1404
+ font-size: 0.95rem;
1405
+ line-height: 1;
1406
+ }
1407
+
1408
+ .console-tab-menu {
1409
+ position: absolute;
1410
+ top: calc(100% + 0.4rem);
1411
+ right: 0;
1412
+ min-width: 13rem;
1413
+ max-width: min(18rem, calc(100vw - (2 * var(--gutter, 1rem))));
1414
+ background: var(--paper-strong);
1415
+ border: 1px solid var(--line);
1416
+ border-radius: var(--radius-md);
1417
+ box-shadow: var(--shadow-soft);
1418
+ padding: 0.3rem;
1419
+ z-index: 200;
1420
+ }
1421
+
1422
+ .console-tab-menu-item {
1423
+ width: 100%;
1424
+ border: none;
1425
+ border-radius: var(--radius-sm);
1426
+ background: transparent;
1427
+ color: var(--ink-700);
1428
+ font-family: var(--font-body);
1429
+ font-size: var(--step--1);
1430
+ font-weight: 600;
1431
+ text-align: left;
1432
+ padding: 0.52rem 0.68rem;
1433
+ cursor: pointer;
1434
+ }
1435
+
1436
+ .console-tab-menu-item:hover,
1437
+ .console-tab-menu-item:focus-visible {
1438
+ background: var(--surface-1);
1439
+ outline: none;
1440
+ }
1441
+
1442
+ .console-tab-menu-item.active {
1443
+ background: color-mix(in srgb, var(--signal-2) 10%, var(--paper-strong));
1444
+ color: var(--signal);
1445
+ }
1446
+
1447
+ .header-nav-row--collapsed .console-tabs {
1448
+ display: none;
1449
+ }
1450
+
1451
+ .header-nav-row--collapsed .console-tab-menu-toggle:not([hidden]) {
1452
+ display: inline-flex;
1349
1453
  }
1350
1454
 
1351
1455
  .console-tab {
@@ -1373,41 +1477,138 @@ body.modal-open { overflow: hidden; }
1373
1477
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
1374
1478
  }
1375
1479
 
1376
- @media (max-width: 1100px) {
1480
+ @media (max-width: 960px) {
1481
+ .header-controls {
1482
+ align-items: center;
1483
+ justify-content: flex-end;
1484
+ width: auto;
1485
+ max-width: 100%;
1486
+ gap: 0.5rem;
1487
+ }
1488
+
1489
+ .site-stats {
1490
+ flex: 0 1 auto;
1491
+ width: auto;
1492
+ justify-content: flex-end;
1493
+ }
1494
+ }
1495
+
1496
+ @media (max-width: 860px) {
1377
1497
  .site-header {
1378
- align-items: flex-start;
1498
+ column-gap: 0.7rem;
1379
1499
  }
1380
1500
 
1381
- .header-right {
1382
- width: 100%;
1383
- justify-content: flex-start;
1384
- row-gap: 0.55rem;
1501
+ .header-brand {
1502
+ gap: 0.5rem;
1503
+ min-height: 0;
1385
1504
  }
1386
1505
 
1387
- .console-tabs {
1388
- order: 3;
1389
- width: 100%;
1390
- flex-wrap: wrap;
1506
+ .header-brand-text {
1507
+ min-height: 0;
1508
+ gap: 0;
1391
1509
  }
1392
1510
 
1511
+ .header-brand .site-tagline {
1512
+ display: none;
1513
+ }
1514
+
1515
+ .header-controls,
1393
1516
  .site-stats {
1394
- flex: 1 1 auto;
1395
- justify-content: flex-start;
1517
+ gap: 0.35rem;
1518
+ }
1519
+
1520
+ .header-controls {
1521
+ align-items: center;
1522
+ }
1523
+
1524
+ .stat {
1525
+ padding: 0.12rem 0.34rem;
1526
+ }
1527
+
1528
+ .stat strong {
1529
+ font-size: 0.92rem;
1530
+ }
1531
+
1532
+ .stat--session strong {
1533
+ font-size: 0.74rem;
1396
1534
  }
1397
1535
 
1398
1536
  .theme-toggle {
1399
- margin-left: auto;
1537
+ width: 1.85rem;
1538
+ height: 1.85rem;
1539
+ }
1540
+
1541
+ .console-tab {
1542
+ padding: 4px 11px;
1543
+ }
1544
+ }
1545
+
1546
+ @media (max-width: 46rem) {
1547
+ .stat--session {
1548
+ display: none;
1400
1549
  }
1401
1550
  }
1402
1551
 
1403
- @media (max-width: 640px) {
1404
- .console-tabs {
1405
- order: -1;
1552
+ @media (max-width: 28rem) {
1553
+ .site-header {
1554
+ grid-template-columns: minmax(0, 1fr) auto auto;
1555
+ grid-template-areas: "brand nav controls";
1556
+ column-gap: 0.45rem;
1557
+ }
1558
+
1559
+ .header-brand {
1560
+ gap: 0;
1561
+ min-width: 0;
1562
+ }
1563
+
1564
+ .header-logo {
1565
+ display: block;
1566
+ width: 28px;
1567
+ height: 28px;
1568
+ }
1569
+
1570
+ .header-brand-text {
1571
+ display: none;
1572
+ }
1573
+
1574
+ .site-stats {
1575
+ display: none;
1576
+ }
1577
+
1578
+ .header-controls {
1579
+ width: auto;
1580
+ justify-content: flex-end;
1581
+ }
1582
+
1583
+ .header-nav-row {
1584
+ width: auto;
1585
+ min-width: 0;
1586
+ justify-content: flex-end;
1587
+ gap: 0.4rem;
1588
+ }
1589
+ }
1590
+
1591
+ @media (max-width: 24rem) {
1592
+ .site-header {
1593
+ grid-template-columns: 1fr;
1594
+ grid-template-areas:
1595
+ "brand"
1596
+ "controls"
1597
+ "nav";
1598
+ }
1599
+
1600
+ .header-controls {
1601
+ justify-content: flex-end;
1406
1602
  width: 100%;
1407
1603
  }
1408
- .console-tab {
1409
- flex: 1;
1410
- text-align: center;
1604
+
1605
+ .site-stats {
1606
+ justify-content: flex-end;
1607
+ }
1608
+
1609
+ .header-nav-row {
1610
+ width: 100%;
1611
+ justify-content: flex-end;
1411
1612
  }
1412
1613
  }
1413
1614
 
@@ -1725,8 +1926,6 @@ fieldset.topic-filters {
1725
1926
 
1726
1927
  @media (max-width: 52rem) {
1727
1928
  .header-brand .site-tagline { display: none; }
1728
- .stat { display: none; }
1729
- .stat:first-child { display: inline-flex; }
1730
1929
  .elements-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 11.5rem), 1fr)); }
1731
1930
  .elements-grid[data-view="detail"] { grid-template-columns: 1fr; }
1732
1931
  .modal-dialog { height: calc(100vh - 0.5rem); border-radius: 0; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dollhousemcp/mcp-server",
3
- "version": "2.0.31",
3
+ "version": "2.0.32",
4
4
  "description": "DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "io.github.DollhouseMCP/mcp-server",
4
4
  "title": "DollhouseMCP",
5
5
  "description": "OSS to create Personas, Skills, Templates, Agents, and Memories to customize your AI experience.",
6
- "version": "2.0.31",
6
+ "version": "2.0.32",
7
7
  "homepage": "https://dollhousemcp.com",
8
8
  "repository": {
9
9
  "type": "git",
@@ -29,7 +29,7 @@
29
29
  {
30
30
  "registryType": "npm",
31
31
  "identifier": "@dollhousemcp/mcp-server",
32
- "version": "2.0.31",
32
+ "version": "2.0.32",
33
33
  "transport": {
34
34
  "type": "stdio"
35
35
  }