ghagga-core 2.6.0 → 2.8.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 (153) hide show
  1. package/dist/agents/consensus.d.ts +2 -0
  2. package/dist/agents/consensus.d.ts.map +1 -1
  3. package/dist/agents/consensus.js +1 -0
  4. package/dist/agents/consensus.js.map +1 -1
  5. package/dist/agents/diagnostic.d.ts +2 -0
  6. package/dist/agents/diagnostic.d.ts.map +1 -1
  7. package/dist/agents/diagnostic.js +1 -0
  8. package/dist/agents/diagnostic.js.map +1 -1
  9. package/dist/agents/fan-out-lenses.d.ts +92 -0
  10. package/dist/agents/fan-out-lenses.d.ts.map +1 -0
  11. package/dist/agents/fan-out-lenses.js +424 -0
  12. package/dist/agents/fan-out-lenses.js.map +1 -0
  13. package/dist/agents/simple.d.ts +2 -0
  14. package/dist/agents/simple.d.ts.map +1 -1
  15. package/dist/agents/simple.js +1 -0
  16. package/dist/agents/simple.js.map +1 -1
  17. package/dist/agents/workflow.d.ts +2 -0
  18. package/dist/agents/workflow.d.ts.map +1 -1
  19. package/dist/agents/workflow.js +2 -1
  20. package/dist/agents/workflow.js.map +1 -1
  21. package/dist/checklist/config.d.ts +22 -0
  22. package/dist/checklist/config.d.ts.map +1 -0
  23. package/dist/checklist/config.js +85 -0
  24. package/dist/checklist/config.js.map +1 -0
  25. package/dist/checklist/context.d.ts +22 -0
  26. package/dist/checklist/context.d.ts.map +1 -0
  27. package/dist/checklist/context.js +76 -0
  28. package/dist/checklist/context.js.map +1 -0
  29. package/dist/checklist/defaults.d.ts +12 -0
  30. package/dist/checklist/defaults.d.ts.map +1 -0
  31. package/dist/checklist/defaults.js +172 -0
  32. package/dist/checklist/defaults.js.map +1 -0
  33. package/dist/checklist/index.d.ts +14 -0
  34. package/dist/checklist/index.d.ts.map +1 -0
  35. package/dist/checklist/index.js +15 -0
  36. package/dist/checklist/index.js.map +1 -0
  37. package/dist/checklist/scorer.d.ts +58 -0
  38. package/dist/checklist/scorer.d.ts.map +1 -0
  39. package/dist/checklist/scorer.js +142 -0
  40. package/dist/checklist/scorer.js.map +1 -0
  41. package/dist/checklist/types.d.ts +39 -0
  42. package/dist/checklist/types.d.ts.map +1 -0
  43. package/dist/checklist/types.js +17 -0
  44. package/dist/checklist/types.js.map +1 -0
  45. package/dist/exploitability/analyzer.d.ts +75 -0
  46. package/dist/exploitability/analyzer.d.ts.map +1 -0
  47. package/dist/exploitability/analyzer.js +299 -0
  48. package/dist/exploitability/analyzer.js.map +1 -0
  49. package/dist/exploitability/index.d.ts +10 -0
  50. package/dist/exploitability/index.d.ts.map +1 -0
  51. package/dist/exploitability/index.js +10 -0
  52. package/dist/exploitability/index.js.map +1 -0
  53. package/dist/exploitability/types.d.ts +32 -0
  54. package/dist/exploitability/types.d.ts.map +1 -0
  55. package/dist/exploitability/types.js +9 -0
  56. package/dist/exploitability/types.js.map +1 -0
  57. package/dist/index.d.ts +15 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +9 -2
  60. package/dist/index.js.map +1 -1
  61. package/dist/memory/context.d.ts +2 -0
  62. package/dist/memory/context.d.ts.map +1 -1
  63. package/dist/memory/context.js +2 -1
  64. package/dist/memory/context.js.map +1 -1
  65. package/dist/memory/contradiction.d.ts +46 -0
  66. package/dist/memory/contradiction.d.ts.map +1 -0
  67. package/dist/memory/contradiction.js +110 -0
  68. package/dist/memory/contradiction.js.map +1 -0
  69. package/dist/memory/decay.d.ts +25 -0
  70. package/dist/memory/decay.d.ts.map +1 -0
  71. package/dist/memory/decay.js +51 -0
  72. package/dist/memory/decay.js.map +1 -0
  73. package/dist/memory/search.d.ts.map +1 -1
  74. package/dist/memory/search.js +1 -0
  75. package/dist/memory/search.js.map +1 -1
  76. package/dist/memory/sqlite.d.ts +21 -0
  77. package/dist/memory/sqlite.d.ts.map +1 -1
  78. package/dist/memory/sqlite.js +82 -7
  79. package/dist/memory/sqlite.js.map +1 -1
  80. package/dist/memory/versioning.d.ts +94 -0
  81. package/dist/memory/versioning.d.ts.map +1 -0
  82. package/dist/memory/versioning.js +350 -0
  83. package/dist/memory/versioning.js.map +1 -0
  84. package/dist/pipeline.d.ts.map +1 -1
  85. package/dist/pipeline.js +117 -0
  86. package/dist/pipeline.js.map +1 -1
  87. package/dist/providers/index.d.ts.map +1 -1
  88. package/dist/providers/index.js +7 -2
  89. package/dist/providers/index.js.map +1 -1
  90. package/dist/recursive/index.d.ts +45 -0
  91. package/dist/recursive/index.d.ts.map +1 -0
  92. package/dist/recursive/index.js +159 -0
  93. package/dist/recursive/index.js.map +1 -0
  94. package/dist/recursive/patch-extractor.d.ts +49 -0
  95. package/dist/recursive/patch-extractor.d.ts.map +1 -0
  96. package/dist/recursive/patch-extractor.js +133 -0
  97. package/dist/recursive/patch-extractor.js.map +1 -0
  98. package/dist/recursive/re-reviewer.d.ts +31 -0
  99. package/dist/recursive/re-reviewer.d.ts.map +1 -0
  100. package/dist/recursive/re-reviewer.js +66 -0
  101. package/dist/recursive/re-reviewer.js.map +1 -0
  102. package/dist/recursive/types.d.ts +62 -0
  103. package/dist/recursive/types.d.ts.map +1 -0
  104. package/dist/recursive/types.js +11 -0
  105. package/dist/recursive/types.js.map +1 -0
  106. package/dist/scope/context-builder.d.ts +37 -0
  107. package/dist/scope/context-builder.d.ts.map +1 -0
  108. package/dist/scope/context-builder.js +108 -0
  109. package/dist/scope/context-builder.js.map +1 -0
  110. package/dist/scope/diff-mapper.d.ts +29 -0
  111. package/dist/scope/diff-mapper.d.ts.map +1 -0
  112. package/dist/scope/diff-mapper.js +76 -0
  113. package/dist/scope/diff-mapper.js.map +1 -0
  114. package/dist/scope/extractor.d.ts +25 -0
  115. package/dist/scope/extractor.d.ts.map +1 -0
  116. package/dist/scope/extractor.js +264 -0
  117. package/dist/scope/extractor.js.map +1 -0
  118. package/dist/scope/index.d.ts +13 -0
  119. package/dist/scope/index.d.ts.map +1 -0
  120. package/dist/scope/index.js +16 -0
  121. package/dist/scope/index.js.map +1 -0
  122. package/dist/scope/parser.d.ts +47 -0
  123. package/dist/scope/parser.d.ts.map +1 -0
  124. package/dist/scope/parser.js +97 -0
  125. package/dist/scope/parser.js.map +1 -0
  126. package/dist/scope/queries.d.ts +23 -0
  127. package/dist/scope/queries.d.ts.map +1 -0
  128. package/dist/scope/queries.js +134 -0
  129. package/dist/scope/queries.js.map +1 -0
  130. package/dist/scope/types.d.ts +55 -0
  131. package/dist/scope/types.d.ts.map +1 -0
  132. package/dist/scope/types.js +8 -0
  133. package/dist/scope/types.js.map +1 -0
  134. package/dist/tools/execution.d.ts.map +1 -1
  135. package/dist/tools/execution.js +2 -0
  136. package/dist/tools/execution.js.map +1 -1
  137. package/dist/tools/plugins/index.d.ts +1 -0
  138. package/dist/tools/plugins/index.d.ts.map +1 -1
  139. package/dist/tools/plugins/index.js +6 -5
  140. package/dist/tools/plugins/index.js.map +1 -1
  141. package/dist/tools/plugins/sonarqube.d.ts +54 -0
  142. package/dist/tools/plugins/sonarqube.d.ts.map +1 -0
  143. package/dist/tools/plugins/sonarqube.js +145 -0
  144. package/dist/tools/plugins/sonarqube.js.map +1 -0
  145. package/dist/tools/plugins/trivy.js +1 -1
  146. package/dist/tools/plugins/trivy.js.map +1 -1
  147. package/dist/tools/types.d.ts +7 -1
  148. package/dist/tools/types.d.ts.map +1 -1
  149. package/dist/types.d.ts +80 -1
  150. package/dist/types.d.ts.map +1 -1
  151. package/dist/types.js +9 -0
  152. package/dist/types.js.map +1 -1
  153. package/package.json +3 -1
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Scope Module Types
3
+ *
4
+ * Defines the core data structures for tree-sitter based
5
+ * symbol-level scoping of code reviews.
6
+ */
7
+ /** Languages supported by the tree-sitter scope module. */
8
+ export type ScopeLanguage = 'typescript' | 'javascript' | 'python' | 'go';
9
+ /** Kind of symbol extracted from source code. */
10
+ export type SymbolKind = 'function' | 'class' | 'method' | 'interface';
11
+ /** A symbol definition extracted from source code via tree-sitter. */
12
+ export interface SymbolInfo {
13
+ /** Symbol name (e.g., "reviewPipeline", "ReviewInput") */
14
+ name: string;
15
+ /** Kind of symbol */
16
+ kind: SymbolKind;
17
+ /** 1-based start line in the source file */
18
+ startLine: number;
19
+ /** 1-based end line in the source file */
20
+ endLine: number;
21
+ /** 0-based start byte offset */
22
+ startByte: number;
23
+ /** 0-based end byte offset */
24
+ endByte: number;
25
+ /** Parent symbol name (for methods inside classes) */
26
+ parent?: string;
27
+ }
28
+ /** A single hunk from a unified diff. */
29
+ export interface DiffHunk {
30
+ /** 1-based start line in the OLD file */
31
+ oldStart: number;
32
+ /** Number of lines in the old side */
33
+ oldCount: number;
34
+ /** 1-based start line in the NEW file */
35
+ newStart: number;
36
+ /** Number of lines in the new side */
37
+ newCount: number;
38
+ }
39
+ /** A symbol that was affected by a diff change. */
40
+ export interface AffectedSymbol {
41
+ /** The symbol that was affected */
42
+ symbol: SymbolInfo;
43
+ /** Which hunks overlap with this symbol */
44
+ overlappingHunks: DiffHunk[];
45
+ }
46
+ /** A file with its affected symbols and source content, ready for scoped review. */
47
+ export interface ScopedFile {
48
+ /** Path to the file (relative or absolute) */
49
+ filePath: string;
50
+ /** Symbols affected by the diff in this file */
51
+ symbols: AffectedSymbol[];
52
+ /** Full source lines of the file (split by newline) */
53
+ sourceLines: string[];
54
+ }
55
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scope/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,IAAI,CAAC;AAI1E,iDAAiD;AACjD,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEvE,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IAEb,qBAAqB;IACrB,IAAI,EAAE,UAAU,CAAC;IAEjB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAElB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAEhB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,yCAAyC;AACzC,MAAM,WAAW,QAAQ;IACvB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAC;IAEnB,2CAA2C;IAC3C,gBAAgB,EAAE,QAAQ,EAAE,CAAC;CAC9B;AAID,oFAAoF;AACpF,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B,uDAAuD;IACvD,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Scope Module Types
3
+ *
4
+ * Defines the core data structures for tree-sitter based
5
+ * symbol-level scoping of code reviews.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/scope/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/tools/execution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAe,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,CAAC,EAAE;IAClD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC,GAAG,gBAAgB,CAqFnB"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/tools/execution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAe,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,CAAC,EAAE;IAClD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrC,GAAG,gBAAgB,CAwFnB"}
@@ -77,6 +77,8 @@ export function createNodeExecutionContext(logger) {
77
77
  log(level, message) {
78
78
  log[level](message);
79
79
  },
80
+ // No MCP server in default Node context — plugins that need MCP will skip gracefully
81
+ mcpCall: undefined,
80
82
  };
