The normal highest level is filled in. Commands accept up to 255, but very high levels can behave strangely.
This command is longer than 256 characters, the most chat allows. Paste it into a command block instead.
Why the version matters
Minecraft changed how item data is written twice. Up to 1.20.4 it goes in curly brackets after the item, from 1.20.5 it uses item components in square brackets, and 1.21.5 changed how names and enchantments are written inside them. A command made for the wrong version gives an error, so pick yours above.
You need operator rights (or cheats on in singleplayer) to use /give. On Bedrock, /give cannot add enchantments; use /enchant while holding the item instead.