blun-king-cli 9.1.74 → 9.1.75
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/blun.mjs +8 -2
- package/package.json +1 -1
package/blun.mjs
CHANGED
|
@@ -259910,17 +259910,23 @@ function blunMessageTextChars(message) {
|
|
|
259910
259910
|
function blunFastConversationHistory(history) {
|
|
259911
259911
|
const selected = [];
|
|
259912
259912
|
let textChars = 0;
|
|
259913
|
+
let expectsAssistant = false;
|
|
259913
259914
|
for (let index = history.length - 1; index >= 0; index -= 1) {
|
|
259914
259915
|
const message = history[index];
|
|
259915
259916
|
if (message === void 0) continue;
|
|
259916
259917
|
if (message.role === "user" && message.origin?.kind !== "user") continue;
|
|
259917
|
-
if (message.role === "assistant" && message.toolCalls.length > 0) continue;
|
|
259918
259918
|
if (message.role !== "user" && message.role !== "assistant") continue;
|
|
259919
|
+
if (message.role === "user" && selected.length > 0 && expectsAssistant) break;
|
|
259920
|
+
if (message.role === "assistant") {
|
|
259921
|
+
if (!expectsAssistant) continue;
|
|
259922
|
+
if (message.toolCalls.length > 0) break;
|
|
259923
|
+
}
|
|
259919
259924
|
const messageTextChars = blunMessageTextChars(message);
|
|
259920
259925
|
if (messageTextChars === 0) continue;
|
|
259921
|
-
if (textChars + messageTextChars > 12e3)
|
|
259926
|
+
if (textChars + messageTextChars > 12e3) break;
|
|
259922
259927
|
selected.push(message);
|
|
259923
259928
|
textChars += messageTextChars;
|
|
259929
|
+
expectsAssistant = message.role === "user";
|
|
259924
259930
|
if (selected.length >= 6) break;
|
|
259925
259931
|
}
|
|
259926
259932
|
return selected.toReversed();
|