@vibe-validate/core 0.10.3 ā 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/process-utils.d.ts +9 -6
- package/dist/process-utils.d.ts.map +1 -1
- package/dist/process-utils.js +35 -17
- package/dist/process-utils.js.map +1 -1
- package/dist/result-schema-export.d.ts +26 -0
- package/dist/result-schema-export.d.ts.map +1 -0
- package/dist/result-schema-export.js +34 -0
- package/dist/result-schema-export.js.map +1 -0
- package/dist/result-schema.d.ts +242 -0
- package/dist/result-schema.d.ts.map +1 -0
- package/dist/result-schema.js +96 -0
- package/dist/result-schema.js.map +1 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +6 -2
- package/dist/runner.js.map +1 -1
- package/dist/scripts/generate-result-schema.d.ts +10 -0
- package/dist/scripts/generate-result-schema.d.ts.map +1 -0
- package/dist/scripts/generate-result-schema.js +20 -0
- package/dist/scripts/generate-result-schema.js.map +1 -0
- package/dist/types.d.ts +0 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -7
- package/validation-result.schema.json +100 -0
- package/dist/cli.d.ts +0 -8
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -104
- package/dist/cli.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -47,4 +47,6 @@
|
|
|
47
47
|
export type { ValidationStep, ValidationPhase, ValidationConfig, ValidationResult, StepResult, PhaseResult, } from './types.js';
|
|
48
48
|
export { runValidation, runStepsInParallel, checkExistingValidation, parseFailures, setupSignalHandlers, } from './runner.js';
|
|
49
49
|
export { stopProcessGroup, } from './process-utils.js';
|
|
50
|
+
export { ValidationResultSchema, StepResultSchema, PhaseResultSchema, safeValidateResult, validateResult, } from './result-schema.js';
|
|
51
|
+
export { validationResultJsonSchema, generateValidationResultJsonSchema, } from './result-schema-export.js';
|
|
50
52
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAGH,YAAY,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gBAAgB,GACjB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAGH,YAAY,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -48,4 +48,8 @@
|
|
|
48
48
|
export { runValidation, runStepsInParallel, checkExistingValidation, parseFailures, setupSignalHandlers, } from './runner.js';
|
|
49
49
|
// Export process utilities
|
|
50
50
|
export { stopProcessGroup, } from './process-utils.js';
|
|
51
|
+
// Export validation result schema and validators
|
|
52
|
+
export { ValidationResultSchema, StepResultSchema, PhaseResultSchema, safeValidateResult, validateResult, } from './result-schema.js';
|
|
53
|
+
// Export JSON Schema generation
|
|
54
|
+
export { validationResultJsonSchema, generateValidationResultJsonSchema, } from './result-schema-export.js';
|
|
51
55
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAYH,+BAA+B;AAC/B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,2BAA2B;AAC3B,OAAO,EACL,gBAAgB,GACjB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAYH,+BAA+B;AAC/B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,2BAA2B;AAC3B,OAAO,EACL,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,iDAAiD;AACjD,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,gCAAgC;AAChC,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,2BAA2B,CAAC"}
|
package/dist/process-utils.d.ts
CHANGED
|
@@ -6,14 +6,17 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { ChildProcess } from 'child_process';
|
|
8
8
|
/**
|
|
9
|
-
* Stop a child process and its entire process group
|
|
9
|
+
* Stop a child process and its entire process group (cross-platform)
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* **Windows Implementation:**
|
|
12
|
+
* - Uses `taskkill /pid <PID> /T /F` to terminate process tree
|
|
13
|
+
* - /T flag kills child processes
|
|
14
|
+
* - /F flag forces termination
|
|
12
15
|
*
|
|
13
|
-
* **Implementation:**
|
|
14
|
-
* -
|
|
16
|
+
* **Unix Implementation:**
|
|
17
|
+
* - Uses negative PID to kill process group (-PID)
|
|
18
|
+
* - Graceful shutdown: SIGTERM to process group
|
|
15
19
|
* - Force kill after 1s: SIGKILL to process group
|
|
16
|
-
* - Ultimate timeout: Resolves after 2s regardless
|
|
17
20
|
*
|
|
18
21
|
* @param childProcess - The child process to stop
|
|
19
22
|
* @param processName - Optional name for logging (e.g., "TypeScript", "ESLint")
|
|
@@ -21,7 +24,7 @@ import { ChildProcess } from 'child_process';
|
|
|
21
24
|
*
|
|
22
25
|
* @example
|
|
23
26
|
* ```typescript
|
|
24
|
-
* const proc = spawn('tsc', [
|
|
27
|
+
* const proc = spawn('tsc --noEmit', [], { shell: true });
|
|
25
28
|
* await stopProcessGroup(proc, 'TypeScript');
|
|
26
29
|
* ```
|
|
27
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-utils.d.ts","sourceRoot":"","sources":["../src/process-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"process-utils.d.ts","sourceRoot":"","sources":["../src/process-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAY,MAAM,eAAe,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,YAAY,EAC1B,WAAW,GAAE,MAAkB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
|
package/dist/process-utils.js
CHANGED
|
@@ -4,15 +4,19 @@
|
|
|
4
4
|
* Provides reliable process group cleanup for spawned child processes.
|
|
5
5
|
* Used by validation runner for signal handling and fail-fast behavior.
|
|
6
6
|
*/
|
|
7
|
+
import { execSync } from 'child_process';
|
|
7
8
|
/**
|
|
8
|
-
* Stop a child process and its entire process group
|
|
9
|
+
* Stop a child process and its entire process group (cross-platform)
|
|
9
10
|
*
|
|
10
|
-
*
|
|
11
|
+
* **Windows Implementation:**
|
|
12
|
+
* - Uses `taskkill /pid <PID> /T /F` to terminate process tree
|
|
13
|
+
* - /T flag kills child processes
|
|
14
|
+
* - /F flag forces termination
|
|
11
15
|
*
|
|
12
|
-
* **Implementation:**
|
|
13
|
-
* -
|
|
16
|
+
* **Unix Implementation:**
|
|
17
|
+
* - Uses negative PID to kill process group (-PID)
|
|
18
|
+
* - Graceful shutdown: SIGTERM to process group
|
|
14
19
|
* - Force kill after 1s: SIGKILL to process group
|
|
15
|
-
* - Ultimate timeout: Resolves after 2s regardless
|
|
16
20
|
*
|
|
17
21
|
* @param childProcess - The child process to stop
|
|
18
22
|
* @param processName - Optional name for logging (e.g., "TypeScript", "ESLint")
|
|
@@ -20,7 +24,7 @@
|
|
|
20
24
|
*
|
|
21
25
|
* @example
|
|
22
26
|
* ```typescript
|
|
23
|
-
* const proc = spawn('tsc', [
|
|
27
|
+
* const proc = spawn('tsc --noEmit', [], { shell: true });
|
|
24
28
|
* await stopProcessGroup(proc, 'TypeScript');
|
|
25
29
|
* ```
|
|
26
30
|
*/
|
|
@@ -32,23 +36,37 @@ export async function stopProcessGroup(childProcess, processName = 'Process') {
|
|
|
32
36
|
console.log(`š ${processName} stopped`);
|
|
33
37
|
resolve();
|
|
34
38
|
});
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
// Platform-specific process termination
|
|
40
|
+
if (process.platform === 'win32') {
|
|
41
|
+
// Windows: Use taskkill to terminate process tree
|
|
42
|
+
// /T - Terminates all child processes
|
|
43
|
+
// /F - Forcefully terminates the process
|
|
44
|
+
try {
|
|
45
|
+
execSync(`taskkill /pid ${pid} /T /F`, { stdio: 'ignore' });
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// Process may already be dead, ignore error
|
|
49
|
+
}
|
|
42
50
|
}
|
|
43
|
-
|
|
44
|
-
|
|
51
|
+
else {
|
|
52
|
+
// Unix: Kill process group with negative PID
|
|
53
|
+
// This kills the process and all its children
|
|
45
54
|
try {
|
|
46
|
-
process.kill(-pid, '
|
|
55
|
+
process.kill(-pid, 'SIGTERM');
|
|
47
56
|
}
|
|
48
57
|
catch {
|
|
49
58
|
// Process may already be dead, ignore error
|
|
50
59
|
}
|
|
51
|
-
|
|
60
|
+
// Force kill entire process group after 1 second if not stopped
|
|
61
|
+
setTimeout(() => {
|
|
62
|
+
try {
|
|
63
|
+
process.kill(-pid, 'SIGKILL');
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
// Process may already be dead, ignore error
|
|
67
|
+
}
|
|
68
|
+
}, 1000);
|
|
69
|
+
}
|
|
52
70
|
// Ultimate timeout - resolve after 2 seconds regardless
|
|
53
71
|
setTimeout(() => {
|
|
54
72
|
resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../src/process-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../src/process-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAgB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAA0B,EAC1B,cAAsB,SAAS;IAE/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;YAE7B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,WAAW,UAAU,CAAC,CAAC;gBACzC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YAEH,wCAAwC;YACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,kDAAkD;gBAClD,sCAAsC;gBACtC,yCAAyC;gBACzC,IAAI,CAAC;oBACH,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;gBAC9C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,8CAA8C;gBAC9C,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;gBAC9C,CAAC;gBAED,gEAAgE;gBAChE,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBAChC,CAAC;oBAAC,MAAM,CAAC;wBACP,4CAA4C;oBAC9C,CAAC;gBACH,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC;YAED,wDAAwD;YACxD,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON Schema Export for Validation Result
|
|
3
|
+
*
|
|
4
|
+
* Generates JSON Schema from Zod validation result schema to enable
|
|
5
|
+
* validation of examples in documentation and agent integration guides.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Generate JSON Schema from Zod validation result schema
|
|
9
|
+
*
|
|
10
|
+
* This schema can be used to validate examples in documentation:
|
|
11
|
+
* ```yaml
|
|
12
|
+
* # Example validation result
|
|
13
|
+
* passed: false
|
|
14
|
+
* timestamp: "2025-10-20T12:00:00.000Z"
|
|
15
|
+
* treeHash: "abc123..."
|
|
16
|
+
* failedStep: "TypeScript"
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @returns JSON Schema object
|
|
20
|
+
*/
|
|
21
|
+
export declare function generateValidationResultJsonSchema(): object;
|
|
22
|
+
/**
|
|
23
|
+
* Pre-generated JSON Schema (exported for bundling in npm package)
|
|
24
|
+
*/
|
|
25
|
+
export declare const validationResultJsonSchema: object;
|
|
26
|
+
//# sourceMappingURL=result-schema-export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-schema-export.d.ts","sourceRoot":"","sources":["../src/result-schema-export.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kCAAkC,IAAI,MAAM,CAM3D;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAAuC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON Schema Export for Validation Result
|
|
3
|
+
*
|
|
4
|
+
* Generates JSON Schema from Zod validation result schema to enable
|
|
5
|
+
* validation of examples in documentation and agent integration guides.
|
|
6
|
+
*/
|
|
7
|
+
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
8
|
+
import { ValidationResultSchema } from './result-schema.js';
|
|
9
|
+
/**
|
|
10
|
+
* Generate JSON Schema from Zod validation result schema
|
|
11
|
+
*
|
|
12
|
+
* This schema can be used to validate examples in documentation:
|
|
13
|
+
* ```yaml
|
|
14
|
+
* # Example validation result
|
|
15
|
+
* passed: false
|
|
16
|
+
* timestamp: "2025-10-20T12:00:00.000Z"
|
|
17
|
+
* treeHash: "abc123..."
|
|
18
|
+
* failedStep: "TypeScript"
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @returns JSON Schema object
|
|
22
|
+
*/
|
|
23
|
+
export function generateValidationResultJsonSchema() {
|
|
24
|
+
return zodToJsonSchema(ValidationResultSchema, {
|
|
25
|
+
name: 'ValidationResult',
|
|
26
|
+
$refStrategy: 'none', // Inline all references for simplicity
|
|
27
|
+
target: 'jsonSchema7',
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Pre-generated JSON Schema (exported for bundling in npm package)
|
|
32
|
+
*/
|
|
33
|
+
export const validationResultJsonSchema = generateValidationResultJsonSchema();
|
|
34
|
+
//# sourceMappingURL=result-schema-export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-schema-export.js","sourceRoot":"","sources":["../src/result-schema-export.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kCAAkC;IAChD,OAAO,eAAe,CAAC,sBAAsB,EAAE;QAC7C,IAAI,EAAE,kBAAkB;QACxB,YAAY,EAAE,MAAM,EAAE,uCAAuC;QAC7D,MAAM,EAAE,aAAa;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,kCAAkC,EAAE,CAAC"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod Schema for Validation Results
|
|
3
|
+
*
|
|
4
|
+
* This schema defines the structure of validation state files and enables
|
|
5
|
+
* runtime validation and JSON Schema generation for documentation.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
/**
|
|
9
|
+
* Validation Step Result Schema
|
|
10
|
+
*/
|
|
11
|
+
export declare const StepResultSchema: z.ZodObject<{
|
|
12
|
+
/** Step name */
|
|
13
|
+
name: z.ZodString;
|
|
14
|
+
/** Did the step pass? */
|
|
15
|
+
passed: z.ZodBoolean;
|
|
16
|
+
/** Execution duration in seconds */
|
|
17
|
+
durationSecs: z.ZodNumber;
|
|
18
|
+
/** Output from the step (stdout + stderr) */
|
|
19
|
+
output: z.ZodOptional<z.ZodString>;
|
|
20
|
+
}, "strip", z.ZodTypeAny, {
|
|
21
|
+
durationSecs: number;
|
|
22
|
+
name: string;
|
|
23
|
+
passed: boolean;
|
|
24
|
+
output?: string | undefined;
|
|
25
|
+
}, {
|
|
26
|
+
durationSecs: number;
|
|
27
|
+
name: string;
|
|
28
|
+
passed: boolean;
|
|
29
|
+
output?: string | undefined;
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Validation Phase Result Schema
|
|
33
|
+
*/
|
|
34
|
+
export declare const PhaseResultSchema: z.ZodObject<{
|
|
35
|
+
/** Phase name */
|
|
36
|
+
name: z.ZodString;
|
|
37
|
+
/** Phase execution duration in seconds */
|
|
38
|
+
durationSecs: z.ZodNumber;
|
|
39
|
+
/** Did the phase pass? */
|
|
40
|
+
passed: z.ZodBoolean;
|
|
41
|
+
/** Results from individual steps */
|
|
42
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
43
|
+
/** Step name */
|
|
44
|
+
name: z.ZodString;
|
|
45
|
+
/** Did the step pass? */
|
|
46
|
+
passed: z.ZodBoolean;
|
|
47
|
+
/** Execution duration in seconds */
|
|
48
|
+
durationSecs: z.ZodNumber;
|
|
49
|
+
/** Output from the step (stdout + stderr) */
|
|
50
|
+
output: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, "strip", z.ZodTypeAny, {
|
|
52
|
+
durationSecs: number;
|
|
53
|
+
name: string;
|
|
54
|
+
passed: boolean;
|
|
55
|
+
output?: string | undefined;
|
|
56
|
+
}, {
|
|
57
|
+
durationSecs: number;
|
|
58
|
+
name: string;
|
|
59
|
+
passed: boolean;
|
|
60
|
+
output?: string | undefined;
|
|
61
|
+
}>, "many">;
|
|
62
|
+
/** Output from failed step (if any) */
|
|
63
|
+
output: z.ZodOptional<z.ZodString>;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
durationSecs: number;
|
|
66
|
+
name: string;
|
|
67
|
+
passed: boolean;
|
|
68
|
+
steps: {
|
|
69
|
+
durationSecs: number;
|
|
70
|
+
name: string;
|
|
71
|
+
passed: boolean;
|
|
72
|
+
output?: string | undefined;
|
|
73
|
+
}[];
|
|
74
|
+
output?: string | undefined;
|
|
75
|
+
}, {
|
|
76
|
+
durationSecs: number;
|
|
77
|
+
name: string;
|
|
78
|
+
passed: boolean;
|
|
79
|
+
steps: {
|
|
80
|
+
durationSecs: number;
|
|
81
|
+
name: string;
|
|
82
|
+
passed: boolean;
|
|
83
|
+
output?: string | undefined;
|
|
84
|
+
}[];
|
|
85
|
+
output?: string | undefined;
|
|
86
|
+
}>;
|
|
87
|
+
/**
|
|
88
|
+
* Validation Result Schema
|
|
89
|
+
*
|
|
90
|
+
* This is the complete schema for the validation state file
|
|
91
|
+
* (.vibe-validate-state.yaml)
|
|
92
|
+
*/
|
|
93
|
+
export declare const ValidationResultSchema: z.ZodObject<{
|
|
94
|
+
/** Did validation pass? */
|
|
95
|
+
passed: z.ZodBoolean;
|
|
96
|
+
/** ISO 8601 timestamp */
|
|
97
|
+
timestamp: z.ZodString;
|
|
98
|
+
/** Git tree hash (if in git repo) */
|
|
99
|
+
treeHash: z.ZodString;
|
|
100
|
+
/** Results from each phase */
|
|
101
|
+
phases: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
102
|
+
/** Phase name */
|
|
103
|
+
name: z.ZodString;
|
|
104
|
+
/** Phase execution duration in seconds */
|
|
105
|
+
durationSecs: z.ZodNumber;
|
|
106
|
+
/** Did the phase pass? */
|
|
107
|
+
passed: z.ZodBoolean;
|
|
108
|
+
/** Results from individual steps */
|
|
109
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
110
|
+
/** Step name */
|
|
111
|
+
name: z.ZodString;
|
|
112
|
+
/** Did the step pass? */
|
|
113
|
+
passed: z.ZodBoolean;
|
|
114
|
+
/** Execution duration in seconds */
|
|
115
|
+
durationSecs: z.ZodNumber;
|
|
116
|
+
/** Output from the step (stdout + stderr) */
|
|
117
|
+
output: z.ZodOptional<z.ZodString>;
|
|
118
|
+
}, "strip", z.ZodTypeAny, {
|
|
119
|
+
durationSecs: number;
|
|
120
|
+
name: string;
|
|
121
|
+
passed: boolean;
|
|
122
|
+
output?: string | undefined;
|
|
123
|
+
}, {
|
|
124
|
+
durationSecs: number;
|
|
125
|
+
name: string;
|
|
126
|
+
passed: boolean;
|
|
127
|
+
output?: string | undefined;
|
|
128
|
+
}>, "many">;
|
|
129
|
+
/** Output from failed step (if any) */
|
|
130
|
+
output: z.ZodOptional<z.ZodString>;
|
|
131
|
+
}, "strip", z.ZodTypeAny, {
|
|
132
|
+
durationSecs: number;
|
|
133
|
+
name: string;
|
|
134
|
+
passed: boolean;
|
|
135
|
+
steps: {
|
|
136
|
+
durationSecs: number;
|
|
137
|
+
name: string;
|
|
138
|
+
passed: boolean;
|
|
139
|
+
output?: string | undefined;
|
|
140
|
+
}[];
|
|
141
|
+
output?: string | undefined;
|
|
142
|
+
}, {
|
|
143
|
+
durationSecs: number;
|
|
144
|
+
name: string;
|
|
145
|
+
passed: boolean;
|
|
146
|
+
steps: {
|
|
147
|
+
durationSecs: number;
|
|
148
|
+
name: string;
|
|
149
|
+
passed: boolean;
|
|
150
|
+
output?: string | undefined;
|
|
151
|
+
}[];
|
|
152
|
+
output?: string | undefined;
|
|
153
|
+
}>, "many">>;
|
|
154
|
+
/** Name of failed step (if any) */
|
|
155
|
+
failedStep: z.ZodOptional<z.ZodString>;
|
|
156
|
+
/** Command to re-run failed step */
|
|
157
|
+
rerunCommand: z.ZodOptional<z.ZodString>;
|
|
158
|
+
/** Output from the failed step */
|
|
159
|
+
failedStepOutput: z.ZodOptional<z.ZodString>;
|
|
160
|
+
/** Failed test names (if applicable) */
|
|
161
|
+
failedTests: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
162
|
+
/** Path to full log file */
|
|
163
|
+
fullLogFile: z.ZodOptional<z.ZodString>;
|
|
164
|
+
/** Summary message */
|
|
165
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
166
|
+
}, "strip", z.ZodTypeAny, {
|
|
167
|
+
timestamp: string;
|
|
168
|
+
passed: boolean;
|
|
169
|
+
treeHash: string;
|
|
170
|
+
failedStep?: string | undefined;
|
|
171
|
+
phases?: {
|
|
172
|
+
durationSecs: number;
|
|
173
|
+
name: string;
|
|
174
|
+
passed: boolean;
|
|
175
|
+
steps: {
|
|
176
|
+
durationSecs: number;
|
|
177
|
+
name: string;
|
|
178
|
+
passed: boolean;
|
|
179
|
+
output?: string | undefined;
|
|
180
|
+
}[];
|
|
181
|
+
output?: string | undefined;
|
|
182
|
+
}[] | undefined;
|
|
183
|
+
rerunCommand?: string | undefined;
|
|
184
|
+
failedStepOutput?: string | undefined;
|
|
185
|
+
failedTests?: string[] | undefined;
|
|
186
|
+
fullLogFile?: string | undefined;
|
|
187
|
+
summary?: string | undefined;
|
|
188
|
+
}, {
|
|
189
|
+
timestamp: string;
|
|
190
|
+
passed: boolean;
|
|
191
|
+
treeHash: string;
|
|
192
|
+
failedStep?: string | undefined;
|
|
193
|
+
phases?: {
|
|
194
|
+
durationSecs: number;
|
|
195
|
+
name: string;
|
|
196
|
+
passed: boolean;
|
|
197
|
+
steps: {
|
|
198
|
+
durationSecs: number;
|
|
199
|
+
name: string;
|
|
200
|
+
passed: boolean;
|
|
201
|
+
output?: string | undefined;
|
|
202
|
+
}[];
|
|
203
|
+
output?: string | undefined;
|
|
204
|
+
}[] | undefined;
|
|
205
|
+
rerunCommand?: string | undefined;
|
|
206
|
+
failedStepOutput?: string | undefined;
|
|
207
|
+
failedTests?: string[] | undefined;
|
|
208
|
+
fullLogFile?: string | undefined;
|
|
209
|
+
summary?: string | undefined;
|
|
210
|
+
}>;
|
|
211
|
+
/**
|
|
212
|
+
* Inferred TypeScript types from Zod schemas
|
|
213
|
+
*/
|
|
214
|
+
export type StepResult = z.infer<typeof StepResultSchema>;
|
|
215
|
+
export type PhaseResult = z.infer<typeof PhaseResultSchema>;
|
|
216
|
+
export type ValidationResult = z.infer<typeof ValidationResultSchema>;
|
|
217
|
+
/**
|
|
218
|
+
* Safe validation function
|
|
219
|
+
*
|
|
220
|
+
* Validates a validation result object against the schema.
|
|
221
|
+
*
|
|
222
|
+
* @param data - Data to validate
|
|
223
|
+
* @returns Validation result with success/error information
|
|
224
|
+
*/
|
|
225
|
+
export declare function safeValidateResult(data: unknown): {
|
|
226
|
+
success: true;
|
|
227
|
+
data: ValidationResult;
|
|
228
|
+
} | {
|
|
229
|
+
success: false;
|
|
230
|
+
errors: string[];
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Strict validation function
|
|
234
|
+
*
|
|
235
|
+
* Validates and throws on error.
|
|
236
|
+
*
|
|
237
|
+
* @param data - Data to validate
|
|
238
|
+
* @returns Validated result
|
|
239
|
+
* @throws {Error} If validation fails
|
|
240
|
+
*/
|
|
241
|
+
export declare function validateResult(data: unknown): ValidationResult;
|
|
242
|
+
//# sourceMappingURL=result-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-schema.d.ts","sourceRoot":"","sources":["../src/result-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B,gBAAgB;;IAGhB,yBAAyB;;IAGzB,oCAAoC;;IAGpC,6CAA6C;;;;;;;;;;;;EAE7C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,iBAAiB;;IAGjB,0CAA0C;;IAG1C,0BAA0B;;IAG1B,oCAAoC;;QA1BpC,gBAAgB;;QAGhB,yBAAyB;;QAGzB,oCAAoC;;QAGpC,6CAA6C;;;;;;;;;;;;;IAoB7C,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;EAEvC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;IACjC,2BAA2B;;IAG3B,yBAAyB;;IAGzB,qCAAqC;;IAGrC,8BAA8B;;QAhC9B,iBAAiB;;QAGjB,0CAA0C;;QAG1C,0BAA0B;;QAG1B,oCAAoC;;YA1BpC,gBAAgB;;YAGhB,yBAAyB;;YAGzB,oCAAoC;;YAGpC,6CAA6C;;;;;;;;;;;;;QAoB7C,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;IAuBvC,mCAAmC;;IAGnC,oCAAoC;;IAGpC,kCAAkC;;IAGlC,wCAAwC;;IAGxC,4BAA4B;;IAG5B,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEtB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAC5C;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GACzC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAcvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAE9D"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod Schema for Validation Results
|
|
3
|
+
*
|
|
4
|
+
* This schema defines the structure of validation state files and enables
|
|
5
|
+
* runtime validation and JSON Schema generation for documentation.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
/**
|
|
9
|
+
* Validation Step Result Schema
|
|
10
|
+
*/
|
|
11
|
+
export const StepResultSchema = z.object({
|
|
12
|
+
/** Step name */
|
|
13
|
+
name: z.string(),
|
|
14
|
+
/** Did the step pass? */
|
|
15
|
+
passed: z.boolean(),
|
|
16
|
+
/** Execution duration in seconds */
|
|
17
|
+
durationSecs: z.coerce.number(),
|
|
18
|
+
/** Output from the step (stdout + stderr) */
|
|
19
|
+
output: z.string().optional(),
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* Validation Phase Result Schema
|
|
23
|
+
*/
|
|
24
|
+
export const PhaseResultSchema = z.object({
|
|
25
|
+
/** Phase name */
|
|
26
|
+
name: z.string(),
|
|
27
|
+
/** Phase execution duration in seconds */
|
|
28
|
+
durationSecs: z.coerce.number(),
|
|
29
|
+
/** Did the phase pass? */
|
|
30
|
+
passed: z.boolean(),
|
|
31
|
+
/** Results from individual steps */
|
|
32
|
+
steps: z.array(StepResultSchema),
|
|
33
|
+
/** Output from failed step (if any) */
|
|
34
|
+
output: z.string().optional(),
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Validation Result Schema
|
|
38
|
+
*
|
|
39
|
+
* This is the complete schema for the validation state file
|
|
40
|
+
* (.vibe-validate-state.yaml)
|
|
41
|
+
*/
|
|
42
|
+
export const ValidationResultSchema = z.object({
|
|
43
|
+
/** Did validation pass? */
|
|
44
|
+
passed: z.boolean(),
|
|
45
|
+
/** ISO 8601 timestamp */
|
|
46
|
+
timestamp: z.string(),
|
|
47
|
+
/** Git tree hash (if in git repo) */
|
|
48
|
+
treeHash: z.string(),
|
|
49
|
+
/** Results from each phase */
|
|
50
|
+
phases: z.array(PhaseResultSchema).optional(),
|
|
51
|
+
/** Name of failed step (if any) */
|
|
52
|
+
failedStep: z.string().optional(),
|
|
53
|
+
/** Command to re-run failed step */
|
|
54
|
+
rerunCommand: z.string().optional(),
|
|
55
|
+
/** Output from the failed step */
|
|
56
|
+
failedStepOutput: z.string().optional(),
|
|
57
|
+
/** Failed test names (if applicable) */
|
|
58
|
+
failedTests: z.array(z.string()).optional(),
|
|
59
|
+
/** Path to full log file */
|
|
60
|
+
fullLogFile: z.string().optional(),
|
|
61
|
+
/** Summary message */
|
|
62
|
+
summary: z.string().optional(),
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* Safe validation function
|
|
66
|
+
*
|
|
67
|
+
* Validates a validation result object against the schema.
|
|
68
|
+
*
|
|
69
|
+
* @param data - Data to validate
|
|
70
|
+
* @returns Validation result with success/error information
|
|
71
|
+
*/
|
|
72
|
+
export function safeValidateResult(data) {
|
|
73
|
+
const result = ValidationResultSchema.safeParse(data);
|
|
74
|
+
if (result.success) {
|
|
75
|
+
return { success: true, data: result.data };
|
|
76
|
+
}
|
|
77
|
+
// Extract error messages
|
|
78
|
+
const errors = result.error.errors.map(err => {
|
|
79
|
+
const path = err.path.join('.');
|
|
80
|
+
return path ? `${path}: ${err.message}` : err.message;
|
|
81
|
+
});
|
|
82
|
+
return { success: false, errors };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Strict validation function
|
|
86
|
+
*
|
|
87
|
+
* Validates and throws on error.
|
|
88
|
+
*
|
|
89
|
+
* @param data - Data to validate
|
|
90
|
+
* @returns Validated result
|
|
91
|
+
* @throws {Error} If validation fails
|
|
92
|
+
*/
|
|
93
|
+
export function validateResult(data) {
|
|
94
|
+
return ValidationResultSchema.parse(data);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=result-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-schema.js","sourceRoot":"","sources":["../src/result-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAOzD,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EAEX,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,GACpB;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAmB9D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,OAAe,EAC/B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAChC,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAAC,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAOzD,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EAEX,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,GACpB;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAmB9D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,OAAe,EAC/B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAChC,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAAC,CAsGD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoHvF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAe5E"}
|
package/dist/runner.js
CHANGED
|
@@ -155,9 +155,13 @@ export async function runStepsInParallel(steps, phaseName, enableFailFast = fals
|
|
|
155
155
|
const paddedName = step.name.padEnd(maxNameLength);
|
|
156
156
|
console.log(` ā³ ${paddedName} ā ${step.command}`);
|
|
157
157
|
const startTime = Date.now();
|
|
158
|
-
|
|
158
|
+
// Use shell: true for cross-platform compatibility
|
|
159
|
+
// Node.js automatically selects cmd.exe on Windows, sh on Unix
|
|
160
|
+
const proc = spawn(step.command, [], {
|
|
159
161
|
stdio: 'pipe',
|
|
160
|
-
|
|
162
|
+
shell: true, // Cross-platform: cmd.exe on Windows, sh on Unix
|
|
163
|
+
// detached: true only on Unix - Windows doesn't pipe stdio correctly when detached
|
|
164
|
+
detached: process.platform !== 'win32',
|
|
161
165
|
env: {
|
|
162
166
|
...process.env,
|
|
163
167
|
...env,
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Generate JSON Schema File for Validation Results
|
|
4
|
+
*
|
|
5
|
+
* Creates validation-result.schema.json in the package root for use in
|
|
6
|
+
* validating documentation examples and agent integration code.
|
|
7
|
+
* This script runs during the build process.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=generate-result-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-result-schema.d.ts","sourceRoot":"","sources":["../../src/scripts/generate-result-schema.ts"],"names":[],"mappings":";AACA;;;;;;GAMG"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Generate JSON Schema File for Validation Results
|
|
4
|
+
*
|
|
5
|
+
* Creates validation-result.schema.json in the package root for use in
|
|
6
|
+
* validating documentation examples and agent integration code.
|
|
7
|
+
* This script runs during the build process.
|
|
8
|
+
*/
|
|
9
|
+
import { writeFileSync } from 'node:fs';
|
|
10
|
+
import { fileURLToPath } from 'node:url';
|
|
11
|
+
import { dirname, join } from 'node:path';
|
|
12
|
+
import { validationResultJsonSchema } from '../result-schema-export.js';
|
|
13
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
14
|
+
const __dirname = dirname(__filename);
|
|
15
|
+
const packageRoot = join(__dirname, '..', '..');
|
|
16
|
+
const schemaPath = join(packageRoot, 'validation-result.schema.json');
|
|
17
|
+
// Generate and write schema file
|
|
18
|
+
writeFileSync(schemaPath, JSON.stringify(validationResultJsonSchema, null, 2), 'utf-8');
|
|
19
|
+
console.log('ā Generated validation-result.schema.json');
|
|
20
|
+
//# sourceMappingURL=generate-result-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-result-schema.js","sourceRoot":"","sources":["../../src/scripts/generate-result-schema.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAChD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC;AAEtE,iCAAiC;AACjC,aAAa,CACX,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC,EACnD,OAAO,CACR,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IAEb,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,6BAA6B;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAElB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-validate/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Core validation orchestration engine for vibe-validate",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
|
-
"dist"
|
|
15
|
+
"dist",
|
|
16
|
+
"validation-result.schema.json"
|
|
16
17
|
],
|
|
17
18
|
"keywords": [
|
|
18
19
|
"validation",
|
|
@@ -35,21 +36,21 @@
|
|
|
35
36
|
"access": "public"
|
|
36
37
|
},
|
|
37
38
|
"dependencies": {
|
|
38
|
-
"js-yaml": "^4.1.0",
|
|
39
39
|
"yaml": "^2.6.1",
|
|
40
|
-
"
|
|
40
|
+
"zod": "^3.24.1",
|
|
41
|
+
"zod-to-json-schema": "^3.24.6",
|
|
42
|
+
"@vibe-validate/git": "0.11.0"
|
|
41
43
|
},
|
|
42
44
|
"devDependencies": {
|
|
43
|
-
"@types/js-yaml": "^4.0.9",
|
|
44
45
|
"@types/node": "^20.17.6",
|
|
45
46
|
"typescript": "^5.7.2",
|
|
46
47
|
"vitest": "^2.1.8"
|
|
47
48
|
},
|
|
48
49
|
"scripts": {
|
|
49
|
-
"build": "tsc",
|
|
50
|
+
"build": "tsc && node dist/scripts/generate-result-schema.js",
|
|
50
51
|
"dev": "tsc --watch",
|
|
51
52
|
"test": "vitest run",
|
|
52
53
|
"test:watch": "vitest",
|
|
53
|
-
"clean": "rm -rf dist *.tsbuildinfo"
|
|
54
|
+
"clean": "rm -rf dist *.tsbuildinfo validation-result.schema.json"
|
|
54
55
|
}
|
|
55
56
|
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/ValidationResult",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"ValidationResult": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"passed": {
|
|
8
|
+
"type": "boolean"
|
|
9
|
+
},
|
|
10
|
+
"timestamp": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"treeHash": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"phases": {
|
|
17
|
+
"type": "array",
|
|
18
|
+
"items": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"properties": {
|
|
21
|
+
"name": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"durationSecs": {
|
|
25
|
+
"type": "number"
|
|
26
|
+
},
|
|
27
|
+
"passed": {
|
|
28
|
+
"type": "boolean"
|
|
29
|
+
},
|
|
30
|
+
"steps": {
|
|
31
|
+
"type": "array",
|
|
32
|
+
"items": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"properties": {
|
|
35
|
+
"name": {
|
|
36
|
+
"type": "string"
|
|
37
|
+
},
|
|
38
|
+
"passed": {
|
|
39
|
+
"type": "boolean"
|
|
40
|
+
},
|
|
41
|
+
"durationSecs": {
|
|
42
|
+
"type": "number"
|
|
43
|
+
},
|
|
44
|
+
"output": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"required": [
|
|
49
|
+
"name",
|
|
50
|
+
"passed",
|
|
51
|
+
"durationSecs"
|
|
52
|
+
],
|
|
53
|
+
"additionalProperties": false
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"output": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": [
|
|
61
|
+
"name",
|
|
62
|
+
"durationSecs",
|
|
63
|
+
"passed",
|
|
64
|
+
"steps"
|
|
65
|
+
],
|
|
66
|
+
"additionalProperties": false
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"failedStep": {
|
|
70
|
+
"type": "string"
|
|
71
|
+
},
|
|
72
|
+
"rerunCommand": {
|
|
73
|
+
"type": "string"
|
|
74
|
+
},
|
|
75
|
+
"failedStepOutput": {
|
|
76
|
+
"type": "string"
|
|
77
|
+
},
|
|
78
|
+
"failedTests": {
|
|
79
|
+
"type": "array",
|
|
80
|
+
"items": {
|
|
81
|
+
"type": "string"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"fullLogFile": {
|
|
85
|
+
"type": "string"
|
|
86
|
+
},
|
|
87
|
+
"summary": {
|
|
88
|
+
"type": "string"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"required": [
|
|
92
|
+
"passed",
|
|
93
|
+
"timestamp",
|
|
94
|
+
"treeHash"
|
|
95
|
+
],
|
|
96
|
+
"additionalProperties": false
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
100
|
+
}
|
package/dist/cli.d.ts
DELETED
package/dist/cli.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;GAIG"}
|
package/dist/cli.js
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Vibe-Validate CLI Entry Point
|
|
4
|
-
*
|
|
5
|
-
* This script loads the configuration and runs the validation runner.
|
|
6
|
-
*/
|
|
7
|
-
import { join, resolve } from 'path';
|
|
8
|
-
import { existsSync } from 'fs';
|
|
9
|
-
import { runValidation } from './runner.js';
|
|
10
|
-
/**
|
|
11
|
-
* Find and load vibe-validate.config.ts
|
|
12
|
-
*
|
|
13
|
-
* @returns A config object with validation, git, and output settings
|
|
14
|
-
*/
|
|
15
|
-
async function loadConfig() {
|
|
16
|
-
const cwd = process.cwd();
|
|
17
|
-
const configPaths = [
|
|
18
|
-
'vibe-validate.config.ts',
|
|
19
|
-
'vibe-validate.config.js',
|
|
20
|
-
'vibe-validate.config.mjs',
|
|
21
|
-
'.vibe-validate.ts',
|
|
22
|
-
'.vibe-validate.js',
|
|
23
|
-
'.vibe-validate.mjs',
|
|
24
|
-
];
|
|
25
|
-
for (const configPath of configPaths) {
|
|
26
|
-
const fullPath = join(cwd, configPath);
|
|
27
|
-
if (existsSync(fullPath)) {
|
|
28
|
-
console.log(`š Loading config from ${configPath}`);
|
|
29
|
-
try {
|
|
30
|
-
// Use dynamic import to support both .ts and .js configs
|
|
31
|
-
const configModule = await import(`file://${resolve(fullPath)}`);
|
|
32
|
-
const config = configModule.default || configModule;
|
|
33
|
-
return config;
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
console.error(`ā Failed to load config from ${configPath}:`, error);
|
|
37
|
-
process.exit(1);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
console.error('ā No vibe-validate.config.ts found in current directory');
|
|
42
|
-
console.error(' Searched for:');
|
|
43
|
-
configPaths.forEach((path) => console.error(` - ${path}`));
|
|
44
|
-
process.exit(1);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Main CLI entry point
|
|
48
|
-
*/
|
|
49
|
-
async function main() {
|
|
50
|
-
try {
|
|
51
|
-
// Load configuration
|
|
52
|
-
const rawConfig = await loadConfig();
|
|
53
|
-
// Adapt config structure for runner
|
|
54
|
-
// The config loader returns a structured config with {validation, git, output}
|
|
55
|
-
// The runner expects a flat config with {phases, ...}
|
|
56
|
-
// Convert process.env to Record<string, string> by filtering out undefined values
|
|
57
|
-
const envVars = {};
|
|
58
|
-
for (const [key, value] of Object.entries(process.env)) {
|
|
59
|
-
if (value !== undefined) {
|
|
60
|
-
envVars[key] = value;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
const runnerConfig = {
|
|
64
|
-
phases: rawConfig.validation?.phases || [],
|
|
65
|
-
enableFailFast: rawConfig.validation?.failFast ?? true,
|
|
66
|
-
env: envVars,
|
|
67
|
-
stateFilePath: '.vibe-validate-state.yaml',
|
|
68
|
-
onPhaseStart: (phase) => console.log(`\nš Running phase: ${phase.name}`),
|
|
69
|
-
onPhaseComplete: (phase, result) => {
|
|
70
|
-
if (result.passed) {
|
|
71
|
-
console.log(`ā
Phase ${phase.name} completed successfully`);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
console.log(`ā Phase ${phase.name} failed`);
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
onStepStart: (step) => console.log(` ā³ ${step.name}...`),
|
|
78
|
-
onStepComplete: (step, result) => {
|
|
79
|
-
if (result.passed) {
|
|
80
|
-
console.log(` ā
${step.name} (${result.durationSecs}s)`);
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
console.log(` ā ${step.name} failed (${result.durationSecs}s)`);
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
// Run validation
|
|
88
|
-
const result = await runValidation(runnerConfig);
|
|
89
|
-
// Exit with appropriate code
|
|
90
|
-
process.exit(result.passed ? 0 : 1);
|
|
91
|
-
}
|
|
92
|
-
catch (error) {
|
|
93
|
-
console.error('ā Validation failed with error:', error);
|
|
94
|
-
process.exit(1);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// Run if executed directly
|
|
98
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
99
|
-
main().catch((error) => {
|
|
100
|
-
console.error('Fatal error:', error);
|
|
101
|
-
process.exit(1);
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|