@chamade/mcp-server 1.1.3 → 1.1.4

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 +9 -15
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -597,26 +597,20 @@ server.resource("call-transcript", transcriptTemplate, {
597
597
  // ---------------------------------------------------------------------------
598
598
  const _callWatchers = new Map();
599
599
  const _closedWatchers = new Set();
600
- const _typingIntervals = new Map();
600
+ const _typingActive = new Set();
601
601
  /**
602
- * Start repeating typing indicator for a conversation.
603
- * Sends immediately then every 2s. Stops after 30s max.
602
+ * Start typing indicator for a conversation.
603
+ * Sends a single POST Maquisard manages the repeat loop internally
604
+ * and stops it automatically when a message is sent.
604
605
  */
605
606
  function channelStartTyping(conversationId) {
606
- channelStopTyping(conversationId);
607
- const send = () => chamadePost("/api/typing", { conversation_id: conversationId }).catch(() => { });
608
- send();
609
- const interval = setInterval(send, 2000);
610
- _typingIntervals.set(conversationId, interval);
611
- // Safety: stop after 30s even if chamade_send is never called
612
- setTimeout(() => channelStopTyping(conversationId), 30_000);
607
+ if (_typingActive.has(conversationId))
608
+ return;
609
+ _typingActive.add(conversationId);
610
+ chamadePost("/api/typing", { conversation_id: conversationId }).catch(() => { });
613
611
  }
614
612
  function channelStopTyping(conversationId) {
615
- const interval = _typingIntervals.get(conversationId);
616
- if (interval) {
617
- clearInterval(interval);
618
- _typingIntervals.delete(conversationId);
619
- }
613
+ _typingActive.delete(conversationId);
620
614
  }
621
615
  /**
622
616
  * Push a channel notification to Claude Code.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chamade/mcp-server",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "MCP server for Chamade — voice gateway for AI agents. Join Discord, Teams, Meet, Telegram, SIP, Zoom meetings and interact via speech and text. Supports Claude Code channel mode for push events.",
5
5
  "type": "module",
6
6
  "bin": {