kingkont 0.10.2 → 0.10.4
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/index.html +1 -1
- package/lib/providers.js +12 -1
- package/package.json +1 -1
- package/renderer/board.js +6 -5
package/index.html
CHANGED
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
чтобы не ехало с центрированной шапкой. Заполняется renderWelcomeStatus
|
|
75
75
|
(board.js) при каждом показе welcome И при auth-changed/balance-tick. -->
|
|
76
76
|
<div class="welcome-status" id="welcomeStatus" style="-webkit-app-region: no-drag;">
|
|
77
|
-
<div class="welcome-status-balances" id="welcomeStatusBalances"></div>
|
|
78
77
|
<div class="welcome-status-identity" id="welcomeStatusIdentity"></div>
|
|
78
|
+
<div class="welcome-status-balances" id="welcomeStatusBalances"></div>
|
|
79
79
|
</div>
|
|
80
80
|
<div class="welcome-inner">
|
|
81
81
|
<div class="welcome-header">
|
package/lib/providers.js
CHANGED
|
@@ -485,7 +485,18 @@ async function generateText({ prompt, messages: msgsIn, model = 'anthropic/claud
|
|
|
485
485
|
messages.push({ role: 'user', content: prompt });
|
|
486
486
|
}
|
|
487
487
|
}
|
|
488
|
-
|
|
488
|
+
// promptLen для лога: либо длина prompt, либо суммарная длина всех текстов
|
|
489
|
+
// в messages — иначе `prompt.length` падает на messages-режиме (chat).
|
|
490
|
+
// content может быть string ИЛИ array of content-blocks {type:'text', text}.
|
|
491
|
+
function _msgLen(content) {
|
|
492
|
+
if (typeof content === 'string') return content.length;
|
|
493
|
+
if (Array.isArray(content)) return content.reduce((s, b) => s + (typeof b?.text === 'string' ? b.text.length : 0), 0);
|
|
494
|
+
return 0;
|
|
495
|
+
}
|
|
496
|
+
const promptLen = prompt
|
|
497
|
+
? prompt.length
|
|
498
|
+
: (msgsIn || []).reduce((s, m) => s + _msgLen(m?.content), 0);
|
|
499
|
+
logCall('POST', 'OpenRouter', 'https://openrouter.ai/api/v1/chat/completions', `model=${model} prompt=${promptLen}ch`);
|
|
489
500
|
const r = await fetch('https://openrouter.ai/api/v1/chat/completions', {
|
|
490
501
|
method: 'POST',
|
|
491
502
|
headers: {
|
package/package.json
CHANGED
package/renderer/board.js
CHANGED
|
@@ -213,10 +213,9 @@ async function renderWelcomeIdentity() {
|
|
|
213
213
|
let status = null;
|
|
214
214
|
try { status = await window.appChatium?.status?.(); } catch {}
|
|
215
215
|
if (status?.connected) {
|
|
216
|
-
//
|
|
217
|
-
//
|
|
218
|
-
|
|
219
|
-
const name = status.email || status.login || status.fullName || status.name || status.userId || 'KingKont';
|
|
216
|
+
// Приоритет имени: displayName (то что показывает Chatium в UI) →
|
|
217
|
+
// email → login → fullName → name → userId.
|
|
218
|
+
const name = status.displayName || status.email || status.login || status.fullName || status.name || status.userId || 'KingKont';
|
|
220
219
|
const sub = status.userId && status.userId !== name ? `· ${status.userId.slice(0, 8)}` : '';
|
|
221
220
|
wrap.innerHTML = `
|
|
222
221
|
<span style="color:#5c5; font-size:13px; line-height:1;">●</span>
|
|
@@ -952,8 +951,10 @@ async function closeProject() {
|
|
|
952
951
|
// Cmd+R после close = welcome, а не реоткрытие.
|
|
953
952
|
try { localStorage.setItem('welcomeOnNextStart', '1'); } catch {}
|
|
954
953
|
// Чат привязан к одному проекту — чистим историю при выходе чтобы
|
|
955
|
-
// не путал контекст следующего открытого проекта.
|
|
954
|
+
// не путал контекст следующего открытого проекта. И прячем панель —
|
|
955
|
+
// на welcome-экране чат не имеет смысла (нет state.currentBoard).
|
|
956
956
|
if (window.kingChat?.clear) window.kingChat.clear();
|
|
957
|
+
if (window.kingChat?.close) window.kingChat.close();
|
|
957
958
|
stopExternalWatcher();
|
|
958
959
|
// Сбрасываем UI таймлайна/превью — иначе при возврате через welcome
|
|
959
960
|
// в новый проект остаётся фрейм/дорожки прошлого.
|