app

package
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2026 License: MIT Imports: 112 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	Server          *worker.AgentServer
	Agent           *agent.Agent
	Session         *agent.AgentSession
	RealtimeModel   llm.RealtimeModel
	Evaluator       *evals.JudgeGroup
	MCPServers      []llm.MCPServer
	MetricsRegistry *telemetry.MetricRegistry
	RoomIO          *workerlivekit.RoomIO
	RoomOptions     workerlivekit.RoomOptions
	Config          AppConfig
	// contains filtered or unexported fields
}

func Init

func Init(cfg AppConfig) (*App, error)

func NewApp

func NewApp(cfg AppConfig) (*App, error)

func (*App) Close

func (a *App) Close(ctx context.Context) error

func (*App) EvaluateSession

func (a *App) EvaluateSession(ctx context.Context, reference *llm.ChatContext) (*EvaluationSummary, error)

type AppConfig

type AppConfig struct {
	WorkerOptions   worker.WorkerOptions
	Agora           workeragora.Options
	AgoraGreeting   string
	Logger          livekitlogger.Logger
	MetricsRegistry *telemetry.MetricRegistry
	Instructions    string

	TelemetryLogsEndpoint string
	TelemetryLogsHeaders  map[string]string

	InitialChatContext                      map[string]any
	AWSRegion                               string
	LLMProvider                             string
	LLMModel                                string
	LLMBaseURL                              string
	LLMModelOptions                         map[string]any
	LLMExtraHeaders                         map[string]string
	LLMExtraBody                            map[string]any
	LLMFallbackProviders                    []string
	LLMParallelToolCalls                    *bool
	LLMResponseFormat                       map[string]any
	STTProvider                             string
	STTFallbackProviders                    []string
	STTModel                                string
	STTLanguage                             string
	STTEncoding                             string
	STTChainID                              string
	STTDetectLanguage                       bool
	STTPunctuate                            *bool
	STTSpokenPunctuation                    *bool
	STTProfanityFilter                      *bool
	STTTagAudioEvents                       *bool
	STTIncludeTimestamps                    *bool
	STTWordTimestamps                       *bool
	STTWordConfidence                       *bool
	STTInterimResults                       *bool
	STTSmartFormat                          *bool
	STTNoDelay                              *bool
	STTEndpointingMS                        *int
	STTSpeechStartTimeoutMS                 *int
	STTDiarization                          *bool
	STTMultiSpeaker                         *bool
	STTFillerWords                          *bool
	STTVADEvents                            *bool
	STTNumerals                             *bool
	STTMIPOptOut                            *bool
	STTKeywords                             []deepgram.DeepgramKeyword
	STTRedact                               []string
	STTTags                                 []string
	STTTask                                 string
	STTChunkLevel                           string
	STTVersion                              string
	STTTemperature                          *float64
	STTSkipVAD                              *bool
	STTVADKwargs                            map[string]any
	STTTextTimeoutSeconds                   *float64
	STTTimestampGranularities               []string
	STTCodeSwitching                        *bool
	STTBitDepth                             *int
	STTEndpointingSeconds                   *float64
	STTMaxDurationWithoutEndpointingSeconds *float64
	STTRegion                               string
	STTCustomVocabulary                     []any
	STTCustomSpelling                       map[string][]string
	STTTranslationTargetLanguages           []string
	STTTranslationSourceLanguages           []string
	STTTranslationModel                     string
	STTOutputLocale                         string
	STTOperatingPoint                       string
	STTTranslationMatchOriginalUtterances   *bool
	STTTranslationLipsync                   *bool
	STTTranslationContextAdaptation         *bool
	STTTranslationContext                   string
	STTTranslationInformal                  *bool
	STTPreProcessingAudioEnhancer           *bool
	STTPreProcessingSpeechThreshold         *float64
	STTPrompt                               string
	STTBaseURL                              string
	STTModelEndpoints                       []string
	STTStreamingURL                         string
	STTStreaming                            *bool
	STTSampleRate                           *int
	STTBufferSizeSeconds                    *float64
	STTAudioChunkDurationMS                 *int
	STTMinTurnSilence                       *int
	STTMaxTurnSilence                       *int
	STTEndOfTurnConfidenceThreshold         *float64
	STTMinConfidenceThreshold               *float64
	STTVoiceActivityEvents                  *bool
	STTFormatTurns                          *bool
	STTLanguageDetection                    *bool
	STTContinuousPartials                   *bool
	STTInterruptionDelay                    *int
	STTKeytermsPrompt                       []string
	STTVADThreshold                         *float64
	STTVADSilenceThresholdSeconds           *float64
	STTVADSpeechPadMS                       *int
	STTSpeakerLabels                        *bool
	STTMaxSpeakers                          *int
	STTDomain                               string
	STTVocabularyName                       string
	STTSessionID                            string
	STTVocabularyFilterMethod               string
	STTVocabularyFilterName                 string
	STTEnableChannelIdentification          *bool
	STTNumberOfChannels                     *int
	STTEnablePartialStabilization           *bool
	STTPartialResultsStability              string
	STTLanguageModelName                    string
	STTIdentifyLanguage                     *bool
	STTIdentifyMultipleLanguages            *bool
	STTLanguageOptions                      string
	STTPreferredLanguage                    string
	STTVocabularyNames                      string
	STTVocabularyFilterNames                string
	STTOrganizationID                       string
	STTUserID                               string
	STTVADBucket                            *int
	STTVADFlush                             *bool
	STTVoiceProfile                         *bool
	STTVoiceProfileTopN                     *int
	STTMinEndOfTurnSilenceWhenConfident     *int
	STTMinSpeakers                          *int
	STTModelOptions                         map[string]any
	STTPositiveSpeechThreshold              *float64
	STTNegativeSpeechThreshold              *float64
	STTMinSpeechFrames                      *int
	STTFirstTurnMinSpeechFrames             *int
	STTNegativeFramesCount                  *int
	STTNegativeFramesWindow                 *int
	STTStartSpeechVolumeThreshold           *float64
	STTInterruptMinSpeechFrames             *int
	STTPreSpeechPadFrames                   *int
	STTNumInitialIgnoredFrames              *int
	STTPreferCurrentSpeaker                 *bool
	VADProvider                             string
	VADMinSpeechDuration                    *float64
	VADMinSilenceDuration                   *float64
	VADPrefixPaddingDuration                *float64
	VADPaddingDuration                      *float64
	VADMaxBufferedSpeech                    *float64
	VADActivationThreshold                  *float64
	VADDeactivationThreshold                *float64
	VADUpdateInterval                       *float64
	VADSampleRate                           *int
	AvatarProvider                          string
	TurnDetectorProvider                    string
	BackgroundAudioAmbient                  string
	BackgroundAudioThinking                 string
	TTSProvider                             string
	TTSFallbackProviders                    []string
	TTSModel                                string
	TTSVoice                                string
	TTSGender                               string
	TTSRefAudio                             string
	TTSVoiceID                              string
	TTSVoiceProvider                        string
	TTSLanguage                             string
	TTSEncoding                             string
	TTSSampleRate                           *int
	TTSSpeed                                float64
	TTSSpeedSet                             bool
	TTSTemperature                          *float64
	TTSTopP                                 *float64
	TTSMaxTokens                            *int
	TTSBufferSize                           *int
	TTSEnhanceNamedEntities                 *bool
	TTSEnableSSMLParsing                    *bool
	TTSAPIVersion                           string
	TTSWordTimestamps                       *bool
	TTSVoiceEmbedding                       []float64
	TTSEmotion                              string
	TTSVolume                               *float64
	TTSPronunciationDictID                  string
	TTSMIPOptOut                            *bool
	TTSLatencyMode                          string
	TTSChunkLength                          *int
	TTSInstructions                         string
	TTSResponseFormat                       string
	TTSBaseURL                              string
	TTSWebsocketURL                         string
	TTSTextType                             string
	TTSNumberOfChannels                     *int
	TTSSampleWidth                          *int
	TTSJSONConfig                           map[string]any
	TTSBitRate                              *int
	TTSSpeakingRate                         *float64
	TTSTrailingSilence                      *float64
	TTSInstantMode                          *bool
	TTSPitch                                *int
	TTSTimestampType                        string
	TTSLoudnessNormalization                *bool
	TTSTextNormalization                    *bool
	TTSDeliveryMode                         string
	TTSStreaming                            *bool
	TTSTokenizerProvider                    string
	TTSTokenizerLanguage                    string
	TTSTokenizerMinSentenceLen              *int
	TTSTokenizerStreamContextLen            *int
	TTSTextReplacements                     map[string]string
	TTSTextTransforms                       []string
	DisableTTSTextTransforms                bool
	WordTokenizerProvider                   string
	WordTokenizerLanguage                   string
	TTSStreamPacerEnabled                   bool
	TTSStreamPacerMinRemainingAudioMS       *int
	TTSStreamPacerMaxTextLength             *int
	TTSTimestampTransportStrategy           string
	TTSBufferCharThreshold                  *int
	TTSMaxBufferDelayMS                     *int
	TTSContextGenerationID                  string
	TTSContextUtterances                    []hume.HumeTTSUtterance
	TTSRegion                               string
	TTSModelOptions                         map[string]any
	RealtimeProvider                        string
	RealtimeModel                           string
	RealtimeBaseURL                         string
	RealtimeVoice                           string
	RealtimeTurnDetection                   string
	RealtimeGenerateReplyTimeoutSeconds     *float64
	RealtimeModelOptions                    map[string]any

	OpenAIAPIKey                string
	AnamAPIKey                  string
	AnthropicAPIKey             string
	AvatarioAPIKey              string
	AvatarTalkAPIKey            string
	BeyAPIKey                   string
	BitHumanAPIKey              string
	GoogleAPIKey                string
	ElevenLabsAPIKey            string
	GroqAPIKey                  string
	CerebrasAPIKey              string
	ClovaSTTSecret              string
	ClovaSTTInvokeURL           string
	ClovaClientID               string
	ClovaClientSecret           string
	CometAPIKey                 string
	DeepSeekAPIKey              string
	DIDAPIKey                   string
	DIDAgentID                  string
	FalAPIKey                   string
	FireworksAPIKey             string
	FishAudioAPIKey             string
	GladiaAPIKey                string
	GnaniAPIKey                 string
	GradiumAPIKey               string
	HedraAPIKey                 string
	HumeAPIKey                  string
	InworldAPIKey               string
	KeyframeAPIKey              string
	LangChainAPIKey             string
	LemonSliceAPIKey            string
	LettaAPIKey                 string
	LiveAvatarAPIKey            string
	LMNTAPIKey                  string
	MinimaxAPIKey               string
	MistralAPIKey               string
	MurfAPIKey                  string
	NeuphonicAPIKey             string
	NebiusAPIKey                string
	NvidiaAPIKey                string
	OctoAIAPIKey                string
	OpenRouterAPIKey            string
	OVHCloudAPIKey              string
	PerplexityAPIKey            string
	PhonicAPIKey                string
	ResembleAPIKey              string
	RespeecherAPIKey            string
	RimeAPIKey                  string
	RtzrClientID                string
	RtzrClientSecret            string
	RtzrAccessToken             string
	RunwayAPISecret             string
	RunwayAvatarID              string
	RunwayPresetID              string
	RunwayMaxDuration           *int
	SambaNovaAPIKey             string
	SarvamAPIKey                string
	SimliAPIKey                 string
	SimplismartAPIKey           string
	SmallestAIAPIKey            string
	SLNGAPIKey                  string
	SonioxAPIKey                string
	SpeechifyAPIKey             string
	SpeechmaticsAPIKey          string
	SpitchAPIKey                string
	TavusAPIKey                 string
	TelnyxAPIKey                string
	TogetherAPIKey              string
	TrugenAPIKey                string
	UltravoxAPIKey              string
	UpliftAIAPIKey              string
	XAIAPIKey                   string
	AnthropicTools              []string
	AnthropicComputerWidth      *int
	AnthropicComputerHeight     *int
	XAITools                    []string
	XAIAllowedXHandles          []string
	XAIFileSearchVectorStoreIDs []string
	XAIFileSearchMaxResults     *int

	GoogleCredentialsFile string

	LiveKitInferenceAPIKey                string
	LiveKitInferenceAPISecret             string
	AppTools                              []string
	MCPStdioServers                       []MCPStdioServerConfig
	MCPHTTPServers                        []MCPHTTPServerConfig
	IVRDetection                          bool
	IVRSilenceDurationSeconds             *float64
	WorkflowTask                          string
	WorkflowRequireConfirmation           bool
	WorkflowAddressPersona                string
	WorkflowAddressExtraInstructions      string
	WorkflowEmailPersona                  string
	WorkflowEmailExtraInstructions        string
	WorkflowDtmfNumDigits                 *int
	WorkflowDtmfAskConfirmation           *bool
	WorkflowDtmfInputTimeoutSeconds       *float64
	WorkflowDtmfStopEvent                 string
	WorkflowDtmfExtraInstructions         string
	WorkflowPhoneNumberExtraInstructions  string
	WorkflowDOBExtraInstructions          string
	WorkflowDOBIncludeTime                bool
	WorkflowNameFirstName                 *bool
	WorkflowNameMiddleName                *bool
	WorkflowNameLastName                  *bool
	WorkflowNameFormat                    string
	WorkflowNameVerifySpelling            bool
	WorkflowNameExtraInstructions         string
	WorkflowWarmTransferSipCallTo         string
	WorkflowWarmTransferSipTrunkID        string
	WorkflowWarmTransferSipConnection     *livekit.SIPOutboundConfig
	WorkflowWarmTransferSipNumber         string
	WorkflowWarmTransferSipHeaders        map[string]string
	WorkflowWarmTransferDTMF              string
	WorkflowWarmTransferRingingTimeout    *float64
	WorkflowWarmTransferHoldAudio         string
	WorkflowWarmTransferDisableHoldAudio  bool
	WorkflowWarmTransferPersona           string
	WorkflowWarmTransferExtraInstructions string
	WorkflowTaskGroupTasks                []string
	EvalJudges                            []string
}

func DefaultConfigFromEnv

func DefaultConfigFromEnv() AppConfig

type EvaluationSummary

type EvaluationSummary struct {
	Result         *evals.EvaluationResult
	Score          float64
	AllPassed      bool
	AnyPassed      bool
	MajorityPassed bool
	NoneFailed     bool
}

type MCPHTTPServerConfig

type MCPHTTPServerConfig struct {
	URL           string            `json:"url"`
	TransportType string            `json:"transportType"`
	AllowedTools  []string          `json:"allowedTools"`
	Headers       map[string]string `json:"headers"`
}

type MCPStdioServerConfig

type MCPStdioServerConfig struct {
	Command string            `json:"command"`
	Args    []string          `json:"args"`
	Env     map[string]string `json:"env"`
	Cwd     string            `json:"cwd"`
}

Jump to

Keyboard shortcuts

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