claudemesh-cli 0.5.4 → 0.5.6

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 +51 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -46745,6 +46745,20 @@ var TOOLS = [
46745
46745
  name: "mesh_info",
46746
46746
  description: "Get a complete overview of the mesh: peers, groups, state, memory, files, tasks, streams, tables. Call on session start for full situational awareness.",
46747
46747
  inputSchema: { type: "object", properties: {} }
46748
+ },
46749
+ {
46750
+ name: "ping_mesh",
46751
+ description: "Send test messages through the full pipeline and measure round-trip timing per priority. Diagnoses push delivery issues.",
46752
+ inputSchema: {
46753
+ type: "object",
46754
+ properties: {
46755
+ priorities: {
46756
+ type: "array",
46757
+ items: { type: "string", enum: ["now", "next", "low"] },
46758
+ description: 'Priorities to test (default: ["now", "next"])'
46759
+ }
46760
+ }
46761
+ }
46748
46762
  }
46749
46763
  ];
46750
46764
 
@@ -48560,6 +48574,42 @@ ${rows.join(`
48560
48574
  `**Your groups**: ${info.yourGroups?.map((g) => `@${g.name}${g.role ? ":" + g.role : ""}`).join(", ") || "none"}`
48561
48575
  ];
48562
48576
  return text(lines.join(`
48577
+ `));
48578
+ }
48579
+ case "ping_mesh": {
48580
+ const { priorities: pingPriorities } = args ?? {};
48581
+ const toTest = pingPriorities ?? ["now", "next"];
48582
+ const client = allClients()[0];
48583
+ if (!client)
48584
+ return text("ping_mesh: not connected", true);
48585
+ const results = [];
48586
+ results.push(`WS status: ${client.status}`);
48587
+ results.push(`Mesh: ${client.meshSlug}`);
48588
+ const peers = await client.listPeers();
48589
+ const selfPeer = peers.find((p) => p.displayName === myName);
48590
+ results.push(`Your status: ${selfPeer?.status ?? "not found in peer list"}`);
48591
+ results.push(`Peers online: ${peers.length}`);
48592
+ results.push(`Push buffer: ${client.pushHistory.length} buffered`);
48593
+ for (const prio of toTest) {
48594
+ const sendTime = Date.now();
48595
+ const target = peers.find((p) => p.displayName !== myName);
48596
+ const sendResult = await client.send(target?.pubkey ?? "*", `__ping__ ${prio} from ${myName} at ${new Date().toISOString()}`, prio);
48597
+ const ackTime = Date.now();
48598
+ if (!sendResult.ok) {
48599
+ results.push(`[${prio}] SEND FAILED: ${sendResult.error}`);
48600
+ } else {
48601
+ results.push(`[${prio}] send→ack: ${ackTime - sendTime}ms (msgId: ${sendResult.messageId?.slice(0, 12)})`);
48602
+ if (prio !== "now" && selfPeer?.status === "working") {
48603
+ results.push(` ⚠ peer status is "working" — broker holds "${prio}" until idle`);
48604
+ }
48605
+ }
48606
+ }
48607
+ results.push("");
48608
+ results.push("Pipeline check:");
48609
+ results.push(` onPush handlers: active`);
48610
+ results.push(` messageMode: ${messageMode}`);
48611
+ results.push(` server.notification: ${messageMode === "off" ? "disabled (mode=off)" : "enabled"}`);
48612
+ return text(results.join(`
48563
48613
  `));
48564
48614
  }
48565
48615
  default:
@@ -49556,7 +49606,7 @@ init_config();
49556
49606
  // package.json
49557
49607
  var package_default = {
49558
49608
  name: "claudemesh-cli",
49559
- version: "0.5.4",
49609
+ version: "0.5.6",
49560
49610
  description: "Claude Code MCP client for claudemesh — peer mesh messaging between Claude sessions.",
49561
49611
  keywords: [
49562
49612
  "claude-code",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudemesh-cli",
3
- "version": "0.5.4",
3
+ "version": "0.5.6",
4
4
  "description": "Claude Code MCP client for claudemesh — peer mesh messaging between Claude sessions.",
5
5
  "keywords": [
6
6
  "claude-code",