81
83
  }
82
84
  //# sourceMappingURL=execution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/tools/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/tools/execution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAI1C;IACC,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC;IAE9B,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,IAAc,EAAE,IAAiB;YAC3D,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpD,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;gBACjC,IAAI,QAAQ,GAAG,KAAK,CAAC;gBAErB,iBAAiB;gBACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,QAAQ,GAAG,IAAI,CAAC;oBAChB,EAAE,CAAC,KAAK,EAAE,CAAC;gBACb,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;gBAErE,MAAM,KAAK,GAAG,QAAQ,CACpB,OAAO,EACP,IAAI,EACJ;oBACE,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,GAAG;oBACH,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;oBACpC,MAAM,EAAE,EAAE,CAAC,MAAM;iBAClB,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;oBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;oBAEpB,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO,CAAC;4BACN,MAAM,EAAE,MAAM,IAAI,EAAE;4BACpB,MAAM,EAAE,MAAM,IAAI,EAAE;4BACpB,QAAQ,EAAE,CAAC,CAAC;4BACZ,QAAQ,EAAE,IAAI;yBACf,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,2CAA2C;oBAC3C,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,IAAe,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE9E,mCAAmC;oBACnC,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzD,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC9C,wDAAwD;wBACxD,OAAO,CAAC;4BACN,MAAM,EAAE,MAAM,IAAI,EAAE;4BACpB,MAAM,EAAE,MAAM,IAAI,EAAE;4BACpB,QAAQ;4BACR,QAAQ,EAAE,KAAK;yBAChB,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,OAAO,CAAC;wBACN,MAAM,EAAE,MAAM,IAAI,EAAE;wBACpB,MAAM,EAAE,MAAM,IAAI,EAAE;wBACpB,QAAQ;wBACR,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;gBACL,CAAC,CACF,CAAC;gBAEF,sBAAsB;gBACtB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,MAAgB;YACpD,6CAA6C;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,MAAgB;YACjD,uCAAuC;QACzC,CAAC;QAED,GAAG,CAAC,KAAgC,EAAE,OAAe;YACnD,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QAED,qFAAqF;QACrF,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC"}
