olympus-ai 4.4.14 → 4.4.15

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 (39) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/features/workflow-engine/checkpoint.d.ts.map +1 -1
  3. package/dist/features/workflow-engine/checkpoint.js +33 -18
  4. package/dist/features/workflow-engine/checkpoint.js.map +1 -1
  5. package/dist/features/workflow-engine/construction/validators/index.d.ts +6 -0
  6. package/dist/features/workflow-engine/construction/validators/index.d.ts.map +1 -0
  7. package/dist/features/workflow-engine/construction/validators/index.js +4 -0
  8. package/dist/features/workflow-engine/construction/validators/index.js.map +1 -0
  9. package/dist/features/workflow-engine/construction/validators/pipeline.d.ts +10 -0
  10. package/dist/features/workflow-engine/construction/validators/pipeline.d.ts.map +1 -0
  11. package/dist/features/workflow-engine/construction/validators/pipeline.js +84 -0
  12. package/dist/features/workflow-engine/construction/validators/pipeline.js.map +1 -0
  13. package/dist/features/workflow-engine/construction/validators/quality-patterns.d.ts +18 -0
  14. package/dist/features/workflow-engine/construction/validators/quality-patterns.d.ts.map +1 -0
  15. package/dist/features/workflow-engine/construction/validators/quality-patterns.js +245 -0
  16. package/dist/features/workflow-engine/construction/validators/quality-patterns.js.map +1 -0
  17. package/dist/features/workflow-engine/construction/validators/quality-validator.d.ts +3 -0
  18. package/dist/features/workflow-engine/construction/validators/quality-validator.d.ts.map +1 -0
  19. package/dist/features/workflow-engine/construction/validators/quality-validator.js +132 -0
  20. package/dist/features/workflow-engine/construction/validators/quality-validator.js.map +1 -0
  21. package/dist/features/workflow-engine/construction/validators/types.d.ts +26 -0
  22. package/dist/features/workflow-engine/construction/validators/types.d.ts.map +1 -0
  23. package/dist/features/workflow-engine/construction/validators/types.js +2 -0
  24. package/dist/features/workflow-engine/construction/validators/types.js.map +1 -0
  25. package/dist/features/workflow-engine/index.d.ts +3 -1
  26. package/dist/features/workflow-engine/index.d.ts.map +1 -1
  27. package/dist/features/workflow-engine/index.js +1 -0
  28. package/dist/features/workflow-engine/index.js.map +1 -1
  29. package/dist/features/workflow-engine/phase-types.d.ts +25 -0
  30. package/dist/features/workflow-engine/phase-types.d.ts.map +1 -1
  31. package/dist/hooks/olympus-hooks.cjs +173 -173
  32. package/dist/installer/index.d.ts +1 -1
  33. package/dist/installer/index.js +1 -1
  34. package/package.json +1 -1
  35. package/resources/agents/frontend-engineer-high.md +12 -0
  36. package/resources/agents/olympian-high.md +77 -1
  37. package/resources/agents/olympian.md +31 -7
  38. package/resources/config/risk-keywords.json +5 -0
  39. package/resources/rules/construction/code-generation.md +23 -5
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "olympus-ai",
3
- "version": "4.4.14",
3
+ "version": "4.4.15",
4
4
  "description": "Olympus: Multi-agent orchestration for Claude Code. Summon the gods of code.",
