@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
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Tool-use scoped data stash.
3
+ *
4
+ * Bridges PreToolUse → PostToolUse for a single tool invocation. The
5
+ * matching post-adapter recovers small bits of pre-execution context
6
+ * that are no longer derivable after the tool has run — for example,
7
+ * whether the target file existed before a `Write` (so the postToolUse
8
+ * adapter can label the change `operation: "create"` vs `"update"`).
9
+ *
10
+ * Storage layout:
11
+ * `os.tmpdir()/ironbee/sessions/<session_id>/tool-uses/<tool_use_id>.json`
12
+ *
13
+ * Design notes:
14
+ * - **Why os.tmpdir() and not `.ironbee/sessions/<sid>/`?** The data
15
+ * here is tool-use scoped (millis-to-seconds lifetime), not session
16
+ * scoped. Co-locating it with `state.json` / `actions.jsonl` /
17
+ * `verdict.json` (which need to survive a whole session for replay,
18
+ * verify-gate, and analytics) is a category error.
19
+ * - **OS cleanup is the safety net.** Producers always intend to call
20
+ * `consumeToolUseData()` from the matching post-adapter, but some
21
+ * paths skip it (failed tool → postToolUseFailure routes to
22
+ * track-action only; verifyPatterns rejection in clear-verdict;
23
+ * verdict.json target). Those orphaned entries sit in tmp and get
24
+ * reaped by the OS's periodic /tmp cleanup. We don't bother with
25
+ * explicit garbage collection.
26
+ * - **Generic by design.** Each producer/consumer pair agrees on its
27
+ * own JSON shape; the stash module stays type-erased on disk. A
28
+ * "well-known" shape (`WriteEditState`) is co-located here for the
29
+ * existing Write create/update use case; future cases can declare
30
+ * their own next to their consumer.
31
+ */
32
+ /**
33
+ * Known stash shape: whether the target file existed before a `Write`
34
+ * tool ran. Read by `clear-verdict` to decide create vs update.
35
+ */
36
+ export interface WriteEditState {
37
+ file_existed: boolean;
38
+ }
39
+ export declare function stashToolUseData(sessionId: string, toolUseId: string, data: unknown): void;
40
+ export declare function consumeToolUseData<T>(sessionId: string, toolUseId: string): T | null;
41
+ //# sourceMappingURL=tool-use-stash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-use-stash.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/tool-use-stash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,YAAY,EAAE,OAAO,CAAC;CACzB;AAUD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAU1F;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAoBpF"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ /**
3
+ * Tool-use scoped data stash.
4
+ *
5
+ * Bridges PreToolUse → PostToolUse for a single tool invocation. The
6
+ * matching post-adapter recovers small bits of pre-execution context
7
+ * that are no longer derivable after the tool has run — for example,
8
+ * whether the target file existed before a `Write` (so the postToolUse
9
+ * adapter can label the change `operation: "create"` vs `"update"`).
10
+ *
11
+ * Storage layout:
12
+ * `os.tmpdir()/ironbee/sessions/<session_id>/tool-uses/<tool_use_id>.json`
13
+ *
14
+ * Design notes:
15
+ * - **Why os.tmpdir() and not `.ironbee/sessions/<sid>/`?** The data
16
+ * here is tool-use scoped (millis-to-seconds lifetime), not session
17
+ * scoped. Co-locating it with `state.json` / `actions.jsonl` /
18
+ * `verdict.json` (which need to survive a whole session for replay,
19
+ * verify-gate, and analytics) is a category error.
20
+ * - **OS cleanup is the safety net.** Producers always intend to call
21
+ * `consumeToolUseData()` from the matching post-adapter, but some
22
+ * paths skip it (failed tool → postToolUseFailure routes to
23
+ * track-action only; verifyPatterns rejection in clear-verdict;
24
+ * verdict.json target). Those orphaned entries sit in tmp and get
25
+ * reaped by the OS's periodic /tmp cleanup. We don't bother with
26
+ * explicit garbage collection.
27
+ * - **Generic by design.** Each producer/consumer pair agrees on its
28
+ * own JSON shape; the stash module stays type-erased on disk. A
29
+ * "well-known" shape (`WriteEditState`) is co-located here for the
30
+ * existing Write create/update use case; future cases can declare
31
+ * their own next to their consumer.
32
+ */
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ exports.stashToolUseData = stashToolUseData;
35
+ exports.consumeToolUseData = consumeToolUseData;
36
+ const fs_1 = require("fs");
37
+ const os_1 = require("os");
38
+ const path_1 = require("path");
39
+ const logger_1 = require("../../lib/logger");
40
+ const ROOT_DIR_NAME = "ironbee";
41
+ function stashDir(sessionId) {
42
+ return (0, path_1.join)((0, os_1.tmpdir)(), ROOT_DIR_NAME, "sessions", sessionId, "tool-uses");
43
+ }
44
+ function stashPath(sessionId, toolUseId) {
45
+ return (0, path_1.join)(stashDir(sessionId), `${toolUseId}.json`);
46
+ }
47
+ function stashToolUseData(sessionId, toolUseId, data) {
48
+ if (!sessionId || !toolUseId) {
49
+ return;
50
+ }
51
+ try {
52
+ (0, fs_1.mkdirSync)(stashDir(sessionId), { recursive: true });
53
+ (0, fs_1.writeFileSync)(stashPath(sessionId, toolUseId), JSON.stringify(data));
54
+ }
55
+ catch (e) {
56
+ logger_1.logger.debug(`failed to stash tool-use data for ${toolUseId}: ${e}`);
57
+ }
58
+ }
59
+ function consumeToolUseData(sessionId, toolUseId) {
60
+ if (!sessionId || !toolUseId) {
61
+ return null;
62
+ }
63
+ const path = stashPath(sessionId, toolUseId);
64
+ if (!(0, fs_1.existsSync)(path)) {
65
+ return null;
66
+ }
67
+ try {
68
+ const data = JSON.parse((0, fs_1.readFileSync)(path, "utf-8"));
69
+ try {
70
+ (0, fs_1.unlinkSync)(path);
71
+ }
72
+ catch (e) {
73
+ logger_1.logger.debug(`failed to remove tool-use stash ${path}: ${e}`);
74
+ }
75
+ return data;
76
+ }
77
+ catch (e) {
78
+ logger_1.logger.debug(`failed to read tool-use stash ${path}: ${e}`);
79
+ return null;
80
+ }
81
+ }
82
+ //# sourceMappingURL=tool-use-stash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-use-stash.js","sourceRoot":"","sources":["../../../src/hooks/core/tool-use-stash.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;AAyBH,4CAUC;AAED,gDAoBC;AAvDD,2BAAoF;AACpF,2BAA4B;AAC5B,+BAA4B;AAC5B,6CAA0C;AAE1C,MAAM,aAAa,GAAW,SAAS,CAAC;AAUxC,SAAS,QAAQ,CAAC,SAAiB;IAC/B,OAAO,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,SAAS,CAAC,SAAiB,EAAE,SAAiB;IACnD,OAAO,IAAA,WAAI,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,gBAAgB,CAAC,SAAiB,EAAE,SAAiB,EAAE,IAAa;IAChF,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO;IACX,CAAC;IACD,IAAI,CAAC;QACD,IAAA,cAAS,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,IAAA,kBAAa,EAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,qCAAqC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACL,CAAC;AAED,SAAgB,kBAAkB,CAAI,SAAiB,EAAE,SAAiB;IACtE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAW,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACD,MAAM,IAAI,GAAM,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAM,CAAC;QAC7D,IAAI,CAAC;YACD,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,eAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC"}
@@ -63,17 +63,17 @@ async function runVerifyGate(input) {
63
63
  const { sessionId: sid, sessionDir, actionsFile, verdictFile, maxRetries: inputMaxRetries } = input;
64
64
  const maxRetries = inputMaxRetries ?? DEFAULT_MAX_RETRIES;
65
65
  logger_1.logger.debug(`verify-gate: session=${sid} verdictExists=${(0, fs_1.existsSync)(verdictFile)}`);
66
- // ── Check 1: Were code files edited? ───────────────────
67
- const hasEdit = (0, actions_1.hasFileEditsSinceLastVerification)(actionsFile);
66
+ // ── Check 1: Were code files changed? ───────────────────
67
+ const hasEdit = (0, actions_1.hasFileChangesSinceLastVerification)(actionsFile);
68
68
  if (!hasEdit) {
69
- logger_1.logger.debug("no code edits detected, allowing completion");
69
+ logger_1.logger.debug("no code changes detected, allowing completion");
70
70
  await recordMarker(actionsFile, sessionDir, sid, "allow", "no_edits");
71
71
  return { action: "allow" };
72
72
  }
73
- // ── Check 2: Were required IronBee tools used AFTER the latest code edit? ─
73
+ // ── Check 2: Were required IronBee tools used AFTER the latest code change? ─
74
74
  // Only browser-devtools MCP tool calls count; bare tool_name (post-
75
75
  // taxonomy) is compared against REQUIRED_TOOLS.
76
- const toolCalls = (0, actions_1.getToolCallsSinceLastFileEdit)(actionsFile);
76
+ const toolCalls = (0, actions_1.getToolCallsSinceLastFileChange)(actionsFile);
77
77
  const usedToolNames = new Set(toolCalls
78
78
  .filter((t) => t.tool_type === "mcp" && t.mcp_server === MCP_SERVER)
79
79
  .map((t) => t.tool_name));
@@ -1 +1 @@
1
- {"version":3,"file":"verify-gate.js","sourceRoot":"","sources":["../../../src/hooks/core/verify-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-gate.js","sourceRoot":"","sources":["../../../src/hooks/core/verify-gate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ironbee-ai/cli",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "The CLI for IronBee — Verification and Intelligence Layer for Agentic Development",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -65,10 +65,12 @@
65
65
  },
66
66
  "dependencies": {
67
67
  "commander": "^12.1.0",
68
+ "diff": "^9.0.0",
68
69
  "picocolors": "^1.1.1"
69
70
  },
70
71
  "devDependencies": {
71
72
  "@release-it/conventional-changelog": "^9.0.4",
73
+ "@types/diff": "^7.0.2",
72
74
  "@types/jest": "^29.5.14",
73
75
  "@types/node": "^22.13.10",
74
76
  "@typescript-eslint/eslint-plugin": "^8.26.1",