@@ -34,6 +34,7 @@ export { psalmPlugin } from './psalm.js';
34
34
  export { ruffPlugin } from './ruff.js';
35
35
  export { semgrepPlugin } from './semgrep.js';
36
36
  export { shellcheckPlugin } from './shellcheck.js';
37
+ export { sonarqubePlugin } from './sonarqube.js';
37
38
  export { trivyPlugin } from './trivy.js';
38
39
  export { zizmorPlugin } from './zizmor.js';
39
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAoDH;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAQ7C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAwDH;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAQ7C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAGD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -29,6 +29,8 @@ import { psalmPlugin } from './psalm.js';
29
29
  import { ruffPlugin } from './ruff.js';
30
30
  import { semgrepPlugin } from './semgrep.js';
31
31
  import { shellcheckPlugin } from './shellcheck.js';
32
+ // Phase 7: auto-detect (MCP-based — external servers)
33
+ import { sonarqubePlugin } from './sonarqube.js';
32
34
  import { trivyPlugin } from './trivy.js';
33
35
  // Phase 6: auto-detect (CI/CD security)
34
36
  import { zizmorPlugin } from './zizmor.js';
@@ -55,6 +57,8 @@ const DEFAULT_PLUGINS = [
55
57
  hadolintPlugin,
56
58
  // Phase 6: auto-detect (CI/CD security)
57
59
  zizmorPlugin,
60
+ // Phase 7: auto-detect (MCP-based — external servers)
61
+ sonarqubePlugin,
58
62
  ];
