clay-server 2.14.0-beta.1 → 2.14.0-beta.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.
@@ -1376,15 +1376,51 @@ body.mate-dm-active .mate-thinking:not(.done) .mate-thinking-row {
1376
1376
  30% { transform: translateY(-4px); opacity: 1; }
1377
1377
  }
1378
1378
 
1379
- /* When done, hide mate row (JS does this too), show normal thinking header */
1379
+ /* When done, hide mate row (JS does this too), show compact expandable header */
1380
1380
  body.mate-dm-active .mate-thinking.done .mate-thinking-row {
1381
1381
  display: none;
1382
1382
  }
1383
1383
  body.mate-dm-active .mate-thinking.done .thinking-header {
1384
1384
  display: inline-flex !important;
1385
+ font-size: 12px;
1386
+ padding: 4px 10px;
1387
+ background: rgba(var(--overlay-rgb), 0.04);
1388
+ border-radius: 6px;
1389
+ opacity: 0.7;
1390
+ transition: opacity 0.15s;
1391
+ }
1392
+ body.mate-dm-active .mate-thinking.done .thinking-header:hover {
1393
+ opacity: 1;
1394
+ background: rgba(var(--overlay-rgb), 0.08);
1395
+ }
1396
+ body.mate-dm-active .mate-thinking .thinking-content {
1397
+ max-height: 0;
1398
+ overflow: hidden;
1399
+ transition: max-height 0.25s ease;
1400
+ }
1401
+ body.mate-dm-active .mate-thinking.expanded .thinking-content {
1402
+ max-height: 2000px;
1385
1403
  }
1386
1404
 
1387
- /* --- Mate Tool Group: subtle, compact --- */
1405
+ /* --- Mate Tool Group: compact, always collapsed with summary header --- */
1406
+ body.mate-dm-active .mate-tool-group {
1407
+ margin: 2px 0;
1408
+ }
1409
+ body.mate-dm-active .mate-tool-group .tool-group-header {
1410
+ font-size: 12px;
1411
+ padding: 4px 10px;
1412
+ background: rgba(var(--overlay-rgb), 0.04);
1413
+ border-radius: 6px;
1414
+ opacity: 0.7;
1415
+ transition: opacity 0.15s;
1416
+ }
1417
+ body.mate-dm-active .mate-tool-group .tool-group-header:hover {
1418
+ opacity: 1;
1419
+ background: rgba(var(--overlay-rgb), 0.08);
1420
+ }
1421
+ body.mate-dm-active .mate-tool-group .tool-group-label {
1422
+ font-size: 12px;
1423
+ }
1388
1424
  body.mate-dm-active .mate-tool-group .tool-item {
1389
1425
  border: none;
1390
1426
  background: none;
@@ -1423,21 +1459,9 @@ body.mate-dm-active .mate-permission .permission-actions {
1423
1459
  gap: 6px;
1424
1460
  }
1425
1461
 
1426
- /* --- Mate Activity: avatar + text --- */
1427
- body.mate-dm-active .mate-activity {
1428
- display: flex;
1429
- align-items: center;
1430
- gap: 8px;
1431
- }
1432
- .mate-activity-avatar {
1433
- width: 20px;
1434
- height: 20px;
1435
- border-radius: 4px;
1436
- flex-shrink: 0;
1437
- }
1438
- body.mate-dm-active .mate-activity .activity-text {
1439
- font-size: 13px;
1440
- color: var(--text-muted);
1462
+ /* --- Mate Activity: avatar + text (hidden, dots row is enough) --- */
1463
+ body.mate-dm-active .activity-inline {
1464
+ display: none;
1441
1465
  }
1442
1466
 
1443
1467
  /* --- Interstitial elements: indent to align with message content (16px pad + 36px avatar + 8px gap = 60px) --- */
@@ -112,9 +112,16 @@ function updateToolGroupHeader(group) {
112
112
  refreshIcons();
113
113
  }
114
114
 
115
- // Show group header only when 2+ visible tools
115
+ // Show group header only when 2+ visible tools (or always in mate DM)
116
116
  var header = group.el.querySelector(".tool-group-header");
117
- if (group.toolCount >= 2) {
117
+ var isMate = group.el.classList.contains("mate-tool-group");
118
+ if (isMate) {
119
+ // Mate DM: always show header and collapse
120
+ header.style.display = "";
121
+ if (!group.userToggled) {
122
+ group.el.classList.add("collapsed");
123
+ }
124
+ } else if (group.toolCount >= 2) {
118
125
  header.style.display = "";
119
126
  // When 2+ tools, ensure collapsed by default (unless user already toggled)
120
127
  if (!group.userToggled && !group.el.classList.contains("expanded-by-user")) {
@@ -1252,12 +1259,15 @@ export function stopThinking(duration) {
1252
1259
  } else {
1253
1260
  currentThinking.el.querySelector(".thinking-duration").textContent = " " + secs.toFixed(1) + "s";
1254
1261
  }
1255
- // In mate mode: hide dots, show expandable thinking header
1262
+ // In mate mode: hide dots, show compact expandable thinking header
1256
1263
  if (currentThinking.el.classList.contains("mate-thinking")) {
1257
1264
  var dotsRow = currentThinking.el.querySelector(".mate-thinking-row");
1258
1265
  if (dotsRow) dotsRow.style.display = "none";
1259
1266
  var header = currentThinking.el.querySelector(".thinking-header");
1260
- if (header) header.style.display = "";
1267
+ if (header) {
1268
+ header.style.display = "";
1269
+ header.style.cursor = "pointer";
1270
+ }
1261
1271
  }
1262
1272
  currentThinking = null;
1263
1273
  }
@@ -1289,6 +1299,7 @@ export function createToolItem(id, name) {
1289
1299
 
1290
1300
  groupEl.querySelector(".tool-group-header").addEventListener("click", function () {
1291
1301
  groupEl.classList.toggle("collapsed");
1302
+ if (currentToolGroup) currentToolGroup.userToggled = true;
1292
1303
  });
1293
1304
 
1294
1305
  ctx.addToMessages(groupEl);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clay-server",
3
- "version": "2.14.0-beta.1",
3
+ "version": "2.14.0-beta.2",
4
4
  "description": "Web UI for Claude Code. Any device. Push notifications.",
5
5
  "bin": {
6
6
  "clay-server": "./bin/cli.js",