For me, perform() was only called after I conformed my intent also to LiveActivityIntet like this:
perform()
struct AnAppIntent: AppIntent & LiveActivityIntent { }
I could also remove the empty init() ...
init()