ghagga-core 2.9.1 → 3.0.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 (175) hide show
  1. package/LICENSE +21 -0
  2. package/dist/agents/consensus.d.ts.map +1 -1
  3. package/dist/agents/consensus.js +7 -2
  4. package/dist/agents/consensus.js.map +1 -1
  5. package/dist/agents/diagnostic.d.ts.map +1 -1
  6. package/dist/agents/diagnostic.js +7 -2
  7. package/dist/agents/diagnostic.js.map +1 -1
  8. package/dist/agents/fan-out-lenses.d.ts.map +1 -1
  9. package/dist/agents/fan-out-lenses.js +7 -2
  10. package/dist/agents/fan-out-lenses.js.map +1 -1
  11. package/dist/agents/prompts.d.ts +49 -1
  12. package/dist/agents/prompts.d.ts.map +1 -1
  13. package/dist/agents/prompts.js +133 -5
  14. package/dist/agents/prompts.js.map +1 -1
  15. package/dist/agents/simple.d.ts +1 -1
  16. package/dist/agents/simple.d.ts.map +1 -1
  17. package/dist/agents/simple.js +6 -4
  18. package/dist/agents/simple.js.map +1 -1
  19. package/dist/agents/workflow.d.ts.map +1 -1
  20. package/dist/agents/workflow.js +13 -4
  21. package/dist/agents/workflow.js.map +1 -1
  22. package/dist/critique/critique.d.ts.map +1 -1
  23. package/dist/critique/critique.js +14 -6
  24. package/dist/critique/critique.js.map +1 -1
  25. package/dist/diff/index.d.ts +12 -0
  26. package/dist/diff/index.d.ts.map +1 -0
  27. package/dist/diff/index.js +11 -0
  28. package/dist/diff/index.js.map +1 -0
  29. package/dist/diff/parse.d.ts +41 -0
  30. package/dist/diff/parse.d.ts.map +1 -0
  31. package/dist/diff/parse.js +303 -0
  32. package/dist/diff/parse.js.map +1 -0
  33. package/dist/diff/types.d.ts +106 -0
  34. package/dist/diff/types.d.ts.map +1 -0
  35. package/dist/diff/types.js +23 -0
  36. package/dist/diff/types.js.map +1 -0
  37. package/dist/embed.d.ts +5 -2
  38. package/dist/embed.d.ts.map +1 -1
  39. package/dist/embed.js +7 -3
  40. package/dist/embed.js.map +1 -1
  41. package/dist/enhance/prompt.d.ts +5 -1
  42. package/dist/enhance/prompt.d.ts.map +1 -1
  43. package/dist/enhance/prompt.js +9 -2
  44. package/dist/enhance/prompt.js.map +1 -1
  45. package/dist/format.d.ts +31 -0
  46. package/dist/format.d.ts.map +1 -1
  47. package/dist/format.js +256 -15
  48. package/dist/format.js.map +1 -1
  49. package/dist/index.d.ts +2 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +1 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/memory/pageindex/index.d.ts +2 -2
  54. package/dist/memory/pageindex/index.d.ts.map +1 -1
  55. package/dist/memory/pageindex/index.js.map +1 -1
  56. package/dist/memory/pageindex/service.d.ts +10 -1
  57. package/dist/memory/pageindex/service.d.ts.map +1 -1
  58. package/dist/memory/pageindex/service.js +2 -2
  59. package/dist/memory/pageindex/service.js.map +1 -1
  60. package/dist/memory/persist.d.ts.map +1 -1
  61. package/dist/memory/persist.js +10 -3
  62. package/dist/memory/persist.js.map +1 -1
  63. package/dist/memory/privacy.d.ts.map +1 -1
  64. package/dist/memory/privacy.js +45 -6
  65. package/dist/memory/privacy.js.map +1 -1
  66. package/dist/memory/sqlite.d.ts +1 -13
  67. package/dist/memory/sqlite.d.ts.map +1 -1
  68. package/dist/memory/sqlite.js +45 -27
  69. package/dist/memory/sqlite.js.map +1 -1
  70. package/dist/memory/taxonomy.d.ts.map +1 -1
  71. package/dist/memory/taxonomy.js +6 -1
  72. package/dist/memory/taxonomy.js.map +1 -1
  73. package/dist/pipeline/degrade.d.ts +61 -0
  74. package/dist/pipeline/degrade.d.ts.map +1 -0
  75. package/dist/pipeline/degrade.js +58 -0
  76. package/dist/pipeline/degrade.js.map +1 -0
  77. package/dist/pipeline/enrich.d.ts +29 -0
  78. package/dist/pipeline/enrich.d.ts.map +1 -0
  79. package/dist/pipeline/enrich.js +271 -0
  80. package/dist/pipeline/enrich.js.map +1 -0
  81. package/dist/pipeline/execute.d.ts +22 -0
  82. package/dist/pipeline/execute.d.ts.map +1 -0
  83. package/dist/pipeline/execute.js +250 -0
  84. package/dist/pipeline/execute.js.map +1 -0
  85. package/dist/pipeline/finalize.d.ts +26 -0
  86. package/dist/pipeline/finalize.d.ts.map +1 -0
  87. package/dist/pipeline/finalize.js +52 -0
  88. package/dist/pipeline/finalize.js.map +1 -0
  89. package/dist/pipeline/gather-context.d.ts +25 -0
  90. package/dist/pipeline/gather-context.d.ts.map +1 -0
  91. package/dist/pipeline/gather-context.js +169 -0
  92. package/dist/pipeline/gather-context.js.map +1 -0
  93. package/dist/pipeline/gather-safe.d.ts +39 -0
  94. package/dist/pipeline/gather-safe.d.ts.map +1 -0
  95. package/dist/pipeline/gather-safe.js +127 -0
  96. package/dist/pipeline/gather-safe.js.map +1 -0
  97. package/dist/pipeline/prepare-graph.d.ts +54 -0
  98. package/dist/pipeline/prepare-graph.d.ts.map +1 -0
  99. package/dist/pipeline/prepare-graph.js +174 -0
  100. package/dist/pipeline/prepare-graph.js.map +1 -0
  101. package/dist/pipeline/prepare.d.ts +40 -0
  102. package/dist/pipeline/prepare.d.ts.map +1 -0
  103. package/dist/pipeline/prepare.js +233 -0
  104. package/dist/pipeline/prepare.js.map +1 -0
  105. package/dist/pipeline/providers.d.ts +54 -0
  106. package/dist/pipeline/providers.d.ts.map +1 -0
  107. package/dist/pipeline/providers.js +163 -0
  108. package/dist/pipeline/providers.js.map +1 -0
  109. package/dist/pipeline/results.d.ts +35 -0
  110. package/dist/pipeline/results.d.ts.map +1 -0
  111. package/dist/pipeline/results.js +122 -0
  112. package/dist/pipeline/results.js.map +1 -0
  113. package/dist/pipeline/state.d.ts +92 -0
  114. package/dist/pipeline/state.d.ts.map +1 -0
  115. package/dist/pipeline/state.js +13 -0
  116. package/dist/pipeline/state.js.map +1 -0
  117. package/dist/pipeline.d.ts +10 -9
  118. package/dist/pipeline.d.ts.map +1 -1
  119. package/dist/pipeline.js +36 -1213
  120. package/dist/pipeline.js.map +1 -1
  121. package/dist/providers/gateway.d.ts.map +1 -1
  122. package/dist/providers/gateway.js +8 -0
  123. package/dist/providers/gateway.js.map +1 -1
  124. package/dist/recursive/index.d.ts +1 -0
  125. package/dist/recursive/index.d.ts.map +1 -1
  126. package/dist/recursive/index.js +7 -3
  127. package/dist/recursive/index.js.map +1 -1
  128. package/dist/recursive/patch-extractor.d.ts +58 -6
  129. package/dist/recursive/patch-extractor.d.ts.map +1 -1
  130. package/dist/recursive/patch-extractor.js +207 -26
  131. package/dist/recursive/patch-extractor.js.map +1 -1
  132. package/dist/sanitize.d.ts +51 -0
  133. package/dist/sanitize.d.ts.map +1 -0
  134. package/dist/sanitize.js +90 -0
  135. package/dist/sanitize.js.map +1 -0
  136. package/dist/scope/diff-mapper.d.ts +12 -0
  137. package/dist/scope/diff-mapper.d.ts.map +1 -1
  138. package/dist/scope/diff-mapper.js +25 -18
  139. package/dist/scope/diff-mapper.js.map +1 -1
  140. package/dist/scope/entity-diff.d.ts +21 -4
  141. package/dist/scope/entity-diff.d.ts.map +1 -1
  142. package/dist/scope/entity-diff.js +132 -34
  143. package/dist/scope/entity-diff.js.map +1 -1
  144. package/dist/scope/types.d.ts +10 -0
  145. package/dist/scope/types.d.ts.map +1 -1
  146. package/dist/semantic-diff/index.d.ts +25 -2
  147. package/dist/semantic-diff/index.d.ts.map +1 -1
  148. package/dist/semantic-diff/index.js +147 -53
  149. package/dist/semantic-diff/index.js.map +1 -1
  150. package/dist/tools/gitleaks-config.toml +35 -0
  151. package/dist/tools/plugins/gitleaks.d.ts +10 -0
  152. package/dist/tools/plugins/gitleaks.d.ts.map +1 -1
  153. package/dist/tools/plugins/gitleaks.js +29 -2
  154. package/dist/tools/plugins/gitleaks.js.map +1 -1
  155. package/dist/tools/plugins/semgrep.d.ts +11 -0
  156. package/dist/tools/plugins/semgrep.d.ts.map +1 -1
  157. package/dist/tools/plugins/semgrep.js +30 -1
  158. package/dist/tools/plugins/semgrep.js.map +1 -1
  159. package/dist/tools/semgrep-rules.yml +305 -0
  160. package/dist/types.d.ts +51 -1
  161. package/dist/types.d.ts.map +1 -1
  162. package/dist/types.js.map +1 -1
  163. package/dist/utils/diff.d.ts +22 -2
  164. package/dist/utils/diff.d.ts.map +1 -1
  165. package/dist/utils/diff.js +36 -40
  166. package/dist/utils/diff.js.map +1 -1
  167. package/package.json +21 -22
  168. package/dist/providers/fallback.d.ts +0 -54
  169. package/dist/providers/fallback.d.ts.map +0 -1
  170. package/dist/providers/fallback.js +0 -102
  171. package/dist/providers/fallback.js.map +0 -1
  172. package/dist/providers/index.d.ts +0 -49
  173. package/dist/providers/index.d.ts.map +0 -1
  174. package/dist/providers/index.js +0 -146
  175. package/dist/providers/index.js.map +0 -1
