clay-server 2.14.0-beta.2 → 2.14.0-beta.3
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/app.js +30 -0
- package/lib/public/modules/input.js +5 -0
- package/package.json +1 -1
package/lib/public/app.js
CHANGED
|
@@ -1804,6 +1804,32 @@ import { initCommandPalette, handlePaletteSessionSwitch, setPaletteVersion } fro
|
|
|
1804
1804
|
}
|
|
1805
1805
|
}
|
|
1806
1806
|
|
|
1807
|
+
// --- Mate pre-thinking (instant dots before server responds) ---
|
|
1808
|
+
var matePreThinkingEl = null;
|
|
1809
|
+
function showMatePreThinking() {
|
|
1810
|
+
removeMatePreThinking();
|
|
1811
|
+
var mateName = dmTargetUser ? (dmTargetUser.displayName || "Mate") : "Mate";
|
|
1812
|
+
var mateAvatar = document.body.dataset.mateAvatarUrl || "";
|
|
1813
|
+
matePreThinkingEl = document.createElement("div");
|
|
1814
|
+
matePreThinkingEl.className = "thinking-item mate-thinking mate-pre-thinking";
|
|
1815
|
+
matePreThinkingEl.innerHTML =
|
|
1816
|
+
'<div class="mate-thinking-row" style="display:flex">' +
|
|
1817
|
+
'<img class="mate-thinking-avatar" src="' + escapeHtml(mateAvatar) + '" alt="">' +
|
|
1818
|
+
'<div class="mate-thinking-body">' +
|
|
1819
|
+
'<span class="mate-thinking-name">' + escapeHtml(mateName) + '</span>' +
|
|
1820
|
+
'<span class="mate-thinking-dots"><span></span><span></span><span></span></span>' +
|
|
1821
|
+
'</div>' +
|
|
1822
|
+
'</div>';
|
|
1823
|
+
addToMessages(matePreThinkingEl);
|
|
1824
|
+
scrollToBottom();
|
|
1825
|
+
}
|
|
1826
|
+
function removeMatePreThinking() {
|
|
1827
|
+
if (matePreThinkingEl) {
|
|
1828
|
+
matePreThinkingEl.remove();
|
|
1829
|
+
matePreThinkingEl = null;
|
|
1830
|
+
}
|
|
1831
|
+
}
|
|
1832
|
+
|
|
1807
1833
|
// --- Config chip (model + mode + effort) ---
|
|
1808
1834
|
var configChipWrap = $("config-chip-wrap");
|
|
1809
1835
|
var configChip = $("config-chip");
|
|
@@ -3691,6 +3717,7 @@ import { initCommandPalette, handlePaletteSessionSwitch, setPaletteVersion } fro
|
|
|
3691
3717
|
break;
|
|
3692
3718
|
|
|
3693
3719
|
case "thinking_start":
|
|
3720
|
+
removeMatePreThinking();
|
|
3694
3721
|
startThinking();
|
|
3695
3722
|
break;
|
|
3696
3723
|
|
|
@@ -3705,6 +3732,7 @@ import { initCommandPalette, handlePaletteSessionSwitch, setPaletteVersion } fro
|
|
|
3705
3732
|
|
|
3706
3733
|
case "delta":
|
|
3707
3734
|
if (typeof msg.text !== "string") break;
|
|
3735
|
+
removeMatePreThinking();
|
|
3708
3736
|
stopThinking();
|
|
3709
3737
|
resetThinkingGroup();
|
|
3710
3738
|
setActivity(null);
|
|
@@ -3712,6 +3740,7 @@ import { initCommandPalette, handlePaletteSessionSwitch, setPaletteVersion } fro
|
|
|
3712
3740
|
break;
|
|
3713
3741
|
|
|
3714
3742
|
case "tool_start":
|
|
3743
|
+
removeMatePreThinking();
|
|
3715
3744
|
stopThinking();
|
|
3716
3745
|
markAllToolsDone();
|
|
3717
3746
|
if (msg.name === "EnterPlanMode") {
|
|
@@ -4531,6 +4560,7 @@ import { initCommandPalette, handlePaletteSessionSwitch, setPaletteVersion } fro
|
|
|
4531
4560
|
isMateDm: function () { return dmMode && dmTargetUser && dmTargetUser.isMate; },
|
|
4532
4561
|
getMateName: function () { return dmTargetUser ? (dmTargetUser.displayName || "Mate") : "Mate"; },
|
|
4533
4562
|
getMateAvatarUrl: function () { return document.body.dataset.mateAvatarUrl || ""; },
|
|
4563
|
+
showMatePreThinking: function () { showMatePreThinking(); },
|
|
4534
4564
|
});
|
|
4535
4565
|
|
|
4536
4566
|
// --- STT module (voice input via Web Speech API) ---
|
|
@@ -105,6 +105,11 @@ export function sendMessage() {
|
|
|
105
105
|
}
|
|
106
106
|
ctx.ws.send(JSON.stringify(payload));
|
|
107
107
|
|
|
108
|
+
// Mate DM: show pre-thinking dots immediately (before server responds)
|
|
109
|
+
if (ctx.isMateDm && ctx.isMateDm()) {
|
|
110
|
+
ctx.showMatePreThinking();
|
|
111
|
+
}
|
|
112
|
+
|
|
108
113
|
ctx.inputEl.value = "";
|
|
109
114
|
sendInputSync();
|
|
110
115
|
clearPendingImages();
|