Documentation
¶
Index ¶
- Constants
- func RegisterWebSocketRoutes(r gin.IRouter, publisher eventbus.Publisher)
- type Connection
- type Connector
- func (c *Connector) BroadcastSend(message ServerMessage)
- func (c *Connector) ChannelCode() string
- func (c *Connector) GetAllClientIDs() []string
- func (c *Connector) GetMessenger() *Messenger
- func (c *Connector) RegisterRoutes(r gin.IRouter)
- func (c *Connector) SendMessageToClient(clientID string, message ServerMessage) bool
- type ConnectorInterface
- type Manager
- func (m *Manager) GetConnectedClients() []string
- func (m *Manager) GetMessenger() *Messenger
- func (m *Manager) IsInitialized() bool
- func (m *Manager) SendAgentResult(clientID, taskID, resultType, result string) error
- func (m *Manager) SendAgentStatusUpdate(clientID, taskID, status, message string) error
- func (m *Manager) SendAgentStepUpdate(clientID, taskID, step, details string) error
- func (m *Manager) SendLogMessage(clientID, taskID, logLevel, message string) error
- func (m *Manager) SendMessage(clientID, msgType string, payload map[string]interface{}) error
- func (m *Manager) SetConnector(connector ConnectorInterface)
- type Message
- type MessageDestination
- type Messenger
- func (m *Messenger) SendAgentResult(clientID, taskID, resultType, result string) error
- func (m *Messenger) SendAgentStatusUpdate(clientID, taskID, status, message string) error
- func (m *Messenger) SendAgentStepUpdate(clientID, taskID, step, details string) error
- func (m *Messenger) SendLogMessage(clientID, taskID, logLevel, message string) error
- func (m *Messenger) SendMessage(dest MessageDestination, msgType string, payload map[string]interface{}) error
- type ServerMessage
Constants ¶
const ChannelCodeValue = "websocket"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Connection ¶
type Connection struct {
// contains filtered or unexported fields
}
Connection represents a single WebSocket connection
type Connector ¶
type Connector struct {
// contains filtered or unexported fields
}
Connector handles client WebSocket connections
func NewConnector ¶
func (*Connector) BroadcastSend ¶
func (c *Connector) BroadcastSend(message ServerMessage)
func (*Connector) ChannelCode ¶
func (*Connector) GetAllClientIDs ¶
func (*Connector) GetMessenger ¶
func (*Connector) RegisterRoutes ¶
func (*Connector) SendMessageToClient ¶
func (c *Connector) SendMessageToClient(clientID string, message ServerMessage) bool
type ConnectorInterface ¶
type ConnectorInterface interface {
GetMessenger() *Messenger
GetAllClientIDs() []string
SendMessageToClient(clientID string, message ServerMessage) bool
BroadcastSend(message ServerMessage)
}
ConnectorInterface defines methods needed from the connector for messaging
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager holds a reference to the connector for messaging
func GetManager ¶
func GetManager() *Manager
GetManager returns the default singleton instance of manager
func (*Manager) GetConnectedClients ¶
GetConnectedClients returns a list of all connected client IDs
func (*Manager) GetMessenger ¶
GetMessenger returns an interface for sending messages to clients, or nil if not initialized
func (*Manager) IsInitialized ¶
IsInitialized returns true if the manager has been properly initialized
func (*Manager) SendAgentResult ¶
SendAgentResult sends the final result of an agent's work to clients
func (*Manager) SendAgentStatusUpdate ¶
SendAgentStatusUpdate sends an agent status update to clients
func (*Manager) SendAgentStepUpdate ¶
SendAgentStepUpdate sends a step-by-step update from an agent during execution
func (*Manager) SendLogMessage ¶
SendLogMessage sends a detailed log message during agent execution
func (*Manager) SendMessage ¶
SendMessage broadcasts a message to a specific client or all clients
func (*Manager) SetConnector ¶
func (m *Manager) SetConnector(connector ConnectorInterface)
SetConnector sets the connector instance that will be used for messaging
type Message ¶
type Message struct {
Type string `json:"type"`
Payload map[string]interface{} `json:"payload"`
ID string `json:"id,omitempty"`
}
Message represents possible message types from clients
type MessageDestination ¶
type MessageDestination struct {
ClientID string `json:"client_id"`
TaskID string `json:"task_id"`
}
MessageDestination specifies who should receive the message
type Messenger ¶
type Messenger struct {
// contains filtered or unexported fields
}
Messenger provides interface to send messages to clients
func (*Messenger) SendAgentResult ¶
func (*Messenger) SendAgentStatusUpdate ¶
func (*Messenger) SendAgentStepUpdate ¶
func (*Messenger) SendLogMessage ¶
func (*Messenger) SendMessage ¶
func (m *Messenger) SendMessage(dest MessageDestination, msgType string, payload map[string]interface{}) error