# yaml-language-server: $schema=https://promptfoo.dev/config-schema.json description: 'Websocket target with streaming response' prompts: - 'Rephrase this in {{language}}: {{body}}' - 'Translate this to conversational {{language}}: {{body}}' targets: - id: 'ws://localhost:3300/ws-stream' config: messageTemplate: '{"input": {{prompt | dump}}}' streamResponse: |- (accumulator, event, context) => { const { message, type } = JSON.parse(event.data); if(type === "message"){return [{output: message},true]} if(type === "error"){return [{error: message},true]} return [{output: message}, false];} tests: - vars: language: French body: Hello world - vars: language: French body: I'm hungry - vars: language: Pirate body: Hello world - vars: language: Pirate body: I'm hungry