@@ -0,0 +1,305 @@
1
+ # =============================================================================
2
+ # GHAGGA Semgrep: Universal Security & Quality Rules
3
+ # =============================================================================
4
+ # Multi-language rules for: Java, Kotlin, JS, TS, Python, Go, Rust
5
+ # =============================================================================
6
+
7
+ rules:
8
+ # ===== SECRETS =====
9
+ # Precision note: a bare `$VAR = "..."` matches almost every string-constant
10
+ # assignment, which floods results with false positives. This rule only fires
11
+ # when EITHER (a) the assigned name/key looks secret-ish (keyword regex) OR
12
+ # (b) the literal value matches a known high-signal secret shape (provider
13
+ # prefixes, JWT, or a long base64/hex blob). Both name and value are captured
14
+ # so the two conditions can be OR'd via pattern-either.
15
+ - id: hardcoded-secret-generic
16
+ # Each pattern-either branch re-includes the base assignment pattern so the
17
+ # metavariable ($VAR / $VAL) is bound in the same scope as its regex filter.
18
+ # NOTE: the JSON-object-key form (`"key": "value"`) was intentionally dropped
19
+ # from this multi-language rule because it is not parseable as a pattern in
20
+ # java/kotlin/python/go/rust and a single parse failure disables the whole
21
+ # rule. The cross-language assignment form (`$VAR = "$VAL"`) is what survives
22
+ # everywhere and carries the signal.
23
+ pattern-either:
24
+ # (a) variable/key NAME looks like a secret
25
+ - patterns:
26
+ - pattern: $VAR = "$VAL"
27
+ - metavariable-regex:
28
+ metavariable: $VAR
29
+ regex: (?i)(secret|token|api[_-]?key|apikey|password|passwd|pwd|credential|auth[_-]?token|private[_-]?key|access[_-]?key|client[_-]?secret)
30
+ # (b) string VALUE matches a known high-signal secret shape.
31
+ # High-signal provider prefixes ONLY. The generic base64/hex {32,}
32
+ # alternates were REMOVED (2026-06-15, 3vr): they matched any
33
+ # UUID/SHA/cache-key/blob → massive FPs. Real secrets are still caught
34
+ # here by prefix, or by the secret-keyword var-name branch (a).
35
+ - patterns:
36
+ - pattern: $VAR = "$VAL"
37
+ - metavariable-regex:
38
+ metavariable: $VAL
39
+ regex: (AKIA[0-9A-Z]{16}|sk-[A-Za-z0-9-]{20,}|ghp_[A-Za-z0-9]{36}|eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+)
40
+ message: "Possible hardcoded secret. Use environment variables."
41
+ severity: ERROR
42
+ languages: [java, kotlin, javascript, typescript, python, go, rust]
43
+
44
+ # ===== SQL INJECTION =====
45
+ - id: sql-string-concat
46
+ pattern-either:
47
+ - pattern: |
48
+ "SELECT " + $USER_INPUT
49
+ - pattern: |
50
+ "DELETE " + $USER_INPUT
51
+ - pattern: |
52
+ "UPDATE " + $USER_INPUT
53
+ - pattern: |
54
+ "INSERT " + $USER_INPUT
55
+ - pattern: |
56
+ f"SELECT {$USER_INPUT}"
57
+ - pattern: |
58
+ `SELECT ${$USER_INPUT}`
59
+ message: "SQL injection risk: use parameterized queries"
60
+ severity: ERROR
61
+ languages: [java, kotlin, javascript, typescript, python]
62
+
63
+ # ===== JAVA/KOTLIN =====
64
+ - id: java-unsafe-reflection
65
+ pattern: Class.forName($USER_INPUT)
66
+ message: "Unsafe reflection with user input"
67
+ severity: WARNING
68
+ languages: [java, kotlin]
69
+
70
+ # ===== JAVASCRIPT/TYPESCRIPT =====
71
+ - id: js-eval-usage
72
+ pattern-either:
73
+ - pattern: eval($X)
74
+ - pattern: new Function($X)
75
+ message: "Avoid eval() - security risk"
76
+ severity: ERROR
77
+ languages: [javascript, typescript]
78
+
79
+ - id: js-innerhtml
80
+ pattern: $X.innerHTML = $Y
81
+ message: "innerHTML can cause XSS. Use textContent or sanitize."
82
+ severity: WARNING
83
+ languages: [javascript, typescript]
84
+
85
+ # ===== PYTHON =====
86
+ - id: python-exec
87
+ pattern-either:
88
+ - pattern: exec($X)
89
+ - pattern: eval($X)
90
+ message: "Avoid exec/eval - security risk"
91
+ severity: ERROR
92
+ languages: [python]
93
+
94
+ - id: python-subprocess-shell
95
+ pattern: subprocess.$FUNC(..., shell=True, ...)
96
+ message: "shell=True is dangerous with user input"
97
+ severity: WARNING
98
+ languages: [python]
99
+
100
+ # ===== GO =====
101
+ - id: go-sql-format
102
+ pattern: |
103
+ fmt.Sprintf("SELECT ... %s ...", $USER_INPUT)
104
+ message: "SQL injection risk: use parameterized queries"
105
+ severity: ERROR
106
+ languages: [go]
107
+
108
+ # ===== RUST =====
109
+ - id: rust-unsafe-block
110
+ pattern: |
111
+ unsafe { ... }
112
+ message: "Review unsafe block carefully"
113
+ severity: INFO
114
+ languages: [rust]
115
+
116
+ # ===== SKIPPED TESTS =====
117
+ - id: test-todo-skip
118
+ pattern-either:
119
+ - pattern: "@Disabled"
120
+ - pattern: "@Ignore"
121
+ - pattern: "it.skip(...)"
122
+ - pattern: "describe.skip(...)"
123
+ - pattern: "@pytest.mark.skip"
124
+ - pattern: "t.Skip()"
125
+ message: "Skipped test - ensure it's intentional"
126
+ severity: INFO
127
+ languages: [java, kotlin, javascript, typescript, python, go]
128
+
129
+ # ===== PATH TRAVERSAL =====
130
+ - id: path-traversal-node
131
+ pattern-either:
132
+ - pattern: path.join(..., $USER_INPUT, ...)
133
+ - pattern: fs.readFile($USER_INPUT, ...)
134
+ - pattern: fs.readFileSync($USER_INPUT, ...)
135
+ message: "Potential path traversal - validate user input"
136
+ severity: WARNING
137
+ languages: [javascript, typescript]
138
+
139
+ - id: path-traversal-python
140
+ pattern-either:
141
+ - pattern: open($USER_INPUT, ...)
142
+ - pattern: os.path.join(..., $USER_INPUT, ...)
143
+ message: "Potential path traversal - validate user input"
144
+ severity: WARNING
145
+ languages: [python]
146
+
147
+ - id: path-traversal-go
148
+ pattern: filepath.Join(..., $USER_INPUT, ...)
149
+ message: "Potential path traversal - validate user input"
150
+ severity: WARNING
151
+ languages: [go]
152
+
153
+ # ===== COMMAND INJECTION =====
154
+ # Precision tradeoff: we catch the literal `child_process.exec(...)` member
155
+ # call AND the destructured / aliased forms, but the bare `exec(...)` and the
156
+ # aliased `cp.exec(...)` branches are scoped with `pattern-inside` to a file
157
+ # that actually imports/requires `child_process` (or `node:child_process`).
158
+ # This avoids flagging unrelated `.exec()` calls (RegExp.exec, Mongoose
159
+ # query.exec) while still catching the realistic forms:
160
+ # import { exec } from 'node:child_process'; exec(userInput)
161
+ # import cp from 'child_process'; cp.exec(userInput)
162
+ # const cp = require('child_process'); cp.exec(userInput)
163
+ # const { exec } = require('child_process'); exec(userInput)
164
+ # Accepted residual risk: a bare `exec(userInput)` in a file that imports
165
+ # child_process but where `exec` is actually a DIFFERENT local function would
166
+ # be a false positive. This is rare and the security upside outweighs it.
167
+ - id: command-injection-node
168
+ pattern-either:
169
+ # Direct member call on the child_process namespace.
170
+ - pattern: child_process.exec($USER_INPUT, ...)
171
+ - pattern: child_process.execSync($USER_INPUT, ...)
172
+ # Named import: `import { exec } from 'child_process'` -> bare exec(...).
173
+ - patterns:
174
+ - pattern-either:
175
+ - pattern: exec($USER_INPUT, ...)
176
+ - pattern: execSync($USER_INPUT, ...)
177
+ - pattern-inside: |
178
+ import { ..., exec, ... } from "child_process"
179
+ ...
180
+ - patterns:
181
+ - pattern-either:
182
+ - pattern: exec($USER_INPUT, ...)
183
+ - pattern: execSync($USER_INPUT, ...)
184
+ - pattern-inside: |
185
+ import { ..., exec, ... } from "node:child_process"
186
+ ...
187
+ - patterns:
188
+ - pattern-either:
189
+ - pattern: exec($USER_INPUT, ...)
190
+ - pattern: execSync($USER_INPUT, ...)
191
+ - pattern-inside: |
192
+ import { ..., execSync, ... } from "child_process"
193
+ ...
194
+ - patterns:
195
+ - pattern-either:
196
+ - pattern: exec($USER_INPUT, ...)
197
+ - pattern: execSync($USER_INPUT, ...)
198
+ - pattern-inside: |
199
+ import { ..., execSync, ... } from "node:child_process"
200
+ ...
201
+ # Default / namespace import: `import cp from 'child_process'` -> cp.exec().
202
+ - patterns:
203
+ - pattern-either:
204
+ - pattern: $CP.exec($USER_INPUT, ...)
205
+ - pattern: $CP.execSync($USER_INPUT, ...)
206
+ - pattern-inside: |
207
+ import $CP from "child_process"
208
+ ...
209
+ - patterns:
210
+ - pattern-either:
211
+ - pattern: $CP.exec($USER_INPUT, ...)
212
+ - pattern: $CP.execSync($USER_INPUT, ...)
213
+ - pattern-inside: |
214
+ import $CP from "node:child_process"
215
+ ...
216
+ # require namespace: `const cp = require('child_process')` -> cp.exec().
217
+ - patterns:
218
+ - pattern-either:
219
+ - pattern: $CP.exec($USER_INPUT, ...)
220
+ - pattern: $CP.execSync($USER_INPUT, ...)
221
+ - pattern-inside: |
222
+ $CP = require("child_process")
223
+ ...
224
+ - patterns:
225
+ - pattern-either:
226
+ - pattern: $CP.exec($USER_INPUT, ...)
227
+ - pattern: $CP.execSync($USER_INPUT, ...)
228
+ - pattern-inside: |
229
+ $CP = require("node:child_process")
230
+ ...
231
+ message: "Potential command injection - use execFile instead"
232
+ severity: ERROR
233
+ languages: [javascript, typescript]
234
+
235
+ - id: command-injection-go
236
+ pattern-either:
237
+ - pattern: exec.Command($USER_INPUT, ...)
238
+ - pattern: exec.CommandContext(..., $USER_INPUT, ...)
239
+ message: "Potential command injection - sanitize user input"
240
+ severity: ERROR
241
+ languages: [go]
242
+
243
+ # ===== SSRF =====
244
+ - id: ssrf-node
245
+ pattern-either:
246
+ - pattern: fetch($USER_INPUT, ...)
247
+ - pattern: axios.get($USER_INPUT, ...)
248
+ message: "Potential SSRF - validate URL against allowlist"
249
+ severity: WARNING
250
+ languages: [javascript, typescript]
251
+
252
+ - id: ssrf-python
253
+ pattern-either:
254
+ - pattern: requests.get($USER_INPUT, ...)
255
+ - pattern: urllib.request.urlopen($USER_INPUT)
256
+ message: "Potential SSRF - validate URL against allowlist"
257
+ severity: WARNING
258
+ languages: [python]
259
+
260
+ # ===== INSECURE DESERIALIZATION =====
261
+ - id: insecure-deserialize-python
262
+ pattern-either:
263
+ - pattern: pickle.loads($X)
264
+ - pattern: yaml.load($X)
265
+ - pattern: yaml.unsafe_load($X)
266
+ message: "Insecure deserialization - use safe alternatives"
267
+ severity: ERROR
268
+ languages: [python]
269
+
270
+ - id: insecure-deserialize-java
271
+ pattern: new ObjectInputStream($X)
272
+ message: "Insecure deserialization - validate input source"
273
+ severity: WARNING
274
+ languages: [java, kotlin]
275
+
276
+ # ===== LOG INJECTION =====
277
+ - id: log-injection
278
+ pattern-either:
279
+ - pattern: logger.info($USER_INPUT)
280
+ - pattern: console.log($USER_INPUT)
281
+ - pattern: log.Printf($USER_INPUT)
282
+ message: "Log injection risk - sanitize user input before logging"
283
+ severity: INFO
284
+ languages: [java, javascript, typescript, go, python]
285
+
286
+ # ===== WEAK CRYPTOGRAPHY =====
287
+ - id: weak-crypto-md5
288
+ pattern-either:
289
+ - pattern: MessageDigest.getInstance("MD5")
290
+ - pattern: hashlib.md5(...)
291
+ - pattern: crypto.createHash("md5")
292
+ - pattern: md5.New()
293
+ message: "MD5 is weak - use SHA-256 or better"
294
+ severity: WARNING
295
+ languages: [java, python, javascript, typescript, go]
296
+
297
+ - id: weak-crypto-sha1
298
+ pattern-either:
299
+ - pattern: MessageDigest.getInstance("SHA-1")
300
+ - pattern: hashlib.sha1(...)
301
+ - pattern: crypto.createHash("sha1")
302
+ - pattern: sha1.New()
303
+ message: "SHA-1 is weak for security - use SHA-256 or better"
304
+ severity: WARNING
305
+ languages: [java, python, javascript, typescript, go]
package/dist/types.d.ts CHANGED
@@ -249,11 +249,61 @@ export interface ReviewResult {
249
249
  docValidation?: import('./doc-validation/types.js').DocValidationResult;
250
250
  /** Code intelligence metadata (present when enableCodeIntel is true). */
251
251
  codeIntelMetadata?: import('./code-intel/types.js').CodeIntelMetadata;
252
- /** Pipeline steps that failed but were gracefully degraded. Present when status is 'PARTIAL'. */
252
+ /**
253
+ * Entity-level semantic diff, computed in the enrich phase over the
254
+ * FILTERED diff (settled in prepare, NEVER truncated — truncateDiff
255
+ * writes the separate `truncatedDiff` field), so counts stay honest even
256
+ * when the prompt diff was cut.
257
+ *
258
+ * Consumed by `formatReviewComment` for the "What changed" section.
259
+ *
260
+ * Serialization surface (precise truth):
261
+ * - NOT persisted: server `saveReview` stores discrete columns + the
262
+ * metadata blob, never top-level result fields.
263
+ * - NOT on the HTTP API: `toReviewDto` is an explicit pick-list.
264
+ * - DOES appear in full-result serializations — `ghagga review
265
+ * --format json` (apps/cli review.ts) and the ACP `review-result`
266
+ * artifact (acp/adapter.ts) both stringify the entire result. This
267
+ * is DELIBERATE (additive-optional field; those consumers already
268
+ * own the raw diff) and pinned by tests in apps/cli review.test.ts
269
+ * and acp/adapter.test.ts. The CLI JSON output is an observable
270
+ * contract — removing/renaming this field is a breaking change there.
271
+ */
272
+ semanticDiff?: import('./semantic-diff/index.js').SemanticDiff;
273
+ /**
274
+ * Pipeline steps that failed but were gracefully degraded. Present whenever
275
+ * at least one TRACKED step degraded, REGARDLESS of status — a FAILED or
276
+ * NEEDS_HUMAN_REVIEW review with degraded steps carries it too (only a
277
+ * PASSED review is downgraded to PARTIAL; see pipeline/finalize.ts).
278
+ *
279
+ * NOT exhaustive: a few steps degrade warn-only (call-chain,
280
+ * negative-examples, self-improve, semantic-diff) and never appear here —
281
+ * they surface ONLY through `coverageComplete === false`.
282
+ */
253
283
  failedSteps?: {
254
284
  step: string;
255
285
  error: string;
256
286
  }[];
287
+ /**
288
+ * First-class coverage signal, ORTHOGONAL to the review verdict (`status`):
289
+ * the verdict says what the review concluded; coverage says how much of the
290
+ * pipeline actually ran to reach it.
291
+ *
292
+ * - `true` — every pipeline step ran (full coverage)
293
+ * - `false` — at least one step degraded: either a tracked failure
294
+ * (see `failedSteps`) OR a warn-only degradation
295
+ * (call-chain, negative-examples, self-improve,
296
+ * semantic-diff — internal
297
+ * steps that never enter `failedSteps` and never trigger
298
+ * the PARTIAL downgrade). The verdict stands but was
299
+ * produced with incomplete coverage. `false` with an
300
+ * absent `failedSteps` is therefore VALID: only warn-only
301
+ * steps degraded.
302
+ * - `undefined` — not applicable: the pipeline never ran (e.g. SKIPPED
303
+ * early-returns like flood-skip / all-files-filtered,
304
+ * which short-circuit before the finalize phase)
305
+ */
306
+ coverageComplete?: boolean;
257
307
  }
