@livx.cc/agentx 0.98.1 → 0.98.2
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/dist/cli.js +6 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -4983,6 +4983,8 @@ var DuplexAgent = class _DuplexAgent {
|
|
|
4983
4983
|
// briefs dispatched this turn (detect identical re-dispatch)
|
|
4984
4984
|
spokeThisTurn = false;
|
|
4985
4985
|
// any non-empty text_delta streamed this turn
|
|
4986
|
+
heldThisTurn = false;
|
|
4987
|
+
// Hold called this turn → turn is INTENTIONALLY silent (suppress reflex text + no dead-air ack)
|
|
4986
4988
|
nudging = false;
|
|
4987
4989
|
// re-ack pass in flight: block ALL tools, prevent recursion
|
|
4988
4990
|
reflexBuf = "";
|
|
@@ -5045,6 +5047,7 @@ Today's date: ${(/* @__PURE__ */ new Date()).toDateString()}.`;
|
|
|
5045
5047
|
confirm: host.confirm ? (p, m) => host.confirm(p, m) : void 0,
|
|
5046
5048
|
notify: (ev) => {
|
|
5047
5049
|
if (ev?.kind === "text_delta" && typeof ev.message === "string") {
|
|
5050
|
+
if (this.heldThisTurn) return;
|
|
5048
5051
|
if (this.fabricationCut) return;
|
|
5049
5052
|
const msg = ev.message;
|
|
5050
5053
|
this.reflexBuf += msg;
|
|
@@ -5114,6 +5117,7 @@ Today's date: ${(/* @__PURE__ */ new Date()).toDateString()}.`;
|
|
|
5114
5117
|
this.turnDispatched = false;
|
|
5115
5118
|
this.turnBriefs.clear();
|
|
5116
5119
|
this.spokeThisTurn = false;
|
|
5120
|
+
this.heldThisTurn = false;
|
|
5117
5121
|
this.reflexBuf = "";
|
|
5118
5122
|
this.reflexForwarded = 0;
|
|
5119
5123
|
this.fabricationCut = false;
|
|
@@ -5142,7 +5146,7 @@ Today's date: ${(/* @__PURE__ */ new Date()).toDateString()}.`;
|
|
|
5142
5146
|
* voice) and emits an empty `final`, so no text_delta ever streams. Both ship silence; both repair.
|
|
5143
5147
|
* Requires a host: without one there's no stream to detect speech on (and no one to speak to). */
|
|
5144
5148
|
get silentTurn() {
|
|
5145
|
-
return !!this.options.host && !this.spokeThisTurn;
|
|
5149
|
+
return !!this.options.host && !this.spokeThisTurn && !this.heldThisTurn;
|
|
5146
5150
|
}
|
|
5147
5151
|
/** A turn that voiced nothing is dead air. Re-prompt the reflex ONCE so the LLM itself voices a short
|
|
5148
5152
|
* line (no template). If it STILL says nothing, fall back to a minimal line so silence never ships.
|
|
@@ -5703,6 +5707,7 @@ Another agent just implemented the above. Independently check the CURRENT state
|
|
|
5703
5707
|
}
|
|
5704
5708
|
},
|
|
5705
5709
|
run: async ({ filler }) => {
|
|
5710
|
+
this.heldThisTurn = true;
|
|
5706
5711
|
if (filler) this.notify("hold_filler", String(filler));
|
|
5707
5712
|
return "Holding \u2014 listening for the rest of the user's thought. Do not respond further this turn.";
|
|
5708
5713
|
}
|