toverainc / willow-application-server

Willow Application Server
Apache License 2.0
19 stars 9 forks source link

command_endpoints: sanitize result #59

Closed stintel closed 9 months ago

stintel commented 9 months ago

A command endpoint that inserts newlines in the speech result causes the result to be printed outside of the display. We do not want to deal with this in the Willow C code, and as we will eventually make WAS command mode the default and rip out endpoint support from Willow, we can simply do this in WAS.

As we're using a pydantic model for the command endpoint result, we can easily do this with a sanitize function in the CommandEndpointResult model, and call this when we initialize the CommandEndpointResponse. We can't do it when we initialize the CommandEndpointResult, as we sometimes change the speech attribute after init.

kristiankielhofner commented 9 months ago

This is great! I've noticed this most with LLM support. I added (more or less) the exact same code to WAC but this is a much better approach!