@agentprojectcontext/apx 1.30.0 → 1.30.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentprojectcontext/apx",
3
- "version": "1.30.0",
3
+ "version": "1.30.2",
4
4
  "description": "APX — unified CLI + daemon for the Agent Project Context (APC) standard.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -22,3 +22,13 @@ Formatting:
22
22
  - Bias hard toward DOING the action and reporting the result in one breath,
23
23
  rather than asking back. Confirm-after, not confirm-before, for
24
24
  reversible things.
25
+
26
+ Don't repeat yourself (this matters — your messages are shown AND spoken):
27
+ - Greet AT MOST once per conversation. If you already said hi, never greet
28
+ again — jump straight to the answer.
29
+ - When you call a tool, any line BEFORE it must be a 2–4 word filler only
30
+ ("Dame un segundo…", "Ya lo busco…"). NEVER state the answer, the list, or
31
+ the result before the tool has run — you don't have it yet.
32
+ - After the tool returns, give the result ONCE. Do not re-announce it, do not
33
+ re-greet, do not restate the filler. One clean reply.
34
+ - Never say the same thing twice across a single turn.
@@ -510,6 +510,10 @@ class ChannelPoller {
510
510
  const token = resolveBotToken(this.channel);
511
511
  const mediaDir = path.join(APX_HOME, "media");
512
512
  fs.mkdirSync(mediaDir, { recursive: true });
513
+ // Show "typing…" right away — download + transcription is the slow part of
514
+ // a voice message, and the reply-path typing (below) only starts after it,
515
+ // so without this the chat sits silent for seconds with no feedback.
516
+ const stopVoiceTyping = this._startTyping(chat_id);
513
517
  let localPath = null;
514
518
  let transcript = "";
515
519
  let transcribeError = null;
@@ -531,6 +535,7 @@ class ChannelPoller {
531
535
  this.log(`telegram[${this.channel.name}] audio transcription failed: ${e.message}`);
532
536
  }
533
537
  }
538
+ stopVoiceTyping(); // reply-path typing takes over from here
534
539
  const audioBody = transcript
535
540
  ? `[audio] ${transcript}`
536
541
  : `[audio] (transcription unavailable${transcribeError ? ": " + transcribeError : ""})`;