$arguments The call's arguments, or the ability's input. */ public static function unwrap( string $tool, array $arguments ): ?ActionDescriptor { $name = $arguments['ability_name'] ?? null; $parameters = $arguments['parameters'] ?? array(); if ( ! self::is_execute( $tool ) || ! is_string( $name ) || self::is_execute( $name ) || ! is_array( $parameters ) || ! wp_has_ability( $name ) ) { return null; } return ActionDescriptor::from_ability( $name, $parameters ); } }