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.
- package/LICENSE +21 -0
- package/dist/agents/consensus.d.ts.map +1 -1
- package/dist/agents/consensus.js +7 -2
- package/dist/agents/consensus.js.map +1 -1
- package/dist/agents/diagnostic.d.ts.map +1 -1
- package/dist/agents/diagnostic.js +7 -2
- package/dist/agents/diagnostic.js.map +1 -1
- package/dist/agents/fan-out-lenses.d.ts.map +1 -1
- package/dist/agents/fan-out-lenses.js +7 -2
- package/dist/agents/fan-out-lenses.js.map +1 -1
- package/dist/agents/prompts.d.ts +49 -1
- package/dist/agents/prompts.d.ts.map +1 -1
- package/dist/agents/prompts.js +133 -5
- package/dist/agents/prompts.js.map +1 -1
- package/dist/agents/simple.d.ts +1 -1
- package/dist/agents/simple.d.ts.map +1 -1
- package/dist/agents/simple.js +6 -4
- package/dist/agents/simple.js.map +1 -1
- package/dist/agents/workflow.d.ts.map +1 -1
- package/dist/agents/workflow.js +13 -4
- package/dist/agents/workflow.js.map +1 -1
- package/dist/critique/critique.d.ts.map +1 -1
- package/dist/critique/critique.js +14 -6
- package/dist/critique/critique.js.map +1 -1
- package/dist/diff/index.d.ts +12 -0
- package/dist/diff/index.d.ts.map +1 -0
- package/dist/diff/index.js +11 -0
- package/dist/diff/index.js.map +1 -0
- package/dist/diff/parse.d.ts +41 -0
- package/dist/diff/parse.d.ts.map +1 -0
- package/dist/diff/parse.js +303 -0
- package/dist/diff/parse.js.map +1 -0
- package/dist/diff/types.d.ts +106 -0
- package/dist/diff/types.d.ts.map +1 -0
- package/dist/diff/types.js +23 -0
- package/dist/diff/types.js.map +1 -0
- package/dist/embed.d.ts +5 -2
- package/dist/embed.d.ts.map +1 -1
- package/dist/embed.js +7 -3
- package/dist/embed.js.map +1 -1
- package/dist/enhance/prompt.d.ts +5 -1
- package/dist/enhance/prompt.d.ts.map +1 -1
- package/dist/enhance/prompt.js +9 -2
- package/dist/enhance/prompt.js.map +1 -1
- package/dist/format.d.ts +31 -0
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +256 -15
- package/dist/format.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/pageindex/index.d.ts +2 -2
- package/dist/memory/pageindex/index.d.ts.map +1 -1
- package/dist/memory/pageindex/index.js.map +1 -1
- package/dist/memory/pageindex/service.d.ts +10 -1
- package/dist/memory/pageindex/service.d.ts.map +1 -1
- package/dist/memory/pageindex/service.js +2 -2
- package/dist/memory/pageindex/service.js.map +1 -1
- package/dist/memory/persist.d.ts.map +1 -1
- package/dist/memory/persist.js +10 -3
- package/dist/memory/persist.js.map +1 -1
- package/dist/memory/privacy.d.ts.map +1 -1
- package/dist/memory/privacy.js +45 -6
- package/dist/memory/privacy.js.map +1 -1
- package/dist/memory/sqlite.d.ts +1 -13
- package/dist/memory/sqlite.d.ts.map +1 -1
- package/dist/memory/sqlite.js +45 -27
- package/dist/memory/sqlite.js.map +1 -1
- package/dist/memory/taxonomy.d.ts.map +1 -1
- package/dist/memory/taxonomy.js +6 -1
- package/dist/memory/taxonomy.js.map +1 -1
- package/dist/pipeline/degrade.d.ts +61 -0
- package/dist/pipeline/degrade.d.ts.map +1 -0
- package/dist/pipeline/degrade.js +58 -0
- package/dist/pipeline/degrade.js.map +1 -0
- package/dist/pipeline/enrich.d.ts +29 -0
- package/dist/pipeline/enrich.d.ts.map +1 -0
- package/dist/pipeline/enrich.js +271 -0
- package/dist/pipeline/enrich.js.map +1 -0
- package/dist/pipeline/execute.d.ts +22 -0
- package/dist/pipeline/execute.d.ts.map +1 -0
- package/dist/pipeline/execute.js +250 -0
- package/dist/pipeline/execute.js.map +1 -0
- package/dist/pipeline/finalize.d.ts +26 -0
- package/dist/pipeline/finalize.d.ts.map +1 -0
- package/dist/pipeline/finalize.js +52 -0
- package/dist/pipeline/finalize.js.map +1 -0
- package/dist/pipeline/gather-context.d.ts +25 -0
- package/dist/pipeline/gather-context.d.ts.map +1 -0
- package/dist/pipeline/gather-context.js +169 -0
- package/dist/pipeline/gather-context.js.map +1 -0
- package/dist/pipeline/gather-safe.d.ts +39 -0
- package/dist/pipeline/gather-safe.d.ts.map +1 -0
- package/dist/pipeline/gather-safe.js +127 -0
- package/dist/pipeline/gather-safe.js.map +1 -0
- package/dist/pipeline/prepare-graph.d.ts +54 -0
- package/dist/pipeline/prepare-graph.d.ts.map +1 -0
- package/dist/pipeline/prepare-graph.js +174 -0
- package/dist/pipeline/prepare-graph.js.map +1 -0
- package/dist/pipeline/prepare.d.ts +40 -0
- package/dist/pipeline/prepare.d.ts.map +1 -0
- package/dist/pipeline/prepare.js +233 -0
- package/dist/pipeline/prepare.js.map +1 -0
- package/dist/pipeline/providers.d.ts +54 -0
- package/dist/pipeline/providers.d.ts.map +1 -0
- package/dist/pipeline/providers.js +163 -0
- package/dist/pipeline/providers.js.map +1 -0
- package/dist/pipeline/results.d.ts +35 -0
- package/dist/pipeline/results.d.ts.map +1 -0
- package/dist/pipeline/results.js +122 -0
- package/dist/pipeline/results.js.map +1 -0
- package/dist/pipeline/state.d.ts +92 -0
- package/dist/pipeline/state.d.ts.map +1 -0
- package/dist/pipeline/state.js +13 -0
- package/dist/pipeline/state.js.map +1 -0
- package/dist/pipeline.d.ts +10 -9
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +36 -1213
- package/dist/pipeline.js.map +1 -1
- package/dist/providers/gateway.d.ts.map +1 -1
- package/dist/providers/gateway.js +8 -0
- package/dist/providers/gateway.js.map +1 -1
- package/dist/recursive/index.d.ts +1 -0
- package/dist/recursive/index.d.ts.map +1 -1
- package/dist/recursive/index.js +7 -3
- package/dist/recursive/index.js.map +1 -1
- package/dist/recursive/patch-extractor.d.ts +58 -6
- package/dist/recursive/patch-extractor.d.ts.map +1 -1
- package/dist/recursive/patch-extractor.js +207 -26
- package/dist/recursive/patch-extractor.js.map +1 -1
- package/dist/sanitize.d.ts +51 -0
- package/dist/sanitize.d.ts.map +1 -0
- package/dist/sanitize.js +90 -0
- package/dist/sanitize.js.map +1 -0
- package/dist/scope/diff-mapper.d.ts +12 -0
- package/dist/scope/diff-mapper.d.ts.map +1 -1
- package/dist/scope/diff-mapper.js +25 -18
- package/dist/scope/diff-mapper.js.map +1 -1
- package/dist/scope/entity-diff.d.ts +21 -4
- package/dist/scope/entity-diff.d.ts.map +1 -1
- package/dist/scope/entity-diff.js +132 -34
- package/dist/scope/entity-diff.js.map +1 -1
- package/dist/scope/types.d.ts +10 -0
- package/dist/scope/types.d.ts.map +1 -1
- package/dist/semantic-diff/index.d.ts +25 -2
- package/dist/semantic-diff/index.d.ts.map +1 -1
- package/dist/semantic-diff/index.js +147 -53
- package/dist/semantic-diff/index.js.map +1 -1
- package/dist/tools/gitleaks-config.toml +35 -0
- package/dist/tools/plugins/gitleaks.d.ts +10 -0
- package/dist/tools/plugins/gitleaks.d.ts.map +1 -1
- package/dist/tools/plugins/gitleaks.js +29 -2
- package/dist/tools/plugins/gitleaks.js.map +1 -1
- package/dist/tools/plugins/semgrep.d.ts +11 -0
- package/dist/tools/plugins/semgrep.d.ts.map +1 -1
- package/dist/tools/plugins/semgrep.js +30 -1
- package/dist/tools/plugins/semgrep.js.map +1 -1
- package/dist/tools/semgrep-rules.yml +305 -0
- package/dist/types.d.ts +51 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/diff.d.ts +22 -2
- package/dist/utils/diff.d.ts.map +1 -1
- package/dist/utils/diff.js +36 -40
- package/dist/utils/diff.js.map +1 -1
- package/package.json +21 -22
- package/dist/providers/fallback.d.ts +0 -54
- package/dist/providers/fallback.d.ts.map +0 -1
- package/dist/providers/fallback.js +0 -102
- package/dist/providers/fallback.js.map +0 -1
- package/dist/providers/index.d.ts +0 -49
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -146
- 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
|
-
/**
|
|
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 */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/utils/diff.d.ts
CHANGED
|
@@ -19,8 +19,28 @@ export interface DiffFile {
|
|
|
19
19
|
/**
|
|
20
20
|
* Parse a unified diff string into structured file objects.
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
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
|
package/dist/utils/diff.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
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"}
|
package/dist/utils/diff.js
CHANGED
|
@@ -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
|
-
*
|
|
21
|
-
*
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
48
|
+
additions++;
|
|
56
49
|
}
|
|
57
50
|
else if (line.startsWith('-') && !line.startsWith('---')) {
|
|
58
|
-
|
|
51
|
+
deletions++;
|
|
59
52
|
}
|
|
60
53
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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).
|
package/dist/utils/diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/utils/diff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAmB3D,mEAAmE;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,wEAAwE;YACxE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,SAAS,EAAE,CAAC;YACd,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3D,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS;YACT,SAAS;YACT,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;SAClC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAiB,EAAE,QAAkB;IACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,wDAAwD;QACxD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC;AAkBD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,cAAwB;IACzE,mDAAmD;IACnD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAElE,+DAA+D;IAC/D,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAEjE,mEAAmE;IACnE,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,QAAQ,CAAC,CAAC;IAEhD,OAAO;QACL,QAAQ;QACR,OAAO;QACP,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,mEAAmE;AAEnE;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,SAAiB;IAEjB,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC;IAE/B,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;IAED,uEAAuE;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,SAAS,GACb,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9D,kDAAkD,CAAC;IAErD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ghagga-core",
|
|
3
|
-
"version": "
|
|
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
|
+
}
|