osborn 0.9.110 → 0.9.111

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.
Files changed (2) hide show
  1. package/dist/index.js +7 -9
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -2558,15 +2558,13 @@ async function main() {
2558
2558
  // (reuse of the regular speak path; no Bash roundtrip). Silent-observer
2559
2559
  // turns stay suppressed as before.
2560
2560
  if (activeMeetingBotId && Date.now() < meetingAddressedUntil) {
2561
- // Split into AT MOST 2 chunks: first sentence (fast first-audio) +
2562
- // the remainder as ONE chunk. Per-sentence files created an audible
2563
- // seam at every boundary (mp3 padding + scheduling jitter — heard as
2564
- // "cracking"); two chunks keeps the latency win with one seam max.
2565
- const m = data.text.match(/^([^.!?]+[.!?]+["']?)\s*([\s\S]*)$/);
2566
- const chunks = m && m[2]?.trim() ? [m[1].trim(), m[2].trim()] : [data.text.trim()];
2567
- console.log(`🔊➡️📽️ tts_say → canvas (${chunks.length} chunk(s), addressed turn) t=${new Date().toISOString()}: "${data.text.slice(0, 60)}"`);
2568
- for (const s of chunks)
2569
- pushCanvas({ kind: 'say', text: s });
2561
+ // ONE say per reply (2026-08-01 quality directive): chunking created
2562
+ // seams no scheduler fully hid. A single utterance = a single clean
2563
+ // audio file = zero seams — quality over ~1s of latency. (Structural
2564
+ // fix queued: canvas as LiveKit subscriber playing the agent's real
2565
+ // TTS track — the true "same browser experience" reuse.)
2566
+ console.log(`🔊➡️📽️ tts_say → canvas (single utterance) t=${new Date().toISOString()}: "${data.text.slice(0, 60)}"`);
2567
+ pushCanvas({ kind: 'say', text: data.text });
2570
2568
  markMeetingSpeaking(data.text);
2571
2569
  return;
2572
2570
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "osborn",
3
- "version": "0.9.110",
3
+ "version": "0.9.111",
4
4
  "description": "Voice AI coding assistant - local agent that connects to Osborn frontend",
5
5
  "type": "module",
6
6
  "bin": {