event

package
v1.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2026 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AgentReplyConsumer

type AgentReplyConsumer struct {
	// contains filtered or unexported fields
}

AgentReplyConsumer ingests an agent's chat reply (emitted by agent-service after a chat-triggered run) and posts it into the conversation as the agent participant via the chat service. Inbox-deduped on the message id; PostAgentReply is additionally idempotent on the client message id.

func NewAgentReplyConsumer

func NewAgentReplyConsumer(rabbitmq messaging.MessageBroker, chatSvc domain.ConversationSvc, inboxRepo messaging.InboxRepo, tracer trace.Tracer) *AgentReplyConsumer

func (*AgentReplyConsumer) Listen

func (c *AgentReplyConsumer) Listen(ctx context.Context) error

type AgentReplyPatchConsumer

type AgentReplyPatchConsumer struct {
	// contains filtered or unexported fields
}

AgentReplyPatchConsumer streams partial-body updates into an in-flight agent reply (emitted by agent-service as a chat-triggered run produces tokens). Each patch carries the full accumulated body, so it is idempotent and not inbox-deduped: the latest patch wins and the final reply reconciles the row. Best-effort — a failed patch is dropped (logged, acked) rather than retried, since a fresher patch or the finalize will supersede it.

func NewAgentReplyPatchConsumer

func NewAgentReplyPatchConsumer(rabbitmq messaging.MessageBroker, chatSvc domain.ConversationSvc, tracer trace.Tracer) *AgentReplyPatchConsumer

func (*AgentReplyPatchConsumer) Listen

type CustomerRegisteredConsumer

type CustomerRegisteredConsumer struct {
	// contains filtered or unexported fields
}

CustomerRegisteredConsumer turns core.event.customer_registered events into a bell notification to the seller's customer-service support-route group, so the team can follow up on new portal registrations.

func NewCustomerRegisteredConsumer

func NewCustomerRegisteredConsumer(rabbitmq messaging.MessageBroker, messagingSvc domain.MessagingSvc, inboxRepo messaging.InboxRepo, tracer trace.Tracer) *CustomerRegisteredConsumer

func (*CustomerRegisteredConsumer) Listen

type InboundEmailConsumer

type InboundEmailConsumer struct {
	// contains filtered or unexported fields
}

InboundEmailConsumer polls the inbound-email SQS queue. Each message is an S3 ObjectCreated event for a raw .eml the SES receipt rule stored; the consumer fetches it, parses the MIME, and hands the result to the conversation service to thread + dispatch. Dedup is by rfc Message-ID downstream.

func NewInboundEmailConsumer

func NewInboundEmailConsumer(queue sqsclient.Queue, store s3client.ObjectStore, chatSvc domain.ConversationSvc, tracer trace.Tracer) *InboundEmailConsumer

func (*InboundEmailConsumer) Listen

func (c *InboundEmailConsumer) Listen(ctx context.Context) error

Listen starts the polling loop in a goroutine and returns immediately.

type MessagingConsumer

type MessagingConsumer struct {
	// contains filtered or unexported fields
}

MessagingConsumer processes notification.cmd.fanout intents into per-recipient notification rows (plus realtime pushes) via the messaging service.

func NewMessagingConsumer

func NewMessagingConsumer(rabbitmq messaging.MessageBroker, messagingSvc domain.MessagingSvc, inboxRepo messaging.InboxRepo, tracer trace.Tracer) *MessagingConsumer

func (*MessagingConsumer) Listen

func (c *MessagingConsumer) Listen(ctx context.Context) error

type NotificationConsumer

type NotificationConsumer struct {
	// contains filtered or unexported fields
}

func NewNotificationConsumer

func NewNotificationConsumer(rabbitmq messaging.MessageBroker, notificationSvc domain.NotificationSvc, inboxRepo messaging.InboxRepo, templateRenderer email.TemplateRenderer, tracer trace.Tracer) *NotificationConsumer

func (*NotificationConsumer) Listen

func (c *NotificationConsumer) Listen(ctx context.Context) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL