| 230 | } |
| 231 | |
| 232 | std::vector<engine::models::vibevoice::VibeVoiceRequest> parse_requests( |
| 233 | const std::string & request_sequence_json, |
| 234 | const engine::models::vibevoice::VibeVoiceAssets & assets, |
| 235 | const std::string & prompt_noise_file, |
| 236 | const std::string & noise_file) { |
| 237 | if (request_sequence_json.empty()) { |
| 238 | throw std::runtime_error("VibeVoice warmbench requires --request-sequence-json"); |
| 239 | } |
| 240 | const auto root = engine::io::json::parse(request_sequence_json); |
| 241 | std::vector<engine::models::vibevoice::VibeVoiceRequest> out; |
| 242 | for (const auto & item : root.as_array()) { |
| 243 | out.push_back(make_request(item, assets, prompt_noise_file, noise_file)); |
| 244 | } |
| 245 | if (out.empty()) { |
| 246 | throw std::runtime_error("VibeVoice warmbench request sequence is empty"); |
| 247 | } |
| 248 | return out; |
| 249 | } |
| 250 | |
| 251 | std::vector<engine::runtime::TaskRequest> parse_task_requests( |
| 252 | const std::string & request_sequence_json, |
no test coverage detected