- translator/index.js: replace require() with static side-effect imports (ESM-safe), lazy-init registry maps to survive circular import order - openai-responses->openai: map max_output_tokens -> max_tokens (avoid leaking field upstream) - gemini/antigravity -> openai: derive deterministic tool_call id from name so functionCall/functionResponse pair correctly (fixes provider tool-pairing 400s) - add offline unit tests (finish-reason, usage, session-manager, ollama malformed args, const guard) - add real-creds integration tests (provider-cases + all-formats matrix: 6 inbound formats x 4 scenarios) Includes co-located provider registry refactor (pricing/capabilities/media providers) and sessionManager updates. Co-authored-by: Cursor <cursoragent@cursor.com>
37 lines
667 B
JavaScript
37 lines
667 B
JavaScript
export default {
|
|
id: "playht",
|
|
alias: "playht",
|
|
display: {
|
|
name: "PlayHT",
|
|
icon: "play_circle",
|
|
color: "#00B4D8",
|
|
textIcon: "PH",
|
|
website: "https://play.ht",
|
|
notice: {
|
|
apiKeyUrl: "https://play.ht/studio/api-access"
|
|
}
|
|
},
|
|
category: "apikey",
|
|
authType: "apikey",
|
|
serviceKinds: [
|
|
"tts"
|
|
],
|
|
ttsConfig: {
|
|
baseUrl: "https://api.play.ht/api/v2/tts/stream",
|
|
authType: "apikey",
|
|
authHeader: "playht",
|
|
format: "playht",
|
|
models: [
|
|
{
|
|
id: "PlayDialog",
|
|
name: "PlayDialog"
|
|
},
|
|
{
|
|
id: "Play3.0-mini",
|
|
name: "Play 3.0 Mini"
|
|
}
|
|
]
|
|
},
|
|
hidden: true
|
|
};
|