@ironbee-ai/cli 0.14.1 → 0.15.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 (56) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +2 -95
  3. package/dist/clients/claude/index.d.ts.map +1 -1
  4. package/dist/clients/claude/index.js +11 -14
  5. package/dist/clients/claude/index.js.map +1 -1
  6. package/dist/clients/cursor/hooks/session-start.js +1 -1
  7. package/dist/clients/cursor/hooks/session-start.js.map +1 -1
  8. package/dist/clients/cursor/index.d.ts.map +1 -1
  9. package/dist/clients/cursor/index.js +9 -13
  10. package/dist/clients/cursor/index.js.map +1 -1
  11. package/dist/commands/status.js +1 -1
  12. package/dist/commands/verify.d.ts.map +1 -1
  13. package/dist/commands/verify.js +1 -2
  14. package/dist/commands/verify.js.map +1 -1
  15. package/dist/index.js +0 -3
  16. package/dist/index.js.map +1 -1
  17. package/dist/lib/fs-prune.d.ts +1 -1
  18. package/dist/lib/fs-prune.js +1 -1
  19. package/dist/tui/sessions/area.d.ts.map +1 -1
  20. package/dist/tui/sessions/area.js +2 -45
  21. package/dist/tui/sessions/area.js.map +1 -1
  22. package/package.json +1 -1
  23. package/dist/analysis/code-changes.d.ts +0 -22
  24. package/dist/analysis/code-changes.d.ts.map +0 -1
  25. package/dist/analysis/code-changes.js +0 -141
  26. package/dist/analysis/code-changes.js.map +0 -1
  27. package/dist/analysis/cross-session.d.ts +0 -34
  28. package/dist/analysis/cross-session.d.ts.map +0 -1
  29. package/dist/analysis/cross-session.js +0 -230
  30. package/dist/analysis/cross-session.js.map +0 -1
  31. package/dist/analysis/fix-effectiveness.d.ts +0 -16
  32. package/dist/analysis/fix-effectiveness.d.ts.map +0 -1
  33. package/dist/analysis/fix-effectiveness.js +0 -99
  34. package/dist/analysis/fix-effectiveness.js.map +0 -1
  35. package/dist/analysis/scoring.d.ts +0 -15
  36. package/dist/analysis/scoring.d.ts.map +0 -1
  37. package/dist/analysis/scoring.js +0 -59
  38. package/dist/analysis/scoring.js.map +0 -1
  39. package/dist/analysis/time-analysis.d.ts +0 -22
  40. package/dist/analysis/time-analysis.d.ts.map +0 -1
  41. package/dist/analysis/time-analysis.js +0 -174
  42. package/dist/analysis/time-analysis.js.map +0 -1
  43. package/dist/analysis/verdict-details.d.ts +0 -23
  44. package/dist/analysis/verdict-details.d.ts.map +0 -1
  45. package/dist/analysis/verdict-details.js +0 -59
  46. package/dist/analysis/verdict-details.js.map +0 -1
  47. package/dist/analysis/verification-quality.d.ts +0 -20
  48. package/dist/analysis/verification-quality.d.ts.map +0 -1
  49. package/dist/analysis/verification-quality.js +0 -145
  50. package/dist/analysis/verification-quality.js.map +0 -1
  51. package/dist/clients/claude/commands/ironbee-analyze.md +0 -42
  52. package/dist/clients/cursor/commands/ironbee-analyze/SKILL.md +0 -48
  53. package/dist/commands/analyze.d.ts +0 -3
  54. package/dist/commands/analyze.d.ts.map +0 -1
  55. package/dist/commands/analyze.js +0 -329
  56. package/dist/commands/analyze.js.map +0 -1
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Used by client `uninstall` to clean up directories ironbee owned once their
6
6
  * files are gone: e.g. `.claude/commands`, `.claude/rules`, `.claude/skills`
