@pcircle/memesh 4.7.2 → 4.7.3

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.
@@ -8,7 +8,7 @@
8
8
  "name": "memesh",
9
9
  "source": "./",
10
10
  "description": "MeMesh \u2014 agentic memory for coding agents. Captured from the agent's real work via hooks, recalled when it acts. One SQLite file, zero cloud required.",
11
- "version": "4.7.2",
11
+ "version": "4.7.3",
12
12
  "author": {
13
13
  "name": "PCIRCLE AI"
14
14
  },
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "PCIRCLE AI"
6
6
  },
7
- "version": "4.7.2",
7
+ "version": "4.7.3",
8
8
  "homepage": "https://github.com/PCIRCLE-AI/memesh",
9
9
  "repository": "https://github.com/PCIRCLE-AI/memesh",
10
10
  "license": "MIT",
@@ -3,7 +3,7 @@
3
3
  "entries": [
4
4
  {
5
5
  "path": ".claude-plugin/plugin.json",
6
- "sha256": "1a03a56bfb2e7d2fd3a2a04692604027d9dbfaed63f4c1d7afc6a35ff6dfafac",
6
+ "sha256": "773e152af2cbcfe41135dfb8e4535682257f3575ab30139bd09e2e2017c455bd",
7
7
  "bytes": 527
8
8
  },
9
9
  {
@@ -83,8 +83,8 @@
83
83
  },
84
84
  {
85
85
  "path": "scripts/hooks/post-commit.js",
86
- "sha256": "6f7e4e66dcbf731aaa01074ec7e27fbf06945c0333e34671468efdc50f3fe711",
87
- "bytes": 9537
86
+ "sha256": "987dd817a6f6310039aa97a7ea2798bca6097a9c7a943ae5c6ea1a9fb00c4264",
87
+ "bytes": 10309
88
88
  },
89
89
  {
90
90
  "path": "scripts/hooks/pre-compact.js",
@@ -103,8 +103,8 @@
103
103
  },
104
104
  {
105
105
  "path": "scripts/hooks/session-summary.js",
106
- "sha256": "12d28e2524bb13b6cb709fe3510264058728d6299bd43a2c1dc5723d658a7806",
107
- "bytes": 46696
106
+ "sha256": "2c13205539a0424ceeb11a7aed79dc8c0504e56e7a9e21661b007f2a504f5554",
107
+ "bytes": 47387
108
108
  },
109
109
  {
110
110
  "path": "scripts/hooks/user-prompt-intent.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pcircle/memesh",
3
- "version": "4.7.2",
3
+ "version": "4.7.3",
4
4
  "description": "MeMesh — agentic memory for coding agents. Captured from the agent's real work via hooks, recalled when it acts. One SQLite file, zero cloud required.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -188,7 +188,19 @@ process.stdin.on('end', () => {
188
188
  // Never crash Claude Code — but leave a trace for debugging
189
189
  try { process.stderr.write(`[memesh post-commit] ${err?.message || err}\n`); } catch {}
190
190
  }
191
- console.log(JSON.stringify({ suppressOutput: true }));
191
+ // Emit NOTHING on success — not `{"suppressOutput": true}`.
192
+ //
193
+ // That field is valid Claude Code hook output, and it was doing no work:
194
+ // this hook writes nothing else to stdout, so there was never any output
195
+ // to suppress. But Codex CLI validates hook output per event against its
196
+ // own schema, and rejects the field on PostToolUse — reported from a live
197
+ // Codex session as "PostToolUse hook returned unsupported suppressOutput",
198
+ // once per Bash tool call, with the capture itself having already succeeded.
199
+ //
200
+ // Empty stdout with exit 0 is the "no opinion" signal in BOTH contracts,
201
+ // and it is what `validateHookOutput` already classifies as `kind: 'empty'`.
202
+ // So the portable answer is silence, and the field's only remaining effect
203
+ // was to fail one host for no benefit on the other.
192
204
  exit0();
193
205
  });
194
206
 
@@ -652,8 +652,19 @@ process.stdin.on('end', async () => {
652
652
  // so npm install -g doesn't overwrite dist/ while peer hooks are reading it.
653
653
  await runAutoUpdateAtStop();
654
654
 
655
- // Silent outputdon't clutter Claude's response
656
- console.log(JSON.stringify({ suppressOutput: true }));
655
+ // Emit NOTHING on success not `{"suppressOutput": true}`.
656
+ //
657
+ // That field is valid Claude Code hook output, and it was doing no work:
658
+ // this hook writes nothing else to stdout, so there was never any output
659
+ // to suppress. But Codex CLI validates hook output per event against its
660
+ // own schema, and rejects the field on Stop — reported from a live
661
+ // Codex session as "hook returned invalid stop hook JSON output",
662
+ // once per turn, with the capture itself having already succeeded.
663
+ //
664
+ // Empty stdout with exit 0 is the "no opinion" signal in BOTH contracts,
665
+ // and it is what `validateHookOutput` already classifies as `kind: 'empty'`.
666
+ // So the portable answer is silence, and the field's only remaining effect
667
+ // was to fail one host for no benefit on the other.
657
668
  exit0();
658
669
  });
659
670