Title: AfterGenerateResultEvent
Published: May 20, 2026

---

# class AfterGenerateResultEvent {}

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/?output_format=md#description)
 * [Methods](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/?output_format=md#methods)
 * [Source](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/?output_format=md#source)
 * [Changelog](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/?output_format=md#wp--skip-link--target)

Event dispatched after a prompt has been sent to the AI model and a response received.

## 󠀁[Description](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/?output_format=md#description)󠁿

This event allows listeners to inspect the result of the model call for logging,
analytics, or other post-processing purposes. The result object is immutable.

## 󠀁[Methods](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/?output_format=md#methods)󠁿

| Name | Description | 
| [AfterGenerateResultEvent::__clone](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/__clone/) | Performs a deep clone of the event. | 
| [AfterGenerateResultEvent::__construct](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/__construct/) | Constructor. | 
| [AfterGenerateResultEvent::getCapability](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getcapability/) | Gets the capability that was used for generation. | 
| [AfterGenerateResultEvent::getMessages](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getmessages/) | Gets the messages that were sent to the model. | 
| [AfterGenerateResultEvent::getModel](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getmodel/) | Gets the model that processed the prompt. | 
| [AfterGenerateResultEvent::getResult](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getresult/) | Gets the result from the model. |

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/?output_format=md#source)󠁿

    ```php
    class AfterGenerateResultEvent
    {
        /**
         * @var list<Message> The messages that were sent to the model.
         */
        private array $messages;
        /**
         * @var ModelInterface The model that processed the prompt.
         */
        private ModelInterface $model;
        /**
         * @var CapabilityEnum|null The capability that was used for generation.
         */
        private ?CapabilityEnum $capability;
        /**
         * @var GenerativeAiResult The result from the model.
         */
        private GenerativeAiResult $result;
        /**
         * Constructor.
         *
         * @since 0.4.0
         *
         * @param list<Message> $messages The messages that were sent to the model.
         * @param ModelInterface $model The model that processed the prompt.
         * @param CapabilityEnum|null $capability The capability that was used for generation.
         * @param GenerativeAiResult $result The result from the model.
         */
        public function __construct(array $messages, ModelInterface $model, ?CapabilityEnum $capability, GenerativeAiResult $result)
        {
            $this->messages = $messages;
            $this->model = $model;
            $this->capability = $capability;
            $this->result = $result;
        }
        /**
         * Gets the messages that were sent to the model.
         *
         * @since 0.4.0
         *
         * @return list<Message> The messages.
         */
        public function getMessages(): array
        {
            return $this->messages;
        }
        /**
         * Gets the model that processed the prompt.
         *
         * @since 0.4.0
         *
         * @return ModelInterface The model.
         */
        public function getModel(): ModelInterface
        {
            return $this->model;
        }
        /**
         * Gets the capability that was used for generation.
         *
         * @since 0.4.0
         *
         * @return CapabilityEnum|null The capability, or null if not specified.
         */
        public function getCapability(): ?CapabilityEnum
        {
            return $this->capability;
        }
        /**
         * Gets the result from the model.
         *
         * @since 0.4.0
         *
         * @return GenerativeAiResult The result.
         */
        public function getResult(): GenerativeAiResult
        {
            return $this->result;
        }
        /**
         * Performs a deep clone of the event.
         *
         * This method ensures that message and result objects are cloned to prevent
         * modifications to the cloned event from affecting the original.
         * The model object is not cloned as it is a service object.
         *
         * @since 0.4.2
         */
        public function __clone()
        {
            $clonedMessages = [];
            foreach ($this->messages as $message) {
                $clonedMessages[] = clone $message;
            }
            $this->messages = $clonedMessages;
            $this->result = clone $this->result;
        }
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/php-ai-client/src/events/aftergenerateresultevent.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php#L18)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php#L18-L115)

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/?output_format=md#changelog)󠁿

| Version | Description | 
| [0.4.0](https://developer.wordpress.org/reference/since/0.4.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwordpress-aiclient-events-aftergenerateresultevent%2F)
before being able to contribute a note or feedback.