WordPress\AiClient\Builders

PromptBuilder::__clonepublicWP 0.4.2

Creates a deep clone of this builder.

Clones all mutable state including messages, model configuration, and request options. Service objects (registry, model, event dispatcher) are intentionally NOT cloned as they are shared dependencies.

Method of the class: PromptBuilder{}

No Hooks.

Returns

null. Nothing (null).

Usage

$PromptBuilder = new PromptBuilder();
$PromptBuilder->__clone();

Changelog

Since 0.4.2 Introduced.

PromptBuilder::__clone() code WP 7.0

public function __clone()
{
    // Deep clone messages array (Message has __clone)
    $clonedMessages = [];
    foreach ($this->messages as $message) {
        $clonedMessages[] = clone $message;
    }
    $this->messages = $clonedMessages;
    // Clone model config (ModelConfig has __clone)
    $this->modelConfig = clone $this->modelConfig;
    // Clone request options if set (contains only primitives)
    if ($this->requestOptions !== null) {
        $this->requestOptions = clone $this->requestOptions;
    }
    // Note: $registry, $model, and $eventDispatcher are service objects
    // and are intentionally NOT cloned - they should be shared references.
}