@ironbee-ai/cli 0.6.0 → 0.6.2

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 (47) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/analysis/code-changes.js +3 -3
  3. package/dist/analysis/code-changes.js.map +1 -1
  4. package/dist/clients/claude/hooks/clear-verdict.d.ts +9 -4
  5. package/dist/clients/claude/hooks/clear-verdict.d.ts.map +1 -1
  6. package/dist/clients/claude/hooks/clear-verdict.js +50 -12
  7. package/dist/clients/claude/hooks/clear-verdict.js.map +1 -1
  8. package/dist/clients/claude/hooks/require-verdict.d.ts +8 -4
  9. package/dist/clients/claude/hooks/require-verdict.d.ts.map +1 -1
  10. package/dist/clients/claude/hooks/require-verdict.js +14 -4
  11. package/dist/clients/claude/hooks/require-verdict.js.map +1 -1
  12. package/dist/clients/claude/hooks/session-start.d.ts.map +1 -1
  13. package/dist/clients/claude/hooks/session-start.js +8 -3
  14. package/dist/clients/claude/hooks/session-start.js.map +1 -1
  15. package/dist/clients/claude/index.d.ts.map +1 -1
  16. package/dist/clients/claude/index.js +19 -5
  17. package/dist/clients/claude/index.js.map +1 -1
  18. package/dist/clients/cursor/hooks/clear-verdict.d.ts +13 -4
  19. package/dist/clients/cursor/hooks/clear-verdict.d.ts.map +1 -1
  20. package/dist/clients/cursor/hooks/clear-verdict.js +59 -14
  21. package/dist/clients/cursor/hooks/clear-verdict.js.map +1 -1
  22. package/dist/clients/cursor/hooks/require-verdict.d.ts +8 -3
  23. package/dist/clients/cursor/hooks/require-verdict.d.ts.map +1 -1
  24. package/dist/clients/cursor/hooks/require-verdict.js +14 -3
  25. package/dist/clients/cursor/hooks/require-verdict.js.map +1 -1
  26. package/dist/clients/cursor/index.d.ts.map +1 -1
  27. package/dist/clients/cursor/index.js +33 -13
  28. package/dist/clients/cursor/index.js.map +1 -1
  29. package/dist/hooks/core/actions.d.ts +15 -5
  30. package/dist/hooks/core/actions.d.ts.map +1 -1
  31. package/dist/hooks/core/actions.js +7 -7
  32. package/dist/hooks/core/actions.js.map +1 -1
  33. package/dist/hooks/core/file-diff.d.ts +19 -0
  34. package/dist/hooks/core/file-diff.d.ts.map +1 -0
  35. package/dist/hooks/core/file-diff.js +39 -0
  36. package/dist/hooks/core/file-diff.js.map +1 -0
  37. package/dist/hooks/core/session-state.d.ts +14 -0
  38. package/dist/hooks/core/session-state.d.ts.map +1 -1
  39. package/dist/hooks/core/session-state.js +76 -0
  40. package/dist/hooks/core/session-state.js.map +1 -1
  41. package/dist/hooks/core/tool-use-stash.d.ts +41 -0
  42. package/dist/hooks/core/tool-use-stash.d.ts.map +1 -0
  43. package/dist/hooks/core/tool-use-stash.js +82 -0
  44. package/dist/hooks/core/tool-use-stash.js.map +1 -0
  45. package/dist/hooks/core/verify-gate.js +5 -5
  46. package/dist/hooks/core/verify-gate.js.map +1 -1
  47. package/package.json +3 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.2 (2026-04-27)