59
63
  let initialized = false;
60
64
  /**
@@ -76,13 +80,11 @@ export function initializeDefaultTools() {
76
80
  export function resetInitialization() {
77
81
  initialized = false;
78
82
  }
83
+ // Re-export plugins for direct access
79
84
  export { banditPlugin } from './bandit.js';
80
- // Phase 5
81
85
  export { biomePlugin } from './biome.js';
82
86
  export { clippyPlugin } from './clippy.js';
83
- // Re-export plugins for direct access
84
87
  export { cpdPlugin } from './cpd.js';
85
- // Phase 3
86
88
  export { gitleaksPlugin } from './gitleaks.js';
87
89
  export { golangciLintPlugin } from './golangci-lint.js';
88
90
  export { hadolintPlugin } from './hadolint.js';
@@ -90,11 +92,10 @@ export { lizardPlugin } from './lizard.js';
90
92
  export { markdownlintPlugin } from './markdownlint.js';
91
93
  export { pmdPlugin } from './pmd.js';
92
94
  export { psalmPlugin } from './psalm.js';
93
- // Phase 4
94
95
  export { ruffPlugin } from './ruff.js';
95
96
  export { semgrepPlugin } from './semgrep.js';
96
97
  export { shellcheckPlugin } from './shellcheck.js';
98
+ export { sonarqubePlugin } from './sonarqube.js';
97
99
  export { trivyPlugin } from './trivy.js';
98
- // Phase 6
99
100
  export { zizmorPlugin } from './zizmor.js';
100
101
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/plugins/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/plugins/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * SonarQube plugin — static analysis via MCP (auto-detect).
3
+ *
4
+ * Fetches SonarQube issues for files under review via an MCP server.
5
+ * Unlike CLI-based plugins, this one uses `ctx.mcpCall()` instead of
6
+ * `ctx.exec()`. Activates only when an MCP server with the
7
+ * `sonarqube_issues` tool is available.
8
+ *
9
+ * Uses ExecutionContext for DI — mcpCall is optional and undefined
10
+ * when no MCP server is configured.
11
+ */
12
+ import type { FindingSeverity, ReviewFinding } from '../../types.js';
13
+ import type { RawToolOutput, ToolDefinition } from '../types.js';
14
+ /**
15
+ * Enable SonarQube MCP detection.
16
+ * Call this before `resolveActivatedTools()` when an MCP-capable
17
+ * ExecutionContext is provided.
18
+ */
19
+ export declare function setSonarQubeMcpAvailable(available: boolean): void;
20
+ /**
21
+ * Check current MCP availability flag.
22
+ * Exported for testing.
23
+ */
24
+ export declare function isSonarQubeMcpAvailable(): boolean;
25
+ /**
26
+ * Map SonarQube severity to GHAGGA FindingSeverity.
27
+ *
28
+ * SonarQube levels: BLOCKER, CRITICAL, MAJOR, MINOR, INFO
29
+ */
30
+ export declare function mapSonarQubeSeverity(severity: string): FindingSeverity;
31
+ /**
32
+ * Map SonarQube issue type to a review category.
33
+ *
34
+ * SonarQube types: BUG, VULNERABILITY, CODE_SMELL, SECURITY_HOTSPOT
35
+ */
36
+ export declare function mapSonarQubeCategory(type: string): string;
37
+ /** Single issue from SonarQube API / MCP response */
38
+ export interface SonarQubeIssue {
39
+ key: string;
40
+ rule: string;
41
+ severity: string;
42
+ component: string;
43
+ line?: number;
44
+ message: string;
45
+ type: string;
46
+ effort?: string;
47
+ }
48
+ /**
49
+ * Parse SonarQube JSON output into ReviewFinding[].
50
+ * Exported for direct testing with fixture data.
51
+ */
52
+ export declare function parseSonarQubeOutput(raw: RawToolOutput, _repoDir: string): ReviewFinding[];
53
+ export declare const sonarqubePlugin: ToolDefinition;
54
+ //# sourceMappingURL=sonarqube.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sonarqube.d.ts","sourceRoot":"","sources":["../../../src/tools/plugins/sonarqube.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAoB,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUnF;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAEjE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAID;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CActE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYzD;AAID,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAmB1F;AAID,eAAO,MAAM,eAAe,EAAE,cAuD7B,CAAC"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * SonarQube plugin — static analysis via MCP (auto-detect).
3
+ *
4
+ * Fetches SonarQube issues for files under review via an MCP server.
5
+ * Unlike CLI-based plugins, this one uses `ctx.mcpCall()` instead of
6
+ * `ctx.exec()`. Activates only when an MCP server with the
7
+ * `sonarqube_issues` tool is available.
8
+ *
9
+ * Uses ExecutionContext for DI — mcpCall is optional and undefined
10
+ * when no MCP server is configured.
11
+ */
12
+ /**
13
+ * Module-level flag indicating whether an MCP server with SonarQube
14
+ * capabilities is available. Set by the caller before tool resolution.
15
+ *
16
+ * Default: false — the plugin is inert unless explicitly enabled.
17
+ */
18
+ let mcpAvailable = false;
19
+ /**
20
+ * Enable SonarQube MCP detection.
21
+ * Call this before `resolveActivatedTools()` when an MCP-capable
22
+ * ExecutionContext is provided.
23
+ */
24
+ export function setSonarQubeMcpAvailable(available) {
25
+ mcpAvailable = available;
26
+ }
27
+ /**
28
+ * Check current MCP availability flag.
29
+ * Exported for testing.
30
+ */
31
+ export function isSonarQubeMcpAvailable() {
32
+ return mcpAvailable;
33
+ }
34
+ // ─── Severity Mapping ──────────────────────────────────────────────
35
+ /**
36
+ * Map SonarQube severity to GHAGGA FindingSeverity.
37
+ *
38
+ * SonarQube levels: BLOCKER, CRITICAL, MAJOR, MINOR, INFO
39
+ */
40
+ export function mapSonarQubeSeverity(severity) {
41
+ switch (severity.toUpperCase()) {
42
+ case 'BLOCKER':
43
+ case 'CRITICAL':
44
+ return 'critical';
45
+ case 'MAJOR':
46
+ return 'high';
47
+ case 'MINOR':
48
+ return 'medium';
49
+ case 'INFO':
50
+ return 'low';
51
+ default:
52
+ return 'low';
53
+ }
54
+ }
55
+ /**
56
+ * Map SonarQube issue type to a review category.
57
+ *
58
+ * SonarQube types: BUG, VULNERABILITY, CODE_SMELL, SECURITY_HOTSPOT
59
+ */
60
+ export function mapSonarQubeCategory(type) {
61
+ switch (type.toUpperCase()) {
62
+ case 'VULNERABILITY':
63
+ case 'SECURITY_HOTSPOT':
64
+ return 'security';
65
+ case 'BUG':
66
+ return 'bug';
67
+ case 'CODE_SMELL':
68
+ return 'quality';
69
+ default:
70
+ return 'quality';
71
+ }
72
+ }
73
+ // ─── Parse Function ────────────────────────────────────────────────
74
+ /**
75
+ * Parse SonarQube JSON output into ReviewFinding[].
76
+ * Exported for direct testing with fixture data.
77
+ */
78
+ export function parseSonarQubeOutput(raw, _repoDir) {
79
+ if (raw.timedOut)
80
+ return [];
81
+ if (!raw.stdout || raw.stdout.trim().length === 0)
82
+ return [];
83
+ try {
84
+ const data = JSON.parse(raw.stdout);
85
+ const issues = data.issues ?? [];
86
+ return issues.map((issue) => ({
87
+ severity: mapSonarQubeSeverity(issue.severity),
88
+ category: mapSonarQubeCategory(issue.type),
89
+ file: issue.component,
90
+ line: issue.line,
91
+ message: `${issue.rule}: ${issue.message}`,
92
+ source: 'sonarqube',
93
+ }));
94
+ }
95
+ catch {
96
+ return [];
97
+ }
98
+ }
99
+ // ─── Plugin Definition ─────────────────────────────────────────────
100
+ export const sonarqubePlugin = {
101
+ name: 'sonarqube',
102
+ displayName: 'SonarQube (MCP)',
103
+ category: 'quality',
104
+ tier: 'auto-detect',
105
+ version: 'mcp',
106
+ outputFormat: 'json',
107
+ /**
108
+ * Detect: activates when MCP is available AND there are files to scan.
109
+ * The mcpAvailable flag is set externally before tool resolution.
110
+ */
111
+ detect(files) {
112
+ return mcpAvailable && files.length > 0;
113
+ },
114
+ /**
115
+ * Install: no-op — SonarQube runs on an external server via MCP.
116
+ */
117
+ async install(_ctx) {
118
+ // Nothing to install — MCP server is external
119
+ },
120
+ /**
121
+ * Run: call the SonarQube MCP server to fetch issues for the given files.
122
+ * Falls back to an empty result if mcpCall is not available.
123
+ */
124
+ async run(ctx, _repoDir, files, _timeout) {
125
+ if (!ctx.mcpCall) {
126
+ ctx.log('info', '[ghagga:sonarqube] No MCP connection — skipping');
127
+ return { stdout: '{"issues":[]}', stderr: '', exitCode: 0, timedOut: false };
128
+ }
129
+ try {
130
+ const result = await ctx.mcpCall('sonarqube_issues', {
131
+ file_paths: files,
132
+ });
133
+ // MCP tools return structured data — serialize to JSON for the parse step
134
+ const stdout = typeof result === 'string' ? result : JSON.stringify(result);
135
+ return { stdout, stderr: '', exitCode: 0, timedOut: false };
136
+ }
137
+ catch (error) {
138
+ const msg = error instanceof Error ? error.message : String(error);
139
+ ctx.log('warn', `[ghagga:sonarqube] MCP call failed: ${msg}`);
140
+ return { stdout: '{"issues":[]}', stderr: msg, exitCode: 1, timedOut: false };
141
+ }
142
+ },
143
+ parse: parseSonarQubeOutput,
144
+ };
145
+ //# sourceMappingURL=sonarqube.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sonarqube.js","sourceRoot":"","sources":["../../../src/tools/plugins/sonarqube.ts"],"names":[],"mappings":"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"}
@@ -91,7 +91,7 @@ export const trivyPlugin = {
91
91
  // Install Trivy via official install script
92
92
  await ctx.exec('bash', [
93
93
  '-c',
94
- `curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v${TRIVY_VERSION}`,
94
+ `curl -sL "https://github.com/aquasecurity/trivy/releases/download/v${TRIVY_VERSION}/trivy_${TRIVY_VERSION}_Linux-64bit.tar.gz" -o /tmp/trivy.tar.gz && tar -xzf /tmp/trivy.tar.gz -C /tmp && mv /tmp/trivy /usr/local/bin/trivy && chmod +x /usr/local/bin/trivy && rm -f /tmp/trivy.tar.gz /tmp/LICENSE /tmp/README.md`,
95
95
  ], { timeoutMs: 120_000 });
96
96
  await ctx.exec('trivy', ['--version'], { timeoutMs: 10_000 });
97
97
  await ctx.cacheSave('trivy', ['/usr/local/bin/trivy']);
@@ -1 +1 @@
1
- {"version":3,"file":"trivy.js","sourceRoot":"","sources":["../../../src/tools/plugins/trivy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trivy.js","sourceRoot":"","sources":["../../../src/tools/plugins/trivy.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * Distribution adapters implement ExecutionContext.
9
9
  */
10
10
  import type { ReviewFinding } from '../types.js';
11
- export type ToolName = 'semgrep' | 'trivy' | 'cpd' | 'gitleaks' | 'shellcheck' | 'markdownlint' | 'lizard' | 'ruff' | 'bandit' | 'golangci-lint' | 'biome' | 'pmd' | 'psalm' | 'clippy' | 'hadolint' | 'zizmor';
11
+ export type ToolName = 'semgrep' | 'trivy' | 'cpd' | 'gitleaks' | 'shellcheck' | 'markdownlint' | 'lizard' | 'ruff' | 'bandit' | 'golangci-lint' | 'biome' | 'pmd' | 'psalm' | 'clippy' | 'hadolint' | 'zizmor' | 'sonarqube';
12
12
  export type ToolCategory = 'security' | 'quality' | 'secrets' | 'complexity' | 'duplication' | 'sca' | 'docs' | 'linting';
13
13
  export type ToolTier = 'always-on' | 'auto-detect';
14
14
  export interface RawToolOutput {
@@ -45,6 +45,12 @@ export interface ExecutionContext {
45
45
  cacheSave(toolName: string, paths: string[]): Promise<void>;
46
46
  /** Structured logging */
47
47
  log(level: 'info' | 'warn' | 'error', message: string): void;
48
+ /**
49
+ * Call an MCP tool by name. Optional — only available when an MCP server
50
+ * is configured (e.g., SonarQube MCP server). Returns the tool's JSON response.
51
+ * Undefined when no MCP server is connected.
52
+ */
53
+ mcpCall?(toolName: string, args: Record<string, unknown>): Promise<unknown>;
48
54
  }
49
55
  export interface ToolDefinition {
50
56
  /** Unique identifier (lowercase kebab-case) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * These types define the contract between the core review engine
5
5
  * and all distribution adapters (server, CLI, action).
6
6
  */
7
- export type ReviewMode = 'simple' | 'workflow' | 'consensus' | 'diagnostic';
7
+ export type ReviewMode = 'simple' | 'workflow' | 'consensus' | 'diagnostic' | 'fan-out';
8
8
  export type LLMProvider = 'anthropic' | 'openai' | 'google' | 'github' | 'ollama' | 'qwen' | 'groq' | 'cerebras' | 'deepseek' | 'openrouter' | 'cli-bridge' | 'gateway';
9
9
  /** Providers available in the SaaS dashboard (excludes Ollama) */
10
10
  export type SaaSProvider = 'anthropic' | 'openai' | 'google' | 'github' | 'qwen' | 'groq' | 'cerebras' | 'deepseek' | 'openrouter' | 'cli-bridge' | 'gateway';
@@ -107,6 +107,12 @@ export interface ReviewSettings {
107
107
  maxBlastRadiusFiles?: number;
108
108
  /** Max traversal depth for dependency graph. Default: 3. */
109
109
  traversalDepth?: number;
110
+ /** SOLID + boundary conditions review checklist configuration. */
111
+ checklist?: import('./checklist/types.js').ChecklistConfig;
112
+ /** Enable recursive review loop to validate suggested fixes. Default: false. */
113
+ enableRecursiveReview?: boolean;
114
+ /** Max re-review iterations for recursive review. Default: 2. */
115
+ maxRecursiveIterations?: number;
110
116
  }
111
117
  export interface ReviewContext {
112
118
  /** Repository full name (e.g., "owner/repo") */
@@ -159,6 +165,10 @@ export interface ReviewResult {
159
165
  enhanceMetadata?: import('./enhance/types.js').EnhanceMetadata;
160
166
  /** Diagnostic hypotheses (present when mode === 'diagnostic'). */
161
167
  hypotheses?: Hypothesis[];
168
+ /** Checklist scoring results (present when checklist is enabled). */
169
+ checklistScore?: import('./checklist/scorer.js').ChecklistScoreResult;
170
+ /** Recursive review report (present when enableRecursiveReview is true). */
171
+ recursiveReview?: import('./recursive/types.js').RecursiveReviewReport;
162
172
  }
163
173
  export interface ReviewFinding {
164
174
  /** Severity level */
@@ -183,6 +193,10 @@ export interface ReviewFinding {
183
193
  aiFiltered?: boolean;
184
194
  /** Reason for AI filtering (present when aiFiltered === true). */
185
195
  filterReason?: string;
196
+ /** Exploitability label for CVE findings (present when exploitability analysis runs). */
197
+ exploitability?: import('./exploitability/types.js').ExploitabilityLabel;
198
+ /** Detailed exploitability analysis (present when exploitability analysis runs). */
199
+ exploitabilityDetail?: import('./exploitability/types.js').ExploitabilityDetail;
186
200
  }
187
201
  export interface ReviewMetadata {
188
202
  /** Review mode used */
@@ -253,6 +267,22 @@ export interface ConsensusVote {
253
267
  /** Reasoning for the decision */
254
268
  reasoning: string;
255
269
  }
270
+ /**
271
+ * Configuration for memory strength decay.
272
+ * Observations not re-accessed lose strength over time:
273
+ * active (strength=1.0) → dormant → decaying → cleared (strength=0.0)
274
+ */
275
+ export interface DecayConfig {
276
+ /** Days after last access before decay begins. Default: 7 */
277
+ dormancyDays: number;
278
+ /** Days over which strength linearly drops from 1.0 to 0.0 (after dormancy). Default: 30 */
279
+ decayDays: number;
280
+ /** Days after last access at which strength reaches 0.0. Default: 90 */
281
+ clearanceDays: number;
282
+ /** Minimum strength to include in search results. Default: 0.1 */
283
+ minStrength: number;
284
+ }
285
+ export declare const DEFAULT_DECAY_CONFIG: DecayConfig;
256
286
  export type ObservationType = 'decision' | 'pattern' | 'bugfix' | 'learning' | 'architecture' | 'config' | 'discovery';
257
287
  export interface MemoryObservation {
258
288
  /** Observation type */
@@ -322,6 +352,8 @@ export interface MemoryObservationRow {
322
352
  content: string;
323
353
  filePaths: string[] | null;
324
354
  severity: string | null;
355
+ /** Decay strength score (0.0–1.0). Present when decay is enabled, undefined otherwise. */
356
+ strength?: number;
325
357
  }
326
358
  /**
327
359
  * Full observation row with all database columns.
@@ -361,6 +393,53 @@ export interface ListObservationsOptions {
361
393
  limit?: number;
362
394
  offset?: number;
363
395
  }
396
+ /**
397
+ * A named branch in the memory versioning system.
398
+ * Observations are scoped to branches, enabling isolated experimentation.
399
+ */
400
+ export interface MemoryBranch {
401
+ id: number;
402
+ name: string;
403
+ parentId: number | null;
404
+ createdAt: string;
405
+ }
406
+ /**
407
+ * A named snapshot capturing the set of observation IDs at a point in time.
408
+ * Used for rollback operations.
409
+ */
410
+ export interface MemorySnapshot {
411
+ id: number;
412
+ name: string;
413
+ branchId: number;
414
+ observationIds: number[];
415
+ createdAt: string;
416
+ }
417
+ /**
418
+ * A pair of contradicting observations detected during merge.
419
+ * Both observations target the same file and category but suggest conflicting actions.
420
+ */
421
+ export interface Contradiction {
422
+ observationA: MemoryObservationRow;
423
+ observationB: MemoryObservationRow;
424
+ reason: string;
425
+ }
426
+ /**
427
+ * Result of a branch merge operation.
428
+ */
429
+ export interface MergeResult {
430
+ /** IDs of observations successfully merged into the target branch. */
431
+ merged: number[];
432
+ /** Contradictions detected during merge (observations are still merged). */
433
+ contradictions: Contradiction[];
434
+ }
435
+ /**
436
+ * Configuration for the memory versioning system.
437
+ */
438
+ export interface VersioningConfig {
439
+ /** Similarity threshold for contradiction detection (0.0–1.0). Default: 0.5 */
440
+ contradictionThreshold: number;
441
+ }
442
+ export declare const DEFAULT_VERSIONING_CONFIG: VersioningConfig;
364
443
  export declare const DEFAULT_SETTINGS: ReviewSettings;
365
444
  export declare const DEFAULT_MODELS: Record<LLMProvider, string>;
366
445
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}