@ironbee-ai/cli 0.8.2 → 0.9.0

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 (143) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +48 -17
  3. package/dist/clients/claude/commands/ironbee-verify.md +19 -106
  4. package/dist/clients/claude/hooks/clear-verdict.d.ts.map +1 -1
  5. package/dist/clients/claude/hooks/clear-verdict.js +25 -4
  6. package/dist/clients/claude/hooks/clear-verdict.js.map +1 -1
  7. package/dist/clients/claude/hooks/require-verdict.d.ts +3 -3
  8. package/dist/clients/claude/hooks/require-verdict.d.ts.map +1 -1
  9. package/dist/clients/claude/hooks/require-verdict.js +26 -8
  10. package/dist/clients/claude/hooks/require-verdict.js.map +1 -1
  11. package/dist/clients/claude/hooks/require-verification.d.ts +6 -5
  12. package/dist/clients/claude/hooks/require-verification.d.ts.map +1 -1
  13. package/dist/clients/claude/hooks/require-verification.js +20 -17
  14. package/dist/clients/claude/hooks/require-verification.js.map +1 -1
  15. package/dist/clients/claude/hooks/track-action-monitor.d.ts.map +1 -1
  16. package/dist/clients/claude/hooks/track-action-monitor.js +4 -1
  17. package/dist/clients/claude/hooks/track-action-monitor.js.map +1 -1
  18. package/dist/clients/claude/hooks/track-action.d.ts +11 -8
  19. package/dist/clients/claude/hooks/track-action.d.ts.map +1 -1
  20. package/dist/clients/claude/hooks/track-action.js +14 -9
  21. package/dist/clients/claude/hooks/track-action.js.map +1 -1
  22. package/dist/clients/claude/index.d.ts.map +1 -1
  23. package/dist/clients/claude/index.js +79 -18
  24. package/dist/clients/claude/index.js.map +1 -1
  25. package/dist/clients/claude/platforms/command-verify.backend.md +74 -0
  26. package/dist/clients/claude/platforms/command-verify.browser.md +108 -0
  27. package/dist/clients/claude/platforms/command-verify.node.md +67 -0
  28. package/dist/clients/claude/platforms/rule.backend.md +23 -0
  29. package/dist/clients/claude/platforms/rule.browser.md +17 -0
  30. package/dist/clients/claude/{fragments → platforms}/rule.node.md +3 -3
  31. package/dist/clients/claude/platforms/skill.backend.md +65 -0
  32. package/dist/clients/claude/platforms/skill.browser.md +31 -0
  33. package/dist/clients/claude/{fragments → platforms}/skill.node.md +2 -2
  34. package/dist/clients/claude/rules/ironbee-verification.md +14 -13
  35. package/dist/clients/claude/skills/ironbee-verification.md +19 -49
  36. package/dist/clients/cursor/commands/ironbee-verify/SKILL.md +21 -108
  37. package/dist/clients/cursor/hooks/clear-verdict.d.ts.map +1 -1
  38. package/dist/clients/cursor/hooks/clear-verdict.js +31 -5
  39. package/dist/clients/cursor/hooks/clear-verdict.js.map +1 -1
  40. package/dist/clients/cursor/hooks/require-verdict.d.ts +1 -1
  41. package/dist/clients/cursor/hooks/require-verdict.d.ts.map +1 -1
  42. package/dist/clients/cursor/hooks/require-verdict.js +27 -6
  43. package/dist/clients/cursor/hooks/require-verdict.js.map +1 -1
  44. package/dist/clients/cursor/hooks/require-verification.d.ts.map +1 -1
  45. package/dist/clients/cursor/hooks/require-verification.js +9 -5
  46. package/dist/clients/cursor/hooks/require-verification.js.map +1 -1
  47. package/dist/clients/cursor/hooks/track-action-monitor.d.ts.map +1 -1
  48. package/dist/clients/cursor/hooks/track-action-monitor.js +4 -1
  49. package/dist/clients/cursor/hooks/track-action-monitor.js.map +1 -1
  50. package/dist/clients/cursor/hooks/track-action.d.ts +14 -12
  51. package/dist/clients/cursor/hooks/track-action.d.ts.map +1 -1
  52. package/dist/clients/cursor/hooks/track-action.js +25 -16
  53. package/dist/clients/cursor/hooks/track-action.js.map +1 -1
  54. package/dist/clients/cursor/index.d.ts.map +1 -1
  55. package/dist/clients/cursor/index.js +45 -11
  56. package/dist/clients/cursor/index.js.map +1 -1
  57. package/dist/clients/cursor/platforms/command-verify.backend.md +74 -0
  58. package/dist/clients/cursor/platforms/command-verify.browser.md +108 -0
  59. package/dist/clients/cursor/platforms/command-verify.node.md +67 -0
  60. package/dist/clients/cursor/platforms/rule.backend.md +23 -0
  61. package/dist/clients/cursor/platforms/rule.browser.md +17 -0
  62. package/dist/clients/cursor/{fragments → platforms}/rule.node.md +3 -3
  63. package/dist/clients/cursor/platforms/skill.backend.md +65 -0
  64. package/dist/clients/cursor/platforms/skill.browser.md +31 -0
  65. package/dist/clients/cursor/{fragments → platforms}/skill.node.md +2 -2
  66. package/dist/clients/cursor/rules/ironbee-verification.mdc +14 -13
  67. package/dist/clients/cursor/skills/ironbee-verification.md +19 -49
  68. package/dist/commands/backend.d.ts +17 -0
  69. package/dist/commands/backend.d.ts.map +1 -0
  70. package/dist/commands/backend.js +58 -0
  71. package/dist/commands/backend.js.map +1 -0
  72. package/dist/commands/browser.d.ts +19 -0
  73. package/dist/commands/browser.d.ts.map +1 -0
  74. package/dist/commands/browser.js +60 -0
  75. package/dist/commands/browser.js.map +1 -0
  76. package/dist/commands/config.d.ts +45 -10
  77. package/dist/commands/config.d.ts.map +1 -1
  78. package/dist/commands/config.js +80 -28
  79. package/dist/commands/config.js.map +1 -1
  80. package/dist/commands/cycle-toggle.d.ts +89 -0
  81. package/dist/commands/cycle-toggle.d.ts.map +1 -0
  82. package/dist/commands/cycle-toggle.js +264 -0
  83. package/dist/commands/cycle-toggle.js.map +1 -0
  84. package/dist/commands/disable-verification.d.ts.map +1 -1
  85. package/dist/commands/disable-verification.js +5 -2
  86. package/dist/commands/disable-verification.js.map +1 -1
  87. package/dist/commands/enable-verification.d.ts.map +1 -1
  88. package/dist/commands/enable-verification.js +5 -2
  89. package/dist/commands/enable-verification.js.map +1 -1
  90. package/dist/commands/node.d.ts +16 -0
  91. package/dist/commands/node.d.ts.map +1 -0
  92. package/dist/commands/node.js +57 -0
  93. package/dist/commands/node.js.map +1 -0
  94. package/dist/commands/verification-toggle.d.ts +18 -1
  95. package/dist/commands/verification-toggle.d.ts.map +1 -1
  96. package/dist/commands/verification-toggle.js +96 -21
  97. package/dist/commands/verification-toggle.js.map +1 -1
  98. package/dist/hooks/core/actions.d.ts +20 -2
  99. package/dist/hooks/core/actions.d.ts.map +1 -1
  100. package/dist/hooks/core/actions.js.map +1 -1
  101. package/dist/hooks/core/file-diff.d.ts +17 -0
  102. package/dist/hooks/core/file-diff.d.ts.map +1 -1
  103. package/dist/hooks/core/file-diff.js +72 -0
  104. package/dist/hooks/core/file-diff.js.map +1 -1
  105. package/dist/hooks/core/tool-use-stash.d.ts +7 -1
  106. package/dist/hooks/core/tool-use-stash.d.ts.map +1 -1
  107. package/dist/hooks/core/tool-use-stash.js.map +1 -1
  108. package/dist/hooks/core/verify-gate.d.ts.map +1 -1
  109. package/dist/hooks/core/verify-gate.js +44 -14
  110. package/dist/hooks/core/verify-gate.js.map +1 -1
  111. package/dist/index.js +9 -6
  112. package/dist/index.js.map +1 -1
  113. package/dist/lib/config.d.ts +218 -36
  114. package/dist/lib/config.d.ts.map +1 -1
  115. package/dist/lib/config.js +359 -95
  116. package/dist/lib/config.js.map +1 -1
  117. package/dist/lib/gitignore.d.ts +26 -11
  118. package/dist/lib/gitignore.d.ts.map +1 -1
  119. package/dist/lib/gitignore.js +71 -24
  120. package/dist/lib/gitignore.js.map +1 -1
  121. package/dist/lib/platform-section.d.ts +126 -0
  122. package/dist/lib/platform-section.d.ts.map +1 -0
  123. package/dist/lib/platform-section.js +279 -0
  124. package/dist/lib/platform-section.js.map +1 -0
  125. package/package.json +1 -1
  126. package/dist/clients/claude/fragments/command-verify.node.md +0 -33
  127. package/dist/clients/cursor/fragments/command-verify.node.md +0 -33
  128. package/dist/commands/backend-toggle.d.ts +0 -45
  129. package/dist/commands/backend-toggle.d.ts.map +0 -1
  130. package/dist/commands/backend-toggle.js +0 -192
  131. package/dist/commands/backend-toggle.js.map +0 -1
  132. package/dist/commands/disable-backend.d.ts +0 -14
  133. package/dist/commands/disable-backend.d.ts.map +0 -1
  134. package/dist/commands/disable-backend.js +0 -34
  135. package/dist/commands/disable-backend.js.map +0 -1
  136. package/dist/commands/enable-backend.d.ts +0 -15
  137. package/dist/commands/enable-backend.d.ts.map +0 -1
  138. package/dist/commands/enable-backend.js +0 -35
  139. package/dist/commands/enable-backend.js.map +0 -1
  140. package/dist/lib/runtime-section.d.ts +0 -118
  141. package/dist/lib/runtime-section.d.ts.map +0 -1
  142. package/dist/lib/runtime-section.js +0 -256
  143. package/dist/lib/runtime-section.js.map +0 -1