258
308
  export interface ReviewFinding {
259
309
  /** Severity level */
@@ -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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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyfH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,GAAG;CACjB,CAAC;AAkMF,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD,sBAAsB,EAAE,GAAG;CAC5B,CAAC;AAyEF,mEAAmE;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,EAAE;IACf,cAAc,EAAE;QACd,MAAM;QACN,OAAO;QACP,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,mBAAmB;QACnB,gBAAgB;QAChB,WAAW;QACX,eAAe;QACf,cAAc;QACd,YAAY;QACZ,aAAa;QACb,QAAQ;KACT;IACD,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,OAAO,EAAE,MAAM;IACf,YAAY,EAAE,MAAM;IACpB,MAAM,EAAE,QAAQ;CACjB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6iBH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,YAAY,EAAE,CAAC;IACf,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,GAAG;CACjB,CAAC;AAkMF,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD,sBAAsB,EAAE,GAAG;CAC5B,CAAC;AAyEF,mEAAmE;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,EAAE;IACf,cAAc,EAAE;QACd,MAAM;QACN,OAAO;QACP,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,mBAAmB;QACnB,gBAAgB;QAChB,WAAW;QACX,eAAe;QACf,cAAc;QACd,YAAY;QACZ,aAAa;QACb,QAAQ;KACT;IACD,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,OAAO,EAAE,MAAM;IACf,YAAY,EAAE,MAAM;IACpB,MAAM,EAAE,QAAQ;CACjB,CAAC"}
@@ -19,8 +19,28 @@ export interface DiffFile {
19
19
  /**
20
20
  * Parse a unified diff string into structured file objects.
21
21
  *
22
- * Splits the diff by file boundaries (diff --git lines), extracts
23
- * file paths, and counts additions/deletions per file.
22
+ * Thin adapter over the unified parser (`src/diff/parse.ts`). The contract
23
+ * is parity with the historical line-splitting implementation (gated by
24
+ * `diff/__tests__/parity-parse-diff-files.test.ts`):
25
+ *
26
+ * - `content` is rebuilt from the file's `rawLines` — the EXACT slice of the
27
+ * input section (header line through the line before the next header),
28
+ * so `rawLines.join('\n')` is byte-identical to the historical
29
+ * accumulate-and-join, CRLF and trailing empty line included.
30
+ * - `additions`/`deletions` use the exact historical predicate over
31
+ * rawLines (`startsWith('+') && !startsWith('+++')`), NOT the structured
32
+ * hunks — parity on malformed input where hunks never form (C11/C12).
33
+ * - `path` parity holds for WELL-FORMED diffs (git/GitHub output, where the
34
+ * `diff --git ... b/X` capture always equals the `+++ b/X` line). On
35
+ * MALFORMED sections where they disagree, path authority is the new
36
+ * parser's: `+++ b/` → `rename to` → header b-side (the baseline trusted
37
+ * the header regex). Documented divergence, asserted both-sides in the
38
+ * parity harness (`adv-header-b-mismatch`).
39
+ * - Documented delta (CORE-M6, changelog): quoted paths
40
+ * (`diff --git "a/caf\303\251.ts" ...`, core.quotepath escapes, including
41
+ * consecutive quoted sections and mixed-quoted headers) are now parsed
42
+ * and unescaped. Previously the file was silently dropped and its diff
43
+ * lines were absorbed by the preceding file's `content`.
24
44
  *
25
45
  * @param diff - Full unified diff string
26
46
  * @returns Array of DiffFile objects
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IAEb,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CA2CvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAOpF;AAID;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAe7F;AAID;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAc9C"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IAEb,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAoBvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAOpF;AAID;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAe7F;AAID;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAc9C"}
@@ -6,62 +6,58 @@
6
6
  * large diffs to fit within LLM token budgets.
7
7
  */
8
8
  import { minimatch } from 'minimatch';
9
+ import { parseUnifiedDiff } from '../diff/index.js';
9
10
  import { applyPathProtection } from './path-protection.js';
10
- // ─── Constants ──────────────────────────────────────────────────
11
- /**
12
- * Regex to match the start of a file diff block.
13
- * Handles both `a/path` and `b/path` formats from git diff.
14
- */
15
- const FILE_HEADER_RE = /^diff --git a\/.+ b\/(.+)$/;
16
11
  // ─── Core Functions ─────────────────────────────────────────────
17
12
  /**
18
13
  * Parse a unified diff string into structured file objects.
19
14
  *
20
- * Splits the diff by file boundaries (diff --git lines), extracts
21
- * file paths, and counts additions/deletions per file.
15
+ * Thin adapter over the unified parser (`src/diff/parse.ts`). The contract
16
+ * is parity with the historical line-splitting implementation (gated by
17
+ * `diff/__tests__/parity-parse-diff-files.test.ts`):
18
+ *
19
+ * - `content` is rebuilt from the file's `rawLines` — the EXACT slice of the
20
+ * input section (header line through the line before the next header),
21
+ * so `rawLines.join('\n')` is byte-identical to the historical
22
+ * accumulate-and-join, CRLF and trailing empty line included.
23
+ * - `additions`/`deletions` use the exact historical predicate over
24
+ * rawLines (`startsWith('+') && !startsWith('+++')`), NOT the structured
25
+ * hunks — parity on malformed input where hunks never form (C11/C12).
26
+ * - `path` parity holds for WELL-FORMED diffs (git/GitHub output, where the
27
+ * `diff --git ... b/X` capture always equals the `+++ b/X` line). On
28
+ * MALFORMED sections where they disagree, path authority is the new
29
+ * parser's: `+++ b/` → `rename to` → header b-side (the baseline trusted
30
+ * the header regex). Documented divergence, asserted both-sides in the
31
+ * parity harness (`adv-header-b-mismatch`).
32
+ * - Documented delta (CORE-M6, changelog): quoted paths
33
+ * (`diff --git "a/caf\303\251.ts" ...`, core.quotepath escapes, including
34
+ * consecutive quoted sections and mixed-quoted headers) are now parsed
35
+ * and unescaped. Previously the file was silently dropped and its diff
36
+ * lines were absorbed by the preceding file's `content`.
22
37
  *
23
38
  * @param diff - Full unified diff string
24
39
  * @returns Array of DiffFile objects
25
40
  */
26
41
  export function parseDiffFiles(diff) {
27
- const files = [];
28
- const lines = diff.split('\n');
29
- let currentFile = null;
30
- const contentLines = [];
31
- function flushCurrent() {
32
- if (currentFile) {
33
- currentFile.content = contentLines.join('\n');
34
- files.push(currentFile);
35
- contentLines.length = 0;
36
- }
37
- }
38
- for (const line of lines) {
39
- const match = FILE_HEADER_RE.exec(line);
40
- if (match) {
41
- // Start of a new file — flush previous
42
- flushCurrent();
43
- currentFile = {
44
- path: match[1] ?? '',
45
- additions: 0,
46
- deletions: 0,
47
- content: '',
48
- };
49
- contentLines.push(line);
50
- }
51
- else if (currentFile) {
52
- contentLines.push(line);
42
+ return parseUnifiedDiff(diff).files.map((file) => {
43
+ let additions = 0;
44
+ let deletions = 0;
45
+ for (const line of file.rawLines) {
53
46
  // Count additions and deletions (skip hunk headers and --- / +++ lines)
54
47
  if (line.startsWith('+') && !line.startsWith('+++')) {
55
- currentFile.additions++;
48
+ additions++;
56
49
  }
57
50
  else if (line.startsWith('-') && !line.startsWith('---')) {
58
- currentFile.deletions++;
51
+ deletions++;
59
52
  }
60
53
  }
61
- }
62
- // Flush last file
63
- flushCurrent();
64
- return files;
54
+ return {
55
+ path: file.path,
56
+ additions,
57
+ deletions,
58
+ content: file.rawLines.join('\n'),
59
+ };
60
+ });
65
61
  }
66
62
  /**
67
63
  * Filter out files matching ignore patterns (e.g., lockfiles, docs).
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghagga-core",
3
- "version": "2.9.1",
3
+ "version": "3.0.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Core review engine for GHAGGA — AI-powered multi-agent code reviewer",
@@ -39,32 +39,31 @@
39
39
  "dist",
40
40
  "README.md"
41
41
  ],
42
+ "dependencies": {
43
+ "@ai-sdk/openai": "^3.0.64",
44
+ "@ai-sdk/openai-compatible": "^2.0.47",
45
+ "@cursorless/tree-sitter-wasms": "^0.9.0",
46
+ "ai": "^6.0.187",
47
+ "fts5-sql-bundle": "^1.0.2",
48
+ "minimatch": "^10.2.5",
49
+ "web-tree-sitter": "^0.26.9",
50
+ "zod": "^4.4.3"
51
+ },
52
+ "devDependencies": {
53
+ "@stryker-mutator/core": "^9.6.1",
54
+ "@stryker-mutator/vitest-runner": "^9.6.1",
55
+ "@types/node": "^25.9.1",
56
+ "typescript": "^5.9.0",
57
+ "vitest": "^4.1.7"
58
+ },
42
59
  "scripts": {
43
- "build": "tsc",
60
+ "build": "tsc && node scripts/copy-assets.mjs",
44
61
  "dev": "tsc --watch",
45
62
  "typecheck": "tsc --noEmit",
46
63
  "test": "vitest run",
47
64
  "test:coverage": "vitest run --coverage",
48
65
  "test:watch": "vitest",
49
66
  "test:mutate": "stryker run",
50
- "clean": "rm -rf dist",
51
- "prepublishOnly": "npm run build"
52
- },
53
- "dependencies": {
54
- "@ai-sdk/openai": "^3.0.0",
55
- "@ai-sdk/openai-compatible": "^2.0.35",
56
- "@cursorless/tree-sitter-wasms": "^0.8.1",
57
- "ai": "^6.0.0",
58
- "fts5-sql-bundle": "^1.0.2",
59
- "minimatch": "^10.2.0",
60
- "web-tree-sitter": "^0.26.8",
61
- "zod": "^4.3.0"
62
- },
63
- "devDependencies": {
64
- "@stryker-mutator/core": "^9.6.0",
65
- "@stryker-mutator/vitest-runner": "^9.6.0",
66
- "@types/node": "^25.3.5",
67
- "typescript": "^5.9.0",
68
- "vitest": "^4.0.0"
67
+ "clean": "rm -rf dist"
69
68
  }
70
- }
69
+ }