Files
openclaw/test-fixtures/talk-config-contract.json
2026-03-09 09:15:49 +05:30

144 lines
3.2 KiB
JSON

{
"selectionCases": [
{
"id": "canonical_resolved_wins",
"defaultProvider": "elevenlabs",
"payloadValid": true,
"expectedSelection": {
"provider": "elevenlabs",
"normalizedPayload": true,
"voiceId": "voice-resolved",
"apiKey": "resolved-key"
},
"talk": {
"resolved": {
"provider": "elevenlabs",
"config": {
"voiceId": "voice-resolved",
"apiKey": "resolved-key"
}
},
"provider": "elevenlabs",
"providers": {
"elevenlabs": {
"voiceId": "voice-normalized",
"apiKey": "normalized-key"
}
},
"voiceId": "voice-legacy",
"apiKey": "legacy-key"
}
},
{
"id": "normalized_missing_resolved",
"defaultProvider": "elevenlabs",
"payloadValid": false,
"expectedSelection": null,
"talk": {
"provider": "elevenlabs",
"providers": {
"elevenlabs": {
"voiceId": "voice-normalized"
}
},
"voiceId": "voice-legacy"
}
},
{
"id": "provider_mismatch_missing_resolved",
"defaultProvider": "elevenlabs",
"payloadValid": false,
"expectedSelection": null,
"talk": {
"provider": "acme",
"providers": {
"elevenlabs": {
"voiceId": "voice-normalized"
}
}
}
},
{
"id": "ambiguous_providers_missing_resolved",
"defaultProvider": "elevenlabs",
"payloadValid": false,
"expectedSelection": null,
"talk": {
"providers": {
"acme": {
"voiceId": "voice-acme"
},
"elevenlabs": {
"voiceId": "voice-normalized"
}
}
}
},
{
"id": "legacy_payload_fallback",
"defaultProvider": "elevenlabs",
"payloadValid": true,
"expectedSelection": {
"provider": "elevenlabs",
"normalizedPayload": false,
"voiceId": "voice-legacy",
"apiKey": "xxxxx"
},
"talk": {
"voiceId": "voice-legacy",
"apiKey": "xxxxx"
}
}
],
"timeoutCases": [
{
"id": "integer_timeout_kept",
"fallback": 700,
"expectedTimeoutMs": 1500,
"talk": {
"silenceTimeoutMs": 1500
}
},
{
"id": "integer_like_double_timeout_kept",
"fallback": 700,
"expectedTimeoutMs": 1500,
"talk": {
"silenceTimeoutMs": 1500.0
}
},
{
"id": "zero_timeout_falls_back",
"fallback": 700,
"expectedTimeoutMs": 700,
"talk": {
"silenceTimeoutMs": 0
}
},
{
"id": "boolean_timeout_falls_back",
"fallback": 700,
"expectedTimeoutMs": 700,
"talk": {
"silenceTimeoutMs": true
}
},
{
"id": "string_timeout_falls_back",
"fallback": 700,
"expectedTimeoutMs": 700,
"talk": {
"silenceTimeoutMs": "1500"
}
},
{
"id": "fractional_timeout_falls_back",
"fallback": 700,
"expectedTimeoutMs": 700,
"talk": {
"silenceTimeoutMs": 1500.5
}
}
]
}