cursor-mcp-feedback 2.0.4 → 2.0.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.
package/README.md CHANGED
@@ -138,7 +138,7 @@ On first startup (or `npm install -g`), the MCP server **automatically configure
138
138
 
139
139
  - **Cursor rule** (`~/.cursor/rules/cursor-mcp-feedback.mdc`) — instructs the agent to call `interactive_feedback`
140
140
  - **Cursor hooks** (`~/.cursor/hooks/`) — subagent protection + pending message delivery + event logging
141
- - **hooks.json entries** — registers `sessionStart`, `subagentStart`, `subagentStop`, `beforeMCPExecution`, `preToolUse`, `afterMCPExecution` hooks
141
+ - **hooks.json entries** — registers `subagentStart`, `subagentStop`, `beforeMCPExecution`, `afterMCPExecution`, `preToolUse` hooks
142
142
 
143
143
  All auto-installed files are kept in sync on every startup (hash-based diffing, idempotent).
144
144
 
@@ -182,11 +182,8 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
182
182
 
183
183
  | Hook | Event | Purpose |
184
184
  |------|-------|---------|
185
- | `block-cursor-mcp-feedback.js` | `sessionStart` | Create per-session directory & metadata |
186
- | `block-cursor-mcp-feedback.js` | `sessionEnd` | Mark session inactive, reset subagent counter |
187
185
  | `block-cursor-mcp-feedback.js` | `subagentStart` | Increment active subagent counter for parent conversation |
188
186
  | `block-cursor-mcp-feedback.js` | `subagentStop` | Decrement active subagent counter |
189
- | `block-cursor-mcp-feedback.js` | `preToolUse` | Deny feedback tool calls when subagents are active (matcher: `MCP:interactive_feedback\|MCP:submit_feedback`) |
190
187
  | `block-cursor-mcp-feedback.js` | `beforeMCPExecution` | Deny cursor-mcp-feedback MCP calls when subagents are active |
191
188
  | `block-cursor-mcp-feedback.js` | `afterMCPExecution` | Log feedback_request/response events to events.jsonl |
192
189
  | `consume-pending.js` | `preToolUse` | Consume pending messages and inject as agent feedback |
package/dist/main.js CHANGED
@@ -99,16 +99,13 @@ function installCursorHooks() {
99
99
  // Each entry has a unique _source tag for idempotent upsert.
100
100
  // Multiple entries per event are supported via distinct _source values.
101
101
  const entries = [
102
- { event: "sessionStart", hook: { command: `${node} ${blockHook} sessionStart`, _source: "cursor-mcp-feedback" } },
103
- { event: "sessionEnd", hook: { command: `${node} ${blockHook} sessionEnd`, _source: "cursor-mcp-feedback" } },
104
102
  { event: "subagentStart", hook: { command: `${node} ${blockHook} subagentStart`, _source: "cursor-mcp-feedback" } },
105
103
  { event: "subagentStop", hook: { command: `${node} ${blockHook} subagentStop`, _source: "cursor-mcp-feedback" } },
106
104
  { event: "beforeMCPExecution", hook: { command: `${node} ${blockHook} beforeMCPExecution`, failClosed: true, _source: "cursor-mcp-feedback" } },
107
105
  { event: "afterMCPExecution", hook: { command: `${node} ${blockHook} afterMCPExecution`, _source: "cursor-mcp-feedback" } },
108
106
  { event: "preToolUse", hook: { command: `${node} ${pendingHook}`, _source: "cursor-mcp-feedback" } },
109
- { event: "preToolUse", hook: { command: `${node} ${blockHook} preToolUse`, matcher: "MCP:interactive_feedback|MCP:submit_feedback", failClosed: true, _source: "cursor-mcp-feedback-block" } },
110
107
  ];
111
- const allSources = new Set(entries.map((e) => e.hook._source));
108
+ const allSources = new Set([...entries.map((e) => e.hook._source), "cursor-mcp-feedback-block"]);
112
109
  const before = JSON.stringify(config);
113
110
  // First pass: remove ALL our entries from every event (clean slate)
114
111
  for (const arr of Object.values(config.hooks)) {