provideropts

package
v0.48.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 28, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package provideropts defines SpeechKit's provider-neutral voice option vocabulary and the manifest/resolve types used by concrete provider adapters.

Index

Constants

View Source
const (
	SchemaProviderOptions = "speechkit.provider_options.v1"
	ManifestUpdated       = "2026-06-23"

	ModalitySTT        = "stt"
	ModalityTTS        = "tts"
	ModalityVoiceAgent = "voice_agent"
)

Variables

This section is empty.

Functions

func ManifestsByProvider

func ManifestsByProvider() map[string][]ProviderOptionManifest

Types

type EffectiveOption

type EffectiveOption struct {
	ID      OptionID      `json:"id"`
	Value   any           `json:"value,omitempty"`
	Source  ValueSource   `json:"source"`
	Support OptionSupport `json:"support"`
}

type EffectiveOptions

type EffectiveOptions struct {
	Provider    string                       `json:"provider"`
	Modality    string                       `json:"modality"`
	ProfileID   string                       `json:"profileId,omitempty"`
	Options     map[OptionID]EffectiveOption `json:"options"`
	Unsupported []UnsupportedOptionReport    `json:"unsupported,omitempty"`
}

func Resolve

func Resolve(input ResolveInput) EffectiveOptions

func (EffectiveOptions) Bool

func (e EffectiveOptions) Bool(id OptionID) bool

func (EffectiveOptions) Float

func (e EffectiveOptions) Float(id OptionID) float64

func (EffectiveOptions) Int

func (e EffectiveOptions) Int(id OptionID) int

func (EffectiveOptions) String

func (e EffectiveOptions) String(id OptionID) string

func (EffectiveOptions) StringList

func (e EffectiveOptions) StringList(id OptionID) []string

func (EffectiveOptions) Value

func (e EffectiveOptions) Value(id OptionID) any

type OptionDefinition

type OptionDefinition struct {
	ID          OptionID   `json:"id"`
	Label       string     `json:"label"`
	Description string     `json:"description,omitempty"`
	Type        OptionType `json:"type"`
	Advanced    bool       `json:"advanced,omitempty"`
}

type OptionID

type OptionID string
const (
	OptionLanguage           OptionID = "language"
	OptionDetectLanguage     OptionID = "detect_language"
	OptionPunctuation        OptionID = "punctuation"
	OptionSmartFormat        OptionID = "smart_format"
	OptionDictation          OptionID = "dictation"
	OptionFillerWords        OptionID = "filler_words"
	OptionNumerals           OptionID = "numerals"
	OptionVocabularyBias     OptionID = "vocabulary_bias"
	OptionKeyterms           OptionID = "keyterms"
	OptionPromptHint         OptionID = "prompt_hint"
	OptionSpeakerDiarization OptionID = "speaker_diarization"
	OptionTimestamps         OptionID = "timestamps"
	OptionEndpointingMs      OptionID = "endpointing_ms"
	OptionTurnDetection      OptionID = "turn_detection"
	OptionVoice              OptionID = "voice"
	OptionSpeed              OptionID = "speed"
	OptionAudioFormat        OptionID = "audio_format"
	OptionContextPrompt      OptionID = "context_prompt"
	OptionLanguageHints      OptionID = "language_hints"
	OptionPrivacyRedaction   OptionID = "privacy_redaction"
	OptionVoiceFocus         OptionID = "voice_focus"
	OptionMedicalDomain      OptionID = "medical_domain"
	OptionReasoningEffort    OptionID = "reasoning_effort"
	OptionTranslation        OptionID = "translation"
	OptionTranscriptionOnly  OptionID = "transcription_only"
	OptionResume             OptionID = "resume"
)

type OptionSupport

type OptionSupport struct {
	ID          OptionID         `json:"id"`
	Status      SupportStatus    `json:"status"`
	NativeKey   string           `json:"nativeKey,omitempty"`
	Implemented bool             `json:"implemented"`
	EvidenceURL string           `json:"evidenceUrl,omitempty"`
	Notes       string           `json:"notes,omitempty"`
	Definition  OptionDefinition `json:"definition"`
}

type OptionType

type OptionType string
const (
	TypeString     OptionType = "string"
	TypeBool       OptionType = "bool"
	TypeInt        OptionType = "int"
	TypeFloat      OptionType = "float"
	TypeStringList OptionType = "string_list"
)

type ProviderOptionManifest

type ProviderOptionManifest struct {
	Schema     string          `json:"schema"`
	Updated    string          `json:"updated"`
	Provider   string          `json:"provider"`
	Label      string          `json:"label"`
	Modality   string          `json:"modality"`
	ProfileIDs []string        `json:"profileIds,omitempty"`
	Options    []OptionSupport `json:"options"`
}

func DefaultManifests

func DefaultManifests() []ProviderOptionManifest

func FindManifest

func FindManifest(provider, modality string) (ProviderOptionManifest, bool)

func (ProviderOptionManifest) SupportByID

func (m ProviderOptionManifest) SupportByID() map[OptionID]OptionSupport

type ResolveInput

type ResolveInput struct {
	Manifest          ProviderOptionManifest
	ProfileID         string
	ProviderDefaults  Values
	GlobalDefaults    Values
	ProviderOverrides Values
	RequestOverrides  Values
}

type SupportStatus

type SupportStatus string
const (
	SupportNative          SupportStatus = "native"
	SupportEmulated        SupportStatus = "emulated"
	SupportDerived         SupportStatus = "derived"
	SupportUnsupported     SupportStatus = "unsupported"
	SupportProviderDefault SupportStatus = "provider_default"
)

type UnsupportedOptionReport

type UnsupportedOptionReport struct {
	ID        OptionID    `json:"id"`
	Source    ValueSource `json:"source"`
	Value     any         `json:"value,omitempty"`
	Provider  string      `json:"provider"`
	Modality  string      `json:"modality"`
	ProfileID string      `json:"profileId,omitempty"`
	Reason    string      `json:"reason"`
}

type ValueSource

type ValueSource string
const (
	SourceUnset            ValueSource = "unset"
	SourceProviderDefault  ValueSource = "provider_default"
	SourceGlobalDefault    ValueSource = "global"
	SourceProviderOverride ValueSource = "provider_override"
	SourceRequestOverride  ValueSource = "request_override"
)

type Values

type Values map[OptionID]any

func (Values) Bool

func (v Values) Bool(id OptionID) bool

func (Values) Clone

func (v Values) Clone() Values

func (Values) Float

func (v Values) Float(id OptionID) float64

func (Values) Get

func (v Values) Get(id OptionID) any

func (Values) Has

func (v Values) Has(id OptionID) bool

func (Values) Int

func (v Values) Int(id OptionID) int

func (Values) Merge

func (v Values) Merge(other Values) Values

func (Values) String

func (v Values) String(id OptionID) string

func (Values) StringList

func (v Values) StringList(id OptionID) []string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL