eb0619dea2
- Add SystemPrompt field to HushConfig (empty = built-in default) - Refactor ConfigManager: extract ApplyTomlFields, add LoadWithProfile(), ListProfiles(), GetProfilePath(), EnsureProfilesDirExists(); remove HUSH_PROFILE env-var logic (profiles are now resolved by the CLI) - Extend socket protocol: action commands (START/STOP/TOGGLE/ABORT) now carry a [4-byte LE length][optional HushConfig JSON] payload so the CLI can pass a per-invocation config override without restarting the daemon - Add GENERATE_PROFILE (cmd 7) socket command: CLI sends a description, daemon calls the LLM and returns a generated system prompt - Orchestrator: StopAndProcessAsync accepts optional HushConfig override; ProcessWithLlmAsync uses proper system/user chat roles and respects config.SystemPrompt; add GenerateProfilePromptAsync - Split CompleteTextAsync signature to (systemPrompt, userMessage, model) across ITextStreamingProvider, GroqProvider, FireworksProvider - Add --profile/-p flag to hush toggle and hush stop - Add hush profiles subcommand: list, get, new (manual or AI-generated), edit
21 lines
726 B
C#
21 lines
726 B
C#
namespace Hush.Providers.Interfaces;
|
|
|
|
/// <summary>
|
|
/// Interface for audio-to-text transcription functionality.
|
|
/// </summary>
|
|
public interface IAudioToTextProvider
|
|
{
|
|
/// <summary>
|
|
/// Transcribes audio from a stream to text.
|
|
/// </summary>
|
|
/// <param name="audioStream">The audio stream to transcribe</param>
|
|
/// <param name="modelName">The model name to use for transcription (e.g., whisper-large-v3)</param>
|
|
/// <param name="cancellationToken">Cancellation token</param>
|
|
/// <returns>The transcribed text</returns>
|
|
Task<string> TranscribeAsync(
|
|
Stream audioStream,
|
|
string modelName,
|
|
string? language = null,
|
|
CancellationToken cancellationToken = default);
|
|
}
|