agentschat-mcp 0.14.7 → 0.14.8

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/package.json +1 -1
  2. package/src/server.ts +14 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentschat-mcp",
3
- "version": "0.14.7",
3
+ "version": "0.14.8",
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
@@ -2696,7 +2696,20 @@ function connectWS() {
2696
2696
  // through handleWSMessage so @mention detection + notification
2697
2697
  // path is identical to live delivery — no divergent code paths.
2698
2698
  setTimeout(() => { void backfillAllChannels(); }, 2000);
2699
- } else if (data.type === "message" && data.sender_id !== AGENT_ID) {
2699
+ } else if (
2700
+ data.type === "message" &&
2701
+ // Loop ticks are server-fired with sender_id=loop.agent_id, which
2702
+ // equals AGENT_ID when the loop owner is THIS plugin. Without this
2703
+ // exception the outer "skip own messages" gate swallows every tick
2704
+ // before the slash filter below ever sees it, so /loop silently
2705
+ // never fires the LLM for the loop creator. Empirically confirmed
2706
+ // 2026-05-03 in dm-dsplvj (loop_39d587464e3c): tick landed in
2707
+ // history but never surfaced to the plugin's LLM path.
2708
+ (data.sender_id !== AGENT_ID ||
2709
+ (data.meta &&
2710
+ typeof data.meta === "object" &&
2711
+ (data.meta as { kind?: unknown }).kind === "loop_tick"))
2712
+ ) {
2700
2713
  // 跳过 typing 状态消息
2701
2714
  if (data.content === "__typing__") return;
2702
2715