<?php
/**
 * AEO Module — AI Visibility Check.
 *
 * Editor-side intro linter that helps content stay cited (not replaced) by AI
 * answer engines. Pure client-side analysis in a post meta box.
 *
 * @package Platform\Helm\Modules\Aeo
 */

declare( strict_types = 1 );

namespace Platform\Helm\Modules\Aeo;

use Platform\Helm\Contracts\ModuleInterface;
use Platform\Helm\Core\Assets;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

final class AeoModule implements ModuleInterface {

	private AeoMetaBox $meta_box;

	public function __construct( Assets $assets ) {
		$this->meta_box = new AeoMetaBox( $assets );
	}

	public function id(): string {
		return 'aeo_check';
	}

	public function name(): string {
		return __( 'AI Visibility Check', 'platform-helm' );
	}

	public function description(): string {
		return __( 'An editor panel that scores an article intro for AI-answer-engine visibility — flagging when the intro gives the whole answer away, lacks local specificity, or has no reason to click through. Guidance only; nothing is saved.', 'platform-helm' );
	}

	public function default_enabled(): bool {
		return true;
	}

	public function boot(): void {
		$this->meta_box->register_hooks();
	}
}
