@oddessentials/odd-ai-reviewers 1.7.1 → 1.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/agents/ai_semantic_review.d.ts.map +1 -1
  2. package/dist/agents/ai_semantic_review.js +1 -2
  3. package/dist/agents/ai_semantic_review.js.map +1 -1
  4. package/dist/agents/local_llm.d.ts.map +1 -1
  5. package/dist/agents/local_llm.js +1 -2
  6. package/dist/agents/local_llm.js.map +1 -1
  7. package/dist/agents/opencode.d.ts.map +1 -1
  8. package/dist/agents/opencode.js +1 -2
  9. package/dist/agents/opencode.js.map +1 -1
  10. package/dist/agents/pr_agent.d.ts.map +1 -1
  11. package/dist/agents/pr_agent.js +1 -2
  12. package/dist/agents/pr_agent.js.map +1 -1
  13. package/dist/agents/reviewdog.d.ts.map +1 -1
  14. package/dist/agents/reviewdog.js +1 -2
  15. package/dist/agents/reviewdog.js.map +1 -1
  16. package/dist/agents/security.d.ts.map +1 -1
  17. package/dist/agents/security.js +3 -4
  18. package/dist/agents/security.js.map +1 -1
  19. package/dist/agents/semgrep.d.ts.map +1 -1
  20. package/dist/agents/semgrep.js +1 -2
  21. package/dist/agents/semgrep.js.map +1 -1
  22. package/dist/cli/commands/local-review.d.ts.map +1 -1
  23. package/dist/cli/commands/local-review.js +20 -1
  24. package/dist/cli/commands/local-review.js.map +1 -1
  25. package/dist/main.d.ts.map +1 -1
  26. package/dist/main.js +93 -27
  27. package/dist/main.js.map +1 -1
  28. package/dist/phases/execute.d.ts +6 -0
  29. package/dist/phases/execute.d.ts.map +1 -1
  30. package/dist/phases/execute.js +23 -8
  31. package/dist/phases/execute.js.map +1 -1
  32. package/dist/phases/index.d.ts +1 -1
  33. package/dist/phases/index.d.ts.map +1 -1
  34. package/dist/phases/index.js +1 -1
  35. package/dist/phases/index.js.map +1 -1
  36. package/dist/phases/preflight.d.ts.map +1 -1
  37. package/dist/phases/preflight.js +28 -13
  38. package/dist/phases/preflight.js.map +1 -1
  39. package/dist/phases/report.d.ts +16 -2
  40. package/dist/phases/report.d.ts.map +1 -1
  41. package/dist/phases/report.js +17 -2
  42. package/dist/phases/report.js.map +1 -1
  43. package/dist/preflight.d.ts +16 -0
  44. package/dist/preflight.d.ts.map +1 -1
  45. package/dist/preflight.js +70 -48
  46. package/dist/preflight.js.map +1 -1
  47. package/dist/report/github.d.ts +11 -0
  48. package/dist/report/github.d.ts.map +1 -1
  49. package/dist/report/github.js +33 -0
  50. package/dist/report/github.js.map +1 -1
  51. package/package.json +1 -1
@@ -7,7 +7,7 @@
7
7
  * FR-011: Logs the resolved configuration tuple for debugging and reproducibility.
8
8
  */
9
9
  import { resolveProvider, buildResolvedConfigTuple, } from '../config.js';
