Add text_to_music operation type with required prompt and optional lyrics
## Summary
Add a new `text_to_music` operation type that can generate music audio from text input.
The operation input should always include a `prompt`, optionally include `lyrics`, and the output should be normalized to audio file objects.
## Problem
The AI module currently has operation types for text-to-speech, speech-to-text, audio-to-audio, etc., but there is no dedicated operation type for text-to-music generation.
This makes provider integrations inconsistent for music-generation models (for example: no shared input contract for `prompt` + optional `lyrics`, and no standard normalized output contract for generated music).
Developers and provider maintainers need a first-class operation type so base calls, event tagging, logging, and provider implementations can use a stable API.
## Proposed solution *(optional)*
Introduce a new operation type in `src/OperationType/TextToMusic/` with the same shape as existing operation types:
- `TextToMusicInterface` with `#[OperationType(id: 'text_to_music', ...)]`
- `TextToMusicInput` implementing `InputInterface`
- `TextToMusicOutput` implementing `OutputInterface`
Input contract:
- `prompt` (required string)
- `lyrics` (optional string, nullable)
Output contract:
- normalized output as one or more `AudioFile` objects
- raw provider response and metadata preserved similarly to other media operation outputs
Implementation notes:
- Reuse/create `AudioFile.php` DTO as the normalized audio carrier for this operation
- Add docs in the developer base-call docs for the new operation type and usage examples
- Add tests for input serialization/deserialization and output normalization parity with existing operation types
## Workaround *(optional)*
Current workaround is to route music generation through less-specific operation types and provider-specific payloads, which reduces portability across providers and weakens typed contracts.
## Affected modules / components *(optional)*
- ai core (`src/OperationType/*`)
- provider integrations that support music generation
- developer docs for base calls / operation types
issue