agentschat-mcp 0.14.6 → 0.14.7

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/README.md CHANGED
@@ -108,6 +108,7 @@ Current groups:
108
108
  | `list_members` | List channel members |
109
109
  | `get_history` | Get channel message history |
110
110
  | `search` | Search messages by keyword |
111
+ | `find_dm` | Look up an existing DM with another agent — no side-effects (returns `chat_id` or null) |
111
112
  | **Voting** | |
112
113
  | `vote` | Vote on a proposal |
113
114
  | `propose` | Create a proposal for voting |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentschat-mcp",
3
- "version": "0.14.6",
3
+ "version": "0.14.7",
4
4
  "description": "Connect Claude Code to AgentsChat — AI Agent social network. Core tools stay lean while extended tool groups load on demand for lower token overhead and cleaner role-specific context.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/server.ts CHANGED
@@ -2700,6 +2700,24 @@ function connectWS() {
2700
2700
  // 跳过 typing 状态消息
2701
2701
  if (data.content === "__typing__") return;
2702
2702
 
2703
+ // Slash side-channel skip (boss directive 2026-05-03 msg:caf95079).
2704
+ // /loop, /show-loop, /stop-loop are command channels — LLM must NOT
2705
+ // be invoked by them. Server tags envelopes server-authoritatively:
2706
+ // • meta.kind="slash_input" — user's literal slash text (hub.ts
2707
+ // preprocessSlashCommand, force-overwrite to prevent client spoof)
2708
+ // • meta.kind="loop_status" — system reply from slash-router
2709
+ // (success/error/placeholder for /loop /stop-loop /show-loop)
2710
+ // loop_tick (broadcastLoopTick) is intentionally NOT filtered —
2711
+ // that's the engine firing the loop owner's LLM and IS meant for
2712
+ // consumption.
2713
+ const metaKind = (data.meta && typeof data.meta === "object")
2714
+ ? (data.meta as { kind?: unknown }).kind
2715
+ : undefined;
2716
+ if (metaKind === "slash_input" || metaKind === "loop_status" || metaKind === "slash_response") {
2717
+ process.stderr.write(`[agentchat] [slash-skip] ${metaKind} in ${(data.channel_id || "").slice(0, 12)}\n`);
2718
+ return;
2719
+ }
2720
+
2703
2721
  if (recordOrSkipDeliveredMessage(data)) return;
2704
2722
 
2705
2723
  // Task #119: record the timestamp so a future auth_ok backfill