10
- import { validateAgentSecrets, validateModelConfig, validateModelProviderMatch, validateProviderModelCompatibility, validateAzureDeployment, validateOllamaConfig, validateChatModelCompatibility, validateMultiKeyAmbiguity, validateExplicitProviderKeys, resolveEffectiveModelWithDefaults, } from '../preflight.js';
10
+ import { validateAgentSecrets, validateModelConfig, validateModelProviderMatch, validateProviderModelCompatibility, validateAzureDeployment, validateOllamaConfig, validateChatModelCompatibility, validateMultiKeyAmbiguity, validateExplicitProviderKeys, resolveEffectiveModelWithDefaults, hasRequiredCloudAiAgent, hasAnyCloudAiAgent, } from '../preflight.js';
11
11
  /**
12
12
  * Run all preflight validation checks.
13
13
  * Returns a consolidated result with all errors collected.
@@ -31,11 +31,12 @@ import { validateAgentSecrets, validateModelConfig, validateModelProviderMatch,
31
31
  export function runPreflightChecks(config, agentContext, env, configPath) {
32
32
  const allErrors = [];
33
33
  const allWarnings = [];
34
- // 1. Agent secrets validation
34
+ // 1. Agent secrets validation (respects pass.required — optional agents produce warnings)
35
35
  const secretsCheck = validateAgentSecrets(config, env);
36
36
  if (!secretsCheck.valid) {
37
37
  allErrors.push(...secretsCheck.errors);
38
38
  }
39
+ allWarnings.push(...secretsCheck.warnings);
39
40
  // Resolve effective model with auto-apply for single-key setups (FR-001)
40
41
  const { model: resolvedModel, autoApplied } = resolveEffectiveModelWithDefaults(config, env);
41
42
  // Use auto-applied model if available, otherwise use context model
@@ -44,27 +45,37 @@ export function runPreflightChecks(config, agentContext, env, configPath) {
44
45
  if (autoApplied && resolvedModel) {
45
46
  console.error(`[preflight] Auto-applied default model: ${resolvedModel}`);
46
47
  }
47
- // 2. Model config validation
48
- const modelCheck = validateModelConfig(effectiveModel, env);
49
- if (!modelCheck.valid) {
50
- allErrors.push(...modelCheck.errors);
48
+ // Cloud-agent-only checks: demote to warnings when ALL cloud agents are optional.
49
+ // These checks are irrelevant when cloud agents will just be skipped at runtime.
50
+ // NOTE: validateModelProviderMatch, validateProviderModelCompatibility, and
51
+ // validateChatModelCompatibility already short-circuit internally when no cloud
52
+ // agents are enabled. validateModelConfig does NOT have that guard, so we gate
53
+ // it here: skip entirely when no cloud agents exist, demote when they're all optional.
54
+ const cloudAgentsRequired = hasRequiredCloudAiAgent(config);
55
+ const cloudTarget = cloudAgentsRequired ? allErrors : allWarnings;
56
+ // 2. Model config validation (only relevant when cloud agents are enabled)
57
+ if (hasAnyCloudAiAgent(config)) {
58
+ const modelCheck = validateModelConfig(effectiveModel, env);
59
+ if (!modelCheck.valid) {
60
+ cloudTarget.push(...modelCheck.errors);
61
+ }
51
62
  }
52
63
  // 3. Model-provider match validation
53
64
  const matchCheck = validateModelProviderMatch(config, effectiveModel, env);
54
65
  if (!matchCheck.valid) {
55
- allErrors.push(...matchCheck.errors);
66
+ cloudTarget.push(...matchCheck.errors);
56
67
  }
57
68
  // 4. Provider-model compatibility
58
69
  const compatCheck = validateProviderModelCompatibility(config, effectiveModel, env);
59
70
  if (!compatCheck.valid) {
60
- allErrors.push(...compatCheck.errors);
71
+ cloudTarget.push(...compatCheck.errors);
61
72
  }
62
- // 5. Azure deployment validation
73
+ // 5. Azure deployment validation (infra — always hard error)
63
74
  const azureCheck = validateAzureDeployment(env);
64
75
  if (!azureCheck.valid) {
65
76
  allErrors.push(...azureCheck.errors);
66
77
  }
67
- // 6. Ollama config validation
78
+ // 6. Ollama config validation (infra — always hard error)
68
79
  const ollamaCheck = validateOllamaConfig(config, env);
69
80
  if (!ollamaCheck.valid) {
70
81
  allErrors.push(...ollamaCheck.errors);
@@ -72,17 +83,21 @@ export function runPreflightChecks(config, agentContext, env, configPath) {
72
83
  // 7. Chat model compatibility (reject codex/completions-only models)
73
84
  const chatCheck = validateChatModelCompatibility(config, effectiveModel, env);
74
85
  if (!chatCheck.valid) {
75
- allErrors.push(...chatCheck.errors);
86
+ cloudTarget.push(...chatCheck.errors);
76
87
  }
77
- // 8. Multi-key ambiguity check (T024/T028 - FR-004)
88
+ // 8. Multi-key ambiguity check (T024/T028 - FR-004) — always hard error (ambiguous config)
78
89
  const multiKeyCheck = validateMultiKeyAmbiguity(config, env);
79
90
  if (!multiKeyCheck.valid) {
80
91
  allErrors.push(...multiKeyCheck.errors);
81
92
  }
82
93
  // 9. Explicit provider key check (T026/T028)
94
+ // Ollama URL format errors are structural → always hard error.
95
+ // Non-Ollama missing-key errors are "missing prerequisite" → demote when
96
+ // all cloud agents are optional (same logic as agent secret checks).
83
97
  const explicitProviderCheck = validateExplicitProviderKeys(config, env);
84
98
  if (!explicitProviderCheck.valid) {
85
- allErrors.push(...explicitProviderCheck.errors);
99
+ const providerTarget = config.provider === 'ollama' ? allErrors : cloudTarget;
100
+ providerTarget.push(...explicitProviderCheck.errors);
86
101
  }
87
102
  // 10. Platform environment detection for "both" platform (T040-T042, FR-013, FR-014, FR-017)
88
103
  // When config has both reporting.github AND reporting.ado, warn if neither platform env is detected
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/phases/preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/phases/preflight.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ import { type Finding, type AgentResult } from '../agents/types.js';
9
9
  import type { DiffFile } from '../diff.js';
10
10
  import type { SkippedAgent } from './execute.js';
11
11
  export type Platform = 'github' | 'ado' | 'unknown';
12
+ export interface DispatchReportResult {
13
+ /** Whether the check run was completed during reporting (always false for ADO) */
14
+ checkRunCompleted: boolean;
15
+ }
12
16
  export interface ReportOptions {
13
17
  dryRun?: boolean;
14
18
  owner?: string;
@@ -39,13 +43,23 @@ export declare function processFindings(completeFindings: Finding[], partialFind
39
43
  * in GitHub/ADO reports. Partial findings are rendered in a dedicated section
40
44
  * that makes clear they're from failed agents and don't affect gating.
41
45
  */
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>;
46
+ export declare function dispatchReport(platform: Platform, findings: Finding[], partialFindings: Finding[], config: Config, diffFiles: DiffFile[], routerEnv: Record<string, string | undefined>, prNumber: number, options: ReportOptions): Promise<DispatchReportResult | undefined>;
43
47
  /**
44
- * Check gating and exit if blocking findings present.
48
+ * Error thrown when gating detects blocking findings.
49
+ * Distinct from FatalExecutionError to allow callers to handle gating
50
+ * exits through the injected exitHandler rather than process.exit.
51
+ */
52
+ export declare class GatingError extends Error {
53
+ constructor(message: string);
54
+ }
55
+ /**
56
+ * Check gating and throw if blocking findings present.
45
57
  *
46
58
  * FR-008: Gating uses ONLY completeFindings (from successful agents).
47
59
  * Partial findings from failed agents are rendered in reports but do NOT block merges.
48
60
  * This ensures that agent failures don't cause unexpected CI failures.
61
+ *
62
+ * @throws {GatingError} when blocking findings are present
49
63
  */
50
64
  export declare function checkGating(config: Config, completeFindings: Finding[]): void;
51
65
  //# sourceMappingURL=report.d.ts.map
@@ -1 +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,CAyEf;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,IAAI,CAgB7E"}
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,oBAAoB;IACnC,kFAAkF;IAClF,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,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,oBAAoB,GAAG,SAAS,CAAC,CA2E3C;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,IAAI,CAgB7E"}
@@ -99,6 +99,7 @@ export async function dispatchReport(platform, findings, partialFindings, config
99
99
  else {
100
100
  console.error('[router] Failed to report to GitHub:', reportResult.error);
101
101
  }
102
+ return { checkRunCompleted: reportResult.checkRunCompleted ?? false };
102
103
  }
103
104
  else if (platform === 'ado') {
104
105
  // Extract ADO context from environment
@@ -130,14 +131,28 @@ export async function dispatchReport(platform, findings, partialFindings, config
130
131
  else {
131
132
  console.error('[router] Failed to report to Azure DevOps:', reportResult.error);
132
133
  }
134
+ return { checkRunCompleted: false };
133
135
  }
134
136
  }
135
137
  /**
136
- * Check gating and exit if blocking findings present.
138
+ * Error thrown when gating detects blocking findings.
139
+ * Distinct from FatalExecutionError to allow callers to handle gating
140
+ * exits through the injected exitHandler rather than process.exit.
141
+ */
142
+ export class GatingError extends Error {
143
+ constructor(message) {
144
+ super(message);
145
+ this.name = 'GatingError';
146
+ }
147
+ }
148
+ /**
149
+ * Check gating and throw if blocking findings present.
137
150
  *
138
151
  * FR-008: Gating uses ONLY completeFindings (from successful agents).
139
152
  * Partial findings from failed agents are rendered in reports but do NOT block merges.
140
153
  * This ensures that agent failures don't cause unexpected CI failures.
154
+ *
155
+ * @throws {GatingError} when blocking findings are present
141
156
  */
142
157
  export function checkGating(config, completeFindings) {
143
158
  if (!config.gating.enabled) {
@@ -152,7 +167,7 @@ export function checkGating(config, completeFindings) {
152
167
  });
153
168
  if (hasBlockingFindings) {
154
169
  console.error('[router] Gating failed - blocking severity findings present');
155
- process.exit(1);
170
+ throw new GatingError('Blocking severity findings present');
156
171
  }
157
172
  }
158
173
  //# sourceMappingURL=report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/phases/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/phases/report.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,GAGV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAsB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA4BzD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,gBAA2B,EAC3B,eAA0B,EAC1B,UAAyB,EACzB,aAA6B;IAE7B,qDAAqD;IACrD,MAAM,YAAY,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,8DAA8D;IAC9D,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAEvC,2DAA2D;IAC3D,iFAAiF;IACjF,6EAA6E;IAC7E,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAErD,gFAAgF;IAChF,+DAA+D;IAC/D,MAAM,iBAAiB,GAAG,UAAU;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,OAAO,EAAE,IAAa;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,KAAK,EAAE,SAAS;aACjB,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,OAAO,EAAE,KAAc;gBACvB,QAAQ,EAAE,CAAC,CAAC,eAAe;gBAC3B,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC;QACJ,CAAC;QACD,iEAAiE;QACjE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,GAAG,2BAA2B,CACzC,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,aAAa,CACd,CAAC;IAEF,OAAO,CAAC,GAAG,CACT,+BAA+B,MAAM,CAAC,MAAM,uBAAuB,gBAAgB,CAAC,MAAM,GAAG,CAC9F,CAAC;IACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CACT,8BAA8B,aAAa,CAAC,MAAM,uBAAuB,eAAe,CAAC,MAAM,GAAG,CACnG,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,4BAA4B,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IAE5B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAkB,EAClB,QAAmB,EACnB,eAA0B,EAC1B,MAAc,EACd,SAAqB,EACrB,SAA6C,EAC7C,QAAgB,EAChB,OAAsB;IAEtB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5F,MAAM,aAAa,GAAkB;YACnC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,QAAQ,EAAE,OAAO,CAAC,EAAE;YACpB,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI;YAC9C,KAAK,EAAE,SAAS,CAAC,cAAc,CAAC;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,QAAQ,EACR,eAAe,EACf,aAAa,EACb,MAAM,EACN,SAAS,CACV,CAAC;QAEF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,IAAI,KAAK,EAAE,CAAC;IACxE,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC9B,uCAAuC;QACvC,MAAM,aAAa,GAAG,SAAS,CAAC,oCAAoC,CAAC,IAAI,EAAE,CAAC;QAC5E,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC1E,MAAM,OAAO,GAAG,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,oBAAoB,CAAC,IAAI,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAErF,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAe;YAC7B,YAAY;YACZ,OAAO;YACP,YAAY;YACZ,aAAa,EAAE,QAAQ;YACvB,eAAe,EAAE,OAAO,CAAC,IAAI;YAC7B,KAAK;SACN,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,MAAM,WAAW,CACpC,QAAQ,EACR,eAAe,EACf,UAAU,EACV,MAAM,EACN,SAAS,CACV,CAAC;QAEF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,gBAA2B;IACrE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACtD,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;QAC9E,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;YAC9C,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC7E,MAAM,IAAI,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
@@ -43,9 +43,15 @@ export declare function countProvidersWithKeys(env: Record<string, string | unde
43
43
  export interface PreflightResult {
44
44
  valid: boolean;
45
45
  errors: string[];
46
+ /** Non-fatal diagnostics (e.g. optional agents missing keys) */
47
+ warnings: string[];
46
48
  /** Resolved config tuple when valid, undefined when invalid */
47
49
  resolved?: ResolvedConfigTuple;
48
50
  }
51
+ /** Construct a passing PreflightResult. */
52
+ export declare function okResult(): PreflightResult;
53
+ /** Construct a failing PreflightResult. */
54
+ export declare function failResult(errors: string[], warnings?: string[]): PreflightResult;
49
55
  /**
50
56
  * Detect the single provider when exactly one provider has keys configured.
51
57
  * Used for auto-apply default model behavior.
@@ -94,6 +100,16 @@ export declare function validateAgentSecrets(config: Config, env: Record<string,
94
100
  * INVARIANT: Multi-key setups require explicit MODEL or config.models.default.
95
101
  */
96
102
  export declare function validateModelConfig(effectiveModel: string, env: Record<string, string | undefined>): PreflightResult;
103
+ /**
104
+ * Returns true if any cloud AI agent appears in a required:true enabled pass.
105
+ * When false, all cloud-agent-only preflight checks can be demoted to warnings.
106
+ */
107
+ export declare function hasRequiredCloudAiAgent(config: Config): boolean;
108
+ /**
109
+ * Returns true if any cloud AI agent appears in any enabled pass (required or optional).
110
+ * Used to gate validators that are meaningless when no cloud agents exist at all.
111
+ */
112
+ export declare function hasAnyCloudAiAgent(config: Config): boolean;
97
113
  /**
98
114
  * Validate model-provider match based on model name heuristic.
99
115
  * Fails if model looks like it requires a specific provider but key is missing.
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
package/dist/preflight.js CHANGED
@@ -76,6 +76,14 @@ export function countProvidersWithKeys(env) {
76
76
  }
77
77
  return count;
78
78
  }
79
+ /** Construct a passing PreflightResult. */
80
+ export function okResult() {
81
+ return { valid: true, errors: [], warnings: [] };
82
+ }
83
+ /** Construct a failing PreflightResult. */
84
+ export function failResult(errors, warnings = []) {
85
+ return { valid: false, errors, warnings };
86
+ }
79
87
  /**
80
88
  * Detect the single provider when exactly one provider has keys configured.
81
89
  * Used for auto-apply default model behavior.
@@ -239,40 +247,60 @@ export function validateAgentSecrets(config, env) {
239
247
  errors.push(`Azure OpenAI configuration is incomplete. When using Azure OpenAI, all keys are required: ` +
240
248
  `${AZURE_OPENAI_KEYS.join(', ')}. Missing: ${missing.join(', ')}`);
241
249
  }
242
- // Collect all enabled agents across all enabled passes
243
- const enabledAgents = new Set();
250
+ // Classify agents: an agent in ANY required:true enabled pass is "required";
251
+ // an agent ONLY in required:false enabled passes is "optional".
252
+ const requiredAgents = new Set();
253
+ const optionalAgents = new Set();
244
254
  for (const pass of config.passes) {
245
255
  if (!pass.enabled)
246
256
  continue;
247
257
  for (const agentId of pass.agents) {
248
- enabledAgents.add(agentId);
258
+ if (pass.required) {
259
+ requiredAgents.add(agentId);
260
+ }
261
+ else {
262
+ optionalAgents.add(agentId);
263
+ }
249
264
  }
250
265
  }
266
+ // If agent appears in both, it's required (deterministic: required wins)
267
+ for (const agentId of requiredAgents) {
268
+ optionalAgents.delete(agentId);
269
+ }
270
+ const warnings = [];
251
271
  // Check each enabled agent's requirements
252
- for (const agentId of enabledAgents) {
272
+ const allAgents = new Set([...requiredAgents, ...optionalAgents]);
273
+ for (const agentId of allAgents) {
253
274
  const requirements = AGENT_SECRET_REQUIREMENTS[agentId];
254
275
  if (!requirements)
255
276
  continue;
277
+ const isOptional = optionalAgents.has(agentId);
278
+ const target = isOptional ? warnings : errors;
279
+ const suffix = isOptional ? ' (pass will be skipped)' : '';
256
280
  // Check "oneOf" requirements (at least one must be present)
257
281
  if (requirements.oneOf) {
258
282
  const hasAny = requirements.oneOf.some((key) => env[key] !== undefined && env[key] !== '');
259
283
  if (!hasAny) {
260
- errors.push(`Agent '${agentId}' is enabled but missing required API key. ` +
261
- `Set one of: ${requirements.oneOf.join(', ')}`);
284
+ target.push(`Agent '${agentId}' is enabled but missing required API key. ` +
285
+ `Set one of: ${requirements.oneOf.join(', ')}` +
286
+ suffix);
262
287
  }
263
288
  }
264
289
  // Check "required" requirements (all must be present)
265
290
  if (requirements.required) {
266
291
  const missing = requirements.required.filter((key) => env[key] === undefined || env[key] === '');
267
292
  if (missing.length > 0) {
268
- errors.push(`Agent '${agentId}' is enabled but missing required secret(s): ${missing.join(', ')}`);
293
+ target.push(`Agent '${agentId}' is enabled but missing required secret(s): ${missing.join(', ')}` +
294
+ suffix);
269
295
  }
270
296
  }
271
297
  }
272
- return {
273
- valid: errors.length === 0,
274
- errors,
275
- };
298
+ if (errors.length > 0) {
299
+ return failResult(errors, warnings);
300
+ }
301
+ const result = okResult();
302
+ result.warnings = warnings;
303
+ return result;
276
304
  }
277
305
  /**
278
306
  * Validate model configuration.
@@ -312,16 +340,28 @@ export function validateModelConfig(effectiveModel, env) {
312
340
  }
313
341
  }
314
342
  }
315
- return {
316
- valid: errors.length === 0,
317
- errors,
318
- };
343
+ return errors.length === 0 ? okResult() : failResult(errors);
319
344
  }
320
345
  /**
321
346
  * Agents that use MODEL for cloud LLM providers (OpenAI/Anthropic).
322
347
  * local_llm uses OLLAMA_MODEL instead, so it's excluded from model-provider validation.
323
348
  */
349
+ /** @internal — consumed only by validators in this module and hasRequiredCloudAiAgent(). */
324
350
  const CLOUD_AI_AGENTS = ['opencode', 'pr_agent', 'ai_semantic_review'];
351
+ /**
352
+ * Returns true if any cloud AI agent appears in a required:true enabled pass.
353
+ * When false, all cloud-agent-only preflight checks can be demoted to warnings.
354
+ */
355
+ export function hasRequiredCloudAiAgent(config) {
356
+ return config.passes.some((pass) => pass.enabled && pass.required && pass.agents.some((a) => CLOUD_AI_AGENTS.includes(a)));
357
+ }
358
+ /**
359
+ * Returns true if any cloud AI agent appears in any enabled pass (required or optional).
360
+ * Used to gate validators that are meaningless when no cloud agents exist at all.
361
+ */
362
+ export function hasAnyCloudAiAgent(config) {
363
+ return config.passes.some((pass) => pass.enabled && pass.agents.some((a) => CLOUD_AI_AGENTS.includes(a)));
364
+ }
325
365
  /**
326
366
  * Validate model-provider match based on model name heuristic.
327
367
  * Fails if model looks like it requires a specific provider but key is missing.
@@ -337,7 +377,7 @@ export function validateModelProviderMatch(config, model, env) {
337
377
  const hasCloudAiAgent = config.passes.some((pass) => pass.enabled && pass.agents.some((a) => CLOUD_AI_AGENTS.includes(a)));
338
378
  if (!hasCloudAiAgent) {
339
379
  // No cloud AI agents enabled, skip model-provider validation
340
- return { valid: true, errors: [] };
380
+ return okResult();
341
381
  }
342
382
  // INVARIANT: Ollama-style models (containing ':') are ONLY for local_llm
343
383
  // Cloud agents (opencode, pr_agent, ai_semantic_review) cannot use them
@@ -347,7 +387,7 @@ export function validateModelProviderMatch(config, model, env) {
347
387
  ` MODEL=claude-opus-4-6 # Anthropic\n` +
348
388
  ` MODEL=gpt-4o-mini # OpenAI\n` +
349
389
  `Or in .ai-review.yml, disable cloud agents and keep only local_llm.`);
350
- return { valid: false, errors };
390
+ return failResult(errors);
351
391
  }
352
392
  // Heuristic: infer provider from model prefix
353
393
  if (model.startsWith('claude-')) {
@@ -362,10 +402,7 @@ export function validateModelProviderMatch(config, model, env) {
362
402
  }
363
403
  }
364
404
  // Unknown model prefix - no validation, allow it to proceed
365
- return {
366
- valid: errors.length === 0,
367
- errors,
368
- };
405
+ return errors.length === 0 ? okResult() : failResult(errors);
369
406
  }
370
407
  /**
371
408
  * Validate that the model is compatible with the RESOLVED provider for each agent.
@@ -397,7 +434,7 @@ export function validateProviderModelCompatibility(config, model, env) {
397
434
  }
398
435
  if (cloudAgents.size === 0) {
399
436
  // No cloud AI agents enabled, skip validation
400
- return { valid: true, errors: [] };
437
+ return okResult();
401
438
  }
402
439
  // Infer intended provider from model name
403
440
  const modelProvider = inferProviderFromModel(model);
@@ -431,10 +468,7 @@ export function validateProviderModelCompatibility(config, model, env) {
431
468
  ` 3. Remove OPENAI_API_KEY${resolvedProvider === 'azure-openai' ? ' and Azure keys' : ''}`);
432
469
  }
433
470
  }
434
- return {
435
- valid: errors.length === 0,
436
- errors,
437
- };
471
+ return errors.length === 0 ? okResult() : failResult(errors);
438
472
  }
439
473
  /**
440
474
  * Validate Azure OpenAI deployment naming.
@@ -455,7 +489,7 @@ export function validateAzureDeployment(env) {
455
489
  env['AZURE_OPENAI_ENDPOINT'].trim() !== '';
456
490
  if (!hasAzure) {
457
491
  // Not using Azure, skip validation
458
- return { valid: true, errors: [] };
492
+ return okResult();
459
493
  }
460
494
  const deployment = env['AZURE_OPENAI_DEPLOYMENT'];
461
495
  // Deployment is required when using Azure (already checked in validateAgentSecrets)
@@ -464,10 +498,7 @@ export function validateAzureDeployment(env) {
464
498
  if (!deployment || deployment.trim() === '') {
465
499
  errors.push('Set: AZURE_OPENAI_DEPLOYMENT=<your-deployment-name>');
466
500
  }
467
- return {
468
- valid: errors.length === 0,
469
- errors,
470
- };
501
+ return errors.length === 0 ? okResult() : failResult(errors);
471
502
  }
472
503
  /**
473
504
  * Validate multi-key ambiguity (FR-004).
@@ -487,7 +518,7 @@ export function validateMultiKeyAmbiguity(config, env) {
487
518
  const hasModel = env['MODEL'] && env['MODEL'].trim() !== '';
488
519
  if (!hasModel) {
489
520
  // No MODEL set - auto-apply will handle this or fail elsewhere
490
- return { valid: true, errors: [] };
521
+ return okResult();
491
522
  }
492
523
  // Count providers with keys
493
524
  const keyCount = countProvidersWithKeys(env);
@@ -508,10 +539,7 @@ export function validateMultiKeyAmbiguity(config, env) {
508
539
  `This is ambiguous - please specify which provider to use.\n\n` +
509
540
  `${suggestion}`);
510
541
  }
511
- return {
512
- valid: errors.length === 0,
513
- errors,
514
- };
542
+ return errors.length === 0 ? okResult() : failResult(errors);
515
543
  }
516
544
  /**
517
545
  * Validate that explicit provider has corresponding API keys (T026).
@@ -527,7 +555,7 @@ export function validateExplicitProviderKeys(config, env) {
527
555
  const errors = [];
528
556
  if (!config.provider) {
529
557
  // No explicit provider - other validation handles this
530
- return { valid: true, errors: [] };
558
+ return okResult();
531
559
  }
532
560
  const provider = config.provider;
533
561
  // FR-005, FR-006: Ollama provider has special handling - OLLAMA_BASE_URL is optional
@@ -551,10 +579,7 @@ export function validateExplicitProviderKeys(config, env) {
551
579
  }
552
580
  }
553
581
  // FR-008: Connectivity is checked at runtime, not preflight
554
- return {
555
- valid: errors.length === 0,
556
- errors,
557
- };
582
+ return errors.length === 0 ? okResult() : failResult(errors);
558
583
  }
559
584
  // Non-Ollama providers: check required keys
560
585
  const requiredKeys = PROVIDER_KEY_MAPPING[provider];
@@ -572,10 +597,7 @@ export function validateExplicitProviderKeys(config, env) {
572
597
  errors.push(`Provider '${provider}' requires: ${missingKeys.join(', ')}\n` + ` Set: ${missingKeys[0]}`);
573
598
  }
574
599
  }
575
- return {
576
- valid: errors.length === 0,
577
- errors,
578
- };
600
+ return errors.length === 0 ? okResult() : failResult(errors);
579
601
  }
580
602
  /**
581
603
  * Validate Ollama configuration when local_llm is enabled.
@@ -592,7 +614,7 @@ export function validateOllamaConfig(_config, _env) {
592
614
  // - OLLAMA_BASE_URL defaults to http://ollama-sidecar:11434
593
615
  // - OLLAMA_MODEL defaults to codellama:7b
594
616
  // - Connectivity is validated at runtime (fail-closed behavior)
595
- return { valid: true, errors: [] };
617
+ return okResult();
596
618
  }
597
619
  /**
598
620
  * Validate that model supports the chat completions API.
@@ -609,7 +631,7 @@ export function validateChatModelCompatibility(config, model, _env) {
609
631
  // Only validate if cloud AI agents are enabled
610
632
  const hasCloudAiAgent = config.passes.some((pass) => pass.enabled && pass.agents.some((a) => CLOUD_AI_AGENTS.includes(a)));
611
633
  if (!hasCloudAiAgent) {
612
- return { valid: true, errors: [] };
634
+ return okResult();
613
635
  }
614
636
  if (isCodexFamilyModel(model)) {
615
637
  // Codex models use a specialized API, not the chat completions endpoint
@@ -635,6 +657,6 @@ export function validateChatModelCompatibility(config, model, _env) {
635
657
  ` models:\n` +
636
658
  ` default: gpt-4o-mini`);
637
659
  }
638
- return { valid: errors.length === 0, errors };
660
+ return errors.length === 0 ? okResult() : failResult(errors);
639
661
  }
640
662
  //# sourceMappingURL=preflight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}