Documentation
¶
Index ¶
- func TestFocusOptimizer_AdaptSchedule(t *testing.T)
- func TestFocusOptimizer_AnalyzeFocusTimePatterns(t *testing.T)
- func TestFocusOptimizer_CalculateBlockDuration(t *testing.T)
- func TestFocusOptimizer_CalculateConfidence(t *testing.T)
- func TestFocusOptimizer_CalculateDeepWorkStats(t *testing.T)
- func TestFocusOptimizer_FindLeastProductiveDay(t *testing.T)
- func TestFocusOptimizer_FindMostProductiveDay(t *testing.T)
- func TestFocusOptimizer_FindPeakProductivityBlocks(t *testing.T)
- func TestFocusOptimizer_GenerateInsights(t *testing.T)
- func TestFocusOptimizer_GenerateRecommendedBlocks(t *testing.T)
- func TestFocusOptimizer_OptimizeMeetingDuration(t *testing.T)
- func TestFocusOptimizer_ShouldProtectBlock(t *testing.T)
- func TestFocusOptimizer_TimesOverlap(t *testing.T)
- type CalendarClient
- type ConflictResolver
- type FocusOptimizer
- func (f *FocusOptimizer) AdaptSchedule(ctx context.Context, grantID string, trigger domain.AdaptiveTrigger) (*domain.AdaptiveScheduleChange, error)
- func (f *FocusOptimizer) AnalyzeFocusTimePatterns(ctx context.Context, grantID string, settings *domain.FocusTimeSettings) (*domain.FocusTimeAnalysis, error)
- func (f *FocusOptimizer) CreateProtectedBlocks(ctx context.Context, grantID string, blocks []domain.FocusTimeBlock, ...) ([]*domain.ProtectedBlock, error)
- func (f *FocusOptimizer) OptimizeMeetingDuration(ctx context.Context, grantID string, calendarID string, eventID string) (*domain.DurationOptimization, error)
- type MeetingScorer
- type PatternLearner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CalendarClient ¶
type CalendarClient interface {
GetCalendars(ctx context.Context, grantID string) ([]domain.Calendar, error)
GetEvents(ctx context.Context, grantID, calendarID string, params *domain.EventQueryParams) ([]domain.Event, error)
}
CalendarClient defines the minimal calendar interface needed for pattern learning.
type ConflictResolver ¶
type ConflictResolver struct {
// contains filtered or unexported fields
}
ConflictResolver detects and resolves scheduling conflicts.
func NewConflictResolver ¶
func NewConflictResolver(client CalendarClient, patterns *domain.MeetingPattern) *ConflictResolver
NewConflictResolver creates a new conflict resolver.
func (*ConflictResolver) DetectConflicts ¶
func (cr *ConflictResolver) DetectConflicts(ctx context.Context, grantID string, proposed *domain.Event, patterns *domain.MeetingPattern) (*domain.ConflictAnalysis, error)
DetectConflicts analyzes a proposed event for conflicts.
type FocusOptimizer ¶
type FocusOptimizer struct {
// contains filtered or unexported fields
}
FocusOptimizer provides AI-powered focus time protection and optimization.
func NewFocusOptimizer ¶
func NewFocusOptimizer(nylasClient ports.NylasClient) *FocusOptimizer
NewFocusOptimizer creates a new focus time optimizer.
func (*FocusOptimizer) AdaptSchedule ¶
func (f *FocusOptimizer) AdaptSchedule(ctx context.Context, grantID string, trigger domain.AdaptiveTrigger) (*domain.AdaptiveScheduleChange, error)
AdaptSchedule performs real-time adaptive schedule optimization.
func (*FocusOptimizer) AnalyzeFocusTimePatterns ¶
func (f *FocusOptimizer) AnalyzeFocusTimePatterns(ctx context.Context, grantID string, settings *domain.FocusTimeSettings) (*domain.FocusTimeAnalysis, error)
AnalyzeFocusTimePatterns analyzes productivity patterns and recommends focus time blocks.
func (*FocusOptimizer) CreateProtectedBlocks ¶
func (f *FocusOptimizer) CreateProtectedBlocks(ctx context.Context, grantID string, blocks []domain.FocusTimeBlock, settings *domain.FocusTimeSettings) ([]*domain.ProtectedBlock, error)
func (*FocusOptimizer) OptimizeMeetingDuration ¶
func (f *FocusOptimizer) OptimizeMeetingDuration(ctx context.Context, grantID string, calendarID string, eventID string) (*domain.DurationOptimization, error)
OptimizeMeetingDuration analyzes meetings and recommends duration optimizations.
type MeetingScorer ¶
type MeetingScorer struct {
// contains filtered or unexported fields
}
MeetingScorer scores meetings based on learned patterns.
func NewMeetingScorer ¶
func NewMeetingScorer(patterns *domain.MeetingPattern) *MeetingScorer
NewMeetingScorer creates a new meeting scorer.
func (*MeetingScorer) ScoreMeetingTime ¶
func (s *MeetingScorer) ScoreMeetingTime(proposedTime time.Time, participants []string, duration int) *domain.MeetingScore
ScoreMeetingTime scores a proposed meeting time based on historical patterns.
type PatternLearner ¶
type PatternLearner struct {
// contains filtered or unexported fields
}
PatternLearner analyzes calendar history to learn meeting patterns.
func NewPatternLearner ¶
func NewPatternLearner(client CalendarClient) *PatternLearner
NewPatternLearner creates a new pattern learner.
func NewPatternLearnerWithWorkingHours ¶
func NewPatternLearnerWithWorkingHours(client CalendarClient, workingHours *domain.DaySchedule) *PatternLearner
NewPatternLearnerWithWorkingHours creates a pattern learner with working hours config.
func (*PatternLearner) AnalyzeHistory ¶
func (p *PatternLearner) AnalyzeHistory(ctx context.Context, grantID string, days int) (*domain.MeetingAnalysis, error)
AnalyzeHistory analyzes meeting history to learn patterns.