@oddessentials/odd-ai-reviewers 1.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/README.md +190 -0
- package/dist/__tests__/hermetic-setup.d.ts +55 -0
- package/dist/__tests__/hermetic-setup.d.ts.map +1 -0
- package/dist/__tests__/hermetic-setup.js +62 -0
- package/dist/__tests__/hermetic-setup.js.map +1 -0
- package/dist/__tests__/test-utils/hermetic.d.ts +84 -0
- package/dist/__tests__/test-utils/hermetic.d.ts.map +1 -0
- package/dist/__tests__/test-utils/hermetic.js +147 -0
- package/dist/__tests__/test-utils/hermetic.js.map +1 -0
- package/dist/agents/ai_semantic_review.d.ts +12 -0
- package/dist/agents/ai_semantic_review.d.ts.map +1 -0
- package/dist/agents/ai_semantic_review.js +317 -0
- package/dist/agents/ai_semantic_review.js.map +1 -0
- package/dist/agents/control_flow/budget.d.ts +162 -0
- package/dist/agents/control_flow/budget.d.ts.map +1 -0
- package/dist/agents/control_flow/budget.js +331 -0
- package/dist/agents/control_flow/budget.js.map +1 -0
- package/dist/agents/control_flow/cfg-builder.d.ts +26 -0
- package/dist/agents/control_flow/cfg-builder.d.ts.map +1 -0
- package/dist/agents/control_flow/cfg-builder.js +776 -0
- package/dist/agents/control_flow/cfg-builder.js.map +1 -0
- package/dist/agents/control_flow/cfg-types.d.ts +186 -0
- package/dist/agents/control_flow/cfg-types.d.ts.map +1 -0
- package/dist/agents/control_flow/cfg-types.js +114 -0
- package/dist/agents/control_flow/cfg-types.js.map +1 -0
- package/dist/agents/control_flow/finding-generator.d.ts +118 -0
- package/dist/agents/control_flow/finding-generator.d.ts.map +1 -0
- package/dist/agents/control_flow/finding-generator.js +354 -0
- package/dist/agents/control_flow/finding-generator.js.map +1 -0
- package/dist/agents/control_flow/index.d.ts +39 -0
- package/dist/agents/control_flow/index.d.ts.map +1 -0
- package/dist/agents/control_flow/index.js +270 -0
- package/dist/agents/control_flow/index.js.map +1 -0
- package/dist/agents/control_flow/logger.d.ts +333 -0
- package/dist/agents/control_flow/logger.d.ts.map +1 -0
- package/dist/agents/control_flow/logger.js +607 -0
- package/dist/agents/control_flow/logger.js.map +1 -0
- package/dist/agents/control_flow/mitigation-detector.d.ts +207 -0
- package/dist/agents/control_flow/mitigation-detector.d.ts.map +1 -0
- package/dist/agents/control_flow/mitigation-detector.js +625 -0
- package/dist/agents/control_flow/mitigation-detector.js.map +1 -0
- package/dist/agents/control_flow/mitigation-patterns.d.ts +53 -0
- package/dist/agents/control_flow/mitigation-patterns.d.ts.map +1 -0
- package/dist/agents/control_flow/mitigation-patterns.js +620 -0
- package/dist/agents/control_flow/mitigation-patterns.js.map +1 -0
- package/dist/agents/control_flow/path-analyzer.d.ts +287 -0
- package/dist/agents/control_flow/path-analyzer.d.ts.map +1 -0
- package/dist/agents/control_flow/path-analyzer.js +695 -0
- package/dist/agents/control_flow/path-analyzer.js.map +1 -0
- package/dist/agents/control_flow/pattern-validator.d.ts +132 -0
- package/dist/agents/control_flow/pattern-validator.d.ts.map +1 -0
- package/dist/agents/control_flow/pattern-validator.js +420 -0
- package/dist/agents/control_flow/pattern-validator.js.map +1 -0
- package/dist/agents/control_flow/timeout-regex.d.ts +144 -0
- package/dist/agents/control_flow/timeout-regex.d.ts.map +1 -0
- package/dist/agents/control_flow/timeout-regex.js +339 -0
- package/dist/agents/control_flow/timeout-regex.js.map +1 -0
- package/dist/agents/control_flow/types.d.ts +782 -0
- package/dist/agents/control_flow/types.d.ts.map +1 -0
- package/dist/agents/control_flow/types.js +428 -0
- package/dist/agents/control_flow/types.js.map +1 -0
- package/dist/agents/control_flow/vulnerability-detector.d.ts +85 -0
- package/dist/agents/control_flow/vulnerability-detector.d.ts.map +1 -0
- package/dist/agents/control_flow/vulnerability-detector.js +493 -0
- package/dist/agents/control_flow/vulnerability-detector.js.map +1 -0
- package/dist/agents/date-utils.d.ts +19 -0
- package/dist/agents/date-utils.d.ts.map +1 -0
- package/dist/agents/date-utils.js +29 -0
- package/dist/agents/date-utils.js.map +1 -0
- package/dist/agents/index.d.ts +25 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +50 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/json-utils.d.ts +34 -0
- package/dist/agents/json-utils.d.ts.map +1 -0
- package/dist/agents/json-utils.js +62 -0
- package/dist/agents/json-utils.js.map +1 -0
- package/dist/agents/local_llm.d.ts +24 -0
- package/dist/agents/local_llm.d.ts.map +1 -0
- package/dist/agents/local_llm.js +566 -0
- package/dist/agents/local_llm.js.map +1 -0
- package/dist/agents/metadata.d.ts +57 -0
- package/dist/agents/metadata.d.ts.map +1 -0
- package/dist/agents/metadata.js +45 -0
- package/dist/agents/metadata.js.map +1 -0
- package/dist/agents/opencode.d.ts +18 -0
- package/dist/agents/opencode.d.ts.map +1 -0
- package/dist/agents/opencode.js +364 -0
- package/dist/agents/opencode.js.map +1 -0
- package/dist/agents/path-filter.d.ts +25 -0
- package/dist/agents/path-filter.d.ts.map +1 -0
- package/dist/agents/path-filter.js +43 -0
- package/dist/agents/path-filter.js.map +1 -0
- package/dist/agents/pr_agent.d.ts +3 -0
- package/dist/agents/pr_agent.d.ts.map +1 -0
- package/dist/agents/pr_agent.js +312 -0
- package/dist/agents/pr_agent.js.map +1 -0
- package/dist/agents/retry.d.ts +12 -0
- package/dist/agents/retry.d.ts.map +1 -0
- package/dist/agents/retry.js +65 -0
- package/dist/agents/retry.js.map +1 -0
- package/dist/agents/reviewdog.d.ts +24 -0
- package/dist/agents/reviewdog.d.ts.map +1 -0
- package/dist/agents/reviewdog.js +259 -0
- package/dist/agents/reviewdog.js.map +1 -0
- package/dist/agents/security.d.ts +49 -0
- package/dist/agents/security.d.ts.map +1 -0
- package/dist/agents/security.js +302 -0
- package/dist/agents/security.js.map +1 -0
- package/dist/agents/semgrep.d.ts +8 -0
- package/dist/agents/semgrep.d.ts.map +1 -0
- package/dist/agents/semgrep.js +157 -0
- package/dist/agents/semgrep.js.map +1 -0
- package/dist/agents/types.d.ts +450 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +127 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/budget.d.ts +59 -0
- package/dist/budget.d.ts.map +1 -0
- package/dist/budget.js +82 -0
- package/dist/budget.js.map +1 -0
- package/dist/cache/key.d.ts +49 -0
- package/dist/cache/key.d.ts.map +1 -0
- package/dist/cache/key.js +71 -0
- package/dist/cache/key.js.map +1 -0
- package/dist/cache/store.d.ts +47 -0
- package/dist/cache/store.d.ts.map +1 -0
- package/dist/cache/store.js +328 -0
- package/dist/cache/store.js.map +1 -0
- package/dist/cli/commands/check.d.ts +60 -0
- package/dist/cli/commands/check.d.ts.map +1 -0
- package/dist/cli/commands/check.js +163 -0
- package/dist/cli/commands/check.js.map +1 -0
- package/dist/cli/commands/index.d.ts +12 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +12 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/local-review.d.ts +149 -0
- package/dist/cli/commands/local-review.d.ts.map +1 -0
- package/dist/cli/commands/local-review.js +755 -0
- package/dist/cli/commands/local-review.js.map +1 -0
- package/dist/cli/config-wizard.d.ts +87 -0
- package/dist/cli/config-wizard.d.ts.map +1 -0
- package/dist/cli/config-wizard.js +240 -0
- package/dist/cli/config-wizard.js.map +1 -0
- package/dist/cli/dependencies/catalog.d.ts +44 -0
- package/dist/cli/dependencies/catalog.d.ts.map +1 -0
- package/dist/cli/dependencies/catalog.js +89 -0
- package/dist/cli/dependencies/catalog.js.map +1 -0
- package/dist/cli/dependencies/checker.d.ts +42 -0
- package/dist/cli/dependencies/checker.d.ts.map +1 -0
- package/dist/cli/dependencies/checker.js +240 -0
- package/dist/cli/dependencies/checker.js.map +1 -0
- package/dist/cli/dependencies/index.d.ts +16 -0
- package/dist/cli/dependencies/index.d.ts.map +1 -0
- package/dist/cli/dependencies/index.js +16 -0
- package/dist/cli/dependencies/index.js.map +1 -0
- package/dist/cli/dependencies/messages.d.ts +58 -0
- package/dist/cli/dependencies/messages.d.ts.map +1 -0
- package/dist/cli/dependencies/messages.js +183 -0
- package/dist/cli/dependencies/messages.js.map +1 -0
- package/dist/cli/dependencies/platform.d.ts +25 -0
- package/dist/cli/dependencies/platform.d.ts.map +1 -0
- package/dist/cli/dependencies/platform.js +42 -0
- package/dist/cli/dependencies/platform.js.map +1 -0
- package/dist/cli/dependencies/schemas.d.ts +65 -0
- package/dist/cli/dependencies/schemas.d.ts.map +1 -0
- package/dist/cli/dependencies/schemas.js +42 -0
- package/dist/cli/dependencies/schemas.js.map +1 -0
- package/dist/cli/dependencies/types.d.ts +112 -0
- package/dist/cli/dependencies/types.d.ts.map +1 -0
- package/dist/cli/dependencies/types.js +6 -0
- package/dist/cli/dependencies/types.js.map +1 -0
- package/dist/cli/dependencies/version.d.ts +67 -0
- package/dist/cli/dependencies/version.d.ts.map +1 -0
- package/dist/cli/dependencies/version.js +125 -0
- package/dist/cli/dependencies/version.js.map +1 -0
- package/dist/cli/git-context.d.ts +105 -0
- package/dist/cli/git-context.d.ts.map +1 -0
- package/dist/cli/git-context.js +313 -0
- package/dist/cli/git-context.js.map +1 -0
- package/dist/cli/interactive-prompts.d.ts +126 -0
- package/dist/cli/interactive-prompts.d.ts.map +1 -0
- package/dist/cli/interactive-prompts.js +128 -0
- package/dist/cli/interactive-prompts.js.map +1 -0
- package/dist/cli/options/index.d.ts +7 -0
- package/dist/cli/options/index.d.ts.map +1 -0
- package/dist/cli/options/index.js +11 -0
- package/dist/cli/options/index.js.map +1 -0
- package/dist/cli/options/local-review-options.d.ts +221 -0
- package/dist/cli/options/local-review-options.d.ts.map +1 -0
- package/dist/cli/options/local-review-options.js +332 -0
- package/dist/cli/options/local-review-options.js.map +1 -0
- package/dist/cli/output/colors.d.ts +154 -0
- package/dist/cli/output/colors.d.ts.map +1 -0
- package/dist/cli/output/colors.js +255 -0
- package/dist/cli/output/colors.js.map +1 -0
- package/dist/cli/output/errors.d.ts +157 -0
- package/dist/cli/output/errors.d.ts.map +1 -0
- package/dist/cli/output/errors.js +266 -0
- package/dist/cli/output/errors.js.map +1 -0
- package/dist/cli/output/index.d.ts +12 -0
- package/dist/cli/output/index.d.ts.map +1 -0
- package/dist/cli/output/index.js +15 -0
- package/dist/cli/output/index.js.map +1 -0
- package/dist/cli/output/progress.d.ts +237 -0
- package/dist/cli/output/progress.d.ts.map +1 -0
- package/dist/cli/output/progress.js +405 -0
- package/dist/cli/output/progress.js.map +1 -0
- package/dist/cli/signals.d.ts +145 -0
- package/dist/cli/signals.d.ts.map +1 -0
- package/dist/cli/signals.js +223 -0
- package/dist/cli/signals.js.map +1 -0
- package/dist/cli/validation-report.d.ts +106 -0
- package/dist/cli/validation-report.d.ts.map +1 -0
- package/dist/cli/validation-report.js +108 -0
- package/dist/cli/validation-report.js.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +12 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/mitigation-config.d.ts +94 -0
- package/dist/config/mitigation-config.d.ts.map +1 -0
- package/dist/config/mitigation-config.js +430 -0
- package/dist/config/mitigation-config.js.map +1 -0
- package/dist/config/providers.d.ts +118 -0
- package/dist/config/providers.d.ts.map +1 -0
- package/dist/config/providers.js +229 -0
- package/dist/config/providers.js.map +1 -0
- package/dist/config/schemas.d.ts +278 -0
- package/dist/config/schemas.d.ts.map +1 -0
- package/dist/config/schemas.js +111 -0
- package/dist/config/schemas.js.map +1 -0
- package/dist/config/zero-config.d.ts +126 -0
- package/dist/config/zero-config.d.ts.map +1 -0
- package/dist/config/zero-config.js +243 -0
- package/dist/config/zero-config.js.map +1 -0
- package/dist/config.d.ts +110 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +302 -0
- package/dist/config.js.map +1 -0
- package/dist/diff.d.ts +224 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +832 -0
- package/dist/diff.js.map +1 -0
- package/dist/git-validators.d.ts +106 -0
- package/dist/git-validators.d.ts.map +1 -0
- package/dist/git-validators.js +224 -0
- package/dist/git-validators.js.map +1 -0
- package/dist/main.d.ts +61 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +704 -0
- package/dist/main.js.map +1 -0
- package/dist/phases/execute.d.ts +60 -0
- package/dist/phases/execute.d.ts.map +1 -0
- package/dist/phases/execute.js +168 -0
- package/dist/phases/execute.js.map +1 -0
- package/dist/phases/index.d.ts +9 -0
- package/dist/phases/index.d.ts.map +1 -0
- package/dist/phases/index.js +9 -0
- package/dist/phases/index.js.map +1 -0
- package/dist/phases/preflight.d.ts +40 -0
- package/dist/phases/preflight.d.ts.map +1 -0
- package/dist/phases/preflight.js +122 -0
- package/dist/phases/preflight.js.map +1 -0
- package/dist/phases/report.d.ts +51 -0
- package/dist/phases/report.d.ts.map +1 -0
- package/dist/phases/report.js +152 -0
- package/dist/phases/report.js.map +1 -0
- package/dist/policy.d.ts +33 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/policy.js +34 -0
- package/dist/policy.js.map +1 -0
- package/dist/preflight.d.ts +181 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +627 -0
- package/dist/preflight.js.map +1 -0
- package/dist/report/ado.d.ts +53 -0
- package/dist/report/ado.d.ts.map +1 -0
- package/dist/report/ado.js +411 -0
- package/dist/report/ado.js.map +1 -0
- package/dist/report/agent-icons.d.ts +36 -0
- package/dist/report/agent-icons.d.ts.map +1 -0
- package/dist/report/agent-icons.js +46 -0
- package/dist/report/agent-icons.js.map +1 -0
- package/dist/report/base.d.ts +30 -0
- package/dist/report/base.d.ts.map +1 -0
- package/dist/report/base.js +64 -0
- package/dist/report/base.js.map +1 -0
- package/dist/report/formats.d.ts +206 -0
- package/dist/report/formats.d.ts.map +1 -0
- package/dist/report/formats.js +481 -0
- package/dist/report/formats.js.map +1 -0
- package/dist/report/github.d.ts +44 -0
- package/dist/report/github.d.ts.map +1 -0
- package/dist/report/github.js +409 -0
- package/dist/report/github.js.map +1 -0
- package/dist/report/line-resolver.d.ts +208 -0
- package/dist/report/line-resolver.d.ts.map +1 -0
- package/dist/report/line-resolver.js +578 -0
- package/dist/report/line-resolver.js.map +1 -0
- package/dist/report/resolution.d.ts +158 -0
- package/dist/report/resolution.d.ts.map +1 -0
- package/dist/report/resolution.js +272 -0
- package/dist/report/resolution.js.map +1 -0
- package/dist/report/sanitize.d.ts +32 -0
- package/dist/report/sanitize.d.ts.map +1 -0
- package/dist/report/sanitize.js +84 -0
- package/dist/report/sanitize.js.map +1 -0
- package/dist/report/terminal.d.ts +440 -0
- package/dist/report/terminal.d.ts.map +1 -0
- package/dist/report/terminal.js +840 -0
- package/dist/report/terminal.js.map +1 -0
- package/dist/reviewignore.d.ts +125 -0
- package/dist/reviewignore.d.ts.map +1 -0
- package/dist/reviewignore.js +335 -0
- package/dist/reviewignore.js.map +1 -0
- package/dist/security-logger.d.ts +178 -0
- package/dist/security-logger.d.ts.map +1 -0
- package/dist/security-logger.js +256 -0
- package/dist/security-logger.js.map +1 -0
- package/dist/telemetry/backends/console.d.ts +24 -0
- package/dist/telemetry/backends/console.d.ts.map +1 -0
- package/dist/telemetry/backends/console.js +54 -0
- package/dist/telemetry/backends/console.js.map +1 -0
- package/dist/telemetry/backends/jsonl.d.ts +31 -0
- package/dist/telemetry/backends/jsonl.d.ts.map +1 -0
- package/dist/telemetry/backends/jsonl.js +121 -0
- package/dist/telemetry/backends/jsonl.js.map +1 -0
- package/dist/telemetry/emitter.d.ts +43 -0
- package/dist/telemetry/emitter.d.ts.map +1 -0
- package/dist/telemetry/emitter.js +83 -0
- package/dist/telemetry/emitter.js.map +1 -0
- package/dist/telemetry/hook.d.ts +53 -0
- package/dist/telemetry/hook.d.ts.map +1 -0
- package/dist/telemetry/hook.js +118 -0
- package/dist/telemetry/hook.js.map +1 -0
- package/dist/telemetry/index.d.ts +58 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +143 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/types.d.ts +139 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +133 -0
- package/dist/telemetry/types.js.map +1 -0
- package/dist/trust.d.ts +65 -0
- package/dist/trust.d.ts.map +1 -0
- package/dist/trust.js +78 -0
- package/dist/trust.js.map +1 -0
- package/dist/types/assert-never.d.ts +30 -0
- package/dist/types/assert-never.d.ts.map +1 -0
- package/dist/types/assert-never.js +32 -0
- package/dist/types/assert-never.js.map +1 -0
- package/dist/types/branded.d.ts +172 -0
- package/dist/types/branded.d.ts.map +1 -0
- package/dist/types/branded.js +262 -0
- package/dist/types/branded.js.map +1 -0
- package/dist/types/errors.d.ts +320 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +551 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/index.d.ts +37 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +77 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/result.d.ts +323 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +423 -0
- package/dist/types/result.js.map +1 -0
- package/package.json +63 -0
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pass Execution Module
|
|
3
|
+
*
|
|
4
|
+
* Handles execution of all agent passes with proper caching, budget checks,
|
|
5
|
+
* and error handling. Extracted from main.ts lines 315-427.
|
|
6
|
+
*/
|
|
7
|
+
import type { Config } from '../config.js';
|
|
8
|
+
import type { AgentContext, AgentResult, Finding } from '../agents/types.js';
|
|
9
|
+
import type { BudgetCheck } from '../budget.js';
|
|
10
|
+
export interface SkippedAgent {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
reason: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Annotate findings with provenance metadata (FR-002)
|
|
17
|
+
*
|
|
18
|
+
* Sets the provenance field to indicate whether findings came from a
|
|
19
|
+
* successful agent ('complete') or a failed agent ('partial').
|
|
20
|
+
*
|
|
21
|
+
* @param findings - Array of findings to annotate
|
|
22
|
+
* @param provenance - The provenance value to set
|
|
23
|
+
* @returns New array with provenance field set on each finding
|
|
24
|
+
*/
|
|
25
|
+
export declare function annotateProvenance<P extends 'complete' | 'partial'>(findings: Finding[], provenance: P): (Finding & {
|
|
26
|
+
provenance: P;
|
|
27
|
+
})[];
|
|
28
|
+
export interface ExecuteOptions {
|
|
29
|
+
pr?: number;
|
|
30
|
+
head?: string;
|
|
31
|
+
configHash: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Result from executing all agent passes.
|
|
35
|
+
*
|
|
36
|
+
* (012-fix-agent-result-regressions) - Changed from allFindings to separate collections:
|
|
37
|
+
* - completeFindings: From successful agents, with provenance: 'complete'
|
|
38
|
+
* - partialFindings: From failed agents, with provenance: 'partial'
|
|
39
|
+
*
|
|
40
|
+
* This ensures partial findings are preserved and rendered in a dedicated section.
|
|
41
|
+
*/
|
|
42
|
+
export interface ExecuteResult {
|
|
43
|
+
/** Findings from successful agents (FR-001, FR-008: used for gating) */
|
|
44
|
+
completeFindings: Finding[];
|
|
45
|
+
/** Findings from failed agents (FR-001, FR-007: rendered in separate section) */
|
|
46
|
+
partialFindings: Finding[];
|
|
47
|
+
allResults: AgentResult[];
|
|
48
|
+
skippedAgents: SkippedAgent[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Execute all enabled passes and their agents.
|
|
52
|
+
*
|
|
53
|
+
* Handles:
|
|
54
|
+
* - Pass-level budget enforcement (skip optional paid LLM passes when over budget)
|
|
55
|
+
* - Agent-level caching (cache hits skip execution)
|
|
56
|
+
* - Policy enforcement (forbid in-process LLM on main branch push)
|
|
57
|
+
* - Error handling (required agents fail fast, optional agents continue)
|
|
58
|
+
*/
|
|
59
|
+
export declare function executeAllPasses(config: Config, agentContext: AgentContext, routerEnv: Record<string, string | undefined>, budgetCheck: BudgetCheck, options: ExecuteOptions): Promise<ExecuteResult>;
|
|
60
|
+
//# sourceMappingURL=execute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/phases/execute.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAS7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,EACjE,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,CAAC,GACZ,CAAC,OAAO,GAAG;IAAE,UAAU,EAAE,CAAC,CAAA;CAAE,CAAC,EAAE,CAEjC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,iFAAiF;IACjF,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAqJxB"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pass Execution Module
|
|
3
|
+
*
|
|
4
|
+
* Handles execution of all agent passes with proper caching, budget checks,
|
|
5
|
+
* and error handling. Extracted from main.ts lines 315-427.
|
|
6
|
+
*/
|
|
7
|
+
import { isSuccess, isFailure, isSkipped } from '../agents/types.js';
|
|
8
|
+
import { assertNever } from '../types/assert-never.js';
|
|
9
|
+
import { getAgentsByIds } from '../agents/index.js';
|
|
10
|
+
import { resolveProvider } from '../config.js';
|
|
11
|
+
import { buildAgentEnv, isKnownAgentId } from '../agents/security.js';
|
|
12
|
+
import { getCached, setCache } from '../cache/store.js';
|
|
13
|
+
import { generateCacheKey } from '../cache/key.js';
|
|
14
|
+
import { isMainBranchPush, isAgentForbiddenOnMain } from '../policy.js';
|
|
15
|
+
/**
|
|
16
|
+
* Annotate findings with provenance metadata (FR-002)
|
|
17
|
+
*
|
|
18
|
+
* Sets the provenance field to indicate whether findings came from a
|
|
19
|
+
* successful agent ('complete') or a failed agent ('partial').
|
|
20
|
+
*
|
|
21
|
+
* @param findings - Array of findings to annotate
|
|
22
|
+
* @param provenance - The provenance value to set
|
|
23
|
+
* @returns New array with provenance field set on each finding
|
|
24
|
+
*/
|
|
25
|
+
export function annotateProvenance(findings, provenance) {
|
|
26
|
+
return findings.map((f) => ({ ...f, provenance }));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Execute all enabled passes and their agents.
|
|
30
|
+
*
|
|
31
|
+
* Handles:
|
|
32
|
+
* - Pass-level budget enforcement (skip optional paid LLM passes when over budget)
|
|
33
|
+
* - Agent-level caching (cache hits skip execution)
|
|
34
|
+
* - Policy enforcement (forbid in-process LLM on main branch push)
|
|
35
|
+
* - Error handling (required agents fail fast, optional agents continue)
|
|
36
|
+
*/
|
|
37
|
+
export async function executeAllPasses(config, agentContext, routerEnv, budgetCheck, options) {
|
|
38
|
+
const completeFindings = [];
|
|
39
|
+
const partialFindings = [];
|
|
40
|
+
const allResults = [];
|
|
41
|
+
const skippedAgents = [];
|
|
42
|
+
for (const pass of config.passes) {
|
|
43
|
+
if (!pass.enabled) {
|
|
44
|
+
console.log(`[router] Skipping disabled pass: ${pass.name}`);
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
console.log(`[router] Running pass: ${pass.name} (required: ${pass.required})`);
|
|
48
|
+
const agents = getAgentsByIds(pass.agents);
|
|
49
|
+
// Check if this pass uses PAID LLM services and we're over budget
|
|
50
|
+
// Local LLM (Ollama) is exempt from budget checks since it's free
|
|
51
|
+
const usesPaidLlm = agents.some((a) => a.usesLlm && a.id !== 'local_llm');
|
|
52
|
+
if (usesPaidLlm && !budgetCheck.allowed) {
|
|
53
|
+
if (pass.required) {
|
|
54
|
+
console.error(`[router] ❌ Required pass ${pass.name} blocked by budget limit`);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
console.log(`[router] Skipping optional paid LLM pass due to budget: ${pass.name}`);
|
|
58
|
+
for (const agent of agents) {
|
|
59
|
+
skippedAgents.push({ id: agent.id, name: agent.name, reason: 'Budget limit exceeded' });
|
|
60
|
+
}
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
for (const agent of agents) {
|
|
64
|
+
console.log(`[router] Running agent: ${agent.name} (${agent.id})`);
|
|
65
|
+
try {
|
|
66
|
+
if (!isKnownAgentId(agent.id)) {
|
|
67
|
+
throw new Error(`Unknown agent id "${agent.id}" has no allowlisted environment`);
|
|
68
|
+
}
|
|
69
|
+
// Check if LLM agent is forbidden on main branch pushes
|
|
70
|
+
// Note: PRs targeting main are allowed (isMainBranchPush returns false for PRs)
|
|
71
|
+
if (isMainBranchPush(routerEnv) && isAgentForbiddenOnMain(agent.id)) {
|
|
72
|
+
console.error(`[router] Policy violation: in-process LLM agent "${agent.id}" is forbidden on direct main push`);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
const scopedContext = {
|
|
76
|
+
...agentContext,
|
|
77
|
+
env: buildAgentEnv(agent.id, routerEnv),
|
|
78
|
+
// Pass config.provider to honor explicit user override (T010)
|
|
79
|
+
provider: resolveProvider(agent.id, routerEnv, config.provider),
|
|
80
|
+
};
|
|
81
|
+
let result = null;
|
|
82
|
+
// Check cache
|
|
83
|
+
if (options.pr && options.head) {
|
|
84
|
+
const cacheKey = generateCacheKey({
|
|
85
|
+
prNumber: options.pr,
|
|
86
|
+
headSha: options.head,
|
|
87
|
+
configHash: options.configHash,
|
|
88
|
+
agentId: agent.id,
|
|
89
|
+
});
|
|
90
|
+
const cached = await getCached(cacheKey);
|
|
91
|
+
if (cached) {
|
|
92
|
+
console.log(`[router] Cache hit for ${agent.id}`);
|
|
93
|
+
result = cached;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Execute agent if not cached
|
|
97
|
+
if (!result) {
|
|
98
|
+
result = await agent.run(scopedContext);
|
|
99
|
+
// Cache successful results
|
|
100
|
+
if (options.pr && options.head && isSuccess(result)) {
|
|
101
|
+
const cacheKey = generateCacheKey({
|
|
102
|
+
prNumber: options.pr,
|
|
103
|
+
headSha: options.head,
|
|
104
|
+
configHash: options.configHash,
|
|
105
|
+
agentId: agent.id,
|
|
106
|
+
});
|
|
107
|
+
await setCache(cacheKey, result);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
allResults.push(result);
|
|
111
|
+
if (isSuccess(result)) {
|
|
112
|
+
console.log(`[router] ${agent.name}: ${result.findings.length} findings in ${result.metrics.durationMs}ms`);
|
|
113
|
+
// FR-002: Annotate findings with provenance: 'complete'
|
|
114
|
+
completeFindings.push(...annotateProvenance(result.findings, 'complete'));
|
|
115
|
+
}
|
|
116
|
+
else if (isFailure(result)) {
|
|
117
|
+
// FR-001: Collect partialFindings from failed agents into separate collection
|
|
118
|
+
if (result.partialFindings.length > 0) {
|
|
119
|
+
// FR-002: Annotate findings with provenance: 'partial'
|
|
120
|
+
partialFindings.push(...annotateProvenance(result.partialFindings, 'partial'));
|
|
121
|
+
console.log(`[router] ${agent.name}: collected ${result.partialFindings.length} partial findings before failure`);
|
|
122
|
+
}
|
|
123
|
+
// Agent failed - check if pass is required
|
|
124
|
+
if (pass.required) {
|
|
125
|
+
console.error(`[router] ❌ Required agent ${agent.name} failed: ${result.error}`);
|
|
126
|
+
process.exit(1);
|
|
127
|
+
}
|
|
128
|
+
// Optional agent failed - log skip reason and continue
|
|
129
|
+
console.log(`[router] ⏭️ Optional agent ${agent.name} skipped: ${result.error}`);
|
|
130
|
+
skippedAgents.push({
|
|
131
|
+
id: agent.id,
|
|
132
|
+
name: agent.name,
|
|
133
|
+
reason: result.error,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
else if (isSkipped(result)) {
|
|
137
|
+
// Agent skipped itself - log and continue
|
|
138
|
+
console.log(`[router] ⏭️ Agent ${agent.name} skipped: ${result.reason}`);
|
|
139
|
+
skippedAgents.push({
|
|
140
|
+
id: agent.id,
|
|
141
|
+
name: agent.name,
|
|
142
|
+
reason: result.reason,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
// Exhaustive check - compile error if new variant added (FR-003)
|
|
147
|
+
assertNever(result);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
152
|
+
if (pass.required) {
|
|
153
|
+
console.error(`[router] ❌ Required agent ${agent.name} crashed: ${errorMsg}`);
|
|
154
|
+
process.exit(1);
|
|
155
|
+
}
|
|
156
|
+
console.error(`[router] ⏭️ Optional agent ${agent.name} crashed: ${errorMsg}`);
|
|
157
|
+
skippedAgents.push({ id: agent.id, name: agent.name, reason: errorMsg });
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
completeFindings,
|
|
163
|
+
partialFindings,
|
|
164
|
+
allResults,
|
|
165
|
+
skippedAgents,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=execute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/phases/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phases Module
|
|
3
|
+
*
|
|
4
|
+
* Export all phase functions for orchestration from main.ts.
|
|
5
|
+
*/
|
|
6
|
+
export { runPreflightChecks, type PreflightResult } from './preflight.js';
|
|
7
|
+
export { executeAllPasses, type ExecuteOptions, type ExecuteResult, type SkippedAgent, } from './execute.js';
|
|
8
|
+
export { processFindings, dispatchReport, checkGating, type Platform, type ReportOptions, type ProcessedFindings, } from './report.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/phases/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phases Module
|
|
3
|
+
*
|
|
4
|
+
* Export all phase functions for orchestration from main.ts.
|
|
5
|
+
*/
|
|
6
|
+
export { runPreflightChecks } from './preflight.js';
|
|
7
|
+
export { executeAllPasses, } from './execute.js';
|
|
8
|
+
export { processFindings, dispatchReport, checkGating, } from './report.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/phases/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAwB,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,gBAAgB,GAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,GAIZ,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preflight Checks Module
|
|
3
|
+
*
|
|
4
|
+
* Consolidates all validation that must pass before agent execution.
|
|
5
|
+
* Extracted from main.ts lines 238-313.
|
|
6
|
+
*
|
|
7
|
+
* FR-011: Logs the resolved configuration tuple for debugging and reproducibility.
|
|
8
|
+
*/
|
|
9
|
+
import { type Config, type ResolvedConfigTuple } from '../config.js';
|
|
10
|
+
import type { AgentContext } from '../agents/types.js';
|
|
11
|
+
export interface PreflightResult {
|
|
12
|
+
valid: boolean;
|
|
13
|
+
errors: string[];
|
|
14
|
+
/** Warnings that do not block execution (FR-020: warnings never cause non-zero exit) */
|
|
15
|
+
warnings: string[];
|
|
16
|
+
/** Resolved config tuple for logging (FR-011) */
|
|
17
|
+
resolved?: ResolvedConfigTuple;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Run all preflight validation checks.
|
|
21
|
+
* Returns a consolidated result with all errors collected.
|
|
22
|
+
*
|
|
23
|
+
* Order of checks:
|
|
24
|
+
* 1. Agent secrets (API keys for enabled agents)
|
|
25
|
+
* 2. Model configuration (MODEL env or config.models.default or auto-apply)
|
|
26
|
+
* 3. Model-provider match (cloud AI agents have available provider)
|
|
27
|
+
* 4. Provider-model compatibility (resolved provider matches model family)
|
|
28
|
+
* 5. Azure deployment validation (if Azure configured)
|
|
29
|
+
* 6. Ollama config validation (if local_llm enabled)
|
|
30
|
+
* 7. Chat model compatibility (reject completions-only models for cloud agents)
|
|
31
|
+
*
|
|
32
|
+
* FR-011: On success, builds and logs the resolved configuration tuple.
|
|
33
|
+
*
|
|
34
|
+
* @param config - Loaded configuration
|
|
35
|
+
* @param agentContext - Agent context with effective model
|
|
36
|
+
* @param env - Environment variables
|
|
37
|
+
* @param configPath - Optional path to config file (for resolved tuple logging)
|
|
38
|
+
*/
|
|
39
|
+
export declare function runPreflightChecks(config: Config, agentContext: AgentContext, env: Record<string, string | undefined>, configPath?: string): PreflightResult;
|
|
40
|
+
//# sourceMappingURL=preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/phases/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,MAAM,EACX,KAAK,mBAAmB,EAGzB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAcvD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,wFAAwF;IACxF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,UAAU,CAAC,EAAE,MAAM,GAClB,eAAe,CAqHjB"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preflight Checks Module
|
|
3
|
+
*
|
|
4
|
+
* Consolidates all validation that must pass before agent execution.
|
|
5
|
+
* Extracted from main.ts lines 238-313.
|
|
6
|
+
*
|
|
7
|
+
* FR-011: Logs the resolved configuration tuple for debugging and reproducibility.
|
|
8
|
+
*/
|
|
9
|
+
import { resolveProvider, buildResolvedConfigTuple, } from '../config.js';
|
|
10
|
+
import { validateAgentSecrets, validateModelConfig, validateModelProviderMatch, validateProviderModelCompatibility, validateAzureDeployment, validateOllamaConfig, validateChatModelCompatibility, validateMultiKeyAmbiguity, validateExplicitProviderKeys, resolveEffectiveModelWithDefaults, } from '../preflight.js';
|
|
11
|
+
/**
|
|
12
|
+
* Run all preflight validation checks.
|
|
13
|
+
* Returns a consolidated result with all errors collected.
|
|
14
|
+
*
|
|
15
|
+
* Order of checks:
|
|
16
|
+
* 1. Agent secrets (API keys for enabled agents)
|
|
17
|
+
* 2. Model configuration (MODEL env or config.models.default or auto-apply)
|
|
18
|
+
* 3. Model-provider match (cloud AI agents have available provider)
|
|
19
|
+
* 4. Provider-model compatibility (resolved provider matches model family)
|
|
20
|
+
* 5. Azure deployment validation (if Azure configured)
|
|
21
|
+
* 6. Ollama config validation (if local_llm enabled)
|
|
22
|
+
* 7. Chat model compatibility (reject completions-only models for cloud agents)
|
|
23
|
+
*
|
|
24
|
+
* FR-011: On success, builds and logs the resolved configuration tuple.
|
|
25
|
+
*
|
|
26
|
+
* @param config - Loaded configuration
|
|
27
|
+
* @param agentContext - Agent context with effective model
|
|
28
|
+
* @param env - Environment variables
|
|
29
|
+
* @param configPath - Optional path to config file (for resolved tuple logging)
|
|
30
|
+
*/
|
|
31
|
+
export function runPreflightChecks(config, agentContext, env, configPath) {
|
|
32
|
+
const allErrors = [];
|
|
33
|
+
const allWarnings = [];
|
|
34
|
+
// 1. Agent secrets validation
|
|
35
|
+
const secretsCheck = validateAgentSecrets(config, env);
|
|
36
|
+
if (!secretsCheck.valid) {
|
|
37
|
+
allErrors.push(...secretsCheck.errors);
|
|
38
|
+
}
|
|
39
|
+
// Resolve effective model with auto-apply for single-key setups (FR-001)
|
|
40
|
+
const { model: resolvedModel, autoApplied } = resolveEffectiveModelWithDefaults(config, env);
|
|
41
|
+
// Use auto-applied model if available, otherwise use context model
|
|
42
|
+
const effectiveModel = resolvedModel || agentContext.effectiveModel;
|
|
43
|
+
// Log auto-apply behavior (to stderr to keep stdout JSON-clean for --json)
|
|
44
|
+
if (autoApplied && resolvedModel) {
|
|
45
|
+
console.error(`[preflight] Auto-applied default model: ${resolvedModel}`);
|
|
46
|
+
}
|
|
47
|
+
// 2. Model config validation
|
|
48
|
+
const modelCheck = validateModelConfig(effectiveModel, env);
|
|
49
|
+
if (!modelCheck.valid) {
|
|
50
|
+
allErrors.push(...modelCheck.errors);
|
|
51
|
+
}
|
|
52
|
+
// 3. Model-provider match validation
|
|
53
|
+
const matchCheck = validateModelProviderMatch(config, effectiveModel, env);
|
|
54
|
+
if (!matchCheck.valid) {
|
|
55
|
+
allErrors.push(...matchCheck.errors);
|
|
56
|
+
}
|
|
57
|
+
// 4. Provider-model compatibility
|
|
58
|
+
const compatCheck = validateProviderModelCompatibility(config, effectiveModel, env);
|
|
59
|
+
if (!compatCheck.valid) {
|
|
60
|
+
allErrors.push(...compatCheck.errors);
|
|
61
|
+
}
|
|
62
|
+
// 5. Azure deployment validation
|
|
63
|
+
const azureCheck = validateAzureDeployment(env);
|
|
64
|
+
if (!azureCheck.valid) {
|
|
65
|
+
allErrors.push(...azureCheck.errors);
|
|
66
|
+
}
|
|
67
|
+
// 6. Ollama config validation
|
|
68
|
+
const ollamaCheck = validateOllamaConfig(config, env);
|
|
69
|
+
if (!ollamaCheck.valid) {
|
|
70
|
+
allErrors.push(...ollamaCheck.errors);
|
|
71
|
+
}
|
|
72
|
+
// 7. Chat model compatibility (reject codex/completions-only models)
|
|
73
|
+
const chatCheck = validateChatModelCompatibility(config, effectiveModel, env);
|
|
74
|
+
if (!chatCheck.valid) {
|
|
75
|
+
allErrors.push(...chatCheck.errors);
|
|
76
|
+
}
|
|
77
|
+
// 8. Multi-key ambiguity check (T024/T028 - FR-004)
|
|
78
|
+
const multiKeyCheck = validateMultiKeyAmbiguity(config, env);
|
|
79
|
+
if (!multiKeyCheck.valid) {
|
|
80
|
+
allErrors.push(...multiKeyCheck.errors);
|
|
81
|
+
}
|
|
82
|
+
// 9. Explicit provider key check (T026/T028)
|
|
83
|
+
const explicitProviderCheck = validateExplicitProviderKeys(config, env);
|
|
84
|
+
if (!explicitProviderCheck.valid) {
|
|
85
|
+
allErrors.push(...explicitProviderCheck.errors);
|
|
86
|
+
}
|
|
87
|
+
// 10. Platform environment detection for "both" platform (T040-T042, FR-013, FR-014, FR-017)
|
|
88
|
+
// When config has both reporting.github AND reporting.ado, warn if neither platform env is detected
|
|
89
|
+
if (config.reporting.github && config.reporting.ado) {
|
|
90
|
+
const hasGitHub = env['GITHUB_ACTIONS'] === 'true';
|
|
91
|
+
const hasADO = env['TF_BUILD'] === 'True' || !!env['SYSTEM_TEAMFOUNDATIONCOLLECTIONURI'];
|
|
92
|
+
if (!hasGitHub && !hasADO) {
|
|
93
|
+
// FR-017: Warning lists exact env vars checked
|
|
94
|
+
// FR-014, FR-020: This is a warning, not an error (exit 0)
|
|
95
|
+
allWarnings.push('Dual-platform config detected but no CI environment found. ' +
|
|
96
|
+
'Checked: GITHUB_ACTIONS, TF_BUILD, SYSTEM_TEAMFOUNDATIONCOLLECTIONURI. ' +
|
|
97
|
+
'Reporting will be skipped unless running in a supported CI environment.');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// Build resolved config tuple (T018)
|
|
101
|
+
// For provider resolution, pick the first cloud AI agent or fallback to opencode
|
|
102
|
+
const cloudAgents = ['opencode', 'pr_agent', 'ai_semantic_review'];
|
|
103
|
+
const firstCloudAgent = config.passes
|
|
104
|
+
.filter((p) => p.enabled)
|
|
105
|
+
.flatMap((p) => p.agents)
|
|
106
|
+
.find((a) => cloudAgents.includes(a));
|
|
107
|
+
const resolvedProvider = firstCloudAgent
|
|
108
|
+
? resolveProvider(firstCloudAgent, env, config.provider)
|
|
109
|
+
: null;
|
|
110
|
+
const resolvedTuple = buildResolvedConfigTuple(resolvedProvider, effectiveModel, env, config, configPath);
|
|
111
|
+
// FR-011 / T019: Log resolved config tuple as JSON on success (to stderr to keep stdout JSON-clean)
|
|
112
|
+
if (allErrors.length === 0) {
|
|
113
|
+
console.error(`[preflight] Resolved configuration: ${JSON.stringify(resolvedTuple)}`);
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
valid: allErrors.length === 0,
|
|
117
|
+
errors: allErrors,
|
|
118
|
+
warnings: allWarnings,
|
|
119
|
+
resolved: resolvedTuple,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/phases/preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Report Dispatch Module
|
|
3
|
+
*
|
|
4
|
+
* Handles platform-specific reporting dispatch.
|
|
5
|
+
* Extracted from main.ts lines 449-500.
|
|
6
|
+
*/
|
|
7
|
+
import type { Config } from '../config.js';
|
|
8
|
+
import { type Finding, type AgentResult } from '../agents/types.js';
|
|
9
|
+
import type { DiffFile } from '../diff.js';
|
|
10
|
+
import type { SkippedAgent } from './execute.js';
|
|
11
|
+
export type Platform = 'github' | 'ado' | 'unknown';
|
|
12
|
+
export interface ReportOptions {
|
|
13
|
+
dryRun?: boolean;
|
|
14
|
+
owner?: string;
|
|
15
|
+
repoName?: string;
|
|
16
|
+
pr?: number;
|
|
17
|
+
head: string;
|
|
18
|
+
/** Optional: use this SHA for GitHub check runs when the review head is not in the base repo */
|
|
19
|
+
githubHeadSha?: string;
|
|
20
|
+
checkRunId?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface ProcessedFindings {
|
|
23
|
+
deduplicated: Finding[];
|
|
24
|
+
sorted: Finding[];
|
|
25
|
+
partialSorted: Finding[];
|
|
26
|
+
summary: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Process findings: deduplicate, sanitize, sort, and generate summary.
|
|
30
|
+
*
|
|
31
|
+
* (012-fix-agent-result-regressions) - Updated to handle completeFindings and partialFindings
|
|
32
|
+
* separately. Partial findings are rendered in a dedicated section but NOT used for gating.
|
|
33
|
+
*/
|
|
34
|
+
export declare function processFindings(completeFindings: Finding[], partialFindings: Finding[], allResults: AgentResult[], skippedAgents: SkippedAgent[]): ProcessedFindings;
|
|
35
|
+
/**
|
|
36
|
+
* Dispatch report to the appropriate platform.
|
|
37
|
+
*
|
|
38
|
+
* (012-fix-agent-result-regressions) - Now accepts partialFindings to include
|
|
39
|
+
* in GitHub/ADO reports. Partial findings are rendered in a dedicated section
|
|
40
|
+
* that makes clear they're from failed agents and don't affect gating.
|
|
41
|
+
*/
|
|
42
|
+
export declare function dispatchReport(platform: Platform, findings: Finding[], partialFindings: Finding[], config: Config, diffFiles: DiffFile[], routerEnv: Record<string, string | undefined>, prNumber: number, options: ReportOptions): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Check gating and exit if blocking findings present.
|
|
45
|
+
*
|
|
46
|
+
* FR-008: Gating uses ONLY completeFindings (from successful agents).
|
|
47
|
+
* Partial findings from failed agents are rendered in reports but do NOT block merges.
|
|
48
|
+
* This ensures that agent failures don't cause unexpected CI failures.
|
|
49
|
+
*/
|
|
50
|
+
export declare function checkGating(config: Config, completeFindings: Finding[]): void;
|
|
51
|
+
//# sourceMappingURL=report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/phases/report.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,OAAO,EAAE,EAC3B,eAAe,EAAE,OAAO,EAAE,EAC1B,UAAU,EAAE,WAAW,EAAE,EACzB,aAAa,EAAE,YAAY,EAAE,GAC5B,iBAAiB,CAiEnB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,eAAe,EAAE,OAAO,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAmEf;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,IAAI,CAgB7E"}
|