Documentation
¶
Overview ¶
Package deviceagent implements the LAN-side SpeechKit device agent contract.
Index ¶
Constants ¶
View Source
const (
ProtocolVersion = "speechkit.device_agent.v0"
)
Variables ¶
View Source
var ( ErrMissingServerURL = errors.New("speechkit deviceagent: server_url is required") ErrMissingHomeAssistantURL = errors.New("speechkit deviceagent: home_assistant_url is required") ErrMissingHomeAssistantToken = errors.New("speechkit deviceagent: home_assistant_token is required") ErrMissingAssistText = errors.New("speechkit deviceagent: assist text is required") )
Functions ¶
This section is empty.
Types ¶
type Agent ¶
type Agent struct {
// contains filtered or unexported fields
}
func (*Agent) RunFakeAssistCycle ¶
func (a *Agent) RunFakeAssistCycle(ctx context.Context, opts CycleOptions) (*CycleResult, error)
type AudioDevice ¶
type Capabilities ¶
type CycleOptions ¶
type CycleResult ¶
type DeviceDescriptor ¶
type DeviceDescriptor struct {
AgentID string `json:"agent_id"`
DeviceID string `json:"device_id"`
DisplayName string `json:"display_name,omitempty"`
RoomID string `json:"room_id,omitempty"`
CaptureDevice AudioDevice `json:"capture_device"`
OutputDevice AudioDevice `json:"output_device"`
Wakeword Wakeword `json:"wakeword"`
}
type Event ¶
type Event struct {
Type string `json:"type"`
Surface string `json:"surface"`
Mode string `json:"mode"`
SessionID string `json:"session_id,omitempty"`
DeviceID string `json:"device_id"`
RoomID string `json:"room_id,omitempty"`
CapturePolicy string `json:"capture_policy,omitempty"`
Transport string `json:"transport,omitempty"`
Text string `json:"text,omitempty"`
SpeakText string `json:"speak_text,omitempty"`
ReasonCode string `json:"reason_code,omitempty"`
At time.Time `json:"at"`
Metadata map[string]string `json:"metadata,omitempty"`
}
type Registration ¶
type Registration struct {
Version string `json:"version"`
RegisteredAt time.Time `json:"registered_at"`
Device DeviceDescriptor `json:"device"`
Capabilities Capabilities `json:"capabilities"`
Health Health `json:"health"`
Pairing Pairing `json:"pairing"`
}
type RegistrationAck ¶
Click to show internal directories.
Click to hide internal directories.