/** * @vibe-validate/core * * Core validation engine with git tree hash caching, parallel execution, and fail-fast support. * * ## Features * * - **Git Tree Hash Caching**: Skip validation if code unchanged * - **Parallel Execution**: Run validation steps concurrently for speed * - **Fail-Fast**: Stop on first failure with proper process cleanup * - **Signal Handling**: Graceful cleanup on SIGTERM/SIGINT * - **Language Agnostic**: Works with any command-line tool * * ## Example Usage * * ```typescript * import { runValidation } from '@vibe-validate/core'; * * const result = await runValidation({ * phases: [ * { * name: 'Type Checking', * steps: [ * { name: 'TypeScript', command: 'tsc --noEmit' }, * { name: 'ESLint', command: 'eslint src/' }, * ], * }, * { * name: 'Testing', * steps: [ * { name: 'Unit Tests', command: 'npm test' }, * ], * }, * ], * enableFailFast: true, * }); * * if (result.passed) { * console.log('✅ Validation passed!'); * } else { * console.error('❌ Validation failed:', result.failedStep); * } * ``` * * @packageDocumentation */ export type { ValidationStep, ValidationPhase, } from '@vibe-validate/config'; export type { ValidationResult, StepResult, PhaseResult, OutputFiles, } from './result-schema.js'; export type { ValidationConfig, } from './runner.js'; export { runValidation, runStepsInParallel, parseFailures, setupSignalHandlers, findPreviousStepResult, shouldUseCachedResult, shouldSkipByRunScope, } from './runner.js'; export { stopProcessGroup, spawnCommand, captureCommandOutput, getGitRoot, resolveGitRelativePath, stripGitEnv, type CaptureCommandOptions, } from './process-utils.js'; export { ensureDir, getTempDir, getTempFilename, createLogFileWrite, createCombinedJsonl, } from './fs-utils.js'; export { ValidationResultSchema, StepResultSchema, PhaseResultSchema, CommandExecutionSchema, OperationMetadataSchema, OutputFilesSchema, ValidationResultStrictSchema, StepResultStrictSchema, PhaseResultStrictSchema, safeValidateResult, validateResult, } from './result-schema.js'; export { createSafeValidator, createStrictValidator, } from '@vibe-validate/config'; export { validationResultJsonSchema, generateValidationResultJsonSchema, } from './result-schema-export.js'; export { parseVibeValidateOutput, type ParsedVibeValidateOutput, } from './run-output-parser.js'; export type { OutputLine, CapturedOutput, } from './output-capture-schema.js'; export { OutputLineSchema, CapturedOutputSchema, } from './output-capture-schema.js'; export { PARENT_CONTEXT_ENV, MAX_NESTED_DEPTH, ParentContextSchema, readParentContext, buildChildContext, serializeForEnv, } from './parent-context.js'; export type { ParentContext, ChildContextInput } from './parent-context.js'; //# sourceMappingURL=index.d.ts.map