Do not assume action definitions have a type when deriving action plugin functions
## Summary I received a deprecation notice related to `str_contains()` when testing chat generation at `/admin/config/ai/explorers/chat_generator`. This is because the `ActionPluginDeriver` assumes the action definitions it's deriving functions for have a type, even though the `Action` attribute designates the `type` property as optional. Pathauto does _not_ use a `type` for its one action plugin, so the deriver attempts to get an entity type definition for `NULL`. ``` #[Action( id: 'pathauto_update_alias', label: new TranslatableMarkup('Update URL alias of an entity'), )] ``` ## Steps to reproduce 1. Install and configure AI. 2. Install Pathauto. 3. Navigate to the path above. Clear all caches if need be. ## Environment - Drupal version: 11.4.1 - Module version: 1.4.4 - PHP version: 8.4.22 - Provider: Anthropic, but really should be irrelevant ### Error messages or logs ``` Deprecated function: str_contains(): Passing null to parameter #1 ($haystack) of type string is deprecated in Drupal\Core\Entity\EntityTypeManager->getDefinition() (line 161 of core/lib/Drupal/Core/Entity/EntityTypeManager.php). ```
issue