Documentation
¶
Index ¶
- func AudioFrameFromPCM(frame PCMFrame) (*model.AudioFrame, error)
- func DataEnabled(opts Options) bool
- func HandleTextInput(ctx context.Context, responder TextResponder, text string) error
- func HandleTextInputEvent(ctx context.Context, responder TextResponder, ev TextInputEvent) error
- func PublishAudioEnabled(value *bool) bool
- func PublishDataEnabled(value *bool) bool
- func PublishReasoning(ctx context.Context, publisher DataPublisher, role string, text string, ...) error
- func PublishTranscript(ctx context.Context, publisher DataPublisher, role string, text string, ...) error
- func SubscribeAudioEnabled(value *bool) bool
- type AudioFrameReceiver
- type AudioHandler
- type AudioInput
- type AudioOutput
- type ChannelClient
- type DataMessage
- type DataMessageHandler
- type DataMessageSubscriber
- type DataPublisher
- type Event
- type EventHandler
- type EventKind
- type Options
- type PCMFrame
- type PCMFramePublisher
- type RTMMessageRouter
- type TextInputEvent
- type TextInputHandler
- type TextInputTranscriber
- type TextResponder
- type TextTurnClaimer
- type TranscriptForwarder
- type TranscriptForwarderOptions
- type Transport
- func (t *Transport) Close(ctx context.Context) error
- func (t *Transport) Events() <-chan Event
- func (t *Transport) Join(ctx context.Context) error
- func (t *Transport) Leave(ctx context.Context) error
- func (t *Transport) PublishPCM(ctx context.Context, frame PCMFrame) error
- func (t *Transport) SetAudioHandler(handler AudioHandler)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AudioFrameFromPCM ¶
func AudioFrameFromPCM(frame PCMFrame) (*model.AudioFrame, error)
func DataEnabled ¶
func HandleTextInput ¶
func HandleTextInput(ctx context.Context, responder TextResponder, text string) error
func HandleTextInputEvent ¶
func HandleTextInputEvent(ctx context.Context, responder TextResponder, ev TextInputEvent) error
func PublishAudioEnabled ¶
func PublishDataEnabled ¶
func PublishReasoning ¶
func PublishTranscript ¶
func SubscribeAudioEnabled ¶
Types ¶
type AudioFrameReceiver ¶
type AudioFrameReceiver interface {
OnAudioFrame(context.Context, *model.AudioFrame)
}
type AudioHandler ¶
type AudioHandler func(*model.AudioFrame)
type AudioInput ¶
type AudioInput struct {
// contains filtered or unexported fields
}
func NewAudioInput ¶
func NewAudioInput(ctx context.Context, receiver AudioFrameReceiver) *AudioInput
func (*AudioInput) HandleAudioFrame ¶
func (i *AudioInput) HandleAudioFrame(frame *model.AudioFrame)
func (*AudioInput) HandlePCM ¶
func (i *AudioInput) HandlePCM(frame PCMFrame) error
type AudioOutput ¶
type AudioOutput struct {
// contains filtered or unexported fields
}
func NewAudioOutput ¶
func NewAudioOutput(publisher PCMFramePublisher) *AudioOutput
func (*AudioOutput) PublishAudio ¶
func (o *AudioOutput) PublishAudio(ctx context.Context, frame *model.AudioFrame) error
type ChannelClient ¶
type ChannelClient interface {
Join(context.Context, Options, EventHandler, AudioHandler) error
Leave(context.Context) error
PublishPCM(context.Context, PCMFrame) error
}
func NewSDKChannelClient ¶
func NewSDKChannelClient() (ChannelClient, error)
type DataMessage ¶
type DataMessageHandler ¶
type DataMessageHandler func(context.Context, DataMessage) error
type DataMessageSubscriber ¶
type DataMessageSubscriber interface {
SetDataMessageHandler(DataMessageHandler)
}
type DataPublisher ¶
type DataPublisher interface {
PublishData(context.Context, []byte) error
Close(context.Context) error
}
func NewSDKDataPublisher ¶
func NewSDKDataPublisher(Options) (DataPublisher, error)
type EventHandler ¶
type EventHandler func(Event)
type Options ¶
type Options struct {
AppID string
AppCertificate string
Channel string
UID string
RemoteStreamID string
Token string
RTMUserID string
RTMToken string
PublishAudio *bool
SubscribeAudio *bool
PublishData *bool
RTMEnabled *bool
}
func ResolveDataOptions ¶
func ResolveJoinOptions ¶
type PCMFramePublisher ¶
type RTMMessageRouter ¶
type RTMMessageRouter struct {
AgentUserID string
Channel string
TextInput TextInputHandler
}
func (RTMMessageRouter) HandleDataMessage ¶
func (r RTMMessageRouter) HandleDataMessage(ctx context.Context, msg DataMessage) error
type TextInputEvent ¶
type TextInputHandler ¶
type TextInputHandler func(context.Context, TextInputEvent) error
type TextInputTranscriber ¶
type TextInputTranscriber interface {
EmitUserInputTranscribed(agent.UserInputTranscribedEvent)
}
type TextResponder ¶
type TextTurnClaimer ¶
type TranscriptForwarder ¶
type TranscriptForwarder struct {
// contains filtered or unexported fields
}
func NewTranscriptForwarder ¶
func NewTranscriptForwarder(session *agent.AgentSession, publisher DataPublisher, opts TranscriptForwarderOptions) *TranscriptForwarder
func (*TranscriptForwarder) Start ¶
func (f *TranscriptForwarder) Start(ctx context.Context)
type Transport ¶
type Transport struct {
// contains filtered or unexported fields
}
func NewTransport ¶
func NewTransport(opts Options, client ChannelClient) *Transport
func (*Transport) PublishPCM ¶
func (*Transport) SetAudioHandler ¶
func (t *Transport) SetAudioHandler(handler AudioHandler)
Click to show internal directories.
Click to hide internal directories.