clay-server 5.2.0-beta.7 → 5.2.0-beta.8
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/modules/stt.js +7 -2
- package/lib/sessions.js +2 -2
- package/package.json +1 -1
|
@@ -25,6 +25,7 @@ function bindComposer(id, inputId, wrapperId) {
|
|
|
25
25
|
if (!button || !input || !wrapper || button.dataset.speechBound) return;
|
|
26
26
|
var composer = document.getElementById(id === 'stt-btn' ? 'input-row' : 'home-mate-chat-composer') || wrapper;
|
|
27
27
|
var toolbar = document.getElementById(id === 'stt-btn' ? 'input-bottom' : 'home-mate-chat-composer') || composer;
|
|
28
|
+
button.addEventListener('click', refreshSpeechBrowser);
|
|
28
29
|
button.dataset.speechBound = 'true'; button.classList.add('stt-button');
|
|
29
30
|
var group = document.createElement('span'); group.className = 'stt-controls';
|
|
30
31
|
button.before(group); group.appendChild(button);
|
|
@@ -32,7 +33,7 @@ function bindComposer(id, inputId, wrapperId) {
|
|
|
32
33
|
picker.className = 'stt-picker-toggle'; picker.innerHTML = iconHtml('chevron-down');
|
|
33
34
|
picker.setAttribute('aria-label', 'Choose voice model'); picker.setAttribute('aria-haspopup', 'dialog'); picker.setAttribute('aria-expanded', 'false');
|
|
34
35
|
picker.title = 'Choose voice model'; group.appendChild(picker);
|
|
35
|
-
picker.addEventListener('click', function () { openSpeechPicker(picker); });
|
|
36
|
+
picker.addEventListener('click', function () { refreshSpeechBrowser(); openSpeechPicker(picker); });
|
|
36
37
|
var row = document.createElement('div'); row.className = 'stt-progress'; row.hidden = true;
|
|
37
38
|
var status = document.createElement('span'); status.id = id + '-status'; status.className = 'stt-status'; status.setAttribute('role', 'status');
|
|
38
39
|
var timer = document.createElement('span'); timer.className = 'stt-timer'; timer.setAttribute('aria-hidden', 'true');
|
|
@@ -70,7 +71,7 @@ function bindComposer(id, inputId, wrapperId) {
|
|
|
70
71
|
function render() {
|
|
71
72
|
var active = store.get('speechActive'); var own = !!active && active.id === id;
|
|
72
73
|
var model = voiceModel(); var provider = voiceProvider(model.provider);
|
|
73
|
-
var browser = model.provider === 'browser' ?
|
|
74
|
+
var browser = model.provider === 'browser' ? store.get('speechBrowserIdentity') : null;
|
|
74
75
|
var pending = own && active.model && active.phase !== 'recording';
|
|
75
76
|
var autoSend = own && !!active.autoSend;
|
|
76
77
|
composer.classList.toggle('stt-recording', own);
|
|
@@ -117,7 +118,11 @@ function bindComposer(id, inputId, wrapperId) {
|
|
|
117
118
|
observer.observe(input, { attributes: true, attributeFilter: ['disabled', 'readonly'] });
|
|
118
119
|
render();
|
|
119
120
|
}
|
|
121
|
+
// Browser identity may read layout; refresh on entry and interaction, not transcript updates.
|
|
122
|
+
function refreshSpeechBrowser() { store.set({ speechBrowserIdentity: browserSpeechInfo() }); }
|
|
120
123
|
export function initSTT() {
|
|
124
|
+
refreshSpeechBrowser();
|
|
125
|
+
window.addEventListener('focus', refreshSpeechBrowser);
|
|
121
126
|
initSpeechLifecycle(); initSpeechPicker();
|
|
122
127
|
bindComposer('stt-btn', 'input', 'input-wrapper');
|
|
123
128
|
bindComposer('home-stt-btn', 'home-mate-chat-input', 'home-mate-chat-composer-frame');
|
package/lib/sessions.js
CHANGED
|
@@ -778,8 +778,8 @@ function createSessionManager(opts) {
|
|
|
778
778
|
}
|
|
779
779
|
|
|
780
780
|
// History entries include tool activity and streamed output, so opening a
|
|
781
|
-
// conversation
|
|
782
|
-
var INITIAL_HISTORY_SIZE =
|
|
781
|
+
// conversation starts with a 300-entry target, aligned to a complete user turn.
|
|
782
|
+
var INITIAL_HISTORY_SIZE = 300;
|
|
783
783
|
var HISTORY_PAGE_SIZE = 100;
|
|
784
784
|
|
|
785
785
|
function findTurnBoundary(history, targetIndex) {
|
package/package.json
CHANGED