clay-server 2.24.2 → 2.24.3-beta.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.
- package/lib/public/css/mates.css +57 -0
- package/lib/public/css/messages.css +44 -35
- package/lib/public/css/mobile-nav.css +43 -0
- package/lib/public/index.html +22 -1
- package/lib/public/style.css +3 -3
- package/lib/public/sw.js +1 -1
- package/lib/sdk-bridge.js +21 -2
- package/package.json +1 -1
package/lib/public/css/mates.css
CHANGED
|
@@ -2648,6 +2648,63 @@ body.mate-dm-active .activity-inline:not(.mention-activity-bar):not(.mate-pre-ac
|
|
|
2648
2648
|
}
|
|
2649
2649
|
|
|
2650
2650
|
@media (max-width: 768px) {
|
|
2651
|
+
/* Mobile mate DM: revert user messages to default bubble layout */
|
|
2652
|
+
body.mate-dm-active .msg-user,
|
|
2653
|
+
body.mate-dm-active .msg-assistant {
|
|
2654
|
+
display: flex !important;
|
|
2655
|
+
flex-direction: column !important;
|
|
2656
|
+
align-items: initial !important;
|
|
2657
|
+
gap: initial !important;
|
|
2658
|
+
max-width: var(--content-width) !important;
|
|
2659
|
+
padding: 0 20px !important;
|
|
2660
|
+
margin: 0 auto 8px !important;
|
|
2661
|
+
border-radius: initial !important;
|
|
2662
|
+
}
|
|
2663
|
+
body.mate-dm-active .msg-user {
|
|
2664
|
+
align-items: flex-end !important;
|
|
2665
|
+
}
|
|
2666
|
+
body.mate-dm-active .msg-assistant {
|
|
2667
|
+
margin-bottom: 12px !important;
|
|
2668
|
+
padding: 4px 20px !important;
|
|
2669
|
+
}
|
|
2670
|
+
body.mate-dm-active .msg-user:hover {
|
|
2671
|
+
background: initial !important;
|
|
2672
|
+
}
|
|
2673
|
+
body.mate-dm-active .msg-user .dm-bubble-avatar-me {
|
|
2674
|
+
display: none !important;
|
|
2675
|
+
}
|
|
2676
|
+
body.mate-dm-active .msg-user .dm-bubble-content {
|
|
2677
|
+
align-items: flex-end !important;
|
|
2678
|
+
flex: initial !important;
|
|
2679
|
+
width: 100% !important;
|
|
2680
|
+
}
|
|
2681
|
+
body.mate-dm-active .msg-user .dm-bubble-header {
|
|
2682
|
+
display: none !important;
|
|
2683
|
+
}
|
|
2684
|
+
body.mate-dm-active .msg-user .bubble {
|
|
2685
|
+
background: var(--user-bubble) !important;
|
|
2686
|
+
border-radius: 20px 20px 4px 20px !important;
|
|
2687
|
+
padding: 12px 18px !important;
|
|
2688
|
+
max-width: 85% !important;
|
|
2689
|
+
width: fit-content !important;
|
|
2690
|
+
font-size: 15px !important;
|
|
2691
|
+
line-height: 1.55 !important;
|
|
2692
|
+
white-space: pre-wrap !important;
|
|
2693
|
+
word-wrap: break-word !important;
|
|
2694
|
+
}
|
|
2695
|
+
body.mate-dm-active .msg-user .msg-actions {
|
|
2696
|
+
display: flex !important;
|
|
2697
|
+
}
|
|
2698
|
+
body.mate-dm-active .msg-assistant .dm-bubble-content {
|
|
2699
|
+
flex: initial !important;
|
|
2700
|
+
width: 100% !important;
|
|
2701
|
+
}
|
|
2702
|
+
body.mate-dm-active .msg-assistant .md-content {
|
|
2703
|
+
background: initial !important;
|
|
2704
|
+
border-radius: initial !important;
|
|
2705
|
+
padding: initial !important;
|
|
2706
|
+
}
|
|
2707
|
+
|
|
2651
2708
|
.mate-mobile-title:not(.hidden) {
|
|
2652
2709
|
display: flex !important;
|
|
2653
2710
|
}
|
|
@@ -1823,43 +1823,52 @@ body.wide-view .turn-meta {
|
|
|
1823
1823
|
max-width: 100%;
|
|
1824
1824
|
}
|
|
1825
1825
|
|
|
1826
|
-
/* Mobile: force bubble layout regardless of user setting */
|
|
1826
|
+
/* Mobile: force bubble layout regardless of user setting (except mate mode) */
|
|
1827
1827
|
@media (max-width: 768px) {
|
|
1828
|
-
body.wide-view { --content-width:
|
|
1829
|
-
body.wide-view .msg-user
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1828
|
+
body.wide-view:not(.mate-dm-active) { --content-width: 720px; }
|
|
1829
|
+
body.wide-view:not(.mate-dm-active) .msg-user {
|
|
1830
|
+
display: flex;
|
|
1831
|
+
flex-direction: column;
|
|
1832
|
+
align-items: flex-end;
|
|
1833
|
+
gap: initial;
|
|
1834
|
+
max-width: var(--content-width);
|
|
1835
|
+
padding: 0 20px;
|
|
1836
|
+
margin: 0 auto 8px;
|
|
1837
|
+
border-radius: initial;
|
|
1838
|
+
justify-content: initial;
|
|
1839
|
+
}
|
|
1840
|
+
body.wide-view:not(.mate-dm-active) .msg-assistant {
|
|
1841
|
+
display: block;
|
|
1842
|
+
flex-direction: initial;
|
|
1843
|
+
align-items: initial;
|
|
1844
|
+
gap: initial;
|
|
1845
|
+
max-width: var(--content-width);
|
|
1846
|
+
padding: 4px 20px;
|
|
1847
|
+
margin: 0 auto 12px;
|
|
1848
|
+
border-radius: 12px;
|
|
1839
1849
|
}
|
|
1840
|
-
body.wide-view .msg-user:hover
|
|
1841
|
-
body.wide-view .msg-assistant:hover { background:
|
|
1842
|
-
body.wide-view .msg-user {
|
|
1843
|
-
body.wide-view .msg-user .
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
word-wrap: revert;
|
|
1850
|
+
body.wide-view:not(.mate-dm-active) .msg-user:hover { background: initial; }
|
|
1851
|
+
body.wide-view:not(.mate-dm-active) .msg-assistant:hover { background: rgba(var(--overlay-rgb), 0.02); }
|
|
1852
|
+
body.wide-view:not(.mate-dm-active) .msg-user .dm-bubble-avatar-me { order: initial; }
|
|
1853
|
+
body.wide-view:not(.mate-dm-active) .msg-user .bubble {
|
|
1854
|
+
background: var(--user-bubble);
|
|
1855
|
+
border-radius: 20px 20px 4px 20px;
|
|
1856
|
+
padding: 12px 18px;
|
|
1857
|
+
max-width: 85%;
|
|
1858
|
+
font-size: 15px;
|
|
1859
|
+
line-height: 1.55;
|
|
1860
|
+
white-space: pre-wrap;
|
|
1861
|
+
word-wrap: break-word;
|
|
1853
1862
|
}
|
|
1854
|
-
body.wide-view .msg-user .msg-actions { align-self:
|
|
1855
|
-
body.wide-view .msg-user .msg-actions .msg-action-time { display:
|
|
1856
|
-
body.wide-view .msg-assistant .md-content {
|
|
1857
|
-
background:
|
|
1858
|
-
border-radius:
|
|
1859
|
-
padding:
|
|
1863
|
+
body.wide-view:not(.mate-dm-active) .msg-user .msg-actions { align-self: initial; margin-left: initial; padding-top: initial; }
|
|
1864
|
+
body.wide-view:not(.mate-dm-active) .msg-user .msg-actions .msg-action-time { display: initial; }
|
|
1865
|
+
body.wide-view:not(.mate-dm-active) .msg-assistant .md-content {
|
|
1866
|
+
background: initial;
|
|
1867
|
+
border-radius: initial;
|
|
1868
|
+
padding: initial;
|
|
1860
1869
|
}
|
|
1861
|
-
body.wide-view .thinking-item,
|
|
1862
|
-
body.wide-view .tool-item,
|
|
1863
|
-
body.wide-view .tool-group { max-width:
|
|
1864
|
-
body.wide-view .turn-meta { max-width:
|
|
1870
|
+
body.wide-view:not(.mate-dm-active) .thinking-item,
|
|
1871
|
+
body.wide-view:not(.mate-dm-active) .tool-item,
|
|
1872
|
+
body.wide-view:not(.mate-dm-active) .tool-group { max-width: var(--content-width); }
|
|
1873
|
+
body.wide-view:not(.mate-dm-active) .turn-meta { max-width: var(--content-width); }
|
|
1865
1874
|
}
|
|
@@ -1001,4 +1001,47 @@
|
|
|
1001
1001
|
flex-shrink: 0;
|
|
1002
1002
|
margin-left: auto;
|
|
1003
1003
|
}
|
|
1004
|
+
|
|
1005
|
+
/* ---- Mobile mate DM: force bubble layout for user messages ---- */
|
|
1006
|
+
body.mate-dm-active .msg-user {
|
|
1007
|
+
display: flex !important;
|
|
1008
|
+
flex-direction: column !important;
|
|
1009
|
+
align-items: flex-end !important;
|
|
1010
|
+
gap: initial !important;
|
|
1011
|
+
max-width: 100% !important;
|
|
1012
|
+
padding: 0 20px !important;
|
|
1013
|
+
margin: 0 0 8px !important;
|
|
1014
|
+
border-radius: initial !important;
|
|
1015
|
+
justify-content: initial !important;
|
|
1016
|
+
}
|
|
1017
|
+
body.mate-dm-active .msg-user .dm-bubble-avatar-me {
|
|
1018
|
+
display: none !important;
|
|
1019
|
+
}
|
|
1020
|
+
body.mate-dm-active .msg-user .dm-bubble-content {
|
|
1021
|
+
display: flex !important;
|
|
1022
|
+
flex-direction: column !important;
|
|
1023
|
+
align-items: flex-end !important;
|
|
1024
|
+
flex: initial !important;
|
|
1025
|
+
width: 100% !important;
|
|
1026
|
+
}
|
|
1027
|
+
body.mate-dm-active .msg-user .dm-bubble-header {
|
|
1028
|
+
display: none !important;
|
|
1029
|
+
}
|
|
1030
|
+
body.mate-dm-active .msg-user .bubble {
|
|
1031
|
+
background: var(--user-bubble) !important;
|
|
1032
|
+
border-radius: 20px 20px 4px 20px !important;
|
|
1033
|
+
padding: 12px 18px !important;
|
|
1034
|
+
max-width: 85% !important;
|
|
1035
|
+
width: fit-content !important;
|
|
1036
|
+
font-size: 15px !important;
|
|
1037
|
+
line-height: 1.55 !important;
|
|
1038
|
+
white-space: pre-wrap !important;
|
|
1039
|
+
word-wrap: break-word !important;
|
|
1040
|
+
}
|
|
1041
|
+
body.mate-dm-active .msg-user .msg-actions {
|
|
1042
|
+
display: flex !important;
|
|
1043
|
+
}
|
|
1044
|
+
body.mate-dm-active .msg-user:hover {
|
|
1045
|
+
background: initial !important;
|
|
1046
|
+
}
|
|
1004
1047
|
}
|
package/lib/public/index.html
CHANGED
|
@@ -23,7 +23,28 @@
|
|
|
23
23
|
(function(){try{var k="clay-theme-vars",v=localStorage.getItem(k),r=document.documentElement;if(v){var o=JSON.parse(v),p;for(p in o)r.style.setProperty(p,o[p]);var vt=localStorage.getItem(k.replace("-vars","-variant"));if(vt==="light"){r.classList.add("light-theme");r.classList.remove("dark-theme")}else{r.classList.add("dark-theme");r.classList.remove("light-theme")}var m=document.querySelector('meta[name="theme-color"]');if(m&&o["--bg"])m.setAttribute("content",o["--bg"])}else{var sl=window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches;if(sl){r.classList.add("light-theme");r.classList.remove("dark-theme")}}}catch(e){}})();
|
|
24
24
|
</script>
|
|
25
25
|
<script>if(window.navigator.standalone||window.matchMedia("(display-mode:standalone)").matches){document.documentElement.classList.add("pwa-standalone")}</script>
|
|
26
|
-
<link rel="stylesheet" href="style.css">
|
|
26
|
+
<link rel="stylesheet" href="style.css?v=20260407">
|
|
27
|
+
<style>
|
|
28
|
+
@media(max-width:768px){
|
|
29
|
+
/* User messages: vertical stack, avatar on top, right-aligned */
|
|
30
|
+
body.wide-view:not(.mate-dm-active) .msg-user{flex-direction:column!important;align-items:flex-end!important;gap:4px!important;max-width:100%!important;padding:0 16px!important;margin:0 0 8px!important;justify-content:initial!important}
|
|
31
|
+
body.wide-view:not(.mate-dm-active) .msg-user .dm-bubble-avatar-me{order:-1!important}
|
|
32
|
+
body.wide-view:not(.mate-dm-active) .msg-user .dm-bubble-content{display:flex!important;flex-direction:column!important;align-items:flex-end!important;width:100%!important;flex:initial!important}
|
|
33
|
+
body.wide-view:not(.mate-dm-active) .msg-user .bubble{background:var(--user-bubble)!important;border-radius:20px 20px 4px 20px!important;padding:12px 18px!important;max-width:85%!important;width:fit-content!important;font-size:15px!important;line-height:1.55!important;white-space:pre-wrap!important;word-wrap:break-word!important}
|
|
34
|
+
body.wide-view:not(.mate-dm-active) .msg-user:hover{background:initial!important}
|
|
35
|
+
/* Assistant messages: row (avatar left), keep channel style */
|
|
36
|
+
body.wide-view:not(.mate-dm-active) .msg-assistant{max-width:100%!important;padding:4px 16px!important;margin:0 0 12px!important}
|
|
37
|
+
body.wide-view:not(.mate-dm-active) .msg-assistant .md-content{background:initial!important;border-radius:initial!important;padding:initial!important}
|
|
38
|
+
body.wide-view:not(.mate-dm-active) .thinking-item,
|
|
39
|
+
body.wide-view:not(.mate-dm-active) .tool-item,
|
|
40
|
+
body.wide-view:not(.mate-dm-active) .tool-group{max-width:100%!important}
|
|
41
|
+
body.wide-view:not(.mate-dm-active) .turn-meta{max-width:100%!important}
|
|
42
|
+
}
|
|
43
|
+
#ask-mate-btn::before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(135deg,#4ecdc4 0%,#556bf7 33%,#a855f7 55%,#f857a6 78%,#ff6b6b 100%)!important;border-radius:inherit!important;opacity:0;transform:scale(0.3);transition:opacity 0.3s ease,transform 0.35s cubic-bezier(0.34,1.56,0.64,1);z-index:-1}
|
|
44
|
+
#ask-mate-btn:hover::before{opacity:1!important;transform:scale(1)!important}
|
|
45
|
+
#ask-mate-btn:hover{border-color:transparent!important;background:transparent!important;transform:translateY(-1px);box-shadow:0 2px 12px rgba(148,130,247,0.4)}
|
|
46
|
+
#ask-mate-btn:hover .ask-mate-label{background:none!important;-webkit-text-fill-color:#fff!important}
|
|
47
|
+
</style>
|
|
27
48
|
</head>
|
|
28
49
|
<body>
|
|
29
50
|
<div id="layout">
|
package/lib/public/style.css
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
@import url("css/sidebar.css");
|
|
5
5
|
@import url("css/overlays.css");
|
|
6
6
|
@import url("css/menus.css");
|
|
7
|
-
@import url("css/messages.css");
|
|
7
|
+
@import url("css/messages.css?v=20260407");
|
|
8
8
|
@import url("css/rewind.css");
|
|
9
9
|
@import url("css/input.css");
|
|
10
10
|
@import url("css/filebrowser.css");
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
@import url("css/server-settings.css");
|
|
14
14
|
@import url("css/sticky-notes.css");
|
|
15
15
|
@import url("css/skills.css");
|
|
16
|
-
@import url("css/mobile-nav.css");
|
|
16
|
+
@import url("css/mobile-nav.css?v=20260407");
|
|
17
17
|
@import url("css/loop.css");
|
|
18
18
|
@import url("css/scheduler.css");
|
|
19
19
|
@import url("css/scheduler-modal.css");
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
@import url("css/admin.css");
|
|
26
26
|
@import url("css/session-search.css");
|
|
27
27
|
@import url("css/tooltip.css");
|
|
28
|
-
@import url("css/mates.css");
|
|
28
|
+
@import url("css/mates.css?v=20260407");
|
|
29
29
|
@import url("css/command-palette.css");
|
|
30
30
|
@import url("css/mention.css");
|
|
31
31
|
@import url("css/debate.css");
|
package/lib/public/sw.js
CHANGED
package/lib/sdk-bridge.js
CHANGED
|
@@ -592,7 +592,21 @@ function createSDKBridge(opts) {
|
|
|
592
592
|
suggestion: parsed.suggestion || "",
|
|
593
593
|
});
|
|
594
594
|
|
|
595
|
-
} else if (parsed.type
|
|
595
|
+
} else if (parsed.type === "system") {
|
|
596
|
+
// Catch-all for unhandled system subtypes (e.g. hook-block errors).
|
|
597
|
+
// Extract any error text and surface it in the UI.
|
|
598
|
+
var sysText = parsed.error || parsed.message || parsed.text || "";
|
|
599
|
+
if (!sysText && Array.isArray(parsed.content)) {
|
|
600
|
+
sysText = parsed.content
|
|
601
|
+
.filter(function(c) { return c.type === "text"; })
|
|
602
|
+
.map(function(c) { return c.text; })
|
|
603
|
+
.join("\n");
|
|
604
|
+
}
|
|
605
|
+
if (sysText) {
|
|
606
|
+
console.log("[sdk-bridge] Unhandled system message (subtype=" + (parsed.subtype || "none") + "): " + sysText.substring(0, 200));
|
|
607
|
+
sendAndRecord(session, { type: "error", text: sysText });
|
|
608
|
+
}
|
|
609
|
+
} else if (parsed.type && parsed.type !== "user") {
|
|
596
610
|
}
|
|
597
611
|
}
|
|
598
612
|
|
|
@@ -1250,7 +1264,12 @@ function createSDKBridge(opts) {
|
|
|
1250
1264
|
canAutoLogin: canAutoLogin,
|
|
1251
1265
|
});
|
|
1252
1266
|
} else {
|
|
1253
|
-
|
|
1267
|
+
var errText = msg.error || "Unknown error";
|
|
1268
|
+
// When stderr is empty, fall back to worker stderr buffer (covers hook failures at session start)
|
|
1269
|
+
if (!msg.stderr && worker._stderrBuf) {
|
|
1270
|
+
errText += "\n" + worker._stderrBuf.trim();
|
|
1271
|
+
}
|
|
1272
|
+
sendAndRecord(session, { type: "error", text: "Claude process error: " + errText });
|
|
1254
1273
|
}
|
|
1255
1274
|
sendAndRecord(session, { type: "done", code: 1 });
|
|
1256
1275
|
if (pushModule) {
|