# templately/trunk/modules/ai-content-merger/module.php

Templately – Elementor &amp; Gutenberg Template Library: 6500+ Free &amp; Pro Ready Templates And Cloud!, version trunk. 30 lines.

- Page: https://pluginprobe.com/plugins/templately/trunk/code/modules/ai-content-merger/module.php
- Raw: https://pluginprobe.com/plugins/templately/trunk/raw/modules/ai-content-merger/module.php
- Modified: 2026-09-24T05:45:44+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/templately/trunk/code/modules/ai-content-merger/module.php#L10-L20`.

```php
<?php
/**
 * AI-content-merger module (spec 022-ai-content-merger).
 *
 * Platform-aware AI content merging: the AIContentHelper class (flatten-by-id, unicode
 * normalization, Elementor/Gutenberg dot-notation content merging, HTML class-based
 * replacement). Relocated from includes/Core/Importer/Utils/AIContentHelper.php.
 *
 * PHP-only, no REST routes, no JS. Per spec 022 FR-011 this is a STANDALONE class of pure
 * static merge logic with ZERO cross-module dependencies — the public entry point is the
 * static merge($payload, $template, $platform) dispatcher, consumed by FSI's
 * Runners/Finalizer. The session/path resolution + file IO that used to live here as
 * host-state instance methods (generateAiFilePaths, isAiContent, processAiContent,
 * writeDebugFile, …) is now the consumer's responsibility, breaking the former
 * full-site-import ↔ ai-content-merger dependency cycle.
 *
 * @package Templately
 */

namespace Templately\Modules\AiContentMerger;

use Templately\Core\Module_Base;

class Module extends Module_Base {

	public function get_name(): string {
		return 'ai-content-merger';
	}
}

```
