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
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
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
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
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
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