4
+
5
+ ### Features
6
+
7
+ * **event:** file_change event with operation + line counts ([58757f0](https://github.com/ironbee-ai/ironbee-cli/commit/58757f00f373df59abc13767beb1a247aadac3c2))
8
+
9
+ ## 0.6.1 (2026-04-27)
10
+
11
+ ### Bug Fixes
12
+
13
+ * **activity:** close dangling cycles on compact mid-activity ([51d6f1c](https://github.com/ironbee-ai/ironbee-cli/commit/51d6f1c55a48174e04f65a30b0ba4125d25e179e))
14
+
3
15
  ## 0.6.0 (2026-04-26)
4
16
 
5
17
  ### Features
@@ -28,8 +28,8 @@ function parseEntries(actionsFile) {
28
28
  }
29
29
  function analyzeCodeChanges(actionsFile) {
30
30
  const entries = parseEntries(actionsFile);
31
- // Collect all file_edit entries
32
- const fileEdits = entries.filter((e) => e.type === "file_edit");
31
+ // Collect all file_change entries
32
+ const fileEdits = entries.filter((e) => e.type === "file_change");
33
33
  if (fileEdits.length === 0) {
34
34
  return null;
35
35
  }
@@ -73,7 +73,7 @@ function analyzeCodeChanges(actionsFile) {
73
73
  verificationCount++;
74
74
  continue;
75
75
  }
76
- if (entry.type === "file_edit") {
76
+ if (entry.type === "file_change") {
77
77
  const filePath = entry.file_path;
78
78
  if (inFixPhase) {
79
79
  fixEditCount++;
@@ -1 +1 @@
1
- {"version":3,"file":"code-changes.js","sourceRoot":"","sources":["../../src/analysis/code-changes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-changes.js","sourceRoot":"","sources":["../../src/analysis/code-changes.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA0CH,gDAqIC;AA7KD,2BAA8C;AAmB9C,SAAS,YAAY,CAAC,WAAmB;IACrC,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAW,IAAA,iBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAa,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChG,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC;YACD,MAAM,KAAK,GAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACL,uBAAuB;QAC3B,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAgB,kBAAkB,CAAC,WAAmB;IAClD,MAAM,OAAO,GAAkB,YAAY,CAAC,WAAW,CAAC,CAAC;IAEzD,kCAAkC;IAClC,MAAM,SAAS,GAAkB,OAAO,CAAC,MAAM,CAC3C,CAAC,CAAc,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CACxD,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,cAAc,GAAW,SAAS,CAAC,MAAM,CAAC;IAEhD,eAAe;IACf,MAAM,WAAW,GAAgB,IAAI,GAAG,EAAU,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAY,IAAgC,CAAC,SAAmB,CAAC;QAC/E,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IACD,MAAM,iBAAiB,GAAW,WAAW,CAAC,IAAI,CAAC;IAEnD,8CAA8C;IAC9C,IAAI,UAAU,GAAY,KAAK,CAAC;IAChC,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,eAAe,GAAW,CAAC,CAAC;IAChC,IAAI,YAAY,GAAW,CAAC,CAAC;IAC7B,IAAI,iBAAiB,GAAW,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAW,CAAC,CAAC;IAEzB,iBAAiB;IACjB,MAAM,cAAc,GAAwB,IAAI,GAAG,EAAkB,CAAC;IACtE,MAAM,iBAAiB,GAAwB,IAAI,GAAG,EAAkB,CAAC;IAEzE,oEAAoE;IACpE,MAAM,aAAa,GAA6B,IAAI,GAAG,EAAuB,CAAC;IAE/E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC7B,UAAU,GAAG,IAAI,CAAC;YAClB,YAAY,GAAI,KAAiC,CAAC,MAAgB,CAAC;YACnE,QAAQ,EAAE,CAAC;YACX,SAAS;QACb,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,UAAU,GAAG,KAAK,CAAC;YACnB,YAAY,GAAG,IAAI,CAAC;YACpB,SAAS;QACb,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACtC,UAAU,GAAG,KAAK,CAAC;YACnB,YAAY,GAAG,IAAI,CAAC;YACpB,iBAAiB,EAAE,CAAC;YACpB,SAAS;QACb,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAwB,KAAiC,CAAC,SAA+B,CAAC;YAExG,IAAI,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC/B,MAAM,YAAY,GAAW,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAClE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;oBAElD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;wBACnC,IAAI,MAAM,GAA4B,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;4BACvB,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;4BAC3B,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACxC,CAAC;wBACD,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,eAAe,EAAE,CAAC;YACtB,CAAC;YAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,YAAY,GAAW,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/D,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,MAAM,0BAA0B,GAAW,iBAAiB,GAAG,CAAC;QAC5D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;QAC7D,CAAC,CAAC,CAAC,CAAC;IAER,4CAA4C;IAC5C,MAAM,kBAAkB,GAAW,QAAQ,GAAG,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;QACjD,CAAC,CAAC,CAAC,CAAC;IAER,sCAAsC;IACtC,MAAM,YAAY,GAAgB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,cAAc,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAW,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9D,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,QAAQ,GAAgB,CAAC,GAAG,YAAY,CAAC;SAC1C,IAAI,CAAC,CAAC,CAAY,EAAE,CAAY,EAAU,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;SACvE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjB,8EAA8E;IAC9E,MAAM,gBAAgB,GAAgB,CAAC,GAAG,YAAY,CAAC;SAClD,MAAM,CAAC,CAAC,CAAY,EAAW,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;SACrD,IAAI,CAAC,CAAC,CAAY,EAAE,CAAY,EAAU,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;SAC7E,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjB,0DAA0D;IAC1D,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YACnB,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,OAAO;QACH,cAAc;QACd,iBAAiB;QACjB,0BAA0B;QAC1B,kBAAkB;QAClB,QAAQ;QACR,gBAAgB;QAChB,cAAc;KACjB,CAAC;AACN,CAAC"}
@@ -1,11 +1,16 @@
1
1
  /**
2
2
  * Claude Code — clear-verdict hook adapter
3
3
  *
4
- * Reads Claude Code's stdin format, extracts session_id,
5
- * then delegates to the shared core logic.
4
+ * PostToolUse hook for Write|Edit. Records a `file_change` event with
5
+ * `operation` + line counts and clears the verdict.
6
6
  *
7
- * Only records file_edit and clears verdict for files with
8
- * extensions in the verifyExtensions whitelist.
7
+ * - Edit → operation:"update", lines diffed from old_string/new_string
8
+ * - Write operation derived from PreToolUse stash (create vs update);
9
+ * lines_added counts the new content, lines_removed is null
10
+ * on overwrite (we deliberately don't pre-read old content).
11
+ *
12
+ * Skips files that don't match the verifyPatterns config and the verdict
13
+ * file itself, mirroring the original behavior.
9
14
  */
10
15
  export declare function run(projectDir: string): Promise<void>;
11
16
  //# sourceMappingURL=clear-verdict.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clear-verdict.d.ts","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/clear-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqD3D"}
1
+ {"version":3,"file":"clear-verdict.d.ts","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/clear-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA6DH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D3D"}
@@ -2,20 +2,54 @@
2
2
  /**
3
3
  * Claude Code — clear-verdict hook adapter
4
4
  *
5
- * Reads Claude Code's stdin format, extracts session_id,
6
- * then delegates to the shared core logic.
5
+ * PostToolUse hook for Write|Edit. Records a `file_change` event with
6
+ * `operation` + line counts and clears the verdict.
7
7
  *
8
- * Only records file_edit and clears verdict for files with
9
- * extensions in the verifyExtensions whitelist.
8
+ * - Edit → operation:"update", lines diffed from old_string/new_string
9
+ * - Write operation derived from PreToolUse stash (create vs update);
10
+ * lines_added counts the new content, lines_removed is null
11
+ * on overwrite (we deliberately don't pre-read old content).
12
+ *
13
+ * Skips files that don't match the verifyPatterns config and the verdict
14
+ * file itself, mirroring the original behavior.
10
15
  */
11
16
  Object.defineProperty(exports, "__esModule", { value: true });
12
17
  exports.run = run;
13
18
  const clear_verdict_1 = require("../../../hooks/core/clear-verdict");
14
19
  const actions_1 = require("../../../hooks/core/actions");
15
20
  const session_state_1 = require("../../../hooks/core/session-state");
21
+ const tool_use_stash_1 = require("../../../hooks/core/tool-use-stash");
22
+ const file_diff_1 = require("../../../hooks/core/file-diff");
16
23
  const config_1 = require("../../../lib/config");
17
24
  const logger_1 = require("../../../lib/logger");
18
25
  const stdin_1 = require("../../../lib/stdin");
26
+ function deriveChangeFacts(input, sessionId) {
27
+ const tool = input.tool_name;
28
+ const ti = input.tool_input;
29
+ if (!ti) {
30
+ return null;
31
+ }
32
+ if (tool === "Edit") {
33
+ const oldStr = ti.old_string ?? "";
34
+ const newStr = ti.new_string ?? "";
35
+ const counts = (0, file_diff_1.diffLineCounts)(oldStr, newStr);
36
+ return { tool_name: "Edit", operation: "update", lines_added: counts.added, lines_removed: counts.removed };
37
+ }
38
+ if (tool === "Write") {
39
+ const content = ti.content ?? "";
40
+ const stash = input.tool_use_id
41
+ ? (0, tool_use_stash_1.consumeToolUseData)(sessionId, input.tool_use_id)
42
+ : null;
43
+ const fileExisted = stash?.file_existed ?? false;
44
+ return {
45
+ tool_name: "Write",
46
+ operation: fileExisted ? "update" : "create",
47
+ lines_added: (0, file_diff_1.countLines)(content),
48
+ lines_removed: fileExisted ? null : 0,
49
+ };
50
+ }
51
+ return null;
52
+ }
19
53
  async function run(projectDir) {
20
54
  let sessionId = "default";
21
55
  let input;
@@ -28,18 +62,15 @@ async function run(projectDir) {
28
62
  logger_1.logger.debug(`failed to parse stdin: ${e}`);
29
63
  process.exit(0);
30
64
  }
31
- // skip clear if the write target is the verdict file itself
32
65
  const writtenFile = input.tool_input?.file_path;
33
66
  if (writtenFile && writtenFile.includes(".ironbee/sessions/") && writtenFile.endsWith("verdict.json")) {
34
67
  logger_1.logger.debug(`skipping clear-verdict: write target is verdict file ${writtenFile}`);
35
68
  process.exit(0);
36
69
  }
37
- // skip if file path is missing — nothing to record
38
70
  if (!writtenFile) {
39
71
  logger_1.logger.debug("skipping clear-verdict: missing file_path in tool_input");
40
72
  process.exit(0);
41
73
  }
42
- // skip if file does not require verification
43
74
  const config = (0, config_1.loadConfig)(projectDir);
44
75
  if (!(0, config_1.requiresVerification)(writtenFile, config)) {
45
76
  logger_1.logger.debug(`skipping clear-verdict: file does not require verification (${writtenFile})`);
@@ -47,17 +78,24 @@ async function run(projectDir) {
47
78
  }
48
79
  const sessionDir = `${projectDir}/.ironbee/sessions/${sessionId}`;
49
80
  const actionsFile = `${sessionDir}/actions.jsonl`;
50
- // record file edit in actions.jsonl
51
- const fileEditEntry = {
81
+ const facts = deriveChangeFacts(input, sessionId);
82
+ if (!facts) {
83
+ logger_1.logger.debug(`skipping clear-verdict: unsupported tool ${input.tool_name}`);
84
+ process.exit(0);
85
+ }
86
+ const entry = {
52
87
  ...(0, actions_1.baseFields)(actionsFile),
53
- type: "file_edit",
88
+ type: "file_change",
54
89
  timestamp: Date.now(),
55
- tool_name: input.tool_name ?? "unknown",
90
+ tool_name: facts.tool_name,
56
91
  file_path: writtenFile,
92
+ operation: facts.operation,
93
+ lines_added: facts.lines_added,
94
+ lines_removed: facts.lines_removed,
57
95
  activity_id: (0, session_state_1.getActiveActivityId)(sessionDir),
58
96
  fix_id: (0, session_state_1.getActiveFixId)(sessionDir),
59
97
  };
60
- await (0, actions_1.appendAction)(actionsFile, fileEditEntry);
98
+ await (0, actions_1.appendAction)(actionsFile, entry);
61
99
  (0, clear_verdict_1.runClearVerdict)({
62
100
  verdictFile: `${projectDir}/.ironbee/sessions/${sessionId}/verdict.json`,
63
101
  sessionDir,
@@ -1 +1 @@
1
- {"version":3,"file":"clear-verdict.js","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/clear-verdict.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAiBH,kBAqDC;AApED,qEAAoE;AACpE,yDAAuF;AACvF,qEAAwF;AACxF,gDAAsF;AACtF,gDAAyD;AACzD,8CAA+C;AAUxC,KAAK,UAAU,GAAG,CAAC,UAAkB;IACxC,IAAI,SAAS,GAAW,SAAS,CAAC;IAClC,IAAI,KAA6B,CAAC;IAClC,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAA2B,CAAC;QAC1D,SAAS,GAAG,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC;QAC1C,IAAA,mBAAU,EAAC,GAAG,UAAU,sBAAsB,SAAS,cAAc,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,4DAA4D;IAC5D,MAAM,WAAW,GAAuB,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC;IACpE,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpG,eAAM,CAAC,KAAK,CAAC,wDAAwD,WAAW,EAAE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,6CAA6C;IAC7C,MAAM,MAAM,GAAkB,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,6BAAoB,EAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;QAC7C,eAAM,CAAC,KAAK,CAAC,+DAA+D,WAAW,GAAG,CAAC,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,UAAU,GAAW,GAAG,UAAU,sBAAsB,SAAS,EAAE,CAAC;IAC1E,MAAM,WAAW,GAAW,GAAG,UAAU,gBAAgB,CAAC;IAE1D,oCAAoC;IACpC,MAAM,aAAa,GAAmB;QAClC,GAAG,IAAA,oBAAU,EAAC,WAAW,CAAC;QAC1B,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;QACvC,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,IAAA,mCAAmB,EAAC,UAAU,CAAE;QAC7C,MAAM,EAAE,IAAA,8BAAc,EAAC,UAAU,CAAE;KACtC,CAAC;IACF,MAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAE/C,IAAA,+BAAe,EAAC;QACZ,WAAW,EAAE,GAAG,UAAU,sBAAsB,SAAS,eAAe;QACxE,UAAU;KACb,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"clear-verdict.js","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/clear-verdict.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  /**
2
2
  * Claude Code — require-verdict hook adapter
3
3
  *
4
- * PreToolUse hook for Write|Edit|MultiEdit — blocks file edits
5
- * if the agent used browser-devtools tools but hasn't submitted
6
- * a verdict yet. Forces the agent to submit a fail verdict
7
- * before fixing code.
4
+ * PreToolUse hook for Write|Edit — blocks file edits if the agent used
5
+ * browser-devtools tools but hasn't submitted a verdict yet. Forces the
6
+ * agent to submit a fail verdict before fixing code.
7
+ *
8
+ * Side effect: when `tool_name === "Write"`, stashes whether the target
9
+ * file already exists so the matching PostToolUse adapter can decide
10
+ * `operation: "create"` vs `"update"` (the file is always present in
11
+ * PostToolUse, so this distinction is only recoverable here).
8
12
  *
9
13
  * Exit 0 = allow edit
10
14
  * Exit 2 = block edit (stderr message shown to agent)
@@ -1 +1 @@
1
- {"version":3,"file":"require-verdict.d.ts","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/require-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B3D"}
1
+ {"version":3,"file":"require-verdict.d.ts","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/require-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC3D"}
@@ -2,18 +2,24 @@
2
2
  /**
3
3
  * Claude Code — require-verdict hook adapter
4
4
  *
5
- * PreToolUse hook for Write|Edit|MultiEdit — blocks file edits
6
- * if the agent used browser-devtools tools but hasn't submitted
7
- * a verdict yet. Forces the agent to submit a fail verdict
8
- * before fixing code.
5
+ * PreToolUse hook for Write|Edit — blocks file edits if the agent used
6
+ * browser-devtools tools but hasn't submitted a verdict yet. Forces the
7
+ * agent to submit a fail verdict before fixing code.
8
+ *
9
+ * Side effect: when `tool_name === "Write"`, stashes whether the target
10
+ * file already exists so the matching PostToolUse adapter can decide
11
+ * `operation: "create"` vs `"update"` (the file is always present in
12
+ * PostToolUse, so this distinction is only recoverable here).
9
13
  *
10
14
  * Exit 0 = allow edit
11
15
  * Exit 2 = block edit (stderr message shown to agent)
12
16
  */
13
17
  Object.defineProperty(exports, "__esModule", { value: true });
14
18
  exports.run = run;
19
+ const fs_1 = require("fs");
15
20
  const actions_1 = require("../../../hooks/core/actions");
16
21
  const activity_1 = require("../../../hooks/core/activity");
22
+ const tool_use_stash_1 = require("../../../hooks/core/tool-use-stash");
17
23
  const logger_1 = require("../../../lib/logger");
18
24
  const stdin_1 = require("../../../lib/stdin");
19
25
  async function run(projectDir) {
@@ -39,6 +45,10 @@ Then you can edit code to fix the issues.
39
45
  `);
40
46
  process.exit(2);
41
47
  }
48
+ if (input.tool_name === "Write" && input.tool_input?.file_path && input.tool_use_id) {
49
+ const state = { file_existed: (0, fs_1.existsSync)(input.tool_input.file_path) };
50
+ (0, tool_use_stash_1.stashToolUseData)(sessionId, input.tool_use_id, state);
51
+ }
42
52
  await (0, activity_1.startActivity)({ sessionDir, actionsFile, source: "pre_tool_use" });
43
53
  process.exit(0);
44
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"require-verdict.js","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/require-verdict.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAeH,kBA6BC;AA1CD,yDAA2E;AAC3E,2DAA6D;AAC7D,gDAAyD;AACzD,8CAA+C;AAUxC,KAAK,UAAU,GAAG,CAAC,UAAkB;IACxC,IAAI,KAA4B,CAAC;IACjC,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAA0B,CAAC;IAC7D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC;IACxD,IAAA,mBAAU,EAAC,GAAG,UAAU,sBAAsB,SAAS,cAAc,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAW,GAAG,UAAU,sBAAsB,SAAS,EAAE,CAAC;IAC1E,MAAM,WAAW,GAAW,GAAG,UAAU,gBAAgB,CAAC;IAE1D,IAAI,IAAA,sCAA4B,EAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;yBAGJ,SAAS;;;CAGjC,CAAC,CAAC;QACK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,IAAA,wBAAa,EAAC,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAEzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"require-verdict.js","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/require-verdict.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAkBH,kBAkCC;AAlDD,2BAAgC;AAChC,yDAA2E;AAC3E,2DAA6D;AAC7D,uEAAsF;AACtF,gDAAyD;AACzD,8CAA+C;AAWxC,KAAK,UAAU,GAAG,CAAC,UAAkB;IACxC,IAAI,KAA4B,CAAC;IACjC,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAA0B,CAAC;IAC7D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC;IACxD,IAAA,mBAAU,EAAC,GAAG,UAAU,sBAAsB,SAAS,cAAc,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAW,GAAG,UAAU,sBAAsB,SAAS,EAAE,CAAC;IAC1E,MAAM,WAAW,GAAW,GAAG,UAAU,gBAAgB,CAAC;IAE1D,IAAI,IAAA,sCAA4B,EAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;yBAGJ,SAAS;;;CAGjC,CAAC,CAAC;QACK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,SAAS,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAClF,MAAM,KAAK,GAAmB,EAAE,YAAY,EAAE,IAAA,eAAU,EAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACvF,IAAA,iCAAgB,EAAC,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,IAAA,wBAAa,EAAC,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAEzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-start.d.ts","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/session-start.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+E3D"}
1
+ {"version":3,"file":"session-start.d.ts","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/session-start.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmF3D"}
@@ -42,9 +42,14 @@ async function run(projectDir) {
42
42
  source: input.source ?? "unknown",
43
43
  };
44
44
  await (0, actions_1.appendAction)(actionsFile, entry);
45
- // reconcile state on startup/resume/clear but NOT on compact
46
- // (compact just compresses context, session continues mid-flow)
47
- if (input.source !== "compact") {
45
+ // Compact is a turn boundary: any open activity / verification / fix
46
+ // would otherwise dangle since Stop doesn't fire before compact rewrites
47
+ // the context. Close them with reason="compact"; preserve session-scoped
48
+ // state (retries, lastVerdictStatus, verdict file).
49
+ if (input.source === "compact") {
50
+ await (0, session_state_1.reconcileForCompact)(sessionDir, actionsFile, actions_1.appendAction);
51
+ }
52
+ else {
48
53
  await (0, session_state_1.reconcileSessionState)(sessionDir, actionsFile, actions_1.appendAction);
49
54
  }
50
55
  await (0, telemetry_1.trackSessionStart)("claude", sessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/session-start.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAeH,kBA+EC;AA5FD,yDAA2F;AAC3F,qEAAwF;AACxF,kCAA6C;AAC7C,gDAAyD;AACzD,gDAAmD;AACnD,8CAA+C;AAC/C,sDAA2D;AAOpD,KAAK,UAAU,GAAG,CAAC,UAAkB;IACxC,IAAI,KAA8B,CAAC;IACnC,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAA4B,CAAC;IAC/D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC;IACxD,MAAM,WAAW,GAAW,GAAG,UAAU,sBAAsB,SAAS,gBAAgB,CAAC;IACzF,IAAA,mBAAU,EAAC,GAAG,UAAU,sBAAsB,SAAS,cAAc,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAW,GAAG,UAAU,sBAAsB,SAAS,EAAE,CAAC;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,6DAA6D;IAC7D,IAAA,4BAAY,EAAC,UAAU,EAAE,IAAA,yBAAkB,GAAE,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAuB;QAC9B,GAAG,IAAA,oBAAU,EAAC,WAAW,CAAC;QAC1B,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;KACpC,CAAC;IAEF,MAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEvC,+DAA+D;IAC/D,gEAAgE;IAChE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAA,qCAAqB,EAAC,UAAU,EAAE,WAAW,EAAE,sBAAY,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,IAAA,6BAAiB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,eAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,KAAK,KAAK,CAAC,MAAM,IAAI,SAAS,GAAG,CAAC,CAAC;IAE3E,MAAM,WAAW,GAAW,IAAI,CAAC,SAAS,CAAC;QACvC,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,CAAC,qCAAqC,CAAC;QACrD,MAAM,EAAE,CAAC,2BAA2B,EAAE,0BAA0B,CAAC;QACjE,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,CAAC;KACtB,CAAC,CAAC;IACH,MAAM,WAAW,GAAW,IAAI,CAAC,SAAS,CAAC;QACvC,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,CAAC,qCAAqC,CAAC;QACrD,MAAM,EAAE,CAAC,cAAc,EAAE,4BAA4B,CAAC;QACtD,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,iCAAiC,EAAE,sBAAsB,CAAC;KACtE,CAAC,CAAC;IAEH,IAAA,qBAAY,EAAC;;;;cAIH,SAAS;;;;;;;;UAQb,WAAW;;;UAGX,WAAW;;;;;;CAMpB,EAAE,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../../src/clients/claude/hooks/session-start.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAeH,kBAmFC;AAhGD,yDAA2F;AAC3F,qEAA6G;AAC7G,kCAA6C;AAC7C,gDAAyD;AACzD,gDAAmD;AACnD,8CAA+C;AAC/C,sDAA2D;AAOpD,KAAK,UAAU,GAAG,CAAC,UAAkB;IACxC,IAAI,KAA8B,CAAC;IACnC,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAA4B,CAAC;IAC/D,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC;IACxD,MAAM,WAAW,GAAW,GAAG,UAAU,sBAAsB,SAAS,gBAAgB,CAAC;IACzF,IAAA,mBAAU,EAAC,GAAG,UAAU,sBAAsB,SAAS,cAAc,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAW,GAAG,UAAU,sBAAsB,SAAS,EAAE,CAAC;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,6DAA6D;IAC7D,IAAA,4BAAY,EAAC,UAAU,EAAE,IAAA,yBAAkB,GAAE,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAuB;QAC9B,GAAG,IAAA,oBAAU,EAAC,WAAW,CAAC;QAC1B,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;KACpC,CAAC;IAEF,MAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEvC,qEAAqE;IACrE,yEAAyE;IACzE,yEAAyE;IACzE,oDAAoD;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAA,mCAAmB,EAAC,UAAU,EAAE,WAAW,EAAE,sBAAY,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACJ,MAAM,IAAA,qCAAqB,EAAC,UAAU,EAAE,WAAW,EAAE,sBAAY,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,IAAA,6BAAiB,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,eAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,KAAK,KAAK,CAAC,MAAM,IAAI,SAAS,GAAG,CAAC,CAAC;IAE3E,MAAM,WAAW,GAAW,IAAI,CAAC,SAAS,CAAC;QACvC,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,CAAC,qCAAqC,CAAC;QACrD,MAAM,EAAE,CAAC,2BAA2B,EAAE,0BAA0B,CAAC;QACjE,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,CAAC;KACtB,CAAC,CAAC;IACH,MAAM,WAAW,GAAW,IAAI,CAAC,SAAS,CAAC;QACvC,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,CAAC,qCAAqC,CAAC;QACrD,MAAM,EAAE,CAAC,cAAc,EAAE,4BAA4B,CAAC;QACtD,cAAc,EAAE,CAAC;QACjB,gBAAgB,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,iCAAiC,EAAE,sBAAsB,CAAC;KACtE,CAAC,CAAC;IAEH,IAAA,qBAAY,EAAC;;;;cAIH,SAAS;;;;;;;;UAQb,WAAW;;;UAGX,WAAW;;;;;;CAMpB,EAAE,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/claude/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA+ClC,qBAAa,YAAa,YAAW,OAAO;IACxC,SAAgB,IAAI,EAAE,MAAM,CAAY;IAEjC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAInC,iBAAiB,IAAI,MAAM;IAI3B,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IA2CjC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK1C,OAAO,CAAC,gBAAgB;IAyBX,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAoJxB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,gBAAgB;CAgC3B;AAuBD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAG1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/clients/claude/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA+ClC,qBAAa,YAAa,YAAW,OAAO;IACxC,SAAgB,IAAI,EAAE,MAAM,CAAY;IAEjC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAInC,iBAAiB,IAAI,MAAM;IAI3B,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IA2CjC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK1C,OAAO,CAAC,gBAAgB;IAyBX,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IA2JxB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,gBAAgB;CAgC3B;AAuBD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAG1D"}
@@ -126,9 +126,17 @@ class ClaudeClient {
126
126
  if (!settings.hooks) {
127
127
  settings.hooks = {};
128
128
  }
129
- // remove existing ironbee entries first (for re-install)
129
+ // remove existing ironbee entries first (for re-install). Drop the
130
+ // event-type key entirely when the filtered list is empty so retired
131
+ // matchers don't leave orphan `[]` keys in settings.json.
130
132
  for (const eventType of Object.keys(settings.hooks)) {
131
- settings.hooks[eventType] = settings.hooks[eventType].filter((entry) => !this.isIronBeeHook(entry));
133
+ const filtered = settings.hooks[eventType].filter((entry) => !this.isIronBeeHook(entry));
134
+ if (filtered.length === 0) {
135
+ delete settings.hooks[eventType];
136
+ }
137
+ else {
138
+ settings.hooks[eventType] = filtered;
139
+ }
132
140
  }
133
141
  // ── SessionStart — record session, output instructions ──
134
142
  if (!settings.hooks.SessionStart) {
@@ -171,7 +179,7 @@ class ClaudeClient {
171
179
  });
172
180
  // ── PreToolUse — block edits if browser tools used without verdict ──
173
181
  settings.hooks.PreToolUse.push({
174
- matcher: "Write|Edit|MultiEdit",
182
+ matcher: "Write|Edit",
175
183
  hooks: [
176
184
  {
177
185
  type: "command",
@@ -184,7 +192,7 @@ class ClaudeClient {
184
192
  settings.hooks.PostToolUse = [];
185
193
  }
186
194
  settings.hooks.PostToolUse.push({
187
- matcher: "Write|Edit|MultiEdit",
195
+ matcher: "Write|Edit",
188
196
  hooks: [
189
197
  {
190
198
  type: "command",
@@ -256,7 +264,13 @@ class ClaudeClient {
256
264
  return;
257
265
  }
258
266
  for (const eventType of Object.keys(settings.hooks)) {
259
- settings.hooks[eventType] = settings.hooks[eventType].filter((entry) => !this.isIronBeeHook(entry));
267
+ const filtered = settings.hooks[eventType].filter((entry) => !this.isIronBeeHook(entry));
268
+ if (filtered.length === 0) {
269
+ delete settings.hooks[eventType];
270
+ }
271
+ else {
272
+ settings.hooks[eventType] = filtered;
273
+ }
260
274
  }
261
275
  (0, fs_1.writeFileSync)(settingsPath, JSON.stringify(settings, null, 2));
262
276
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/claude/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/claude/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,20 @@
1
1
  /**
2
2
  * Cursor — clear-verdict hook adapter
3
3
  *
4
- * afterFileEdit hook records file_edit and clears verdict
5
- * when a code file is edited. Cursor provides file_path
6
- * directly in the stdin payload.
4
+ * postToolUse hook for Write|StrReplace|Delete. Records a `file_change`
5
+ * event with `operation` + line counts and clears the verdict.
7
6
  *
8
- * NOTE: afterFileEdit is fire-and-forget output is ignored by Cursor.
7
+ * - StrReplace operation:"update", lines diffed from old_string/new_string
8
+ * - Write → operation derived from PreToolUse stash (create vs update);
9
+ * lines_added counts new contents, lines_removed null on overwrite
10
+ * - Delete → operation:"delete", lines_added:0, lines_removed:null
11
+ * (per design, we don't pre-read the file to count its lines)
12
+ *
13
+ * Replaces the previous afterFileEdit-based hook, which was subject to
14
+ * known reliability bugs in Cursor (silent batch-edit drops in 2.6.x and
15
+ * the always-empty old_string regression in 2.3.0).
16
+ *
17
+ * NOTE: this hook is fire-and-forget; output is ignored by Cursor.
9
18
  */
10
19
  export declare function run(projectDir: string): Promise<void>;
11
20
  //# sourceMappingURL=clear-verdict.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clear-verdict.d.ts","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/clear-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD3D"}
1
+ {"version":3,"file":"clear-verdict.d.ts","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/clear-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAmEH,wBAAsB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D3D"}
@@ -2,20 +2,61 @@
2
2
  /**
3
3
  * Cursor — clear-verdict hook adapter
4
4
  *
5
- * afterFileEdit hook records file_edit and clears verdict
6
- * when a code file is edited. Cursor provides file_path
7
- * directly in the stdin payload.
5
+ * postToolUse hook for Write|StrReplace|Delete. Records a `file_change`
6
+ * event with `operation` + line counts and clears the verdict.
8
7
  *
9
- * NOTE: afterFileEdit is fire-and-forget output is ignored by Cursor.
8
+ * - StrReplace operation:"update", lines diffed from old_string/new_string
9
+ * - Write → operation derived from PreToolUse stash (create vs update);
10
+ * lines_added counts new contents, lines_removed null on overwrite
11
+ * - Delete → operation:"delete", lines_added:0, lines_removed:null
12
+ * (per design, we don't pre-read the file to count its lines)
13
+ *
14
+ * Replaces the previous afterFileEdit-based hook, which was subject to
15
+ * known reliability bugs in Cursor (silent batch-edit drops in 2.6.x and
16
+ * the always-empty old_string regression in 2.3.0).
17
+ *
18
+ * NOTE: this hook is fire-and-forget; output is ignored by Cursor.
10
19
  */
11
20
  Object.defineProperty(exports, "__esModule", { value: true });
12
21
  exports.run = run;
13
22
  const clear_verdict_1 = require("../../../hooks/core/clear-verdict");
14
23
  const actions_1 = require("../../../hooks/core/actions");
15
24
  const session_state_1 = require("../../../hooks/core/session-state");
25
+ const tool_use_stash_1 = require("../../../hooks/core/tool-use-stash");
26
+ const file_diff_1 = require("../../../hooks/core/file-diff");
16
27
  const config_1 = require("../../../lib/config");
17
28
  const logger_1 = require("../../../lib/logger");
18
29
  const stdin_1 = require("../../../lib/stdin");
30
+ function deriveChangeFacts(input, sessionId) {
31
+ const tool = input.tool_name;
32
+ const ti = input.tool_input;
33
+ if (!ti) {
34
+ return null;
35
+ }
36
+ if (tool === "StrReplace") {
37
+ const oldStr = ti.old_string ?? "";
38
+ const newStr = ti.new_string ?? "";
39
+ const counts = (0, file_diff_1.diffLineCounts)(oldStr, newStr);
40
+ return { tool_name: "StrReplace", operation: "update", lines_added: counts.added, lines_removed: counts.removed };
41
+ }
42
+ if (tool === "Write") {
43
+ const contents = ti.contents ?? "";
44
+ const stash = input.tool_use_id
45
+ ? (0, tool_use_stash_1.consumeToolUseData)(sessionId, input.tool_use_id)
46
+ : null;
47
+ const fileExisted = stash?.file_existed ?? false;
48
+ return {
49
+ tool_name: "Write",
50
+ operation: fileExisted ? "update" : "create",
51
+ lines_added: (0, file_diff_1.countLines)(contents),
52
+ lines_removed: fileExisted ? null : 0,
53
+ };
54
+ }
55
+ if (tool === "Delete") {
56
+ return { tool_name: "Delete", operation: "delete", lines_added: 0, lines_removed: null };
57
+ }
58
+ return null;
59
+ }
19
60
  async function run(projectDir) {
20
61
  let input;
21
62
  try {
@@ -27,18 +68,15 @@ async function run(projectDir) {
27
68
  }
28
69
  const sessionId = input.conversation_id ?? "default";
29
70
  (0, logger_1.setLogFile)(`${projectDir}/.ironbee/sessions/${sessionId}/session.log`);
30
- const writtenFile = input.file_path;
31
- // skip clear if the write target is the verdict file itself
71
+ const writtenFile = input.tool_input?.path;
32
72
  if (writtenFile && writtenFile.includes(".ironbee/sessions/") && writtenFile.endsWith("verdict.json")) {
33
73
  logger_1.logger.debug(`skipping clear-verdict: write target is verdict file ${writtenFile}`);
34
74
  process.exit(0);
35
75
  }
36
- // skip if file path is missing — nothing to record
37
76
  if (!writtenFile) {
38
- logger_1.logger.debug("skipping clear-verdict: missing file_path in tool_input");
77
+ logger_1.logger.debug("skipping clear-verdict: missing path in tool_input");
39
78
  process.exit(0);
40
79
  }
41
- // skip if file does not require verification
42
80
  const config = (0, config_1.loadConfig)(projectDir);
43
81
  if (!(0, config_1.requiresVerification)(writtenFile, config)) {
44
82
  logger_1.logger.debug(`skipping clear-verdict: file does not require verification (${writtenFile})`);
@@ -46,17 +84,24 @@ async function run(projectDir) {
46
84
  }
47
85
  const sessionDir = `${projectDir}/.ironbee/sessions/${sessionId}`;
48
86
  const actionsFile = `${sessionDir}/actions.jsonl`;
49
- // record file edit in actions.jsonl
50
- const fileEditEntry = {
87
+ const facts = deriveChangeFacts(input, sessionId);
88
+ if (!facts) {
89
+ logger_1.logger.debug(`skipping clear-verdict: unsupported tool ${input.tool_name}`);
90
+ process.exit(0);
91
+ }
92
+ const entry = {
51
93
  ...(0, actions_1.baseFields)(actionsFile),
52
- type: "file_edit",
94
+ type: "file_change",
53
95
  timestamp: Date.now(),
54
- tool_name: "file_edit",
96
+ tool_name: facts.tool_name,
55
97
  file_path: writtenFile,
98
+ operation: facts.operation,
99
+ lines_added: facts.lines_added,
100
+ lines_removed: facts.lines_removed,
56
101
  activity_id: (0, session_state_1.getActiveActivityId)(sessionDir),
57
102
  fix_id: (0, session_state_1.getActiveFixId)(sessionDir),
58
103
  };
59
- await (0, actions_1.appendAction)(actionsFile, fileEditEntry);
104
+ await (0, actions_1.appendAction)(actionsFile, entry);
60
105
  (0, clear_verdict_1.runClearVerdict)({
61
106
  verdictFile: `${sessionDir}/verdict.json`,
62
107
  sessionDir,
@@ -1 +1 @@
1
- {"version":3,"file":"clear-verdict.js","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/clear-verdict.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAgBH,kBAuDC;AArED,qEAAoE;AACpE,yDAAuF;AACvF,qEAAwF;AACxF,gDAAsF;AACtF,gDAAyD;AACzD,8CAA+C;AASxC,KAAK,UAAU,GAAG,CAAC,UAAkB;IACxC,IAAI,KAA+B,CAAC;IACpC,IAAI,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAS,GAAE,CAA6B,CAAC;IAChE,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAW,KAAK,CAAC,eAAe,IAAI,SAAS,CAAC;IAC7D,IAAA,mBAAU,EAAC,GAAG,UAAU,sBAAsB,SAAS,cAAc,CAAC,CAAC;IAEvE,MAAM,WAAW,GAAuB,KAAK,CAAC,SAAS,CAAC;IAExD,4DAA4D;IAC5D,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpG,eAAM,CAAC,KAAK,CAAC,wDAAwD,WAAW,EAAE,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,6CAA6C;IAC7C,MAAM,MAAM,GAAkB,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,6BAAoB,EAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;QAC7C,eAAM,CAAC,KAAK,CAAC,+DAA+D,WAAW,GAAG,CAAC,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,UAAU,GAAW,GAAG,UAAU,sBAAsB,SAAS,EAAE,CAAC;IAE1E,MAAM,WAAW,GAAW,GAAG,UAAU,gBAAgB,CAAC;IAE1D,oCAAoC;IACpC,MAAM,aAAa,GAAmB;QAClC,GAAG,IAAA,oBAAU,EAAC,WAAW,CAAC;QAC1B,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,IAAA,mCAAmB,EAAC,UAAU,CAAE;QAC7C,MAAM,EAAE,IAAA,8BAAc,EAAC,UAAU,CAAE;KACtC,CAAC;IACF,MAAM,IAAA,sBAAY,EAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAE/C,IAAA,+BAAe,EAAC;QACZ,WAAW,EAAE,GAAG,UAAU,eAAe;QACzC,UAAU;KACb,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"clear-verdict.js","sourceRoot":"","sources":["../../../../src/clients/cursor/hooks/clear-verdict.ts"],"names":[],"mappings":"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"}