Move ai_drush_agents into ai_agents as a submodule
## Problem / Motivation
[ai_drush_agents](https://www.drupal.org/project/ai_drush_agents) is a small standalone module that exists purely as an extension of ai_agents. It hard-depends on `ai_agents` (`drupal/ai_agents:^1.1.0`) and provides nothing on its own: a handful of Drush commands plus supporting AI tools and agents.
Keeping it as a separate project adds release, CI and maintenance overhead for very little code, and makes the Drush integration harder to discover for people already using ai_agents. Its config entities already live in the `ai_agents.ai_agent.*` namespace, so it is conceptually part of ai_agents already.
Proposal: fold ai_drush_agents into ai_agents as a new optional submodule for the 1.4.x branch, mirroring the existing submodules (`ai_agents_explorer`, `ai_agents_extra`, `ai_agents_extra_tools`, `ai_agents_form_integration`).
## What would move
Into `modules/ai_drush_agents/` within ai_agents:
- **Drush command classes** (`drush.services.yml` + `src/Commands/`): `AiAgentCommands`, `AiConfigExplainCommands`, `AiDrushExplainerCommands`
- **AiFunctionCall tool plugins** (`src/Plugin/AiFunctionCall/`): `ConfigDiff`, `GetConfigById`, `GetConfigEntity`, `GetDrushCode`, `GetDrushCommands`, `LoadTemporaryData`, `SaveSchemaFileToModule`, `SaveTemporaryData`
- **Config agents** (`config/install/`): `config_export_explainer`, `config_to_schema_agent`, `drush_explain_agent`
- The `.install` file and `.info.yml` (converted to a submodule info file)
## Proposed resolution / remaining tasks
- Create `modules/ai_drush_agents` as an optional submodule. Keep the machine name `ai_drush_agents` so the `Drupal\ai_drush_agents\...` namespace, service IDs and config entity names are unchanged and existing sites keep working after they switch which project provides the module.
- Handle the extra dependency: `sevenecks/markdown-terminal:^0.0.1` (used for terminal markdown rendering). Decide whether to require it in the root ai_agents `composer.json`, add it as a `suggest`, or make the dependency soft so the submodule degrades gracefully when it is absent.
- Verify there is no collision between the moved `AiFunctionCall` plugin IDs / config agent IDs and anything already shipped in ai_agents.
- Add documentation for the Drush commands under the ai_agents docs.
- After the move lands, mark the standalone [ai_drush_agents](https://www.drupal.org/project/ai_drush_agents) project as obsolete / moved, and point its project page at ai_agents. Provide a short upgrade note for existing users (switch the dependency; no data migration needed since config names are preserved).
## Notes
Part of the road to 1.4.0 (see #3586017). This issue is a planning/tracking issue for the move; no code should be migrated until the approach on the extra composer dependency is agreed.
issue