@sym-bot/mesh-channel 0.3.16 → 0.3.18

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sym-mesh-channel",
3
- "version": "0.3.14",
3
+ "version": "0.3.18",
4
4
  "description": "Real-time Claude-to-Claude mesh. Agent-to-agent cognitive signals over Bonjour LAN or WebSocket relay.",
5
5
  "author": {
6
6
  "name": "Hongwei Xu",
package/.mcp.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "command": "npx",
5
5
  "args": [
6
6
  "-y",
7
- "@sym-bot/mesh-channel@0.3.14"
7
+ "@sym-bot/mesh-channel@0.3.18"
8
8
  ],
9
9
  "env": {
10
10
  "SYM_RELAY_URL": "${user_config.relay_url}",
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.18
4
+
5
+ ### Added
6
+
7
+ - **Directed-delivery indicators in the channel header (MMP §9.2.2).** Pins `@sym-bot/sym` to `^0.7.9`, which adds an ingestion flag to surfaced CMBs. A CMB sent directly to this node now reads as `[peer →you]`; if SVAF delivered it but did not store it (`remixed:false`), the header adds `·not-stored` so the agent knows the directed request is transient, not recallable from mesh memory later. Broadcast CMBs are unaffected.
8
+
9
+ ## 0.3.17
10
+
11
+ ### Fixed
12
+
13
+ - **Directed (peer-bound) CMBs now reach the agent.** Pins `@sym-bot/sym` to `^0.7.8`, which carries the MMP §9.2.2 delivery fix: a CMB sent to a specific recipient (`sym_send to=X`) is surfaced to the receiving agent unconditionally, regardless of the SVAF verdict — SVAF governs memory admission only. Previously every inbound CMB (directed or broadcast) ran through the group-autonomous SVAF surfacing gate, so a directed coordination CMB scored low by SVAF was silently dropped. Group-bound broadcasts (`sym_observe`) remain SVAF-gated for surfacing, unchanged. Version-bumped (plugin + `.mcp.json` pin) so installed plugins reinstall and pick up the fix on restart.
14
+
3
15
  ## 0.3.15
4
16
 
5
17
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sym-bot/mesh-channel",
3
- "version": "0.3.16",
3
+ "version": "0.3.18",
4
4
  "description": "MCP server — real-time agent-to-agent cognition for Claude Code remote teams via the SYM mesh.",
5
5
  "main": "server.js",
6
6
  "bin": {
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "dependencies": {
24
24
  "@modelcontextprotocol/sdk": "^1.12.1",
25
- "@sym-bot/sym": "^0.7.7",
25
+ "@sym-bot/sym": "^0.7.9",
26
26
  "bonjour-service": "^1.3.0"
27
27
  },
28
28
  "engines": {
package/server.js CHANGED
@@ -317,8 +317,15 @@ function registerNodeHandlers(n) {
317
317
  body = `${body}\n\n---PAYLOAD---\n${serialized}`;
318
318
  payloadSuffix = ` [+payload ${serialized.length}b]`;
319
319
  }
320
+ // Directed (peer-bound) delivery indicator (MMP §9.2.2). A directed CMB was
321
+ // addressed to THIS node — surface it as sent-to-you so the agent knows to
322
+ // respond. `remixed:false` means SVAF delivered it but did not ingest it
323
+ // into memory (transient request, not stored) — flag it so the agent does
324
+ // not assume it is recallable later.
325
+ const dirTag = entry.directed ? ' →you' : '';
326
+ const memTag = entry.directed && entry.remixed === false ? ' ·not-stored' : '';
320
327
  const msgId = storeMessage(source, body);
321
- pushChannel('cmb', `[${source}] ${focus}${moodSuffix}${payloadSuffix} [${msgId}]`);
328
+ pushChannel('cmb', `[${source}${dirTag}] ${focus}${moodSuffix}${memTag}${payloadSuffix} [${msgId}]`);
322
329
  });
323
330
 
324
331
  n.on('message', (from, content) => {