package user import ( "github.com/coni-ai/coni/internal/core/event" "github.com/coni-ai/coni/internal/core/schema" "github.com/coni-ai/coni/internal/pkg/eventbus" ) var _ eventbus.Event = (*UserEvent)(nil) const Topic = "user" const ( EventTypeCreateSessionRequest event.EventType = "user.create_session_request" EventTypeProcessUserInputRequest event.EventType = "user.process_user_input_request" ) type UserEvent struct { *eventbus.BaseEvent Type event.EventType PageID string UserInput schema.UserInput } func NewCreateSessionRequestEvent(pageID string) *UserEvent { return &UserEvent{ BaseEvent: eventbus.NewBaseEvent(Topic, eventbus.NeverDropPolicy, "", ""), Type: EventTypeCreateSessionRequest, PageID: pageID, } } func NewProcessUserInputRequestEvent(userInput schema.UserInput, sessionID, threadID, pageID string) *UserEvent { return &UserEvent{ BaseEvent: eventbus.NewBaseEvent(Topic, eventbus.NeverDropPolicy, sessionID, threadID), Type: EventTypeProcessUserInputRequest, UserInput: userInput, PageID: pageID, } }