VoiceAgentConfig class


VoiceAgent — the canonical streaming voice AI loop.

Available extensions

Constructors

VoiceAgentConfig({String? llmModelId, String? sttModelId, String? ttsModelId, String? vadModelId, int? sampleRateHz, int? chunkMs, AudioSource? audioSource, bool? enableBargeIn, int? bargeInThresholdMs, String? systemPrompt, int? maxContextTokens, double? temperature, bool? emitPartials, bool? emitThoughts, String? audioFilePath, SolutionType? typeKind, String? ttsVoiceId})
factory
VoiceAgentConfig.fromBuffer(List<int> data, [ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY])
factory
VoiceAgentConfig.fromJson(String json, [ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY])
factory

Properties

audioFilePath String
Absolute path to an audio file. Required when audio_source is AUDIO_SOURCE_FILE; ignored for MICROPHONE / CALLBACK sources.
getter/setter pair
audioSource AudioSource
getter/setter pair
bargeInThresholdMs int
getter/setter pair
chunkMs int
getter/setter pair
emitPartials bool
Emit partial transcripts as UserSaidEvent{is_final=false}.
getter/setter pair
emitThoughts bool
Emit thought tokens (qwen3, deepseek-r1) separately from answer tokens.
getter/setter pair
enableBargeIn bool
Barge-in behavior.
getter/setter pair
hashCode int
Calculates a hash code based on the contents of the protobuf.
no setterinherited
info_ → BuilderInfo
no setter
isFrozen bool
Returns true if this message is marked read-only. Otherwise false.
no setterinherited
llmModelId String
Model identifiers — resolved against the model registry.
getter/setter pair
maxContextTokens int
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sampleRateHz int
Audio configuration.
getter/setter pair
sttModelId String
getter/setter pair
systemPrompt String
LLM behavior.
getter/setter pair
temperature double
getter/setter pair
ttsModelId String
getter/setter pair
ttsVoiceId String
pass3-syn-025/030: explicit TTS voice id for multi-voice TTS engines (Piper, eSpeak-NG, Sherpa-ONNX-TTS multi-voice). When unset, callers fall back to using tts_model_id as the voice id — correct for single-voice engines, wrong for multi-voice. Aligns the caller-facing VoiceAgentConfig with the commons-facing RAVoiceAgentComposeConfig (voice_agent_service.proto:214) which already exposes tts_voice_id.
getter/setter pair
typeKind SolutionType
Optional explicit solution-kind tag. Redundant with the SolutionConfig oneof arm; provided so callers that pass this message standalone (or log it) can read a single discriminator. Defaults to UNSPECIFIED.
getter/setter pair
unknownFields → UnknownFieldSet
no setterinherited
vadModelId String
getter/setter pair

Methods

addExtension(Extension extension, Object? value) → void
Adds an extension field value to a repeated field.
inherited
check() → void
Throws a StateError if the message has required fields without a value.
inherited
clear() → void
Clears all data that was set in this message.
inherited
clearAudioFilePath() → void
clearAudioSource() → void
clearBargeInThresholdMs() → void
clearChunkMs() → void
clearEmitPartials() → void
clearEmitThoughts() → void
clearEnableBargeIn() → void
clearExtension(Extension extension) → void
Clears an extension field and also removes the extension.
inherited
clearField(int tagNumber) → void
Clears the contents of a given field.
inherited
clearLlmModelId() → void
clearMaxContextTokens() → void
clearSampleRateHz() → void
clearSttModelId() → void
clearSystemPrompt() → void
clearTemperature() → void
clearTtsModelId() → void
clearTtsVoiceId() → void
clearTypeKind() → void
clearVadModelId() → void
clone() VoiceAgentConfig
Creates a deep copy of the fields in this message.
copyWith(void updates(VoiceAgentConfig)) VoiceAgentConfig
Apply updates to a copy of this message.
createEmptyInstance() VoiceAgentConfig
Creates an empty instance of the same message type as this.
deepCopy() → T

Available on T, provided by the GeneratedMessageGenericExtensions extension

Returns a writable deep copy of this message.
extensionsAreInitialized() bool
inherited
freeze() → GeneratedMessage
Make this message read-only.
inherited
getDefaultForField(int tagNumber) → dynamic
Returns the default value for the given field.
inherited
getExtension(Extension extension) → dynamic
Returns the value of extension.
inherited
getField(int tagNumber) → dynamic
Returns the value of the field associated with tagNumber, or the default value if it is not set.
inherited
getFieldOrNull(int tagNumber) → dynamic
Returns the value of a field, ignoring any defaults.
inherited
getTagNumber(String fieldName) int?
inherited
hasAudioFilePath() bool
hasAudioSource() bool
hasBargeInThresholdMs() bool
hasChunkMs() bool
hasEmitPartials() bool
hasEmitThoughts() bool
hasEnableBargeIn() bool
hasExtension(Extension extension) bool
Returns true if a value of extension is present.
inherited
hasField(int tagNumber) bool
Whether this message has a field associated with tagNumber.
inherited
hasLlmModelId() bool
hasMaxContextTokens() bool
hasRequiredFields() bool
Whether the message has required fields.
inherited
hasSampleRateHz() bool
hasSttModelId() bool
hasSystemPrompt() bool
hasTemperature() bool
hasTtsModelId() bool
hasTtsVoiceId() bool
hasTypeKind() bool
hasVadModelId() bool
isInitialized() bool
Whether all required fields in the message and embedded messages are set.
inherited
mergeFromBuffer(List<int> input, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges serialized protocol buffer data into this message.
inherited
mergeFromCodedBufferReader(CodedBufferReader input, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Same as mergeFromBuffer, but takes a CodedBufferReader input.
inherited
mergeFromJson(String data, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges field values from data, a JSON object, encoded as described by GeneratedMessage.writeToJson.
inherited
mergeFromJsonMap(Map<String, dynamic> json, [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) → void
Merges field values from a JSON object represented as a Dart map.
inherited
mergeFromMessage(GeneratedMessage other) → void
Merges the contents of the other into this message.
inherited
mergeFromProto3Json(Object? json, {TypeRegistry typeRegistry = const TypeRegistry.empty(), bool ignoreUnknownFields = false, bool supportNamesWithUnderscores = true, bool permissiveEnums = false}) → void
Merges field values from json, a JSON object using proto3 encoding.
inherited
mergeUnknownFields(UnknownFieldSet unknownFieldSet) → void
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
rebuild(void updates(T)) → T

Available on T, provided by the GeneratedMessageGenericExtensions extension

Apply updates to a copy of this message.
setExtension(Extension extension, Object value) → void
Sets the value of a non-repeated extension field to value.
inherited
setField(int tagNumber, Object value) → void
Sets the value of a field by its tagNumber.
inherited
toBuilder() → GeneratedMessage
Creates a writable, shallow copy of this message.
inherited
toDebugString() String
Returns a String representation of this message.
inherited
toProto3Json({TypeRegistry typeRegistry = const TypeRegistry.empty()}) Object?
Returns an Object representing Proto3 JSON serialization of this.
inherited
toString() String
Returns a String representation of this message.
inherited
writeToBuffer() Uint8List
Serialize the message as the protobuf binary format.
inherited
writeToCodedBufferWriter(CodedBufferWriter output) → void
Same as writeToBuffer, but serializes to the given CodedBufferWriter.
inherited
writeToJson() String
Returns a JSON string that encodes this message.
inherited
writeToJsonMap() Map<String, dynamic>
Returns the JSON encoding of this message as a Dart Map.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

create() VoiceAgentConfig
getDefault() VoiceAgentConfig