analytics

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TestFocusOptimizer_AdaptSchedule

func TestFocusOptimizer_AdaptSchedule(t *testing.T)

func TestFocusOptimizer_AnalyzeFocusTimePatterns

func TestFocusOptimizer_AnalyzeFocusTimePatterns(t *testing.T)

func TestFocusOptimizer_CalculateBlockDuration

func TestFocusOptimizer_CalculateBlockDuration(t *testing.T)

func TestFocusOptimizer_CalculateConfidence

func TestFocusOptimizer_CalculateConfidence(t *testing.T)

func TestFocusOptimizer_CalculateDeepWorkStats

func TestFocusOptimizer_CalculateDeepWorkStats(t *testing.T)

func TestFocusOptimizer_FindLeastProductiveDay

func TestFocusOptimizer_FindLeastProductiveDay(t *testing.T)

func TestFocusOptimizer_FindMostProductiveDay

func TestFocusOptimizer_FindMostProductiveDay(t *testing.T)

func TestFocusOptimizer_FindPeakProductivityBlocks

func TestFocusOptimizer_FindPeakProductivityBlocks(t *testing.T)

func TestFocusOptimizer_GenerateInsights

func TestFocusOptimizer_GenerateInsights(t *testing.T)

func TestFocusOptimizer_GenerateRecommendedBlocks

func TestFocusOptimizer_GenerateRecommendedBlocks(t *testing.T)

func TestFocusOptimizer_OptimizeMeetingDuration

func TestFocusOptimizer_OptimizeMeetingDuration(t *testing.T)

func TestFocusOptimizer_ShouldProtectBlock

func TestFocusOptimizer_ShouldProtectBlock(t *testing.T)

func TestFocusOptimizer_TimesOverlap

func TestFocusOptimizer_TimesOverlap(t *testing.T)

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.

Jump to

Keyboard shortcuts

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