Help With Advancements!

Hi, I'm trying to make a advancement that runs a function every time a player hurts an entity with a arrow(shoots an entity). I also want the advancement to check for the arrows item model component, so that this advancement will only run with my custom arrow. I have tried a million things and cannot get this to work. any help is appreciated! The problem is when hit an entity with a arrow, nothing happens. Ive reloaded the datapack several times.

  "criteria": {
    "ancient_arrow_function": {
      "trigger": "minecraft:player_hurt_entity",
      "conditions": {
        "damage": {
          "type": {
            "direct_entity": {
              "type": "minecraft:arrow",
              "components": {
                "minecraft:item_model": "minecraft:ancient_arrow"
              }
            }
          }
        }
      }
    }
  },
  "rewards": {
    "function": "pack:arrows/ancient_arrow/hit"
  }
}```

Above is the advancement file
below is the function that runs when the advancement is completed.
```tellraw @a "works!! yay"
advancement revoke @s only pack:ancient_arrow_hit```
Continue to help post