WordPress\AiClient\Messages\DTO
Message::fromArray
{@inheritDoc}
Method of the class: Message{}
No Hooks.
Returns
self. The specific message class based on the role.
Usage
$result = Message::fromArray( $array ): self;
- $array(array) (required)
- .
Changelog
| Since 0.1.0 | Introduced. |
Message::fromArray() Message::fromArray code WP 7.0
final public static function fromArray(array $array): self
{
static::validateFromArrayData($array, [self::KEY_ROLE, self::KEY_PARTS]);
$role = MessageRoleEnum::from($array[self::KEY_ROLE]);
$partsData = $array[self::KEY_PARTS];
$parts = array_map(function (array $partData) {
return \WordPress\AiClient\Messages\DTO\MessagePart::fromArray($partData);
}, $partsData);
// Determine which concrete class to instantiate based on role
if ($role->isUser()) {
return new \WordPress\AiClient\Messages\DTO\UserMessage($parts);
} elseif ($role->isModel()) {
return new \WordPress\AiClient\Messages\DTO\ModelMessage($parts);
} else {
// Only USER and MODEL roles are supported
throw new InvalidArgumentException('Invalid message role: ' . $role->value);
}
}