agent-orchestrator/backend/internal/ports/notifications.go

28 lines
721 B
Go

package ports
import (
"time"
"github.com/aoagents/agent-orchestrator/backend/internal/domain"
)
// NotificationIntent is the lifecycle-to-notification-producer contract. It is
// not an HTTP DTO; lifecycle fills it from facts it already has after the
// underlying session/PR state write succeeds.
type NotificationIntent struct {
Type domain.NotificationType
SessionID domain.SessionID
ProjectID domain.ProjectID
PRURL string
CreatedAt time.Time
// Enrichment hints. These avoid storage reads on the hot path.
SessionDisplayName string
PRNumber int
PRTitle string
PRSourceBranch string
PRTargetBranch string
Provider string
Repo string
}