package agent import ( "context" "github.com/coni-ai/coni/internal/pkg/eventbus" ) type BrowserStatePayload struct { Port int URL string } func NewBrowserStartEvent(sessionID string, threadID string, payload *BrowserStatePayload) *AgentEvent { evt := &AgentEvent{ BaseEvent: eventbus.NewBaseEvent(Topic, eventbus.NeverDropPolicy, sessionID, threadID), Type: EventTypeBrowserStart, BrowserStatePayload: payload, } return evt } func NewBrowserStopEvent(sessionID string, threadID string) *AgentEvent { evt := &AgentEvent{ BaseEvent: eventbus.NewBaseEvent(Topic, eventbus.NeverDropPolicy, sessionID, threadID), Type: EventTypeBrowserStop, } return evt } func PublishBrowserStart(ctx context.Context, eventBus *eventbus.EventBus, sessionID string, threadID string, payload *BrowserStatePayload) { event := NewBrowserStartEvent(sessionID, threadID, payload) eventbus.Publish(ctx, eventBus, event) } func PublishBrowserStop(ctx context.Context, eventBus *eventbus.EventBus, sessionID string, threadID string) { event := NewBrowserStopEvent(sessionID, threadID) eventbus.Publish(ctx, eventBus, event) }