WordPress\AiClient\Builders
PromptBuilder::validateMessages
Validates the messages array for prompt generation.
Ensures that:
- The first message is a user message
- The last message is a user message
- The last message has parts
Method of the class: PromptBuilder{}
No Hooks.
Returns
null. Nothing (null).
Usage
// private - for code of main (parent) class only $result = $this->validateMessages(): void;
Changelog
| Since 0.1.0 | Introduced. |
PromptBuilder::validateMessages() PromptBuilder::validateMessages code WP 7.0
private function validateMessages(): void
{
if (empty($this->messages)) {
throw new InvalidArgumentException('Cannot generate from an empty prompt. Add content using withText() or similar methods.');
}
$firstMessage = reset($this->messages);
if (!$firstMessage->getRole()->isUser()) {
throw new InvalidArgumentException('The first message must be from a user role, not from ' . $firstMessage->getRole()->value);
}
$lastMessage = end($this->messages);
if (!$lastMessage->getRole()->isUser()) {
throw new InvalidArgumentException('The last message must be from a user role, not from ' . $lastMessage->getRole()->value);
}
if (empty($lastMessage->getParts())) {
throw new InvalidArgumentException('The last message must have content parts. Add content using withText() or similar methods.');
}
}