@puls-atlas/cli
Version:
The Puls Atlas CLI tool for managing Atlas projects
36 lines • 1.49 kB
JavaScript
import { logger } from '../../utils/logger.js';
import { createAtlasAiArtifacts, createVerificationFindings, logAiVerifyOutcome } from './artifactsRuntime.js';
export const runAiVerify = async (options = {}, dependencies = {}, cwd = process.cwd()) => {
const loggerImpl = dependencies.logger ?? logger;
const {
consoleImpl = console
} = dependencies;
let spinner;
try {
spinner = loggerImpl.spinner('Verifying Atlas AI context...');
const artifacts = createAtlasAiArtifacts(options, dependencies, cwd, 'atlas ai sync');
const findings = createVerificationFindings(artifacts, options, dependencies);
const result = {
artifacts,
findings: findings.records,
issues: findings.issues,
warnings: findings.warnings,
status: findings.issues.length > 0 ? 'drift' : findings.warnings.length > 0 ? 'warning' : 'valid'
};
spinner.succeed(result.status === 'valid' ? 'Atlas AI context is valid.' : result.status === 'warning' ? 'Atlas AI context is valid with warnings.' : 'Atlas AI context drift was detected.');
logAiVerifyOutcome(loggerImpl, result);
if (options.json) {
consoleImpl.log(JSON.stringify({
findings: result.findings,
issues: result.issues,
warnings: result.warnings,
status: result.status
}, null, 4));
}
return result;
} catch (error) {
spinner?.fail('Failed to verify Atlas AI context.');
loggerImpl.error(error.message);
return null;
}
};