5
5
  "author": {
6
6
  "name": "mikev10",
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAA4B,MAAM,kBAAkB,CAAC;AAiCvF;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAG7E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAwEf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAkGtC;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuC1E;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD5F;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,oBAAoB,CAAA;CAAE,GAAG,IAAI,CAAC,CA6BtI"}
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAA4B,MAAM,kBAAkB,CAAC;AA2DvF;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAG7E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAwEf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAmFtC;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuC1E;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD5F;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,oBAAoB,CAAA;CAAE,GAAG,IAAI,CAAC,CA6BtI"}
@@ -27,6 +27,35 @@ function getCacheKey(projectPath, workflowId) {
27
27
  function isCacheValid(entry) {
28
28
  return Date.now() - entry.timestamp < CACHE_TTL;
29
29
  }
30
+ function applyMigrations(checkpoint) {
31
+ if (checkpoint.current_stage === 'idea') {
32
+ checkpoint.current_stage = 'intent';
33
+ }
34
+ if (!checkpoint.construction_units)
35
+ return;
36
+ for (const unit of Object.values(checkpoint.construction_units)) {
37
+ if (!unit.stages['test-generation']) {
38
+ const isComplete = unit.code_generation_status === 'completed';
39
+ unit.stages['test-generation'] = {
40
+ status: isComplete ? 'skipped' : 'not_started',
41
+ artifact_path: null,
42
+ completed_at: null,
43
+ };
44
+ }
45
+ if (unit.quality_validation_status === undefined)
46
+ unit.quality_validation_status = 'not_started';
47
+ if (unit.mutation_validation_status === undefined)
48
+ unit.mutation_validation_status = 'not_started';
49
+ if (unit.traceability_status === undefined)
50
+ unit.traceability_status = 'not_started';
51
+ if (unit.contract_validation_status === undefined)
52
+ unit.contract_validation_status = 'not_started';
53
+ if (unit.coverage_status === undefined)
54
+ unit.coverage_status = 'not_started';
55
+ if (unit.coverage_percentage === undefined)
56
+ unit.coverage_percentage = null;
57
+ }
58
+ }
30
59
  /**
31
60
  * Clear the entire checkpoint cache
32
61
  * Useful for testing or when you want to force fresh reads
@@ -131,8 +160,9 @@ export async function loadCheckpoint(projectPath, workflowId) {
131
160
  // Check cache first
132
161
  const cachedEntry = checkpointCache.get(cacheKey);
133
162
  if (cachedEntry && isCacheValid(cachedEntry)) {
134
- // Return a deep copy to prevent external mutations from affecting the cache
135
- return structuredClone(cachedEntry.checkpoint);
163
+ const copy = structuredClone(cachedEntry.checkpoint);
164
+ applyMigrations(copy);
165
+ return copy;
136
166
  }
137
167
  const checkpointPath = join(projectPath, WORKFLOW_DIR, workflowId, CHECKPOINT_FILENAME);
138
168
  try {
@@ -153,25 +183,10 @@ export async function loadCheckpoint(projectPath, workflowId) {
153
183
  console.warn(`[Checkpoint] Expected 3.0.0`);
154
184
  return null;
155
185
  }
156
- // Migrate legacy 'idea' stage to 'intent' (IDEA→INTENT merge)
157
186
  if (checkpoint.current_stage === 'idea') {
158
187
  console.warn(`[Checkpoint] Migrating legacy 'idea' stage to 'intent' for workflow ${workflowId}`);
159
- checkpoint.current_stage = 'intent';
160
- }
161
- if (checkpoint.construction_units) {
162
- for (const unit of Object.values(checkpoint.construction_units)) {
163
- if (!unit.stages['test-generation']) {
164
- const isComplete = unit.code_generation_status === 'completed';
165
- unit.stages['test-generation'] = {
166
- status: isComplete ? 'skipped' : 'not_started',
167
- artifact_path: null,
168
- completed_at: null,
169
- };
170
- }
171
- }
172
188
  }
173
- // inception_stages: left as undefined for legacy checkpoints.
174
- // The inception orchestrator initializes it when first needed.
189
+ applyMigrations(checkpoint);
175
190
  // Update cache with fresh data
176
191
  checkpointCache.set(cacheKey, {
177
192
  checkpoint: structuredClone(checkpoint),
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/checkpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type { ValidatorName, ValidatorConfig, ValidatorRiskTier, RiskKeywordConfig, PipelineResult, ValidatorFn, } from './types.js';
2
+ export { runValidationPipeline, shouldSkipValidator, applyAllowFailures, updateCheckpointForValidator, } from './pipeline.js';
3
+ export { createQualityValidator } from './quality-validator.js';
4
+ export { detectAntiPatterns, calculateNegativeCaseRatio, } from './quality-patterns.js';
5
+ export type { AntiPatternCategory, AntiPatternRule, NegativeCaseResult, } from './quality-patterns.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/workflow-engine/construction/validators/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { runValidationPipeline, shouldSkipValidator, applyAllowFailures, updateCheckpointForValidator, } from './pipeline.js';
2
+ export { createQualityValidator } from './quality-validator.js';
3
+ export { detectAntiPatterns, calculateNegativeCaseRatio, } from './quality-patterns.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/features/workflow-engine/construction/validators/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ValidatorResult, ValidatorStatus } from '../../phase-types.js';
2
+ import type { ValidatorName, ValidatorFn, ValidatorConfig, PipelineResult } from './types.js';
3
+ export declare function runValidationPipeline(validators: Map<ValidatorName, ValidatorFn>, config: ValidatorConfig): Promise<PipelineResult>;
4
+ export declare function shouldSkipValidator(name: ValidatorName, config: ValidatorConfig): {
5
+ skip: boolean;
6
+ reason?: string;
7
+ };
8
+ export declare function applyAllowFailures(result: ValidatorResult): ValidatorResult;
9
+ export declare function updateCheckpointForValidator(projectPath: string, workflowId: string, unitId: string, validatorName: ValidatorName, status: ValidatorStatus, coveragePercentage?: number): Promise<void>;
10
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../../src/features/workflow-engine/construction/validators/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAqC,MAAM,sBAAsB,CAAC;AAChH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAa9F,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,EAC3C,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,cAAc,CAAC,CAuCzB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,eAAe,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBpC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAM3E;AAED,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,eAAe,EACvB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAmBf"}
@@ -0,0 +1,84 @@
1
+ import { loadCheckpoint, saveCheckpoint } from '../../checkpoint.js';
2
+ const PIPELINE_ORDER = ['quality', 'mutation', 'traceability', 'contract', 'coverage'];
3
+ const VALIDATOR_FIELD_MAP = {
4
+ quality: 'quality_validation_status',
5
+ mutation: 'mutation_validation_status',
6
+ traceability: 'traceability_status',
7
+ contract: 'contract_validation_status',
8
+ coverage: 'coverage_status',
9
+ };
10
+ export async function runValidationPipeline(validators, config) {
11
+ const results = [];
12
+ for (const name of PIPELINE_ORDER) {
13
+ const fn = validators.get(name);
14
+ if (!fn) {
15
+ continue;
16
+ }
17
+ let result;
18
+ try {
19
+ const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), config.timeoutBudgetMs));
20
+ result = await Promise.race([fn(config), timeoutPromise]);
21
+ }
22
+ catch (err) {
23
+ const isTimeout = err instanceof Error && err.message === 'timeout';
24
+ const errorFinding = {
25
+ id: `${name}-error`,
26
+ severity: 'error',
27
+ category: isTimeout ? 'timeout' : 'runtime-error',
28
+ message: isTimeout
29
+ ? `Validator '${name}' exceeded timeout of ${config.timeoutBudgetMs}ms`
30
+ : `Validator '${name}' threw an error: ${err instanceof Error ? err.message : String(err)}`,
31
+ };
32
+ console.error(`[ValidatorPipeline] ${name} validator failed:`, err);
33
+ result = {
34
+ status: isTimeout ? 'timeout' : 'failed',
35
+ findings: [errorFinding],
36
+ artifactPath: '',
37
+ };
38
+ }
39
+ results.push({ validator: name, result });
40
+ }
41
+ return { results };
42
+ }
43
+ export function shouldSkipValidator(name, config) {
44
+ if (name === 'mutation') {
45
+ const criticalKeywords = [
46
+ 'auth', 'payment', 'security', 'encrypt', 'token',
47
+ 'credential', 'password', 'session', 'permission',
48
+ ];
49
+ const hasCritical = config.unitFiles.some(f => criticalKeywords.some(k => f.toLowerCase().includes(k)));
50
+ if (!hasCritical) {
51
+ return { skip: true, reason: 'No critical-path keywords found in unit files' };
52
+ }
53
+ }
54
+ if (name === 'contract') {
55
+ if (config.apiSurfaceFiles.length === 0) {
56
+ return { skip: true, reason: 'No API surface files in unit' };
57
+ }
58
+ }
59
+ return { skip: false };
60
+ }
61
+ export function applyAllowFailures(result) {
62
+ return {
63
+ ...result,
64
+ status: 'passed',
65
+ findings: result.findings.map(f => ({ ...f, severity: 'info' })),
66
+ };
67
+ }
68
+ export async function updateCheckpointForValidator(projectPath, workflowId, unitId, validatorName, status, coveragePercentage) {
69
+ const checkpoint = await loadCheckpoint(projectPath, workflowId);
70
+ if (!checkpoint || !checkpoint.construction_units) {
71
+ return;
72
+ }
73
+ const unit = checkpoint.construction_units[unitId];
74
+ if (!unit) {
75
+ return;
76
+ }
77
+ const field = VALIDATOR_FIELD_MAP[validatorName];
78
+ unit[field] = status;
79
+ if (validatorName === 'coverage' && coveragePercentage !== undefined) {
80
+ unit.coverage_percentage = coveragePercentage;
81
+ }
82
+ await saveCheckpoint(projectPath, checkpoint);
83
+ }
84
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../../../src/features/workflow-engine/construction/validators/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Finding, ValidatorFindingSeverity } from '../../phase-types.js';
2
+ export type AntiPatternCategory = 'tautological' | 'empty-body' | 'trivially-true' | 'surface-assertion' | 'excessive-mocking' | 'snapshot-overuse';
3
+ export interface AntiPatternRule {
4
+ category: AntiPatternCategory;
5
+ severity: ValidatorFindingSeverity;
6
+ pattern: RegExp;
7
+ description: string;
8
+ }
9
+ export declare const REJECTION_PATTERNS: AntiPatternRule[];
10
+ export declare const WARNING_PATTERNS: AntiPatternRule[];
11
+ export declare function detectAntiPatterns(testContent: string, testName: string, filePath: string): Finding[];
12
+ export interface NegativeCaseResult {
13
+ ratio: number;
14
+ totalTests: number;
15
+ negativeTests: number;
16
+ }
17
+ export declare function calculateNegativeCaseRatio(testContent: string): NegativeCaseResult;
18
+ //# sourceMappingURL=quality-patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-patterns.d.ts","sourceRoot":"","sources":["../../../../../src/features/workflow-engine/construction/validators/quality-patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,YAAY,GACZ,gBAAgB,GAChB,mBAAmB,GACnB,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,wBAAwB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,EAAE,eAAe,EA2C/C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAAe,EAmB7C,CAAC;AAkHF,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,EAAE,CAkEX;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAiBlF"}
@@ -0,0 +1,245 @@
1
+ export const REJECTION_PATTERNS = [
2
+ {
3
+ category: 'tautological',
4
+ severity: 'error',
5
+ pattern: /mockReturnValue\((['"`]?)(\w+)\1\)[^]*?\.toBe\((['"`]?)\2\3\)/,
6
+ description: 'Mock return value is asserted against itself (tautological assertion)',
7
+ },
8
+ {
9
+ category: 'tautological',
10
+ severity: 'error',
11
+ pattern: /mockResolvedValue\((['"`]?)(\w+)\1\)[^]*?\.resolves\.toBe\((['"`]?)\2\3\)/,
12
+ description: 'Mock resolved value is asserted against itself (tautological assertion)',
13
+ },
14
+ {
15
+ category: 'trivially-true',
16
+ severity: 'error',
17
+ pattern: /expect\((true|false)\)\.toBe\(\1\)/,
18
+ description: 'Literal boolean asserted against itself (trivially true assertion)',
19
+ },
20
+ {
21
+ category: 'trivially-true',
22
+ severity: 'error',
23
+ pattern: /expect\((true|1)\)\.toBeTruthy\(\)/,
24
+ description: 'Always-truthy literal asserted as truthy (trivially true assertion)',
25
+ },
26
+ {
27
+ category: 'trivially-true',
28
+ severity: 'error',
29
+ pattern: /expect\((false|0)\)\.toBeFalsy\(\)/,
30
+ description: 'Always-falsy literal asserted as falsy (trivially true assertion)',
31
+ },
32
+ {
33
+ category: 'trivially-true',
34
+ severity: 'error',
35
+ pattern: /expect\(null\)\.toBeNull\(\)/,
36
+ description: 'Null literal asserted as null (trivially true assertion)',
37
+ },
38
+ {
39
+ category: 'trivially-true',
40
+ severity: 'error',
41
+ pattern: /expect\(undefined\)\.toBeUndefined\(\)/,
42
+ description: 'Undefined literal asserted as undefined (trivially true assertion)',
43
+ },
44
+ ];
45
+ export const WARNING_PATTERNS = [
46
+ {
47
+ category: 'surface-assertion',
48
+ severity: 'warning',
49
+ pattern: /(?:expect\([^)]+\)\.(?:toBeInTheDocument|toBeDefined|toBeNull|toExist|toBeVisible)\(\)[\s;,]*)+/,
50
+ description: 'All assertions use only surface-level existence matchers without behavioral checks',
51
+ },
52
+ {
53
+ category: 'snapshot-overuse',
54
+ severity: 'warning',
55
+ pattern: /expect\([^)]+\)\.toMatchSnapshot\(\)/,
56
+ description: 'Test relies exclusively on snapshot assertions without behavioral checks',
57
+ },
58
+ {
59
+ category: 'snapshot-overuse',
60
+ severity: 'warning',
61
+ pattern: /expect\([^)]+\)\.toMatchInlineSnapshot\(/,
62
+ description: 'Test relies exclusively on inline snapshot assertions without behavioral checks',
63
+ },
64
+ ];
65
+ const NEGATIVE_CASE_PATTERNS = [
66
+ /\bthrow\b/i,
67
+ /\breject\b/i,
68
+ /\berror\b/i,
69
+ /\binvalid\b/i,
70
+ /\bfail\b/i,
71
+ /\bboundary\b/i,
72
+ /\bedge\b/i,
73
+ /\bnegative\b/i,
74
+ /\bmissing\b/i,
75
+ /\bunauthorized\b/i,
76
+ /\bforbidden\b/i,
77
+ /\bnot.?found\b/i,
78
+ /\.toThrow\b/,
79
+ /\.rejects\b/,
80
+ /\.toThrowError\b/,
81
+ ];
82
+ const BEHAVIORAL_ASSERTION_PATTERN = /\.(?:toBe|toEqual|toStrictEqual|toMatchObject|toHaveBeenCalledWith|toHaveBeenCalled|toHaveReturnedWith|toThrow|toResolve|toReject|toHaveLength|toBeGreaterThan|toBeLessThan|toBeCloseTo)\s*\(/g;
83
+ const SURFACE_ASSERTION_PATTERN = /\.(?:toContain|toBeInTheDocument|toBeDefined|toBeNull|toExist|toBeVisible|toBeUndefined|toBeTruthy|toBeFalsy)\s*\(/g;
84
+ const NON_SNAPSHOT_ASSERTION_PATTERN = /\.(?:toBe|toEqual|toStrictEqual|toMatchObject|toContain|toHaveBeenCalled|toHaveBeenCalledWith|toThrow|toReject|toBeInTheDocument|toBeDefined|toHaveLength|toBeGreaterThan|toBeLessThan)\s*\(/;
85
+ const MOCK_PATTERNS = [
86
+ /\bvi\.fn\s*\(/g,
87
+ /\bjest\.fn\s*\(/g,
88
+ /\bmock\s*\(/g,
89
+ /\bstub\s*\(/g,
90
+ /\.mockReturnValue\s*\(/g,
91
+ /\.mockResolvedValue\s*\(/g,
92
+ /\.mockImplementation\s*\(/g,
93
+ /vi\.mock\s*\(/g,
94
+ /jest\.mock\s*\(/g,
95
+ ];
96
+ function extractTestBlocks(content) {
97
+ const blocks = [];
98
+ const testStartPattern = /(?:^|\n)\s*(?:it|test)\s*\(\s*(['"`])([\s\S]*?)\1/g;
99
+ let match;
100
+ while ((match = testStartPattern.exec(content)) !== null) {
101
+ const name = match[2] ?? '';
102
+ const startIdx = match.index + match[0].length;
103
+ const afterMatch = content.slice(startIdx);
104
+ const braceIdx = afterMatch.search(/\{/);
105
+ if (braceIdx === -1)
106
+ continue;
107
+ let depth = 0;
108
+ let bodyStart = startIdx + braceIdx;
109
+ let bodyEnd = bodyStart;
110
+ for (let i = braceIdx; i < afterMatch.length; i++) {
111
+ const ch = afterMatch[i];
112
+ if (ch === '{')
113
+ depth++;
114
+ else if (ch === '}') {
115
+ depth--;
116
+ if (depth === 0) {
117
+ bodyEnd = startIdx + i + 1;
118
+ break;
119
+ }
120
+ }
121
+ }
122
+ const body = content.slice(bodyStart, bodyEnd);
123
+ blocks.push({ name, body });
124
+ }
125
+ return blocks;
126
+ }
127
+ function hasAssertion(body) {
128
+ return /\bexpect\s*\(/.test(body) || /\bassert\s*\(/.test(body) || /\bassert\.\w+\s*\(/.test(body);
129
+ }
130
+ function hasOnlySurfaceAssertions(body) {
131
+ if (!hasAssertion(body))
132
+ return false;
133
+ if (BEHAVIORAL_ASSERTION_PATTERN.test(body))
134
+ return false;
135
+ return SURFACE_ASSERTION_PATTERN.test(body);
136
+ }
137
+ function hasOnlySnapshotAssertions(body) {
138
+ if (!hasAssertion(body))
139
+ return false;
140
+ if (!/\.toMatchSnapshot\s*\(|\.toMatchInlineSnapshot\s*\(/.test(body))
141
+ return false;
142
+ return !NON_SNAPSHOT_ASSERTION_PATTERN.test(body);
143
+ }
144
+ function countMocks(content) {
145
+ let count = 0;
146
+ for (const p of MOCK_PATTERNS) {
147
+ const matches = content.match(p);
148
+ if (matches)
149
+ count += matches.length;
150
+ }
151
+ return count;
152
+ }
153
+ function countRealCalls(body) {
154
+ let count = 0;
155
+ for (const line of body.split('\n')) {
156
+ const trimmed = line.trim();
157
+ if (!trimmed)
158
+ continue;
159
+ if (trimmed.startsWith('//') || trimmed[0] === '*')
160
+ continue;
161
+ if (/\bvi\.fn\b|\bjest\.fn\b|\bvi\.mock\b|\bjest\.mock\b|\bmockReturnValue\b|\bmockResolvedValue\b|\bmockImplementation\b|\bstub\b/.test(trimmed))
162
+ continue;
163
+ if (/^\s*expect\s*\(|^\s*assert\s*[.(]/.test(line))
164
+ continue;
165
+ if (/\b\w+\s*\(/.test(trimmed))
166
+ count++;
167
+ }
168
+ return count;
169
+ }
170
+ export function detectAntiPatterns(testContent, testName, filePath) {
171
+ const findings = [];
172
+ const blocks = extractTestBlocks(testContent);
173
+ for (const block of blocks) {
174
+ const { name: blockName, body } = block;
175
+ const location = { file: filePath, testName: blockName || testName };
176
+ if (!hasAssertion(body)) {
177
+ findings.push({
178
+ id: `empty-body:${filePath}:${blockName}`,
179
+ severity: 'error',
180
+ category: 'empty-body',
181
+ message: `Test "${blockName}" has no assertions (empty test body)`,
182
+ location,
183
+ });
184
+ continue;
185
+ }
186
+ for (const rule of REJECTION_PATTERNS) {
187
+ if (rule.pattern.test(body)) {
188
+ findings.push({
189
+ id: `${rule.category}:${filePath}:${blockName}`,
190
+ severity: rule.severity,
191
+ category: rule.category,
192
+ message: `Test "${blockName}": ${rule.description}`,
193
+ location,
194
+ });
195
+ break;
196
+ }
197
+ }
198
+ if (hasOnlySurfaceAssertions(body)) {
199
+ findings.push({
200
+ id: `surface-assertion:${filePath}:${blockName}`,
201
+ severity: 'warning',
202
+ category: 'surface-assertion',
203
+ message: `Test "${blockName}": ${WARNING_PATTERNS.find(r => r.category === 'surface-assertion')?.description ?? 'Only surface assertions found'}`,
204
+ location,
205
+ });
206
+ }
207
+ if (hasOnlySnapshotAssertions(body)) {
208
+ findings.push({
209
+ id: `snapshot-overuse:${filePath}:${blockName}`,
210
+ severity: 'warning',
211
+ category: 'snapshot-overuse',
212
+ message: `Test "${blockName}": Test relies exclusively on snapshot assertions without behavioral checks`,
213
+ location,
214
+ });
215
+ }
216
+ const mockCount = countMocks(body);
217
+ const realCallCount = countRealCalls(body);
218
+ if (mockCount > 3 && mockCount > realCallCount * 2) {
219
+ findings.push({
220
+ id: `excessive-mocking:${filePath}:${blockName}`,
221
+ severity: 'warning',
222
+ category: 'excessive-mocking',
223
+ message: `Test "${blockName}": Excessive mocking detected (${mockCount} mocks vs ${realCallCount} real calls)`,
224
+ location: { ...location, testName: blockName },
225
+ });
226
+ }
227
+ }
228
+ return findings;
229
+ }
230
+ export function calculateNegativeCaseRatio(testContent) {
231
+ const blocks = extractTestBlocks(testContent);
232
+ const totalTests = blocks.length;
233
+ if (totalTests === 0) {
234
+ return { ratio: 0, totalTests: 0, negativeTests: 0 };
235
+ }
236
+ let negativeTests = 0;
237
+ for (const block of blocks) {
238
+ const combined = `${block.name}\n${block.body}`;
239
+ if (NEGATIVE_CASE_PATTERNS.some(p => p.test(combined))) {
240
+ negativeTests++;
241
+ }
242
+ }
243
+ return { ratio: negativeTests / totalTests, totalTests, negativeTests };
244
+ }
245
+ //# sourceMappingURL=quality-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-patterns.js","sourceRoot":"","sources":["../../../../../src/features/workflow-engine/construction/validators/quality-patterns.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD;QACE,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,+DAA+D;QACxE,WAAW,EAAE,uEAAuE;KACrF;IACD;QACE,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,2EAA2E;QACpF,WAAW,EAAE,yEAAyE;KACvF;IACD;QACE,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,oCAAoC;QAC7C,WAAW,EAAE,oEAAoE;KAClF;IACD;QACE,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,oCAAoC;QAC7C,WAAW,EAAE,qEAAqE;KACnF;IACD;QACE,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,oCAAoC;QAC7C,WAAW,EAAE,mEAAmE;KACjF;IACD;QACE,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,8BAA8B;QACvC,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,wCAAwC;QACjD,WAAW,EAAE,oEAAoE;KAClF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD;QACE,QAAQ,EAAE,mBAAmB;QAC7B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,iGAAiG;QAC1G,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,sCAAsC;QAC/C,WAAW,EAAE,0EAA0E;KACxF;IACD;QACE,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,0CAA0C;QACnD,WAAW,EAAE,iFAAiF;KAC/F;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAa;IACvC,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,cAAc;IACd,WAAW;IACX,eAAe;IACf,WAAW;IACX,eAAe;IACf,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,kBAAkB;CACnB,CAAC;AAEF,MAAM,4BAA4B,GAChC,gMAAgM,CAAC;AAEnM,MAAM,yBAAyB,GAC7B,qHAAqH,CAAC;AAExH,MAAM,8BAA8B,GAClC,8LAA8L,CAAC;AAEjM,MAAM,aAAa,GAAa;IAC9B,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,yBAAyB;IACzB,2BAA2B;IAC3B,4BAA4B;IAC5B,gBAAgB;IAChB,kBAAkB;CACnB,CAAC;AAEF,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,MAAM,GAA0C,EAAE,CAAC;IACzD,MAAM,gBAAgB,GAAG,oDAAoD,CAAC;IAC9E,IAAI,KAA6B,CAAC;IAElC,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,SAAS;QAE9B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACpC,IAAI,OAAO,GAAG,SAAS,CAAC;QAExB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBACnB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACpB,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,OAAO,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC3B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC,qDAAqD,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpF,OAAO,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,OAAO;YAAE,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,SAAS;QAC7D,IAAI,+HAA+H,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,SAAS;QAC5J,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7D,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,QAAgB,EAChB,QAAgB;IAEhB,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAE9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACxC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAAE,CAAC;QAErE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,cAAc,QAAQ,IAAI,SAAS,EAAE;gBACzC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,SAAS,SAAS,uCAAuC;gBAClE,QAAQ;aACT,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,SAAS,EAAE;oBAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,OAAO,EAAE,SAAS,SAAS,MAAM,IAAI,CAAC,WAAW,EAAE;oBACnD,QAAQ;iBACT,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,qBAAqB,QAAQ,IAAI,SAAS,EAAE;gBAChD,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,mBAAmB;gBAC7B,OAAO,EAAE,SAAS,SAAS,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,mBAAmB,CAAC,EAAE,WAAW,IAAI,+BAA+B,EAAE;gBACjJ,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,oBAAoB,QAAQ,IAAI,SAAS,EAAE;gBAC/C,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,kBAAkB;gBAC5B,OAAO,EAAE,SAAS,SAAS,6EAA6E;gBACxG,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,qBAAqB,QAAQ,IAAI,SAAS,EAAE;gBAChD,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,mBAAmB;gBAC7B,OAAO,EAAE,SAAS,SAAS,kCAAkC,SAAS,aAAa,aAAa,cAAc;gBAC9G,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQD,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC5D,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IAEjC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAChD,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvD,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,aAAa,GAAG,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ValidatorFn } from './types.js';
2
+ export declare function createQualityValidator(): ValidatorFn;
3
+ //# sourceMappingURL=quality-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-validator.d.ts","sourceRoot":"","sources":["../../../../../src/features/workflow-engine/construction/validators/quality-validator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AA4F/D,wBAAgB,sBAAsB,IAAI,WAAW,CA2EpD"}