agent.libx.js 0.93.10 → 0.93.11
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/cli/cli.ts +38 -5
- package/dist/cli.js +49 -12
- package/dist/cli.js.map +1 -1
- package/dist/index.js +11 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3620,7 +3620,7 @@ var DuplexAgentOptions = class {
|
|
|
3620
3620
|
reflexModel = "groq/openai/gpt-oss-20b";
|
|
3621
3621
|
actModel = "anthropic/claude-sonnet-4-6";
|
|
3622
3622
|
/** Premium reasoning model. Set to `false` to disable the Think tier entirely. */
|
|
3623
|
-
thinkModel = "anthropic/claude-opus-4-
|
|
3623
|
+
thinkModel = "anthropic/claude-opus-4-8";
|
|
3624
3624
|
/** Escape hatches merged over the derived per-agent options. */
|
|
3625
3625
|
reflexOptions;
|
|
3626
3626
|
actOptions;
|
|
@@ -4320,7 +4320,7 @@ var VoiceEngine = class _VoiceEngine {
|
|
|
4320
4320
|
this.stt.onLevel = (rms) => this.handleLevel(rms);
|
|
4321
4321
|
await Promise.all([this.tts.connect(), this.stt.start()]);
|
|
4322
4322
|
this.setState("listening");
|
|
4323
|
-
log8.
|
|
4323
|
+
log8.debug(`voice I/O up (${this.stt.usingAec ? "AEC" : "heuristic echo"} capture)`);
|
|
4324
4324
|
}
|
|
4325
4325
|
get usingAec() {
|
|
4326
4326
|
return this.stt.usingAec;
|
|
@@ -4363,7 +4363,7 @@ var VoiceEngine = class _VoiceEngine {
|
|
|
4363
4363
|
this.spokeDeltas = true;
|
|
4364
4364
|
this.ackAt = now();
|
|
4365
4365
|
}
|
|
4366
|
-
this.turnStartAt = now();
|
|
4366
|
+
if (!this.turnStartAt) this.turnStartAt = now();
|
|
4367
4367
|
this.setState("thinking");
|
|
4368
4368
|
}
|
|
4369
4369
|
speakDelta(text) {
|
|
@@ -4372,7 +4372,7 @@ var VoiceEngine = class _VoiceEngine {
|
|
|
4372
4372
|
this.reply += text;
|
|
4373
4373
|
for (const w of this.words(this.reply)) this.echoWords.add(w);
|
|
4374
4374
|
this.tts.speak(text, true);
|
|
4375
|
-
if (!this.spokeDeltas && this.turnStartAt) log8.
|
|
4375
|
+
if (!this.spokeDeltas && this.turnStartAt) log8.debug(`ttft: ${Math.round(now() - this.turnStartAt)}ms`);
|
|
4376
4376
|
this.spokeDeltas = true;
|
|
4377
4377
|
this.setState("speaking");
|
|
4378
4378
|
}
|
|
@@ -4393,7 +4393,7 @@ var VoiceEngine = class _VoiceEngine {
|
|
|
4393
4393
|
}
|
|
4394
4394
|
this.drainTimer = null;
|
|
4395
4395
|
this.speaking = false;
|
|
4396
|
-
if (this.turnStartAt) log8.
|
|
4396
|
+
if (this.turnStartAt) log8.debug(`turn: ${Math.round(now() - this.turnStartAt)}ms (incl. playback)`);
|
|
4397
4397
|
this.echoUntil = now() + 2500;
|
|
4398
4398
|
if (!this.usingAec) this.stt.reset();
|
|
4399
4399
|
this.setState("listening");
|
|
@@ -4548,7 +4548,10 @@ var VoiceEngine = class _VoiceEngine {
|
|
|
4548
4548
|
}
|
|
4549
4549
|
const text = this.pendingUtt;
|
|
4550
4550
|
this.pendingUtt = "";
|
|
4551
|
-
if (text)
|
|
4551
|
+
if (text) {
|
|
4552
|
+
this.turnStartAt = now();
|
|
4553
|
+
this.options.onUtterance(text);
|
|
4554
|
+
}
|
|
4552
4555
|
}
|
|
4553
4556
|
get overlapCapable() {
|
|
4554
4557
|
return this.usingAec && this.options.overlapPause && !!this.player.pause && !!this.player.resume;
|
|
@@ -4689,7 +4692,7 @@ var SonioxSTT = class {
|
|
|
4689
4692
|
this.endpointTimer = setInterval(() => {
|
|
4690
4693
|
const combined = (this.finalText + this.partialText).trim();
|
|
4691
4694
|
if (!combined || now2() - this.lastChangeAt < this.options.silenceEndpointMs) return;
|
|
4692
|
-
if (this.firstTokenAt) log9.
|
|
4695
|
+
if (this.firstTokenAt) log9.debug(`stt: ${Math.round(now2() - this.firstTokenAt)}ms first-token\u2192silence-endpoint, "${combined.slice(0, 60)}"`);
|
|
4693
4696
|
this.reset();
|
|
4694
4697
|
this.onUtterance(combined, now2());
|
|
4695
4698
|
}, 120);
|
|
@@ -4722,7 +4725,7 @@ var SonioxSTT = class {
|
|
|
4722
4725
|
this.onPartial(combined);
|
|
4723
4726
|
if (endpoint && this.finalText.trim()) {
|
|
4724
4727
|
const utterance = this.finalText.trim();
|
|
4725
|
-
if (this.firstTokenAt) log9.
|
|
4728
|
+
if (this.firstTokenAt) log9.debug(`stt: ${Math.round(now2() - this.firstTokenAt)}ms first-token\u2192endpoint, "${utterance.slice(0, 60)}"`);
|
|
4726
4729
|
this.reset();
|
|
4727
4730
|
this.onUtterance(utterance, now2());
|
|
4728
4731
|
}
|