Closed dvonthenen closed 2 months ago
The recent changes involved significant updates and restructuring within the Deepgram project. Mainly, new projects for REST and WebSocket clients were added, the Speak project was deprecated in favor of SpeakREST and SpeakWebSocket clients, and tests were updated accordingly. Additionally, new constants and schema classes specific to REST and WebSocket communication were introduced. This refactor aims to modularize the API client types and improve clarity and extensibility.
Files/Paths | Change Summaries |
---|---|
Deepgram.Dev.sln |
Removed Speak projects and added rest , websocket , simple , Factory projects. |
Deepgram.Tests/UnitTests/ClientTests/SpeakClientTests.cs |
Updated namespaces and classes from SpeakClient to SpeakRESTClient. |
Deepgram/ClientFactory.cs |
Deprecated CreateSpeakClient in favor of CreateSpeakRESTClient and added CreateSpeakWebSocketClient . |
Deepgram/Clients/Interfaces/v1/ISpeakClient.cs |
Deprecated ISpeakClient interface. |
Deepgram/Clients/Interfaces/v1/ISpeakRESTClient.cs |
Introduced ISpeakRESTClient interface with methods for processing audio files. |
Deepgram/Clients/Interfaces/v1/ISpeakWebSocketClient.cs |
Updated ISpeakWebSocketClient interface with methods for WebSocket interactions. |
Deepgram/Clients/Live/v1/Client.cs |
Updated log message semantics. |
Deepgram/Clients/Speak/v1/REST/... |
Added Client.cs , Constants.cs to define REST client and constants. |
Deepgram/Models/Authenticate/v1/DeepgramWsClientOptions.cs |
Updated log messages from REST to WS base address. |
Deepgram/Models/Speak/v1/AsyncResponse.cs |
Deprecated AsyncResponse class, merged into REST namespace. |
Deepgram/Clients/Speak/v1/WebSocket/v1/... |
Added Client.cs , Constants.cs , ResponseEvent.cs , UriSegments.cs for WebSocket. |
Deepgram/Models/Speak/v1/REST/SpeakSchema.cs |
Added SpeakSchema for REST audio processing. |
Deepgram/Models/Speak/v1/WebSocket/v1/... |
Added CommandSource.cs , ErrorResponse.cs , FlushedResponse.cs , MetadataResponse.cs , OpenResponse.cs , SpeakSchema.cs , SpeakType.cs , TextSource.cs . |
examples/speak/websocket/simple/Speak.csproj |
Added new project file for WebSocket example with a reference to Deepgram. |
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
@coderabbitai review
Implements/Addresses: https://github.com/deepgram/deepgram-dotnet-sdk/issues/306
This PR implements TTS WS. In this PR, I restructured the Speak/TTS clients because we are introducing a WS Client, and the REST client was at the root of the
Deepgram.<Clients | Models>.Speak.v1
folder would place the REST and WS client in the same namespace. This is awkward and can be confusing. This follows the Go SDK, which places each into the respective namespaces:Deepgram.<Clients | Models>.Speak.v1.REST
Deepgram.<Clients | Models>.Speak.v1.Websocket
The REST client has been renamed
SpeakClient
->SpeakRESTClient
. References to the old (now obsolete) REST client inDeepgram.<Clients | Models>.Speak.v1
references have been marked obsolete but still exist for backward compatibility. The references to the examples for the Speak REST clients are intentionally pointing to the obsolete namespaces to prove backwards compatibility. These will be updated in a subsequent PR.This implements a simple example to demonstrate the functionality and updates the Speak REST unit tests.
The README was NOT updated because they need to be updated for
Listen
andSpeak
. Will do so in a subsequent PR.Summary by CodeRabbit
New Features
Enhancements
Deprecations
ISpeakClient
in favor ofISpeakRESTClient
.AsyncResponse
class, now derived fromREST.AsyncResponse
.Documentation