blun-king-cli 9.1.330 → 9.1.332

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.
@@ -16,8 +16,8 @@ function isPrivateInternalStatusReply(chatId, text) {
16
16
  const value = normalize(text);
17
17
  if (value.length === 0) return false;
18
18
 
19
- const exposesRuntimeControl = /\b(?:cron|loop|checkpoint|sha|tool|hook|queue|lane|inbound|outbound|arbeitsstand|arbeitsauftrag|bau freigabe|freigabe dieser lane)\b/u.test(value);
20
- const announcesNoUserValue = /\b(?:keine neue aktion|keine neue information|kein neuer auftrag|kein neuer zweck|kein neuer inbound bedarf|nichts zu melden|nichts weiteres|bleibt pausiert|warte auf (?:dein|sein|ihr) (?:zeichen|go|freigabe)|ich sende nichts|wiederholen wäre spam|keine weitere nachricht)\b/u.test(value);
19
+ const exposesRuntimeControl = /\b(?:cron|loop|checkpoint|sha|tool|werkzeug|hook|queue|lane|inbound|outbound|arbeitsstand|arbeitsauftrag|bau freigabe|freigabe dieser lane|turn|zug|status|private nachricht|telegram nachricht|reply|verlauf|basis|f\d+|m\d+|w\d+)\b/u.test(value);
20
+ const announcesNoUserValue = /\b(?:keine neue aktion|keine neue information|keine neue nachricht|kein neuer auftrag|kein neuer zweck|kein neuer inbound bedarf|kein offener handlungsbedarf|nichts zu melden|nichts weiteres|bleibt pausiert|warte auf (?:dein|sein|ihr|papas) (?:zeichen|go|freigabe|antwort)|ich warte|ich sende nichts|wiederholen wäre spam|keine weitere nachricht|bereits geantwortet|bereits gesendet|kein werkzeugaufruf nötig|stand unverändert|zug läuft seit)\b/u.test(value);
21
21
  return exposesRuntimeControl && announcesNoUserValue;
22
22
  }
23
23
 
package/blun.mjs CHANGED
@@ -244512,6 +244512,13 @@ function createStepEventGate(deps) {
244512
244512
  queued.catch(() => {});
244513
244513
  return queued;
244514
244514
  };
244515
+ const inspectLiveRepetition = (delta) => {
244516
+ const repetition = liveRepetitionGuard?.push(delta) ?? null;
244517
+ if (repetition === null) return false;
244518
+ liveRepetitionResult = repetition;
244519
+ liveRepetitionController?.abort(/* @__PURE__ */ new Error("Repeated assistant text detected during streaming"));
244520
+ return true;
244521
+ };
244515
244522
  return {
244516
244523
  get hasOutput() {
244517
244524
  return hasOutput;
@@ -244542,12 +244549,7 @@ function createStepEventGate(deps) {
244542
244549
  drain: async () => eventQueue,
244543
244550
  callbacks: {
244544
244551
  onTextDelta: (delta) => {
244545
- const repetition = liveRepetitionGuard?.push(delta) ?? null;
244546
- if (repetition !== null) {
244547
- liveRepetitionResult = repetition;
244548
- liveRepetitionController?.abort(/* @__PURE__ */ new Error("Repeated assistant text detected during streaming"));
244549
- return;
244550
- }
244552
+ if (inspectLiveRepetition(delta)) return;
244551
244553
  enqueue(() => {
244552
244554
  dispatchEvent({
244553
244555
  type: "text.delta",
@@ -244556,6 +244558,7 @@ function createStepEventGate(deps) {
244556
244558
  });
244557
244559
  },
244558
244560
  onThinkDelta: (delta) => {
244561
+ if (inspectLiveRepetition(delta)) return;
244559
244562
  enqueue(() => {
244560
244563
  dispatchEvent({
244561
244564
  type: "thinking.delta",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blun-king-cli",
3
- "version": "9.1.330",
3
+ "version": "9.1.332",
4
4
  "description": "BLUN CLI - your own AI agent with a Telegram channel. Get it done. With BLUN.",
5
5
  "license": "MIT",
6
6
  "bin": {