GeoPackage (as of v1.4.0) require that vector and attribute tables have integer primary keys (see requirement 29 and 119 in https://www.geopackage.org/spec140/). It would be good to check during init whether the tables we are going to sync have integer primary keys - and if not, report that to the user.
The sync will probably work fine even with non-integer primary keys, but such .gpkg files may cause interoperability issues, so this should be avoided.