7
- * (and Cursor's nested `.cursor/skills/ironbee-analyze/`), then the `.claude` /
7
+ * (and Cursor's nested `.cursor/skills/ironbee-verify/`), then the `.claude` /
8
8
  * `.cursor` root itself when nothing else remains. A dangling empty `.claude` /
9
9
  * `.cursor` also makes `IClient.detect` (which checks for the dir) report the
10
10
  * project as still present — pruning keeps detection honest.
@@ -1 +1 @@
1
- {"version":3,"file":"area.d.ts","sourceRoot":"","sources":["../../../src/tui/sessions/area.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,EAA2B,OAAO,EAAE,MAAM,eAAe,CAAC;AAkOjE,eAAO,MAAM,YAAY,EAAE,OAO1B,CAAC"}
1
+ {"version":3,"file":"area.d.ts","sourceRoot":"","sources":["../../../src/tui/sessions/area.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAA2B,OAAO,EAAE,MAAM,eAAe,CAAC;AAyLjE,eAAO,MAAM,YAAY,EAAE,OAO1B,CAAC"}
@@ -42,16 +42,9 @@ var __importStar = (this && this.__importStar) || (function () {
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
43
  exports.sessionsArea = void 0;
44
44
  const blessed = __importStar(require("blessed"));
45
- const path_1 = require("path");
46
- const code_changes_1 = require("../../analysis/code-changes");
47
- const cross_session_1 = require("../../analysis/cross-session");
48
- const fix_effectiveness_1 = require("../../analysis/fix-effectiveness");
49
- const scoring_1 = require("../../analysis/scoring");
50
- const time_analysis_1 = require("../../analysis/time-analysis");
51
- const verification_quality_1 = require("../../analysis/verification-quality");
52
45
  const util_1 = require("../shell/util");
53
46
  const read_1 = require("./read");
54
- const STATUS = " {bold}↑/↓{/bold} move {bold}v{/bold} verify {bold}a{/bold} analyze {bold}A{/bold} analyze all (project) "
47
+ const STATUS = " {bold}↑/↓{/bold} move {bold}v{/bold} verify "
55
48
  + "{bold}r{/bold} refresh {bold}Esc{/bold} back {bold}q{/bold} quit";
56
49
  function verdictColor(status) {
57
50
  if (status === "pass") {
@@ -200,45 +193,9 @@ function mountSessionsView(ctx) {
200
193
  }
201
194
  ctx.session.showPane(`Verify (dry-run) — ${s.id}`, lines.join("\n"));
202
195
  }
203
- function section(title, value) {
204
- const body = value === null || value === undefined
205
- ? "{gray-fg}(n/a){/gray-fg}"
206
- : (0, util_1.escapeTags)(JSON.stringify(value, null, 2));
207
- return `{bold}{cyan-fg}${title}{/cyan-fg}{/bold}\n${body}`;
208
- }
209
- function analyzeSession() {
210
- const s = current();
211
- if (s === undefined) {
212
- return;
213
- }
214
- const actionsFile = (0, path_1.join)(projectDir, ".ironbee", "sessions", s.id, "actions.jsonl");
215
- const time = (0, time_analysis_1.analyzeTime)(actionsFile);
216
- const quality = (0, verification_quality_1.analyzeVerificationQuality)(actionsFile);
217
- const code = (0, code_changes_1.analyzeCodeChanges)(actionsFile);
218
- const fix = (0, fix_effectiveness_1.analyzeFixEffectiveness)(actionsFile);
219
- const scoring = (0, scoring_1.calculateScoring)(time, quality);
220
- const content = [
221
- section("Scoring", scoring),
222
- section("Time", time),
223
- section("Verification quality", quality),
224
- section("Code changes", code),
225
- section("Fix effectiveness", fix),
226
- ].join("\n\n");
227
- ctx.session.showPane(`Analyze — ${s.id}`, content);
228
- }
229
196
  list.key(["up", "k"], () => move(-1));
230
197
  list.key(["down", "j"], () => move(1));
231
- function analyzeAllSessions() {
232
- const sessionsDir = (0, path_1.join)(projectDir, ".ironbee", "sessions");
233
- const analysis = ctx.session.silently(() => (0, cross_session_1.analyzeCrossSessions)(sessionsDir));
234
- const content = analysis === null
235
- ? "{gray-fg}No sessions to analyze in this project.{/gray-fg}"
236
- : (0, util_1.escapeTags)(JSON.stringify(analysis, null, 2));
237
- ctx.session.showPane("Analyze — all sessions (project aggregate)", content);
238
- }
239
198
  list.key(["v"], () => verifySession());
240
- list.key(["a"], () => analyzeSession());
241
- list.key(["S-a"], () => analyzeAllSessions());
242
199
  list.key(["r"], () => {
243
200
  sessions = (0, read_1.listSessions)(projectDir);
244
201
  index = (0, util_1.clamp)(index, 0, Math.max(0, sessions.length - 1));
@@ -258,7 +215,7 @@ function mountSessionsView(ctx) {
258
215
  exports.sessionsArea = {
259
216
  id: "sessions",
260
217
  title: "Sessions",
261
- summary: "Browse sessions + verify / analyze (single & project aggregate)",
218
+ summary: "Browse sessions + verify (dry-run verdict validation)",
262
219
  mount(ctx) {
263
220
  return mountSessionsView(ctx);
264
221
  },
@@ -1 +1 @@
1
- {"version":3,"file":"area.js","sourceRoot":"","sources":["../../../src/tui/sessions/area.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"area.js","sourceRoot":"","sources":["../../../src/tui/sessions/area.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iDAAmC;AAEnC,wCAAkD;AAClD,iCAA0I;AAE1I,MAAM,MAAM,GACR,mDAAmD;MACjD,sEAAsE,CAAC;AAE7E,SAAS,YAAY,CAAC,MAA0B;IAC5C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,2BAA2B,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,uBAAuB,CAAC;IACnC,CAAC;IACD,OAAO,YAAY,IAAA,iBAAU,EAAC,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC;AAC7D,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAgB;IACvC,MAAM,UAAU,GAAW,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;IAClD,IAAI,QAAQ,GAAqB,IAAA,mBAAY,EAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,KAAK,GAAW,CAAC,CAAC;IAEtB,MAAM,IAAI,GAAgC,OAAO,CAAC,IAAI,CAAC;QACnD,MAAM,EAAE,GAAG,CAAC,SAAS;QACrB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACxB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;QACtB,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QACxE,KAAK,EAAE,EAAE;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAA+B,OAAO,CAAC,GAAG,CAAC;QACnD,MAAM,EAAE,GAAG,CAAC,SAAS;QACrB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACxB,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;QACtB,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;QACjC,OAAO,EAAE,EAAE;KACd,CAAC,CAAC;IAEH,SAAS,QAAQ,CAAC,CAAiB;QAC/B,MAAM,IAAI,GAAW,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,sBAAsB,CAAC;QAC3F,MAAM,OAAO,GAAW,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1F,OAAO,GAAG,IAAI,IAAI,IAAA,iBAAU,EAAC,OAAO,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;IAC9E,CAAC;IAED,SAAS,QAAQ,CAAC,KAAe,EAAE,KAAa,EAAE,KAAe,EAAE,KAAa;QAC5E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QACpC,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,KAAK,QAAQ,IAAA,iBAAU,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,SAAS,WAAW,CAAC,CAA6B;QAC9C,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClB,OAAO,sDAAsD,CAAC;QAClE,CAAC;QACD,MAAM,CAAC,GAAkB,IAAA,wBAAiB,EAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,IAAA,iBAAU,EAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,+BAA+B,IAAA,iBAAU,EAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,+BAA+B,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7F,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/F,MAAM,IAAI,GAAW,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YAClE,CAAC,CAAC,GAAG,IAAA,iBAAU,EAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,IAAA,iBAAU,EAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE;YACtG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAU,EAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,MAAM,CAAC,GAA4B,CAAC,CAAC,MAAM,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,UAAU,uCAAuC,CAAC,CAAC,aAAa,kCAAkC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChK,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,WAAW,oCAAoC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAChH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,6BAA6B,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1E,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrD,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACnD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,MAAM;QACX,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAiB,EAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,IAAA,YAAK,EAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,GAAG,GAA+B,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAA,YAAK,EAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3H,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,SAAS,IAAI,CAAC,KAAa;QACvB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,KAAK,GAAG,IAAA,YAAK,EAAC,KAAK,GAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,EAAE,CAAC;IACb,CAAC;IAED,SAAS,OAAO;QACZ,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAA,YAAK,EAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,wEAAwE;IACxE,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,SAAS,aAAa;QAClB,MAAM,CAAC,GAA+B,OAAO,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QACD,MAAM,CAAC,GAAkB,IAAA,wBAAiB,EAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAsB,IAAA,sBAAe,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC,sHAAsH,CAAC,CAAC;QACvI,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAwB,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACX,CAAC,CAAC,0BAA0B,IAAA,iBAAU,EAAC,CAAC,CAAC,KAAK,CAAC,EAAE;oBACjD,CAAC,CAAC,sBAAsB,IAAA,iBAAU,EAAC,CAAC,CAAC,KAAK,CAAC,eAAe,IAAA,iBAAU,EAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;YAC1G,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,0CAA0C,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC;YACtF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;gBACnB,CAAC,CAAC,qEAAqE;gBACvE,CAAC,CAAC,wEAAwE,CAAC,CAAC;QACpF,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAS,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAS,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAS,EAAE;QACvB,QAAQ,GAAG,IAAA,mBAAY,EAAC,UAAU,CAAC,CAAC;QACpC,KAAK,GAAG,IAAA,YAAK,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,CAAC;IACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAEpB,OAAO;QACH,OAAO;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;KACJ,CAAC;AACN,CAAC;AAEY,QAAA,YAAY,GAAY;IACjC,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,uDAAuD;IAChE,KAAK,CAAC,GAAgB;QAClB,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;CACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ironbee-ai/cli",
3
- "version": "0.14.1",
3
+ "version": "0.15.0",
4
4
  "description": "The CLI for IronBee — Verification and Intelligence Layer for Agentic Development",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1,22 +0,0 @@
1
- /**
2
- * IronBee — Code Change Analysis
3
- *
4
- * Reads actions.jsonl and calculates code change metrics.
5
- * Pure logic — no process.exit, no stdin, no side effects.
6
- */
7
- export interface FileStats {
8
- filePath: string;
9
- editCount: number;
10
- fixEditCount: number;
11
- }
12
- export interface CodeChangeAnalysis {
13
- totalFileEdits: number;
14
- uniqueFilesEdited: number;
15
- filesEditedPerVerification: number;
16
- filesChangedPerFix: number;
17
- hotFiles: FileStats[];
18
- problematicFiles: FileStats[];
19
- editChurnFiles: string[];
20
- }
21
- export declare function analyzeCodeChanges(actionsFile: string): CodeChangeAnalysis | null;
22
- //# sourceMappingURL=code-changes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-changes.d.ts","sourceRoot":"","sources":["../../src/analysis/code-changes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,EAAE,MAAM,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B;AAuBD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAqIjF"}
@@ -1,141 +0,0 @@
1
- "use strict";
2
- /**
3
- * IronBee — Code Change Analysis
4
- *
5
- * Reads actions.jsonl and calculates code change metrics.
6
- * Pure logic — no process.exit, no stdin, no side effects.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.analyzeCodeChanges = analyzeCodeChanges;
10
- const fs_1 = require("fs");
11
- function parseEntries(actionsFile) {
12
- if (!(0, fs_1.existsSync)(actionsFile)) {
13
- return [];
14
- }
15
- const content = (0, fs_1.readFileSync)(actionsFile, "utf-8");
16
- const lines = content.trim().split("\n").filter((l) => l.length > 0);
17
- const entries = [];
18
- for (const line of lines) {
19
- try {
20
- const entry = JSON.parse(line);
21
- entries.push(entry);
22
- }
23
- catch {
24
- // skip malformed lines
25
- }
26
- }
27
- return entries;
28
- }
29
- function analyzeCodeChanges(actionsFile) {
30
- const entries = parseEntries(actionsFile);
31
- // Collect all file_change entries
32
- const fileEdits = entries.filter((e) => e.type === "file_change");
33
- if (fileEdits.length === 0) {
34
- return null;
35
- }
36
- const totalFileEdits = fileEdits.length;
37
- // Unique files
38
- const uniqueFiles = new Set();
39
- for (const edit of fileEdits) {
40
- const filePath = edit.file_path;
41
- if (typeof filePath === "string") {
42
- uniqueFiles.add(filePath);
43
- }
44
- }
45
- const uniqueFilesEdited = uniqueFiles.size;
46
- // Track phases and count edits per phase type
47
- let inFixPhase = false;
48
- let currentFixId = null;
49
- let codingEditCount = 0;
50
- let fixEditCount = 0;
51
- let verificationCount = 0;
52
- let fixCount = 0;
53
- // Per-file stats
54
- const fileEditCounts = new Map();
55
- const fileFixEditCounts = new Map();
56
- // Track which fix cycles each file appears in (for churn detection)
57
- const fileFixCycles = new Map();
58
- for (const entry of entries) {
59
- if (entry.type === "fix_start") {
60
- inFixPhase = true;
61
- currentFixId = entry.fix_id;
62
- fixCount++;
63
- continue;
64
- }
65
- if (entry.type === "fix_end") {
66
- inFixPhase = false;
67
- currentFixId = null;
68
- continue;
69
- }
70
- if (entry.type === "verification_start") {
71
- inFixPhase = false;
72
- currentFixId = null;
73
- verificationCount++;
74
- continue;
75
- }
76
- if (entry.type === "file_change") {
77
- const filePath = entry.file_path;
78
- if (inFixPhase) {
79
- fixEditCount++;
80
- if (typeof filePath === "string") {
81
- const currentCount = fileFixEditCounts.get(filePath) ?? 0;
82
- fileFixEditCounts.set(filePath, currentCount + 1);
83
- if (typeof currentFixId === "string") {
84
- let cycles = fileFixCycles.get(filePath);
85
- if (cycles === undefined) {
86
- cycles = new Set();
87
- fileFixCycles.set(filePath, cycles);
88
- }
89
- cycles.add(currentFixId);
90
- }
91
- }
92
- }
93
- else {
94
- codingEditCount++;
95
- }
96
- if (typeof filePath === "string") {
97
- const currentCount = fileEditCounts.get(filePath) ?? 0;
98
- fileEditCounts.set(filePath, currentCount + 1);
99
- }
100
- }
101
- }
102
- // filesEditedPerVerification: coding edits / verification count
103
- const filesEditedPerVerification = verificationCount > 0
104
- ? Math.round((codingEditCount / verificationCount) * 10) / 10
105
- : 0;
106
- // filesChangedPerFix: fix edits / fix count
107
- const filesChangedPerFix = fixCount > 0
108
- ? Math.round((fixEditCount / fixCount) * 10) / 10
109
- : 0;
110
- // hotFiles: top 5 by total edit count
111
- const allFileStats = [];
112
- for (const [filePath, editCount] of fileEditCounts) {
113
- const fixEdits = fileFixEditCounts.get(filePath) ?? 0;
114
- allFileStats.push({ filePath, editCount, fixEditCount: fixEdits });
115
- }
116
- const hotFiles = [...allFileStats]
117
- .sort((a, b) => b.editCount - a.editCount)
118
- .slice(0, 5);
119
- // problematicFiles: top 5 by fix edit count, only those with fixEditCount > 0
120
- const problematicFiles = [...allFileStats]
121
- .filter((f) => f.fixEditCount > 0)
122
- .sort((a, b) => b.fixEditCount - a.fixEditCount)
123
- .slice(0, 5);
124
- // editChurnFiles: files edited in 2+ different fix cycles
125
- const editChurnFiles = [];
126
- for (const [filePath, cycles] of fileFixCycles) {
127
- if (cycles.size >= 2) {
128
- editChurnFiles.push(filePath);
129
- }
130
- }
131
- return {
132
- totalFileEdits,
133
- uniqueFilesEdited,
134
- filesEditedPerVerification,
135
- filesChangedPerFix,
136
- hotFiles,
137
- problematicFiles,
138
- editChurnFiles,
139
- };
140
- }
141
- //# sourceMappingURL=code-changes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-changes.js","sourceRoot":"","sources":["../../src/analysis/code-changes.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * IronBee — Cross-Session Analysis
3
- *
4
- * Scans all sessions in .ironbee/sessions/ and produces aggregate metrics.
5
- * Pure logic — no process.exit, no stdin, no side effects.
6
- */
7
- export interface SessionSummary {
8
- sessionId: string;
9
- timestamp: number;
10
- duration: number;
11
- verificationCycles: number;
12
- fixCycles: number;
13
- firstPassSuccess: boolean;
14
- lastVerdictStatus: string | null;
15
- agentEfficiencyScore: number;
16
- }
17
- export interface CrossSessionAnalysis {
18
- totalSessions: number;
19
- sessionSummaries: SessionSummary[];
20
- aggregateFirstPassRate: number;
21
- aggregateFixSuccessRate: number;
22
- averageSessionDuration: number;
23
- averageVerificationCycles: number;
24
- averageFixCycles: number;
25
- averageEfficiencyScore: number;
26
- averageCodeConfidence: number;
27
- mostProblematicFiles: Array<{
28
- filePath: string;
29
- fixEditCount: number;
30
- }>;
31
- abandonRate: number;
32
- }
33
- export declare function analyzeCrossSessions(sessionsDir: string): CrossSessionAnalysis | null;
34
- //# sourceMappingURL=cross-session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-session.d.ts","sourceRoot":"","sources":["../../src/analysis/cross-session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,WAAW,EAAE,MAAM,CAAC;CACvB;AAiFD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CA2KrF"}
@@ -1,230 +0,0 @@
1
- "use strict";
2
- /**
3
- * IronBee — Cross-Session Analysis
4
- *
5
- * Scans all sessions in .ironbee/sessions/ and produces aggregate metrics.
6
- * Pure logic — no process.exit, no stdin, no side effects.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.analyzeCrossSessions = analyzeCrossSessions;
10
- const fs_1 = require("fs");
11
- const path_1 = require("path");
12
- const time_analysis_1 = require("./time-analysis");
13
- const verification_quality_1 = require("./verification-quality");
14
- const fix_effectiveness_1 = require("./fix-effectiveness");
15
- const code_changes_1 = require("./code-changes");
16
- const scoring_1 = require("./scoring");
17
- function parseEntries(actionsFile) {
18
- if (!(0, fs_1.existsSync)(actionsFile)) {
19
- return [];
20
- }
21
- const content = (0, fs_1.readFileSync)(actionsFile, "utf-8");
22
- const trimmed = content.trim();
23
- if (trimmed.length === 0) {
24
- return [];
25
- }
26
- const lines = trimmed.split("\n").filter((l) => l.length > 0);
27
- const entries = [];
28
- for (const line of lines) {
29
- try {
30
- const entry = JSON.parse(line);
31
- entries.push(entry);
32
- }
33
- catch {
34
- // skip malformed lines
35
- }
36
- }
37
- return entries;
38
- }
39
- function hasSessionReconcile(actionsFile) {
40
- const entries = parseEntries(actionsFile);
41
- return entries.some((e) => e.reason === "session_reconcile");
42
- }
43
- function getSessionTimestamp(actionsFile) {
44
- const entries = parseEntries(actionsFile);
45
- const sessionStart = entries.find((e) => e.type === "session_start");
46
- if (sessionStart) {
47
- return sessionStart.timestamp;
48
- }
49
- // Fallback: use first entry timestamp
50
- if (entries.length > 0) {
51
- return entries[0].timestamp;
52
- }
53
- return null;
54
- }
55
- function isFirstVerdictPass(actionsFile) {
56
- const entries = parseEntries(actionsFile);
57
- for (const entry of entries) {
58
- if (entry.type === "verdict_write") {
59
- const verdict = entry.verdict;
60
- if (typeof verdict === "object" && verdict !== null) {
61
- const v = verdict;
62
- return v.status === "pass";
63
- }
64
- return false;
65
- }
66
- }
67
- return false;
68
- }
69
- function hasAnyVerdict(actionsFile) {
70
- const entries = parseEntries(actionsFile);
71
- return entries.some((e) => e.type === "verdict_write");
72
- }
73
- function getLastVerdictStatus(actionsFile) {
74
- const entries = parseEntries(actionsFile);
75
- for (let i = entries.length - 1; i >= 0; i--) {
76
- if (entries[i].type === "verdict_write") {
77
- const verdict = entries[i].verdict;
78
- if (verdict && typeof verdict.status === "string") {
79
- return verdict.status;
80
- }
81
- }
82
- }
83
- return null;
84
- }
85
- function analyzeCrossSessions(sessionsDir) {
86
- if (!(0, fs_1.existsSync)(sessionsDir)) {
87
- return null;
88
- }
89
- let dirEntries;
90
- try {
91
- dirEntries = (0, fs_1.readdirSync)(sessionsDir);
92
- }
93
- catch {
94
- return null;
95
- }
96
- // Filter to actual directories
97
- const sessionIds = dirEntries.filter((name) => {
98
- try {
99
- return (0, fs_1.statSync)((0, path_1.join)(sessionsDir, name)).isDirectory();
100
- }
101
- catch {
102
- return false;
103
- }
104
- });
105
- if (sessionIds.length === 0) {
106
- return null;
107
- }
108
- const summaries = [];
109
- let totalDuration = 0;
110
- let totalVerificationCycles = 0;
111
- let totalFixCycles = 0;
112
- let totalEfficiencyScore = 0;
113
- let totalCodeConfidence = 0;
114
- let sessionsWithVerdicts = 0;
115
- let firstPassSuccessCount = 0;
116
- let totalSuccessfulFixes = 0;
117
- let totalFixAttemptsCounted = 0;
118
- let abandonedSessions = 0;
119
- let scoredSessions = 0;
120
- // Aggregate problematic files across sessions
121
- const globalFileFixCounts = new Map();
122
- for (const sessionId of sessionIds) {
123
- const actionsFile = (0, path_1.join)(sessionsDir, sessionId, "actions.jsonl");
124
- const timeResult = (0, time_analysis_1.analyzeTime)(actionsFile);
125
- const qualityResult = (0, verification_quality_1.analyzeVerificationQuality)(actionsFile);
126
- const fixResult = (0, fix_effectiveness_1.analyzeFixEffectiveness)(actionsFile);
127
- const codeChanges = (0, code_changes_1.analyzeCodeChanges)(actionsFile);
128
- const scoring = (0, scoring_1.calculateScoring)(timeResult, qualityResult);
129
- const timestamp = getSessionTimestamp(actionsFile);
130
- const duration = timeResult !== null ? timeResult.sessionDuration : 0;
131
- const verificationCycles = timeResult !== null ? timeResult.verificationCycles : 0;
132
- const fixCycles = timeResult !== null ? timeResult.fixCycles : 0;
133
- const hasVerdict = hasAnyVerdict(actionsFile);
134
- const firstPass = hasVerdict ? isFirstVerdictPass(actionsFile) : false;
135
- const lastStatus = getLastVerdictStatus(actionsFile);
136
- const efficiencyScore = scoring !== null ? scoring.agentEfficiencyScore : 0;
137
- const codeConfidence = scoring !== null ? scoring.codeConfidenceScore : 0;
138
- if (timestamp !== null) {
139
- summaries.push({
140
- sessionId,
141
- timestamp,
142
- duration,
143
- verificationCycles,
144
- fixCycles,
145
- firstPassSuccess: firstPass,
146
- lastVerdictStatus: lastStatus,
147
- agentEfficiencyScore: efficiencyScore,
148
- });
149
- }
150
- totalDuration += duration;
151
- totalVerificationCycles += verificationCycles;
152
- totalFixCycles += fixCycles;
153
- if (scoring !== null) {
154
- totalEfficiencyScore += efficiencyScore;
155
- totalCodeConfidence += codeConfidence;
156
- scoredSessions++;
157
- }
158
- if (hasVerdict) {
159
- sessionsWithVerdicts++;
160
- if (firstPass) {
161
- firstPassSuccessCount++;
162
- }
163
- }
164
- if (fixResult !== null) {
165
- totalSuccessfulFixes += fixResult.successfulFixes;
166
- totalFixAttemptsCounted += fixResult.successfulFixes + fixResult.failedFixes;
167
- }
168
- if (hasSessionReconcile(actionsFile)) {
169
- abandonedSessions++;
170
- }
171
- // Merge problematic files
172
- if (codeChanges !== null) {
173
- for (const f of codeChanges.problematicFiles) {
174
- const current = globalFileFixCounts.get(f.filePath) ?? 0;
175
- globalFileFixCounts.set(f.filePath, current + f.fixEditCount);
176
- }
177
- }
178
- }
179
- // Sort summaries by timestamp desc (most recent first)
180
- summaries.sort((a, b) => {
181
- return b.timestamp - a.timestamp;
182
- });
183
- const totalSessions = sessionIds.length;
184
- const aggregateFirstPassRate = sessionsWithVerdicts > 0
185
- ? Math.round((firstPassSuccessCount / sessionsWithVerdicts) * 100)
186
- : 0;
187
- const aggregateFixSuccessRate = totalFixAttemptsCounted > 0
188
- ? Math.round((totalSuccessfulFixes / totalFixAttemptsCounted) * 100)
189
- : 0;
190
- const averageSessionDuration = totalSessions > 0
191
- ? Math.round(totalDuration / totalSessions)
192
- : 0;
193
- const averageVerificationCycles = totalSessions > 0
194
- ? Math.round((totalVerificationCycles / totalSessions) * 10) / 10
195
- : 0;
196
- const averageFixCycles = totalSessions > 0
197
- ? Math.round((totalFixCycles / totalSessions) * 10) / 10
198
- : 0;
199
- const averageEfficiencyScore = scoredSessions > 0
200
- ? Math.round(totalEfficiencyScore / scoredSessions)
201
- : 0;
202
- const averageCodeConfidence = scoredSessions > 0
203
- ? Math.round((totalCodeConfidence / scoredSessions) * 100) / 100
204
- : 0;
205
- const abandonRate = totalSessions > 0
206
- ? Math.round((abandonedSessions / totalSessions) * 100)
207
- : 0;
208
- // Top 5 most problematic files
209
- const mostProblematicFiles = [...globalFileFixCounts.entries()]
210
- .map(([filePath, fixEditCount]) => ({
211
- filePath,
212
- fixEditCount,
213
- }))
214
- .sort((a, b) => b.fixEditCount - a.fixEditCount)
215
- .slice(0, 5);
216
- return {
217
- totalSessions,
218
- sessionSummaries: summaries,
219
- aggregateFirstPassRate,
220
- aggregateFixSuccessRate,
221
- averageSessionDuration,
222
- averageVerificationCycles,
223
- averageFixCycles,
224
- averageEfficiencyScore,
225
- averageCodeConfidence,
226
- mostProblematicFiles,
227
- abandonRate,
228
- };
229
- }
230
- //# sourceMappingURL=cross-session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-session.js","sourceRoot":"","sources":["../../src/analysis/cross-session.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * IronBee — Fix Effectiveness Analysis
3
- *
4
- * Reads actions.jsonl and calculates fix effectiveness metrics.
5
- * Pure logic — no process.exit, no stdin, no side effects.
6
- */
7
- export interface FixEffectivenessAnalysis {
8
- fixSuccessRate: number;
9
- totalFixAttempts: number;
10
- successfulFixes: number;
11
- failedFixes: number;
12
- fixToVerifyRatio: number;
13
- reFailRate: number;
14
- }
15
- export declare function analyzeFixEffectiveness(actionsFile: string): FixEffectivenessAnalysis | null;
16
- //# sourceMappingURL=fix-effectiveness.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fix-effectiveness.d.ts","sourceRoot":"","sources":["../../src/analysis/fix-effectiveness.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,wBAAwB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACtB;AA4BD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI,CAgF5F"}