mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-10-04 18:13:27 +00:00
- Add per-tenant TTS configuration endpoints (GET/POST /v1/tts/config) with RoleAdmin auth instead of master scope - Implement TenantTTSResolver for channels to use tenant-specific TTS providers and auto mode settings - Add per-agent voice override in channel TTS auto-apply: - Extend OutboundMessage with AgentID and AgentOtherConfig - Inject AgentAudioSnapshot in dispatch.go from outbound message - MaybeApply reads tts_voice_id/tts_model_id from agent context - Fix events.go to use RunContext.TenantID directly (H3) - Fix dispatch.go error notification to use sendCtx (H1) - Update UI to use new /v1/tts/config endpoints
24 lines
528 B
Go
24 lines
528 B
Go
package agent
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
|
|
"github.com/google/uuid"
|
|
|
|
"github.com/nextlevelbuilder/goclaw/internal/providers"
|
|
)
|
|
|
|
// Agent is the core abstraction for an AI agent execution loop.
|
|
// Implemented by *Loop; extracted as an interface for testability and composability.
|
|
type Agent interface {
|
|
ID() string
|
|
UUID() uuid.UUID
|
|
OtherConfig() json.RawMessage
|
|
Run(ctx context.Context, req RunRequest) (*RunResult, error)
|
|
IsRunning() bool
|
|
Model() string
|
|
ProviderName() string
|
|
Provider() providers.Provider
|
|
}
|