mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-08-05 10:23:55 +00:00
internal/tts becomes a thin backward-compat alias over internal/audio: 15 type aliases, 6 constants, 5 constructors, 5 compile-time signature guards. All pre-refactor callers compile unchanged. alias_test.go enforces symbol coverage and type identity. Old per-provider files (manager, types, elevenlabs, openai, edge, minimax) are removed in the same commit to keep history bisectable.
75 lines
2.6 KiB
Go
75 lines
2.6 KiB
Go
// Package tts is a thin backward-compat alias over internal/audio.
|
|
//
|
|
// The real implementation lives in internal/audio (TTS + STT + Music + SFX
|
|
// unified manager). This file preserves the legacy 24-symbol surface so that
|
|
// pre-Phase-1 callers continue to compile unchanged. New code should import
|
|
// internal/audio directly — the aliases here will be removed after all
|
|
// callers migrate.
|
|
//
|
|
// Contract: every exported symbol that existed in the pre-Phase-1 tts package
|
|
// has an alias or constructor below. If you add a new exported symbol to
|
|
// internal/audio that previously lived in tts, also add it here — and to the
|
|
// alias_test.go symbol-coverage test.
|
|
package tts
|
|
|
|
import (
|
|
"github.com/nextlevelbuilder/goclaw/internal/audio"
|
|
"github.com/nextlevelbuilder/goclaw/internal/audio/edge"
|
|
"github.com/nextlevelbuilder/goclaw/internal/audio/elevenlabs"
|
|
"github.com/nextlevelbuilder/goclaw/internal/audio/minimax"
|
|
"github.com/nextlevelbuilder/goclaw/internal/audio/openai"
|
|
)
|
|
|
|
// --- Types (15) ---
|
|
|
|
type Manager = audio.Manager
|
|
type Provider = audio.TTSProvider
|
|
type Options = audio.TTSOptions
|
|
type SynthResult = audio.SynthResult
|
|
type AutoMode = audio.AutoMode
|
|
type Mode = audio.Mode
|
|
type ManagerConfig = audio.ManagerConfig
|
|
type EdgeConfig = edge.Config
|
|
type EdgeProvider = edge.Provider
|
|
type ElevenLabsConfig = elevenlabs.Config
|
|
type ElevenLabsProvider = elevenlabs.TTSProvider
|
|
type MiniMaxConfig = minimax.Config
|
|
type MiniMaxProvider = minimax.Provider
|
|
type OpenAIConfig = openai.Config
|
|
type OpenAIProvider = openai.Provider
|
|
|
|
// --- Constants (6) ---
|
|
|
|
const (
|
|
AutoOff = audio.AutoOff
|
|
AutoAlways = audio.AutoAlways
|
|
AutoInbound = audio.AutoInbound
|
|
AutoTagged = audio.AutoTagged
|
|
ModeFinal = audio.ModeFinal
|
|
ModeAll = audio.ModeAll
|
|
)
|
|
|
|
// --- Constructors (5) ---
|
|
|
|
var (
|
|
NewManager = audio.NewManager
|
|
NewEdgeProvider = edge.NewProvider
|
|
NewElevenLabsProvider = elevenlabs.NewTTSProvider
|
|
NewMiniMaxProvider = minimax.NewProvider
|
|
NewOpenAIProvider = openai.NewProvider
|
|
)
|
|
|
|
// --- Compile-time signature guards (5) ---
|
|
//
|
|
// These catch silent argument-type divergence when an audio.* constructor is
|
|
// refactored. Go's package-level `var x = fn` elides signature checks — these
|
|
// explicit typed assignments restore them.
|
|
|
|
var (
|
|
_ func(audio.ManagerConfig) *audio.Manager = NewManager
|
|
_ func(edge.Config) *edge.Provider = NewEdgeProvider
|
|
_ func(elevenlabs.Config) *elevenlabs.TTSProvider = NewElevenLabsProvider
|
|
_ func(minimax.Config) *minimax.Provider = NewMiniMaxProvider
|
|
_ func(openai.Config) *openai.Provider = NewOpenAIProvider
|
|
)
|