@@ -34,19 +34,12 @@
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.applyVerificationToggle = applyVerificationToggle;
36
36
  const fs_1 = require("fs");
37
- const os_1 = require("os");
38
37
  const path_1 = require("path");
39
38
  const registry_1 = require("../clients/registry");
40
39
  const config_1 = require("../lib/config");
41
40
  const gitignore_1 = require("../lib/gitignore");
42
41
  const logger_1 = require("../lib/logger");
43
42
  const output_1 = require("../lib/output");
44
- function projectConfigPath(projectDir) {
45
- return (0, path_1.join)((0, path_1.resolve)(projectDir), ".ironbee", "config.json");
46
- }
47
- function globalConfigPath() {
48
- return (0, path_1.join)((0, os_1.homedir)(), ".ironbee", "config.json");
49
- }
50
43
  function readConfigFile(path) {
51
44
  if (!(0, fs_1.existsSync)(path)) {
52
45
  return {};
@@ -63,6 +56,49 @@ function writeConfigFile(path, config) {
63
56
  (0, fs_1.mkdirSync)((0, path_1.join)(path, ".."), { recursive: true });
64
57
  (0, fs_1.writeFileSync)(path, JSON.stringify(config, null, 2) + "\n");
65
58
  }
59
+ /**
60
+ * Read each layer's `verification.enable` value. Returns `undefined` for
61
+ * layers that don't have the key set (or that have malformed values).
62
+ *
63
+ * Used by override-detection to figure out which (if any) layer is
64
+ * shadowing a write to `target`.
65
+ */
66
+ function readVerificationEnableByLayer(projectDir) {
67
+ const result = {
68
+ global: undefined,
69
+ project: undefined,
70
+ local: undefined,
71
+ };
72
+ for (const layer of config_1.CONFIG_TARGETS_BY_PRECEDENCE) {
73
+ const path = (0, config_1.getTargetConfigPath)(layer, projectDir);
74
+ if (!(0, fs_1.existsSync)(path)) {
75
+ continue;
76
+ }
77
+ const raw = readConfigFile(path);
78
+ const v = raw.verification?.enable;
79
+ if (typeof v === "boolean") {
80
+ result[layer] = v;
81
+ }
82
+ }
83
+ return result;
84
+ }
85
+ /**
86
+ * Find the highest-priority layer ABOVE `target` that has a non-undefined
87
+ * `verification.enable` value. That layer (if any) overrides whatever we
88
+ * write to `target`. Returns null when no higher layer is shadowing.
89
+ */
90
+ function detectOverridingLayer(target, layerValues) {
91
+ const order = config_1.CONFIG_TARGETS_BY_PRECEDENCE;
92
+ const targetIdx = order.indexOf(target);
93
+ // Walk highest → lowest above target so we report the most-specific override.
94
+ for (let i = order.length - 1; i > targetIdx; i--) {
95
+ const layer = order[i];
96
+ if (layerValues[layer] !== undefined) {
97
+ return layer;
98
+ }
99
+ }
100
+ return null;
101
+ }
66
102
  /**
67
103
  * Apply the `enable` flag to client artifacts and persist the config.
68
104
  * Order: artifacts → config (see file header for why).
@@ -70,25 +106,64 @@ function writeConfigFile(path, config) {
70
106
  * Exported so both `enable-verification` and `disable-verification` commands
71
107
  * call the same code path; the only difference is the `enable` arg.
72
108
  *
109
+ * `target` selects which config layer to write:
110
+ * - `"project"` (default for the CLI) — committed `<project>/.ironbee/config.json`.
111
+ * - `"global"` (`-g` / `--global`) — `~/.ironbee/config.json`.
112
+ * - `"local"` (`--local`) — gitignored `<project>/.ironbee/config.local.json`.
113
+ *
73
114
  * `clientName` controls which clients receive new artifacts:
74
115
  * - "all" → every registered client
75
116
  * - <name> → just that one (throws on unknown name)
76
117
  * - undefined → detected clients; falls back to the first registered client
77
118
  * when nothing is detected (matches `install.ts`).
119
+ *
120
+ * Cross-layer awareness:
121
+ * - The no-op check uses both the targeted layer's value AND the merged
122
+ * effective value. If both already match `enable`, we bail (real no-op).
123
+ * - If the targeted layer already matches `enable` but the merged effective
124
+ * state disagrees, a higher-priority layer is shadowing the change. We
125
+ * don't touch artifacts — the user has another layer carrying the value;
126
+ * we print exactly which layer overrides and how to clear it. Without
127
+ * this guard, the function would silently no-op while leaving the
128
+ * installed artifacts in the shadowing layer's state, which is the
129
+ * surprising behavior we want to avoid.
78
130
  */
79
- function applyVerificationToggle(enable, projectDir, useGlobal, clientName) {
80
- const targetPath = useGlobal ? globalConfigPath() : projectConfigPath(projectDir);
81
- const targetLabel = useGlobal ? "global" : "project";
131
+ function applyVerificationToggle(enable, projectDir, target, clientName) {
132
+ const targetPath = (0, config_1.getTargetConfigPath)(target, projectDir);
82
133
  const onDisk = readConfigFile(targetPath);
83
- const currentlyEnabled = onDisk.verification?.enable !== false;
84
- if (currentlyEnabled === enable) {
85
- const word = enable ? "enabled" : "disabled";
86
- console.log(`${output_1.pc.dim("·")} Verification already ${word} in ${targetLabel} config (${output_1.pc.dim(targetPath)}). No-op.`);
134
+ const targetLayerValue = typeof onDisk.verification?.enable === "boolean"
135
+ ? onDisk.verification.enable
136
+ : undefined;
137
+ const targetLayerCurrent = targetLayerValue !== false;
138
+ const mergedBefore = (0, config_1.loadConfig)(projectDir);
139
+ const effectiveBefore = (0, config_1.getVerificationEnabled)(mergedBefore);
140
+ const word = enable ? "enabled" : "disabled";
141
+ if (targetLayerCurrent === enable && effectiveBefore === enable) {
142
+ // Both targeted layer and merged effective agree — true no-op.
143
+ console.log(`${output_1.pc.dim("·")} Verification already ${word} in ${target} config (${output_1.pc.dim(targetPath)}). No-op.`);
144
+ return;
145
+ }
146
+ if (targetLayerCurrent === enable && effectiveBefore !== enable) {
147
+ // Targeted layer matches the requested state, but a higher layer
148
+ // overrides. Don't pretend we fixed it — point the user at the
149
+ // overriding layer instead.
150
+ const layerValues = readVerificationEnableByLayer(projectDir);
151
+ const overriding = detectOverridingLayer(target, layerValues);
152
+ const effectiveWord = effectiveBefore ? "enabled" : "disabled";
153
+ console.log(`${output_1.pc.yellow("⚠")} ${target} config already has verification.enable: ${enable}, but the ${output_1.pc.bold(overriding ?? "another")} layer overrides it — effective state is ${output_1.pc.bold(effectiveWord)}.`);
154
+ if (overriding !== null) {
155
+ console.log(` ${output_1.pc.dim("Run")} ${output_1.pc.cyan(`ironbee config unset verification.enable --${overriding}`)} ${output_1.pc.dim("to drop the override, or run this command with")} ${output_1.pc.cyan(`--${overriding}`)} ${output_1.pc.dim("to flip the layer that's actually winning.")}`);
156
+ }
87
157
  return;
88
158
  }
89
- // Compute the merged config the artifacts should reflect.
90
- // loadConfig already merges global + project deeply; override the
91
- // verification key in the result so install sees the new state.
159
+ // Compute the merged config the artifacts should reflect. We apply the
160
+ // requested `enable` over the merged result (rather than re-loading
161
+ // post-write) because:
162
+ // 1. Ordering is artifacts-first / config-last for failure safety
163
+ // (see file header).
164
+ // 2. We've already proved above that no higher layer is shadowing,
165
+ // so writing to `target` will deterministically produce the
166
+ // requested merged value.
92
167
  const mergedConfig = (0, config_1.loadConfig)(projectDir);
93
168
  mergedConfig.verification = { enable };
94
169
  // Pick which clients to write to. Default is "detected" so we never
@@ -105,17 +180,17 @@ function applyVerificationToggle(enable, projectDir, useGlobal, clientName) {
105
180
  // install runs (or who skips install entirely) would otherwise see
106
181
  // session runtime artifacts surface in `git status`. Skipped in
107
182
  // `--global` mode — there's no project gitignore to write.
108
- if (!useGlobal) {
183
+ if (target !== "global") {
109
184
  (0, gitignore_1.ensureIronBeeGitignored)(projectDir);
110
185
  }
111
- // Artifacts succeeded — now persist the config flip.
186
+ // Artifacts succeeded — now persist the config flip to the targeted layer.
112
187
  const newConfig = { ...onDisk, verification: { enable } };
113
188
  writeConfigFile(targetPath, newConfig);
114
- const word = enable ? "Enabled" : "Disabled";
189
+ const successWord = enable ? "Enabled" : "Disabled";
115
190
  const modeNote = enable
116
191
  ? "Full enforcement set installed (skill, rule, /ironbee-verify, MCP servers, all hooks)."
117
192
  : "Monitoring-only mode — only session/activity/tool_call hooks are installed.";
118
- console.log(`${output_1.pc.green("✓")} ${word} verification in ${targetLabel} config (${output_1.pc.dim(targetPath)}).`);
193
+ console.log(`${output_1.pc.green("✓")} ${successWord} verification in ${target} config (${output_1.pc.dim(targetPath)}).`);
119
194
  console.log(` ${output_1.pc.dim(modeNote)}`);
120
195
  console.log(` ${output_1.pc.yellow("⚠")} Restart your editor / agent session for the change to take effect.`);
121
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verification-toggle.js","sourceRoot":"","sources":["../../src/commands/verification-toggle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-toggle.js","sourceRoot":"","sources":["../../src/commands/verification-toggle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;AAoHH,0DAgFC;AAlMD,2BAAwE;AACxE,+BAA4B;AAE5B,kDAA2D;AAC3D,0CAOuB;AACvB,gDAA2D;AAC3D,0CAAuC;AACvC,0CAAmC;AAMnC,SAAS,cAAc,CAAC,IAAY;IAChC,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAc,CAAC;IAChE,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,uBAAuB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,MAAiB;IACpD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,IAAA,kBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,6BAA6B,CAAC,UAAkB;IACrD,MAAM,MAAM,GAA8C;QACtD,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,SAAS;KACnB,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,qCAA4B,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAW,IAAA,4BAAmB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YACpB,SAAS;QACb,CAAC;QACD,MAAM,GAAG,GAAc,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAY,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC;QAC5C,IAAI,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC1B,MAAoB,EACpB,WAAsD;IAEtD,MAAM,KAAK,GAA4B,qCAA4B,CAAC;IACpE,MAAM,SAAS,GAAW,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,8EAA8E;IAC9E,KAAK,IAAI,CAAC,GAAW,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM,KAAK,GAAiB,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,SAAgB,uBAAuB,CACnC,MAAe,EACf,UAAkB,EAClB,MAAoB,EACpB,UAAmB;IAEnB,MAAM,UAAU,GAAW,IAAA,4BAAmB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEnE,MAAM,MAAM,GAAc,cAAc,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAwB,OAAO,MAAM,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS;QAC1F,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM;QAC5B,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,kBAAkB,GAAY,gBAAgB,KAAK,KAAK,CAAC;IAE/D,MAAM,YAAY,GAAkB,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAY,IAAA,+BAAsB,EAAC,YAAY,CAAC,CAAC;IAEtE,MAAM,IAAI,GAAW,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAErD,IAAI,kBAAkB,KAAK,MAAM,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;QAC9D,+DAA+D;QAC/D,OAAO,CAAC,GAAG,CAAC,GAAG,WAAE,CAAC,GAAG,CAAC,GAAG,CAAC,0BAA0B,IAAI,OAAO,MAAM,YAAY,WAAE,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAChH,OAAO;IACX,CAAC;IAED,IAAI,kBAAkB,KAAK,MAAM,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;QAC9D,iEAAiE;QACjE,+DAA+D;QAC/D,4BAA4B;QAC5B,MAAM,WAAW,GAA8C,6BAA6B,CAAC,UAAU,CAAC,CAAC;QACzG,MAAM,UAAU,GAAwB,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACnF,MAAM,aAAa,GAAW,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,GAAG,WAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,MAAM,4CAA4C,MAAM,aAAa,WAAE,CAAC,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,4CAA4C,WAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC9M,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,MAAM,WAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,WAAE,CAAC,IAAI,CAAC,8CAA8C,UAAU,EAAE,CAAC,IAAI,WAAE,CAAC,GAAG,CAAC,gDAAgD,CAAC,IAAI,WAAE,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC,IAAI,WAAE,CAAC,GAAG,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC;QAChQ,CAAC;QACD,OAAO;IACX,CAAC;IAED,uEAAuE;IACvE,oEAAoE;IACpE,uBAAuB;IACvB,oEAAoE;IACpE,0BAA0B;IAC1B,qEAAqE;IACrE,iEAAiE;IACjE,+BAA+B;IAC/B,MAAM,YAAY,GAAkB,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;IAC3D,YAAY,CAAC,YAAY,GAAG,EAAE,MAAM,EAAE,CAAC;IAEvC,oEAAoE;IACpE,sEAAsE;IACtE,MAAM,OAAO,GAAc,IAAA,+BAAoB,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxE,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,GAAG,WAAE,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,WAAE,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,WAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1I,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,0EAA0E;IAC1E,wEAAwE;IACxE,mEAAmE;IACnE,gEAAgE;IAChE,2DAA2D;IAC3D,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtB,IAAA,mCAAuB,EAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,2EAA2E;IAC3E,MAAM,SAAS,GAAc,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;IACrE,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAW,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5D,MAAM,QAAQ,GAAW,MAAM;QAC3B,CAAC,CAAC,wFAAwF;QAC1F,CAAC,CAAC,6EAA6E,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,GAAG,WAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,oBAAoB,MAAM,YAAY,WAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1G,OAAO,CAAC,GAAG,CAAC,MAAM,WAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,MAAM,WAAE,CAAC,MAAM,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;AAC5G,CAAC"}
@@ -144,8 +144,11 @@ export interface NodeProbeRef {
144
144
  *
145
145
  * Browser-cycle fields (`pages_tested`, `console_errors`, `network_failures`)
146
146
  * are populated when the browser cycle is active. Node-cycle fields
147
- * (`backend_node_*`) are populated when the node cycle is active. Multi-mode
148
- * verdicts populate the relevant fields for every active cycle. `checks` and
147
+ * (`backend_node_*`) are populated when the Node.js runtime debug cycle is
148
+ * active. Backend-cycle fields (`backend_endpoints_called`,
149
+ * `backend_response_statuses`, `backend_traces_collected`) are populated
150
+ * when the runtime-agnostic protocol cycle is active. Multi-cycle verdicts
151
+ * populate the relevant fields for every active cycle. `checks` and
149
152
  * `status` are shared across cycles.
150
153
  *
151
154
  * `console_errors` / `network_failures` carry counts (numbers) for backwards
@@ -167,6 +170,12 @@ export interface Verdict {
167
170
  backend_node_probe_snapshots_collected?: number;
168
171
  /** Error-level log lines from `ndt_debug_get-logs` (agent-filtered). */
169
172
  backend_node_log_errors?: string[];
173
+ /** Endpoints / services driven during verification, e.g. `"POST http://localhost:3000/api/orders"`. */
174
+ backend_endpoints_called?: string[];
175
+ /** HTTP / gRPC / GraphQL status codes captured (one per call in `backend_endpoints_called`, same order). */
176
+ backend_response_statuses?: number[];
177
+ /** W3C `traceparent` IDs returned by request_* tools (agent should preserve for correlation). */
178
+ backend_traces_collected?: string[];
170
179
  }
171
180
  export interface VerdictWriteAction extends VerificationAwareEvent {
172
181
  type: "verdict_write";
@@ -179,6 +188,15 @@ export interface FileChangeAction extends FixAwareEvent {
179
188
  tool_name: string;
180
189
  file_path: string;
181
190
  operation: FileChangeOperation;
191
+ /**
192
+ * Hunks-only unified-diff string (`@@ -A,B +C,D @@` headers + space/`-`/`+`
193
+ * content lines, no `Index:` / `---` / `+++` filename header — `file_path`
194
+ * already lives on this event). Present only when
195
+ * `fileChange.captureChangeset` is enabled in config; the default wire
196
+ * shape stays metadata-only. Truncated past
197
+ * `fileChange.maxChangesetBytes` (default 64 KB) with a footer line.
198
+ */
199
+ changeset?: string;
182
200
  /**
183
201
  * Lines added by this change. `null` when unknown (e.g. a `Write`
184
202
  * overwrite where we deliberately don't pre-read the prior content,
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/hooks/core/actions.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,23 @@ export interface DiffLineCounts {
10
10
  removed: number;
11
11
  }
12
12
  export declare function diffLineCounts(oldText: string, newText: string): DiffLineCounts;
13
+ /**
14
+ * Produce a hunks-only unified-diff string for the change from `oldText`
15
+ * to `newText`. Format mirrors `git diff` body (`@@ -A,B +C,D @@` headers
16
+ * plus space/`-`/`+` content lines) but **omits** the `Index:` / `---` /
17
+ * `+++` filename header — `file_path` already lives on the parent
18
+ * `FileChangeAction`, so duplicating it here is wasted bytes.
19
+ *
20
+ * Returns `null` when:
21
+ * - the inputs are byte-identical (no change to record)
22
+ * - either side looks like binary content
23
+ * - the structured diff produced no hunks (e.g. trailing-newline only)
24
+ *
25
+ * `maxBytes` caps the output: anything past the cap is replaced with a
26
+ * truncation footer so the wire payload stays bounded. The cap is applied
27
+ * to UTF-8 byte length, not character count.
28
+ */
29
+ export declare function createUnifiedDiff(oldText: string, newText: string, maxBytes: number): string | null;
13
30
  /**
14
31
  * Counts lines in a text blob. Treats a missing trailing newline as a
15
32
  * still-present last line ("a\nb" → 2 lines, "a\nb\n" → 2 lines), which
@@ -1 +1 @@
1
- {"version":3,"file":"file-diff.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/file-diff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAY/E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM/C"}
1
+ {"version":3,"file":"file-diff.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/file-diff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAY/E;AAoBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAoBf;AAqBD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM/C"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.diffLineCounts = diffLineCounts;
11
+ exports.createUnifiedDiff = createUnifiedDiff;
11
12
  exports.countLines = countLines;
12
13
  const diff_1 = require("diff");
13
14
  function diffLineCounts(oldText, newText) {
@@ -24,6 +25,77 @@ function diffLineCounts(oldText, newText) {
24
25
  }
25
26
  return { added, removed };
26
27
  }
28
+ const NUL_CHAR_CODE = 0;
29
+ const BINARY_SAMPLE_BYTES = 4096;
30
+ /**
31
+ * Heuristic binary detection: a NUL byte in the first ~4 KB strongly
32
+ * suggests non-text content. Mirrors what git uses for its own
33
+ * `binary`/`text` classification.
34
+ */
35
+ function looksBinary(text) {
36
+ const limit = Math.min(text.length, BINARY_SAMPLE_BYTES);
37
+ for (let i = 0; i < limit; i++) {
38
+ if (text.charCodeAt(i) === NUL_CHAR_CODE) {
39
+ return true;
40
+ }
41
+ }
42
+ return false;
43
+ }
44
+ /**
45
+ * Produce a hunks-only unified-diff string for the change from `oldText`
46
+ * to `newText`. Format mirrors `git diff` body (`@@ -A,B +C,D @@` headers
47
+ * plus space/`-`/`+` content lines) but **omits** the `Index:` / `---` /
48
+ * `+++` filename header — `file_path` already lives on the parent
49
+ * `FileChangeAction`, so duplicating it here is wasted bytes.
50
+ *
51
+ * Returns `null` when:
52
+ * - the inputs are byte-identical (no change to record)
53
+ * - either side looks like binary content
54
+ * - the structured diff produced no hunks (e.g. trailing-newline only)
55
+ *
56
+ * `maxBytes` caps the output: anything past the cap is replaced with a
57
+ * truncation footer so the wire payload stays bounded. The cap is applied
58
+ * to UTF-8 byte length, not character count.
59
+ */
60
+ function createUnifiedDiff(oldText, newText, maxBytes) {
61
+ if (oldText === newText) {
62
+ return null;
63
+ }
64
+ if (looksBinary(oldText) || looksBinary(newText)) {
65
+ return null;
66
+ }
67
+ const sp = (0, diff_1.structuredPatch)("", "", oldText, newText, "", "");
68
+ if (sp.hunks.length === 0) {
69
+ return null;
70
+ }
71
+ const out = [];
72
+ for (const h of sp.hunks) {
73
+ out.push(`@@ -${h.oldStart},${h.oldLines} +${h.newStart},${h.newLines} @@`);
74
+ for (const line of h.lines) {
75
+ out.push(line);
76
+ }
77
+ }
78
+ const body = out.join("\n") + "\n";
79
+ return truncateToBytes(body, maxBytes);
80
+ }
81
+ function truncateToBytes(s, maxBytes) {
82
+ if (maxBytes <= 0) {
83
+ return s;
84
+ }
85
+ const buf = Buffer.from(s, "utf-8");
86
+ if (buf.length <= maxBytes) {
87
+ return s;
88
+ }
89
+ const omitted = buf.length - maxBytes;
90
+ const footer = `\n... (truncated, ${omitted} bytes omitted)\n`;
91
+ const footerLen = Buffer.byteLength(footer, "utf-8");
92
+ const headLen = Math.max(0, maxBytes - footerLen);
93
+ // Slice on byte boundary; toString("utf-8") replaces any partial
94
+ // multi-byte sequence at the boundary with U+FFFD, which is fine
95
+ // for a debug-style payload.
96
+ const head = buf.subarray(0, headLen).toString("utf-8");
97
+ return head + footer;
98
+ }
27
99
  /**
28
100
  * Counts lines in a text blob. Treats a missing trailing newline as a
29
101
  * still-present last line ("a\nb" → 2 lines, "a\nb\n" → 2 lines), which
@@ -1 +1 @@
1
- {"version":3,"file":"file-diff.js","sourceRoot":"","sources":["../../../src/hooks/core/file-diff.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AASH,wCAYC;AAOD,gCAMC;AAhCD,+BAAyC;AAOzC,SAAgB,cAAc,CAAC,OAAe,EAAE,OAAe;IAC3D,IAAI,KAAK,GAAW,CAAC,CAAC;IACtB,IAAI,OAAO,GAAW,CAAC,CAAC;IACxB,MAAM,OAAO,GAAa,IAAA,gBAAS,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAY;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM,OAAO,GAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"file-diff.js","sourceRoot":"","sources":["../../../src/hooks/core/file-diff.ts"],"names":[],"mappings":"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"}
@@ -31,10 +31,16 @@
31
31
  */
32
32
  /**
33
33
  * Known stash shape: whether the target file existed before a `Write`
34
- * tool ran. Read by `clear-verdict` to decide create vs update.
34
+ * tool ran (read by `clear-verdict` to decide create vs update), and
35
+ * optionally the file's prior content (used to produce a unified-diff
36
+ * `changeset` in the post-adapter when `fileChange.captureChangeset`
37
+ * is enabled). `prior_content` is only set when the feature is on
38
+ * AND the file existed at PreToolUse time — keeping the stash empty
39
+ * by default avoids reading every edited file on the hot path.
35
40
  */
36
41
  export interface WriteEditState {
37
42
  file_existed: boolean;
43
+ prior_content?: string;
38
44
  }
39
45
  export declare function stashToolUseData(sessionId: string, toolUseId: string, data: unknown): void;
40
46
  export declare function consumeToolUseData<T>(sessionId: string, toolUseId: string): T | null;
@@ -1 +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"}
1
+ {"version":3,"file":"tool-use-stash.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/tool-use-stash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;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"}
@@ -1 +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"}
1
+ {"version":3,"file":"tool-use-stash.js","sourceRoot":"","sources":["../../../src/hooks/core/tool-use-stash.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;AA+BH,4CAUC;AAED,gDAoBC;AA7DD,2BAAoF;AACpF,2BAA4B;AAC5B,+BAA4B;AAC5B,6CAA0C;AAE1C,MAAM,aAAa,GAAW,SAAS,CAAC;AAgBxC,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify-gate.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/verify-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAkBH,OAAO,EAEH,aAAa,EAMhB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAqOD,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkPrF"}
1
+ {"version":3,"file":"verify-gate.d.ts","sourceRoot":"","sources":["../../../src/hooks/core/verify-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAkBH,OAAO,EAEH,aAAa,EAMhB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAyPD,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2PrF"}
@@ -25,13 +25,9 @@ const session_state_1 = require("./session-state");
25
25
  const config_1 = require("../../lib/config");
26
26
  const required_tools_1 = require("./required-tools");
27
27
  const DEFAULT_MAX_RETRIES = 3;
28
- const BROWSER_MCP_SERVER = "browser-devtools";
29
28
  /** Maps cycle name → MCP server name used to filter `tool_call` events. */
30
29
  function mcpServerForCycle(cycle) {
31
- if (cycle === "browser") {
32
- return BROWSER_MCP_SERVER;
33
- }
34
- const server = config_1.RUNTIME_TO_SERVER[cycle];
30
+ const server = config_1.CYCLE_TO_SERVER[cycle];
35
31
  if (server === undefined) {
36
32
  throw new Error(`No MCP server registered for cycle '${cycle}'.`);
37
33
  }
@@ -71,6 +67,16 @@ function verdictExampleNodePass(sessionId) {
71
67
  backend_node_log_errors: [],
72
68
  });
73
69
  }
70
+ function verdictExampleBackendPass(sessionId) {
71
+ return JSON.stringify({
72
+ session_id: sessionId,
73
+ status: "pass",
74
+ checks: ["POST /api/orders returned 201 with order id", "GET /api/orders/:id reflects new order"],
75
+ backend_endpoints_called: ["POST http://localhost:3000/api/orders", "GET http://localhost:3000/api/orders/42"],
76
+ backend_response_statuses: [201, 200],
77
+ backend_traces_collected: ["00-1234abcd...-...01"],
78
+ });
79
+ }
74
80
  function cleanup(...files) {
75
81
  for (const f of files) {
76
82
  try {
@@ -92,15 +98,14 @@ function computeActiveCycles(actionsFile, config) {
92
98
  cycles.add(cycle);
93
99
  }
94
100
  }
95
- // Stable order: browser first, then registered backend runtimes.
101
+ // Stable order: browser first, then optional cycles in registry order.
96
102
  const ordered = [];
97
103
  if (cycles.has("browser")) {
98
104
  ordered.push("browser");
99
105
  }
100
- for (const server of config_1.BACKEND_SERVERS) {
101
- const runtime = Object.keys(config_1.RUNTIME_TO_SERVER).find((k) => config_1.RUNTIME_TO_SERVER[k] === server);
102
- if (runtime !== undefined && cycles.has(runtime)) {
103
- ordered.push(runtime);
106
+ for (const cycle of config_1.OPTIONAL_CYCLES) {
107
+ if (cycles.has(cycle)) {
108
+ ordered.push(cycle);
104
109
  }
105
110
  }
106
111
  return ordered;
@@ -187,6 +192,19 @@ function checkNodeEvidence(verdict) {
187
192
  }
188
193
  return { cycle: "node", valid: true, passCriteriaMet: true };
189
194
  }
195
+ function checkBackendEvidence(verdict) {
196
+ const endpoints = verdict.backend_endpoints_called;
197
+ if (!Array.isArray(endpoints) || endpoints.length === 0) {
198
+ return { cycle: "backend", valid: false, reason: "missing backend_endpoints_called" };
199
+ }
200
+ if (!Array.isArray(verdict.checks) || verdict.checks.length === 0) {
201
+ return { cycle: "backend", valid: false, reason: "missing checks" };
202
+ }
203
+ // No pass-criteria override for the backend cycle — interpretation of
204
+ // status codes is per-test (a test for "404 not found" SHOULD return 404).
205
+ // We trust the agent's `status` once evidence presence is satisfied.
206
+ return { cycle: "backend", valid: true, passCriteriaMet: true };
207
+ }
190
208
  function checkCycleEvidence(cycle, verdict) {
191
209
  if (cycle === "browser") {
192
210
  return checkBrowserEvidence(verdict);
@@ -194,7 +212,10 @@ function checkCycleEvidence(cycle, verdict) {
194
212
  if (cycle === "node") {
195
213
  return checkNodeEvidence(verdict);
196
214
  }
197
- // Future runtimes plug in here.
215
+ if (cycle === "backend") {
216
+ return checkBackendEvidence(verdict);
217
+ }
218
+ // Future cycles plug in here.
198
219
  throw new Error(`No evidence checker registered for cycle '${cycle}'.`);
199
220
  }
200
221
  function describeMissingTools(check) {
@@ -261,6 +282,7 @@ You submitted a fail verdict but did not address the reported issues. Either:
261
282
  const browserExample = ` echo '${verdictExampleBrowserPass(sid)}' | ironbee hook submit-verdict`;
262
283
  const browserExampleFail = ` On fail: echo '${verdictExampleBrowserFail(sid)}' | ironbee hook submit-verdict`;
263
284
  const nodeExample = ` echo '${verdictExampleNodePass(sid)}' | ironbee hook submit-verdict`;
285
+ const backendExample = ` echo '${verdictExampleBackendPass(sid)}' | ironbee hook submit-verdict`;
264
286
  return {
265
287
  action: "block",
266
288
  message: `VERIFICATION REQUIRED.
@@ -279,13 +301,19 @@ ${activeCycles.includes("browser") ? `Browser cycle (UI verification):
279
301
  ${browserExample}
280
302
  ${browserExampleFail}
281
303
  9. If failed, fix the code and re-verify until it passes
282
- ` : ""}${activeCycles.includes("node") ? `Node cycle (backend verification):
304
+ ` : ""}${activeCycles.includes("node") ? `Node cycle (Node.js runtime debug):
283
305
  1. Connect to the running Node process via ndt_debug_connect
284
306
  2. Set probes (tracepoint / logpoint / exceptionpoint) at the changed code paths
285
307
  3. Exercise the code path so probes fire
286
308
  4. Read snapshots via ndt_debug_get-probe-snapshots, OR inspect runtime errors via ndt_debug_get-logs
287
309
  5. Submit your verdict:
288
310
  ${nodeExample}
311
+ ` : ""}${activeCycles.includes("backend") ? `Backend cycle (protocol-level service verification, runtime-agnostic):
312
+ 1. Identify the backend endpoint affected by your change (HTTP / gRPC / GraphQL / WebSocket)
313
+ 2. Make a real protocol call against the running service (bedt_request_http / bedt_request_grpc / bedt_request_graphql / bedt_request_websocket-open / bedt_request_replay)
314
+ 3. Inspect status, body, and the returned traceId — chain follow-up calls to verify side effects
315
+ 4. Submit your verdict:
316
+ ${backendExample}
289
317
  ` : ""}`,
290
318
  };
291
319
  }
@@ -304,7 +332,8 @@ ${summary}
304
332
 
305
333
  Run the missing tools, functionally test your changes, then submit your verdict:
306
334
  ${activeCycles.includes("browser") ? ` Browser example: echo '${verdictExampleBrowserPass(sid)}' | ironbee hook submit-verdict` : ""}
307
- ${activeCycles.includes("node") ? ` Node example: echo '${verdictExampleNodePass(sid)}' | ironbee hook submit-verdict` : ""}`.trim(),
335
+ ${activeCycles.includes("node") ? ` Node example: echo '${verdictExampleNodePass(sid)}' | ironbee hook submit-verdict` : ""}
336
+ ${activeCycles.includes("backend") ? ` Backend example: echo '${verdictExampleBackendPass(sid)}' | ironbee hook submit-verdict` : ""}`.trim(),
308
337
  };
309
338
  }
310
339
  // ── Check 4: Verdict file exists? ─────────────────────────
@@ -321,7 +350,8 @@ You ran the verification tools but did not submit a verdict.${recordingHint}
321
350
 
322
351
  Submit your verdict via:
323
352
  ${activeCycles.includes("browser") ? ` Browser: echo '${verdictExampleBrowserPass(sid)}' | ironbee hook submit-verdict` : ""}
324
- ${activeCycles.includes("node") ? ` Node: echo '${verdictExampleNodePass(sid)}' | ironbee hook submit-verdict` : ""}`.trim(),
353
+ ${activeCycles.includes("node") ? ` Node: echo '${verdictExampleNodePass(sid)}' | ironbee hook submit-verdict` : ""}
354
+ ${activeCycles.includes("backend") ? ` Backend: echo '${verdictExampleBackendPass(sid)}' | ironbee hook submit-verdict` : ""}`.trim(),
325
355
  };
326
356
  }
327
357
  // ── Check 5: Valid JSON? ──────────────────────────────────