ghagga-core 2.3.0 → 2.4.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/dist/format.d.ts.map +1 -1
- package/dist/format.js +23 -1
- package/dist/format.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +36 -19
- package/dist/pipeline.js.map +1 -1
- package/dist/tools/budget.d.ts +26 -0
- package/dist/tools/budget.d.ts.map +1 -0
- package/dist/tools/budget.js +78 -0
- package/dist/tools/budget.js.map +1 -0
- package/dist/tools/execution.d.ts +18 -0
- package/dist/tools/execution.d.ts.map +1 -0
- package/dist/tools/execution.js +82 -0
- package/dist/tools/execution.js.map +1 -0
- package/dist/tools/index.d.ts +16 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +20 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/orchestrator.d.ts +24 -0
- package/dist/tools/orchestrator.d.ts.map +1 -0
- package/dist/tools/orchestrator.js +127 -0
- package/dist/tools/orchestrator.js.map +1 -0
- package/dist/tools/plugins/bandit.d.ts +22 -0
- package/dist/tools/plugins/bandit.d.ts.map +1 -0
- package/dist/tools/plugins/bandit.js +79 -0
- package/dist/tools/plugins/bandit.js.map +1 -0
- package/dist/tools/plugins/biome.d.ts +22 -0
- package/dist/tools/plugins/biome.d.ts.map +1 -0
- package/dist/tools/plugins/biome.js +80 -0
- package/dist/tools/plugins/biome.js.map +1 -0
- package/dist/tools/plugins/clippy.d.ts +25 -0
- package/dist/tools/plugins/clippy.d.ts.map +1 -0
- package/dist/tools/plugins/clippy.js +95 -0
- package/dist/tools/plugins/clippy.js.map +1 -0
- package/dist/tools/plugins/cpd.d.ts +20 -0
- package/dist/tools/plugins/cpd.d.ts.map +1 -0
- package/dist/tools/plugins/cpd.js +111 -0
- package/dist/tools/plugins/cpd.js.map +1 -0
- package/dist/tools/plugins/gitleaks.d.ts +18 -0
- package/dist/tools/plugins/gitleaks.d.ts.map +1 -0
- package/dist/tools/plugins/gitleaks.js +81 -0
- package/dist/tools/plugins/gitleaks.js.map +1 -0
- package/dist/tools/plugins/golangci-lint.d.ts +27 -0
- package/dist/tools/plugins/golangci-lint.d.ts.map +1 -0
- package/dist/tools/plugins/golangci-lint.js +87 -0
- package/dist/tools/plugins/golangci-lint.js.map +1 -0
- package/dist/tools/plugins/hadolint.d.ts +22 -0
- package/dist/tools/plugins/hadolint.d.ts.map +1 -0
- package/dist/tools/plugins/hadolint.js +99 -0
- package/dist/tools/plugins/hadolint.js.map +1 -0
- package/dist/tools/plugins/index.d.ts +37 -0
- package/dist/tools/plugins/index.d.ts.map +1 -0
- package/dist/tools/plugins/index.js +93 -0
- package/dist/tools/plugins/index.js.map +1 -0
- package/dist/tools/plugins/lizard.d.ts +24 -0
- package/dist/tools/plugins/lizard.d.ts.map +1 -0
- package/dist/tools/plugins/lizard.js +83 -0
- package/dist/tools/plugins/lizard.js.map +1 -0
- package/dist/tools/plugins/markdownlint.d.ts +17 -0
- package/dist/tools/plugins/markdownlint.d.ts.map +1 -0
- package/dist/tools/plugins/markdownlint.js +70 -0
- package/dist/tools/plugins/markdownlint.js.map +1 -0
- package/dist/tools/plugins/pmd.d.ts +23 -0
- package/dist/tools/plugins/pmd.d.ts.map +1 -0
- package/dist/tools/plugins/pmd.js +108 -0
- package/dist/tools/plugins/pmd.js.map +1 -0
- package/dist/tools/plugins/psalm.d.ts +24 -0
- package/dist/tools/plugins/psalm.d.ts.map +1 -0
- package/dist/tools/plugins/psalm.js +85 -0
- package/dist/tools/plugins/psalm.js.map +1 -0
- package/dist/tools/plugins/ruff.d.ts +22 -0
- package/dist/tools/plugins/ruff.d.ts.map +1 -0
- package/dist/tools/plugins/ruff.js +80 -0
- package/dist/tools/plugins/ruff.js.map +1 -0
- package/dist/tools/plugins/semgrep.d.ts +23 -0
- package/dist/tools/plugins/semgrep.d.ts.map +1 -0
- package/dist/tools/plugins/semgrep.js +82 -0
- package/dist/tools/plugins/semgrep.js.map +1 -0
- package/dist/tools/plugins/shellcheck.d.ts +23 -0
- package/dist/tools/plugins/shellcheck.d.ts.map +1 -0
- package/dist/tools/plugins/shellcheck.js +87 -0
- package/dist/tools/plugins/shellcheck.js.map +1 -0
- package/dist/tools/plugins/trivy.d.ts +25 -0
- package/dist/tools/plugins/trivy.d.ts.map +1 -0
- package/dist/tools/plugins/trivy.js +108 -0
- package/dist/tools/plugins/trivy.js.map +1 -0
- package/dist/tools/registry.d.ts +37 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +61 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/resolve.d.ts +37 -0
- package/dist/tools/resolve.d.ts.map +1 -0
- package/dist/tools/resolve.js +67 -0
- package/dist/tools/resolve.js.map +1 -0
- package/dist/tools/runner.d.ts +15 -1
- package/dist/tools/runner.d.ts.map +1 -1
- package/dist/tools/runner.js +76 -6
- package/dist/tools/runner.js.map +1 -1
- package/dist/tools/types.d.ts +83 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +11 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/types.d.ts +15 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI7D,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAKrD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMjD,CAAC;AAIF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAyFhE"}
|
package/dist/format.js
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
* Renders a ReviewResult as a GitHub-flavored Markdown comment
|
|
5
5
|
* suitable for posting to a PR via the GitHub API.
|
|
6
6
|
*/
|
|
7
|
+
import { initializeDefaultTools } from './tools/plugins/index.js';
|
|
8
|
+
import { toolRegistry } from './tools/registry.js';
|
|
9
|
+
import { isToolRegistryEnabled } from './tools/runner.js';
|
|
7
10
|
// ─── Constants ──────────────────────────────────────────────────
|
|
8
11
|
export const STATUS_EMOJI = {
|
|
9
12
|
PASSED: '\u2705 PASSED',
|
|
@@ -39,13 +42,32 @@ export function formatReviewComment(result) {
|
|
|
39
42
|
grouped.get(src)?.push(finding);
|
|
40
43
|
}
|
|
41
44
|
// Render order: static tools first, then AI
|
|
45
|
+
// Generate SOURCE_LABELS dynamically from registry when available
|
|
42
46
|
const SOURCE_LABELS = {
|
|
47
|
+
// Legacy defaults (always present)
|
|
43
48
|
semgrep: '\ud83d\udd0d Semgrep',
|
|
44
49
|
trivy: '\ud83d\udee1\ufe0f Trivy',
|
|
45
50
|
cpd: '\ud83d\udccb CPD',
|
|
46
51
|
ai: '\ud83e\udd16 AI Review',
|
|
47
52
|
};
|
|
48
|
-
const renderOrder = [
|
|
53
|
+
const renderOrder = [];
|
|
54
|
+
if (isToolRegistryEnabled()) {
|
|
55
|
+
initializeDefaultTools();
|
|
56
|
+
for (const tool of toolRegistry.getAll()) {
|
|
57
|
+
SOURCE_LABELS[tool.name] = `\ud83d\udd27 ${tool.displayName}`;
|
|
58
|
+
renderOrder.push(tool.name);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
renderOrder.push('semgrep', 'trivy', 'cpd');
|
|
63
|
+
}
|
|
64
|
+
// AI always comes last; also include any unknown sources from grouped keys
|
|
65
|
+
for (const src of grouped.keys()) {
|
|
66
|
+
if (src !== 'ai' && !renderOrder.includes(src)) {
|
|
67
|
+
renderOrder.push(src);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
renderOrder.push('ai');
|
|
49
71
|
for (const src of renderOrder) {
|
|
50
72
|
const findings = grouped.get(src);
|
|
51
73
|
if (!findings || findings.length === 0)
|
package/dist/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,4 +19,6 @@ export { EngramMemoryStorage } from './memory/engram.js';
|
|
|
19
19
|
export { stripPrivateData } from './memory/privacy.js';
|
|
20
20
|
export { SqliteMemoryStorage, type SqliteMemoryStorageOptions } from './memory/sqlite.js';
|
|
21
21
|
export { formatReviewComment, SEVERITY_EMOJI, STATUS_EMOJI } from './format.js';
|
|
22
|
+
export type { ActivatedTool, ExecOptions, ExecutionContext, RawToolOutput, TimeBudget, ToolActivationInput, ToolCategory, ToolDefinition, ToolName, ToolTier, } from './tools/index.js';
|
|
23
|
+
export { allocateTimeBudget, createNodeExecutionContext, getEffectiveBudget, initializeDefaultTools, isToolRegistryEnabled, resetInitialization, resolveActivatedTools, runTools, ToolRegistry, toolRegistry, } from './tools/index.js';
|
|
22
24
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,YAAY,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,aAAa,EAEb,eAAe,EAEf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,aAAa,EAEb,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EAEV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EACpB,UAAU,EACV,UAAU,EAEV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9D,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIjF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAI1F,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,YAAY,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,aAAa,EAEb,eAAe,EAEf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,aAAa,EAEb,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EAEV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EACpB,UAAU,EACV,UAAU,EAEV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9D,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIjF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAI1F,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhF,YAAY,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -20,4 +20,5 @@ export { stripPrivateData } from './memory/privacy.js';
|
|
|
20
20
|
export { SqliteMemoryStorage } from './memory/sqlite.js';
|
|
21
21
|
// ─── Formatting ─────────────────────────────────────────────────
|
|
22
22
|
export { formatReviewComment, SEVERITY_EMOJI, STATUS_EMOJI } from './format.js';
|
|
23
|
+
export { allocateTimeBudget, createNodeExecutionContext, getEffectiveBudget, initializeDefaultTools, isToolRegistryEnabled, resetInitialization, resolveActivatedTools, runTools, ToolRegistry, toolRegistry, } from './tools/index.js';
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA0C/C,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnE,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAE1F,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA0C/C,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnE,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAE1F,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiBhF,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC"}
|
package/dist/pipeline.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAeH,OAAO,KAAK,EAGV,WAAW,EACX,YAAY,EAEb,MAAM,YAAY,CAAC;AA0CpB;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAqN9E"}
|
package/dist/pipeline.js
CHANGED
|
@@ -20,7 +20,9 @@ import { runSimpleReview } from './agents/simple.js';
|
|
|
20
20
|
import { runWorkflowReview } from './agents/workflow.js';
|
|
21
21
|
import { persistReviewObservations } from './memory/persist.js';
|
|
22
22
|
import { searchMemoryForContext } from './memory/search.js';
|
|
23
|
-
import {
|
|
23
|
+
import { initializeDefaultTools } from './tools/plugins/index.js';
|
|
24
|
+
import { toolRegistry } from './tools/registry.js';
|
|
25
|
+
import { formatStaticAnalysisContext, isToolRegistryEnabled, runStaticAnalysis, } from './tools/runner.js';
|
|
24
26
|
import { filterIgnoredFiles, parseDiffFiles, truncateDiff } from './utils/diff.js';
|
|
25
27
|
import { detectStacks } from './utils/stack-detect.js';
|
|
26
28
|
import { calculateTokenBudget } from './utils/token-budget.js';
|
|
@@ -219,12 +221,10 @@ export async function reviewPipeline(input) {
|
|
|
219
221
|
// ── Step 7: Merge static analysis into result ──────────────
|
|
220
222
|
result.staticAnalysis = staticResult;
|
|
221
223
|
result.memoryContext = memoryContext;
|
|
222
|
-
// Add static analysis findings to the result's findings array
|
|
223
|
-
const staticFindings =
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
...staticResult.cpd.findings,
|
|
227
|
-
];
|
|
224
|
+
// Add static analysis findings to the result's findings array (dynamic — all tools)
|
|
225
|
+
const staticFindings = Object.values(staticResult).flatMap((toolResult) => toolResult && typeof toolResult === 'object' && 'findings' in toolResult
|
|
226
|
+
? toolResult.findings
|
|
227
|
+
: []);
|
|
228
228
|
result.findings = [...result.findings, ...staticFindings];
|
|
229
229
|
// Track which tools ran successfully
|
|
230
230
|
result.metadata.toolsRun = [];
|
|
@@ -308,6 +308,8 @@ async function runStaticAnalysisSafe(fileList, input) {
|
|
|
308
308
|
enableTrivy: input.settings.enableTrivy,
|
|
309
309
|
enableCpd: input.settings.enableCpd,
|
|
310
310
|
customRules: input.settings.customRules,
|
|
311
|
+
enabledTools: input.settings.enabledTools,
|
|
312
|
+
disabledTools: input.settings.disabledTools,
|
|
311
313
|
});
|
|
312
314
|
}
|
|
313
315
|
catch (error) {
|
|
@@ -346,15 +348,32 @@ async function searchMemorySafe(input, fileList) {
|
|
|
346
348
|
*/
|
|
347
349
|
function createSkippedResult(input, startTime) {
|
|
348
350
|
const primary = input.providerChain?.[0];
|
|
351
|
+
// Build a dynamic skipped result (legacy keys always present)
|
|
352
|
+
const skippedToolResult = { status: 'skipped', findings: [], executionTimeMs: 0 };
|
|
353
|
+
const staticAnalysis = {
|
|
354
|
+
semgrep: { ...skippedToolResult },
|
|
355
|
+
trivy: { ...skippedToolResult },
|
|
356
|
+
cpd: { ...skippedToolResult },
|
|
357
|
+
};
|
|
358
|
+
// Collect all tool names for the toolsSkipped metadata
|
|
359
|
+
const allToolNames = ['semgrep', 'trivy', 'cpd'];
|
|
360
|
+
// When registry is enabled, include all registered tools as skipped
|
|
361
|
+
if (isToolRegistryEnabled()) {
|
|
362
|
+
initializeDefaultTools();
|
|
363
|
+
for (const tool of toolRegistry.getAll()) {
|
|
364
|
+
if (!staticAnalysis[tool.name]) {
|
|
365
|
+
staticAnalysis[tool.name] = { ...skippedToolResult };
|
|
366
|
+
}
|
|
367
|
+
if (!allToolNames.includes(tool.name)) {
|
|
368
|
+
allToolNames.push(tool.name);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
349
372
|
return {
|
|
350
373
|
status: 'SKIPPED',
|
|
351
374
|
summary: 'All files in the diff matched ignore patterns. No review was performed.',
|
|
352
375
|
findings: [],
|
|
353
|
-
staticAnalysis
|
|
354
|
-
semgrep: { status: 'skipped', findings: [], executionTimeMs: 0 },
|
|
355
|
-
trivy: { status: 'skipped', findings: [], executionTimeMs: 0 },
|
|
356
|
-
cpd: { status: 'skipped', findings: [], executionTimeMs: 0 },
|
|
357
|
-
},
|
|
376
|
+
staticAnalysis,
|
|
358
377
|
memoryContext: null,
|
|
359
378
|
metadata: {
|
|
360
379
|
mode: input.mode,
|
|
@@ -363,7 +382,7 @@ function createSkippedResult(input, startTime) {
|
|
|
363
382
|
tokensUsed: 0,
|
|
364
383
|
executionTimeMs: Date.now() - startTime,
|
|
365
384
|
toolsRun: [],
|
|
366
|
-
toolsSkipped:
|
|
385
|
+
toolsSkipped: allToolNames,
|
|
367
386
|
},
|
|
368
387
|
};
|
|
369
388
|
}
|
|
@@ -372,12 +391,10 @@ function createSkippedResult(input, startTime) {
|
|
|
372
391
|
* Used when AI review is disabled or when all providers fail.
|
|
373
392
|
*/
|
|
374
393
|
function createStaticOnlyResult(staticResult, mode, startTime) {
|
|
375
|
-
// Determine status from static findings severity
|
|
376
|
-
const allFindings =
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
...staticResult.cpd.findings,
|
|
380
|
-
];
|
|
394
|
+
// Determine status from static findings severity (dynamic — all tools)
|
|
395
|
+
const allFindings = Object.values(staticResult).flatMap((toolResult) => toolResult && typeof toolResult === 'object' && 'findings' in toolResult
|
|
396
|
+
? toolResult.findings
|
|
397
|
+
: []);
|
|
381
398
|
const hasCriticalOrHigh = allFindings.some((f) => f.severity === 'critical' || f.severity === 'high');
|
|
382
399
|
return {
|
|
383
400
|
status: hasCriticalOrHigh ? 'FAILED' : 'PASSED',
|
package/dist/pipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Time Budget Manager — allocates and manages execution time across tools.
|
|
3
|
+
*
|
|
4
|
+
* - Total budget defaults to 600,000ms (10 minutes)
|
|
5
|
+
* - Minimum per-tool budget is 30,000ms (30 seconds)
|
|
6
|
+
* - Always-on tools get priority when budget is tight
|
|
7
|
+
* - Unused time from fast tools rolls over to subsequent tools
|
|
8
|
+
*/
|
|
9
|
+
import type { ActivatedTool } from './resolve.js';
|
|
10
|
+
import type { TimeBudget } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Allocate time budget across activated tools.
|
|
13
|
+
*
|
|
14
|
+
* Equal share: totalBudgetMs / toolCount.
|
|
15
|
+
* If equal share < minimum, always-on tools get minimum first,
|
|
16
|
+
* remaining budget is split among auto-detect tools.
|
|
17
|
+
*/
|
|
18
|
+
export declare function allocateTimeBudget(activatedTools: ActivatedTool[], totalBudgetMs?: number): TimeBudget;
|
|
19
|
+
/**
|
|
20
|
+
* Calculate the effective budget for the next tool, adding rollover from fast tools.
|
|
21
|
+
*
|
|
22
|
+
* rollover = sum of (allocated - actual) for all completed tools
|
|
23
|
+
* effectiveBudget = allocated + rollover (clamped to remaining total budget)
|
|
24
|
+
*/
|
|
25
|
+
export declare function getEffectiveBudget(toolName: string, budget: TimeBudget, elapsedByTool: Map<string, number>): number;
|
|
26
|
+
//# sourceMappingURL=budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/tools/budget.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAK7C;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,cAAc,EAAE,aAAa,EAAE,EAC/B,aAAa,GAAE,MAAgC,GAC9C,UAAU,CA4CZ;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,CAkBR"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Time Budget Manager — allocates and manages execution time across tools.
|
|
3
|
+
*
|
|
4
|
+
* - Total budget defaults to 600,000ms (10 minutes)
|
|
5
|
+
* - Minimum per-tool budget is 30,000ms (30 seconds)
|
|
6
|
+
* - Always-on tools get priority when budget is tight
|
|
7
|
+
* - Unused time from fast tools rolls over to subsequent tools
|
|
8
|
+
*/
|
|
9
|
+
const DEFAULT_TOTAL_BUDGET_MS = 600_000; // 10 minutes
|
|
10
|
+
const MINIMUM_PER_TOOL_MS = 30_000; // 30 seconds
|
|
11
|
+
/**
|
|
12
|
+
* Allocate time budget across activated tools.
|
|
13
|
+
*
|
|
14
|
+
* Equal share: totalBudgetMs / toolCount.
|
|
15
|
+
* If equal share < minimum, always-on tools get minimum first,
|
|
16
|
+
* remaining budget is split among auto-detect tools.
|
|
17
|
+
*/
|
|
18
|
+
export function allocateTimeBudget(activatedTools, totalBudgetMs = DEFAULT_TOTAL_BUDGET_MS) {
|
|
19
|
+
const perToolMs = new Map();
|
|
20
|
+
if (activatedTools.length === 0) {
|
|
21
|
+
return { totalMs: totalBudgetMs, perToolMs, minimumPerToolMs: MINIMUM_PER_TOOL_MS };
|
|
22
|
+
}
|
|
23
|
+
const equalShare = Math.floor(totalBudgetMs / activatedTools.length);
|
|
24
|
+
if (equalShare >= MINIMUM_PER_TOOL_MS) {
|
|
25
|
+
// Everyone gets equal share
|
|
26
|
+
for (const tool of activatedTools) {
|
|
27
|
+
perToolMs.set(tool.definition.name, equalShare);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
// Budget is tight — always-on gets priority
|
|
32
|
+
const alwaysOnTools = activatedTools.filter((t) => t.reason === 'always-on');
|
|
33
|
+
const otherTools = activatedTools.filter((t) => t.reason !== 'always-on');
|
|
34
|
+
// Give always-on tools their minimum first
|
|
35
|
+
let remainingBudget = totalBudgetMs;
|
|
36
|
+
for (const tool of alwaysOnTools) {
|
|
37
|
+
perToolMs.set(tool.definition.name, MINIMUM_PER_TOOL_MS);
|
|
38
|
+
remainingBudget -= MINIMUM_PER_TOOL_MS;
|
|
39
|
+
}
|
|
40
|
+
// Distribute remaining among non-always-on tools
|
|
41
|
+
if (otherTools.length > 0 && remainingBudget > 0) {
|
|
42
|
+
const otherShare = Math.max(Math.floor(remainingBudget / otherTools.length), MINIMUM_PER_TOOL_MS);
|
|
43
|
+
for (const tool of otherTools) {
|
|
44
|
+
perToolMs.set(tool.definition.name, otherShare);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
// No budget left for other tools — give them minimum anyway
|
|
49
|
+
for (const tool of otherTools) {
|
|
50
|
+
perToolMs.set(tool.definition.name, MINIMUM_PER_TOOL_MS);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return { totalMs: totalBudgetMs, perToolMs, minimumPerToolMs: MINIMUM_PER_TOOL_MS };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Calculate the effective budget for the next tool, adding rollover from fast tools.
|
|
58
|
+
*
|
|
59
|
+
* rollover = sum of (allocated - actual) for all completed tools
|
|
60
|
+
* effectiveBudget = allocated + rollover (clamped to remaining total budget)
|
|
61
|
+
*/
|
|
62
|
+
export function getEffectiveBudget(toolName, budget, elapsedByTool) {
|
|
63
|
+
const allocated = budget.perToolMs.get(toolName) ?? budget.minimumPerToolMs;
|
|
64
|
+
// Calculate rollover from tools that finished faster than allocated
|
|
65
|
+
let rollover = 0;
|
|
66
|
+
for (const [name, elapsed] of elapsedByTool) {
|
|
67
|
+
const toolAllocated = budget.perToolMs.get(name) ?? 0;
|
|
68
|
+
if (elapsed < toolAllocated) {
|
|
69
|
+
rollover += toolAllocated - elapsed;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Calculate total elapsed time to ensure we don't exceed total budget
|
|
73
|
+
const totalElapsed = Array.from(elapsedByTool.values()).reduce((sum, ms) => sum + ms, 0);
|
|
74
|
+
const remainingTotal = Math.max(0, budget.totalMs - totalElapsed);
|
|
75
|
+
// Effective budget: allocated + rollover, but can't exceed remaining total
|
|
76
|
+
return Math.min(allocated + rollover, remainingTotal);
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/tools/budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js execution context — used by CLI and server modes.
|
|
3
|
+
*
|
|
4
|
+
* Uses `child_process.execFile` under the hood.
|
|
5
|
+
* Handles timeouts via AbortController.
|
|
6
|
+
*/
|
|
7
|
+
import type { ExecutionContext } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Create a Node.js-based ExecutionContext.
|
|
10
|
+
*
|
|
11
|
+
* @param logger - Optional logger; defaults to console
|
|
12
|
+
*/
|
|
13
|
+
export declare function createNodeExecutionContext(logger?: {
|
|
14
|
+
info: (...args: unknown[]) => void;
|
|
15
|
+
warn: (...args: unknown[]) => void;
|
|
16
|
+
error: (...args: unknown[]) => void;
|
|
17
|
+
}): ExecutionContext;
|
|
18
|
+
//# sourceMappingURL=execution.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js execution context — used by CLI and server modes.
|
|
3
|
+
*
|
|
4
|
+
* Uses `child_process.execFile` under the hood.
|
|
5
|
+
* Handles timeouts via AbortController.
|
|
6
|
+
*/
|
|
7
|
+
import { execFile } from 'node:child_process';
|
|
8
|
+
/**
|
|
9
|
+
* Create a Node.js-based ExecutionContext.
|
|
10
|
+
*
|
|
11
|
+
* @param logger - Optional logger; defaults to console
|
|
12
|
+
*/
|
|
13
|
+
export function createNodeExecutionContext(logger) {
|
|
14
|
+
const log = logger ?? console;
|
|
15
|
+
return {
|
|
16
|
+
async exec(command, args, opts) {
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
const ac = new AbortController();
|
|
19
|
+
let timedOut = false;
|
|
20
|
+
// Set up timeout
|
|
21
|
+
const timer = setTimeout(() => {
|
|
22
|
+
timedOut = true;
|
|
23
|
+
ac.abort();
|
|
24
|
+
}, opts.timeoutMs);
|
|
25
|
+
const env = opts.env ? { ...process.env, ...opts.env } : process.env;
|
|
26
|
+
const child = execFile(command, args, {
|
|
27
|
+
cwd: opts.cwd,
|
|
28
|
+
env,
|
|
29
|
+
maxBuffer: 50 * 1024 * 1024, // 50MB
|
|
30
|
+
signal: ac.signal,
|
|
31
|
+
}, (error, stdout, stderr) => {
|
|
32
|
+
clearTimeout(timer);
|
|
33
|
+
if (timedOut) {
|
|
34
|
+
resolve({
|
|
35
|
+
stdout: stdout ?? '',
|
|
36
|
+
stderr: stderr ?? '',
|
|
37
|
+
exitCode: -1,
|
|
38
|
+
timedOut: true,
|
|
39
|
+
});
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Get exit code from error or default to 0
|
|
43
|
+
const exitCode = error && 'code' in error ? (error.code ?? 1) : 0;
|
|
44
|
+
// Check if exit code is acceptable
|
|
45
|
+
const allowedCodes = [0, ...(opts.allowExitCodes ?? [])];
|
|
46
|
+
if (error && !allowedCodes.includes(exitCode)) {
|
|
47
|
+
// Still resolve with the output — let the caller decide
|
|
48
|
+
resolve({
|
|
49
|
+
stdout: stdout ?? '',
|
|
50
|
+
stderr: stderr ?? '',
|
|
51
|
+
exitCode,
|
|
52
|
+
timedOut: false,
|
|
53
|
+
});
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
resolve({
|
|
57
|
+
stdout: stdout ?? '',
|
|
58
|
+
stderr: stderr ?? '',
|
|
59
|
+
exitCode,
|
|
60
|
+
timedOut: false,
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
// Handle spawn errors
|
|
64
|
+
child.on('error', (err) => {
|
|
65
|
+
clearTimeout(timer);
|
|
66
|
+
reject(err);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
async cacheRestore(_toolName, _paths) {
|
|
71
|
+
// CLI/server mode has no cache — always miss
|
|
72
|
+
return false;
|
|
73
|
+
},
|
|
74
|
+
async cacheSave(_toolName, _paths) {
|
|
75
|
+
// CLI/server mode has no cache — no-op
|
|
76
|
+
},
|
|
77
|
+
log(level, message) {
|
|
78
|
+
log[level](message);
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=execution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/tools/execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extensible tool system — barrel export.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all public types, the registry singleton,
|
|
5
|
+
* the orchestrator entry point, and plugin initialization.
|
|
6
|
+
*/
|
|
7
|
+
export type { ExecOptions, ExecutionContext, RawToolOutput, TimeBudget, ToolCategory, ToolDefinition, ToolName, ToolTier, } from './types.js';
|
|
8
|
+
export { ToolRegistry, toolRegistry } from './registry.js';
|
|
9
|
+
export type { ActivatedTool, ToolActivationInput } from './resolve.js';
|
|
10
|
+
export { resolveActivatedTools } from './resolve.js';
|
|
11
|
+
export { allocateTimeBudget, getEffectiveBudget } from './budget.js';
|
|
12
|
+
export { runTools } from './orchestrator.js';
|
|
13
|
+
export { createNodeExecutionContext } from './execution.js';
|
|
14
|
+
export { initializeDefaultTools, resetInitialization } from './plugins/index.js';
|
|
15
|
+
export { isToolRegistryEnabled } from './runner.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI3D,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAIrD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIrE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAI5D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extensible tool system — barrel export.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all public types, the registry singleton,
|
|
5
|
+
* the orchestrator entry point, and plugin initialization.
|
|
6
|
+
*/
|
|
7
|
+
// ─── Registry ───────────────────────────────────────────────────
|
|
8
|
+
export { ToolRegistry, toolRegistry } from './registry.js';
|
|
9
|
+
export { resolveActivatedTools } from './resolve.js';
|
|
10
|
+
// ─── Budget ─────────────────────────────────────────────────────
|
|
11
|
+
export { allocateTimeBudget, getEffectiveBudget } from './budget.js';
|
|
12
|
+
// ─── Orchestrator ───────────────────────────────────────────────
|
|
13
|
+
export { runTools } from './orchestrator.js';
|
|
14
|
+
// ─── Execution Contexts ─────────────────────────────────────────
|
|
15
|
+
export { createNodeExecutionContext } from './execution.js';
|
|
16
|
+
// ─── Plugins ────────────────────────────────────────────────────
|
|
17
|
+
export { initializeDefaultTools, resetInitialization } from './plugins/index.js';
|
|
18
|
+
// ─── Runner (feature flag) ──────────────────────────────────────
|
|
19
|
+
export { isToolRegistryEnabled } from './runner.js';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,mEAAmE;AAEnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAK3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,mEAAmE;AAEnE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,mEAAmE;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,mEAAmE;AAEnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,mEAAmE;AAEnE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,mEAAmE;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Orchestrator — runs tools sequentially with failure isolation.
|
|
3
|
+
*
|
|
4
|
+
* - Sequential install → run → parse loop
|
|
5
|
+
* - Per-tool try/catch for failure isolation
|
|
6
|
+
* - Timeout enforcement per tool
|
|
7
|
+
* - Budget rollover from fast tools
|
|
8
|
+
* - Legacy keys (semgrep, trivy, cpd) always present
|
|
9
|
+
*/
|
|
10
|
+
import type { ToolResult } from '../types.js';
|
|
11
|
+
import type { ActivatedTool } from './resolve.js';
|
|
12
|
+
import type { ExecutionContext } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Run all activated tools sequentially with budget management and failure isolation.
|
|
15
|
+
*
|
|
16
|
+
* @param ctx - Execution context (Node, Actions, or Mock)
|
|
17
|
+
* @param activatedTools - Tools to execute (from resolveActivatedTools)
|
|
18
|
+
* @param targetDir - Repository directory to scan
|
|
19
|
+
* @param files - List of changed file paths
|
|
20
|
+
* @param totalBudgetMs - Total time budget in ms (default 600_000)
|
|
21
|
+
* @returns Record of tool name → ToolResult
|
|
22
|
+
*/
|
|
23
|
+
export declare function runTools(ctx: ExecutionContext, activatedTools: ActivatedTool[], targetDir: string, files: string[], totalBudgetMs?: number): Promise<Record<string, ToolResult>>;
|
|
24
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/tools/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAiC,MAAM,YAAY,CAAC;AAalF;;;;;;;;;GASG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,gBAAgB,EACrB,cAAc,EAAE,aAAa,EAAE,EAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,GAAE,MAAgB,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CA2FrC"}
|