@optifye/dashboard-core 6.12.13 → 6.12.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -136,6 +136,7 @@ interface LineDetailedMetrics {
136
136
  output_array: number[];
137
137
  output_hourly?: Record<string, number[]>;
138
138
  hourly_target_output?: Array<number | null> | null;
139
+ hourly_target_output_by_sku?: Record<string, Array<number | null> | null>;
139
140
  line_threshold: number;
140
141
  /** Summed real-SKU `performance_metrics.total_day_output_recalculated`. */
141
142
  output_target_recalculated?: number | null;
@@ -1098,6 +1099,7 @@ interface WorkspaceMonthlyMetric {
1098
1099
  ideal_cycle_time?: number;
1099
1100
  ideal_output: number;
1100
1101
  total_day_output: number;
1102
+ target_output?: number;
1101
1103
  avg_pph: number;
1102
1104
  pph_threshold: number;
1103
1105
  workspace_rank: number;
@@ -1118,6 +1120,7 @@ interface LineMonthlyMetric {
1118
1120
  current_output?: number;
1119
1121
  ideal_output?: number;
1120
1122
  line_threshold?: number;
1123
+ target_output?: number;
1121
1124
  idle_time_hourly?: Record<string, any> | null;
1122
1125
  active_time_seconds?: number;
1123
1126
  idle_time_seconds?: number;
@@ -5824,7 +5827,10 @@ declare const dashboardService: {
5824
5827
  calculateKPIs(lineInfo: LineInfo): DashboardKPIs;
5825
5828
  getAllLines(): Promise<SimpleLine[]>;
5826
5829
  getDetailedLineInfo(lineIdInput?: string, dateProp?: string, shiftProp?: number, providedShiftConfig?: ShiftConfig): Promise<LineInfo | null>;
5827
- getWorkspaceMonthlyData(workspaceUuid: string, month: number, year: number): Promise<WorkspaceMonthlyMetric[]>;
5830
+ getWorkspaceMonthlyData(workspaceUuid: string, month: number, year: number, options?: {
5831
+ startDate?: string;
5832
+ endDate?: string;
5833
+ }): Promise<WorkspaceMonthlyMetric[]>;
5828
5834
  getLineMonthlyData(lineIdInput: string, month: number, year: number, options?: {
5829
5835
  startDate?: string;
5830
5836
  endDate?: string;
@@ -6995,6 +7001,7 @@ declare const getMonthKeyBounds: (year: number, monthIndex: number) => DateKeyRa
6995
7001
  declare const getCurrentWeekToDateRange: (timezone: string, now?: Date) => DateKeyRange;
6996
7002
  declare const getCurrentWeekFullRange: (timezone: string, now?: Date) => DateKeyRange;
6997
7003
  declare const normalizeDateKeyRange: (startKey: string, endKey: string, minKey: string, maxKey: string) => DateKeyRange;
7004
+ declare const normalizeDateKeyRangeUnbounded: (startKey: string, endKey: string) => DateKeyRange;
6998
7005
  declare const isFullMonthRange: (range: DateKeyRange, year: number, monthIndex: number) => boolean;
6999
7006
  declare const getMonthlyTrendComparisonLabel: (range: DateKeyRange, year: number, monthIndex: number) => string;
7000
7007
  declare const getMonthWeekRanges: (year: number, monthIndex: number, timezone: string, maxKey?: string) => MonthWeekRange[];
@@ -10818,4 +10825,4 @@ interface ThreadSidebarProps {
10818
10825
  }
10819
10826
  declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
10820
10827
 
10821
- export { ACTION_FAMILIES, ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type AccessScope$1 as AccessScope, type Action, type ActionFamily, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AppRoleLevel, type AssignUserToFactoriesInput, type AssignUserToLinesInput, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, AuthService, type AuthStatus, type AuthUser, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, type AvatarUploadProps, type AwardBadgeType, type AwardNotificationRecord, type AwardNotificationType, type AwardRecord, type AwardType, AxelNotificationPopup, type AxelNotificationPopupProps, AxelOrb, type AxelOrbProps, type AxelSuggestion, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, BottleneckClipsModal, type BottleneckClipsModalProps, type BottleneckClipsNavigationParams, BottleneckClipsView, type BottleneckClipsViewProps, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, type CalendarShiftData, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangeRoleDialog, type ChangeRoleDialogProps, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, ClipsCostView, CompactWorkspaceHealthCard, type CompanyUsageReport, type CompanyUser, type CompanyUserUsageSummary, type CompanyUserWithDetails, type ComponentOverride, ConfirmRemoveUserDialog, type ConfirmRemoveUserDialogProps, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CountDelta, type CreateInvitationInput, type CropConfig, CroppedHlsVideoPlayer, type CroppedHlsVideoPlayerProps, CroppedVideoPlayer, type CroppedVideoPlayerProps, type CurrentShiftResult, type CurrentWorkspaceSKU, CycleTimeChart, type CycleTimeChartProps, CycleTimeOverTimeChart, type CycleTimeOverTimeChartProps, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_HOME_VIEW_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DashboardSurface, type DatabaseConfig, DateDisplay, type DateKeyRange, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DummyAware, type DurationDelta, type DynamicLineShiftConfig, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type Factory, FactoryAssignmentDropdown, type FactoryAssignmentDropdownProps, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, type FetchIdleTimeReasonsParams, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, HealthDateShiftSelector, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HomeViewConfig, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, HourlyUptimeChart, type HourlyUptimeChartProps, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, type IdleTimeClipMetadata, type IdleTimeReason, type IdleTimeReasonData, type IdleTimeReasonsData, type IdleTimeReasonsResponse, IdleTimeVlmConfigProvider, ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, InvitationsTable, InviteUserDialog, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, type KpiAreaNode, type KpiFactoryNode, type KpiLineHierarchy, type KpiTrend, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineAssignmentDropdown, type LineAssignmentDropdownProps, LineChart, type LineChartDataItem, type LineChartProps, type LineDetailedMetrics, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineIssueResolutionSummary, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineRecord, type LineShiftConfig, type LineShiftInfo, type LineSkuBreakdownItem, type LineSnapshot, type LineSupervisor, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LinesService, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, Logo, type LogoProps, MainLayout, type MainLayoutProps, MapGridView, type MapViewConfig, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, MinimalOnboardingPopup, type MixpanelSessionOptions, MobileMenuProvider, type MobileMenuProviderProps, type MonthWeekRange, type MonthlyTrendSummary, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NewClipsNotification, type NewClipsNotificationProps, NoWorkspaceData, OnboardingDemo, OnboardingTour, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, type PercentageDelta, PieChart, type PieChartProps, PlantHeadView, PlayPauseIndicator, type PlayPauseIndicatorProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, ROOT_DASHBOARD_EVENT_NAMES, type RateLimitOptions, type RateLimitResult, type RealtimeLineMetricsProps, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoleAssignmentKind, RoleBadge, type RoleMetadata, type RoutePath, type S3ClipsAPIParams, S3ClipsSupabaseService as S3ClipsService, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, SENTRY_HANDLED_EVENT_SESSION_LIMIT, SENTRY_HANDLED_EVENT_WINDOW_MS, SENTRY_QUOTA_STORAGE_KEY, type SKU, type SKUConfig, SKUManagementView, type SOPCategory$1 as SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SentryCaptureOptions, type SentryCaptureSeverity, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, type SettingsPopupItem, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftLineGroup, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, SignupWithInvitation, type SignupWithInvitationProps, SilentErrorBoundary, type SimpleLine, SimpleOnboardingPopup, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type SkuBreakdownItem, type SkuSegmentItem, type StatusChangeCallback$1 as StatusChangeCallback, type StorageService, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, type SupervisorDetail, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorLine, type SupervisorManagementData, SupervisorManagementView, type SupervisorManagementViewProps, SupervisorService, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type TeamManagementPermissions, TeamManagementView, type TeamManagementViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, type TicketsConfig, TicketsView, type TicketsViewProps, TimeDisplay, TimePickerDropdown, Timer, TimezoneProvider, TimezoneService, type TodayUsage, type TodayUsageData, type TodayUsageReport, type TopPerformerRecord, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserNameInput, type UpdateUserProfileInput, type UpdateUserRoleInput, type UptimeDetails, UptimeDonutChart, type UptimeDonutChartProps, UptimeLineChart, type UptimeLineChartProps, UptimeMetricCards, type UptimeMetricCardsProps, type UptimeStatus$1 as UptimeStatus, type UsageBreakdown, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseCompanyUsersUsageOptions, type UseCompanyUsersUsageReturn, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseIdleTimeReasonsProps, type UseIdleTimeReasonsResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UseMultiLineShiftConfigsResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseSupervisorsByLineIdsResult, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseUserUsageOptions, type UseUserUsageReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, UserAvatar, type UserAvatarProps, type UserInvitation, UserManagementService, UserManagementTable, type UserProfileConfig, type UserRole, type UserRoleLevel, UserService, type UserUsageDetail, UserUsageDetailModal, type UserUsageDetailModalProps, type UserUsageInfo, UserUsageStats, type UserUsageStatsProps, type UserUsageSummary, type ValueDelta, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, type VideoGridMetricMode, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WeeklyTopPerformerRecord, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, type WorkspaceCameraIpInfo, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig$1 as WorkspaceConfig, type WorkspaceCropRect, WorkspaceCycleTimeMetricCards, type WorkspaceCycleTimeMetricCardsProps, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, type WorkspaceDowntimeSegment, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceGridPosition, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, type WorkspaceHealthStatusData, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, WorkspaceMonthlyHistory, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUptimeTimeline, type WorkspaceUptimeTimelinePoint, type WorkspaceUrlMapping, type WorkspaceVideoStream, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, addSentryBreadcrumb, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildKpiLineHierarchy, buildLineSkuBreakdown, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureHandledFrontendException, captureSentryException, captureSentryMessage, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, combineLineMetricsRows, countRealSkus, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, fetchLineDummySkuId, fetchLineSkuCatalog, filterDataByDateKeyRange, filterRealSkuBreakdown, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getActionDisplayName, getActiveShift, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDateKeyFromValue, getDayDateKey, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getMonthlyTrendComparisonLabel, getNextUpdateInterval, getOperationalDate, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isIgnorableFrontendError, isLegacyConfiguration, isLoopbackHostname, isPrefetchError, isRealSku, isRecentFlowVideoGridMetricMode, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWipGatedVideoGridMetricMode, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeActionFamily, normalizeDateKeyRange, normalizeRoleLevel, normalizeVideoGridMetricMode, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, pickPreferredLineMetricsRow, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSentryQuotaForTests, resetSubscriptionManager, resolveDefaultSkuId, resolveLiveSkuId, s3VideoPreloader, selectPreferredLineMetricsRow, setSentryUserContext, setSentryWorkspaceContext, shouldEnableLocalDevTestLogin, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyFastSlowClipFiltersEnabled, useCompanyHasVlmEnabledLine, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
10828
+ export { ACTION_FAMILIES, ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type AccessScope$1 as AccessScope, type Action, type ActionFamily, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AppRoleLevel, type AssignUserToFactoriesInput, type AssignUserToLinesInput, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, AuthService, type AuthStatus, type AuthUser, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, type AvatarUploadProps, type AwardBadgeType, type AwardNotificationRecord, type AwardNotificationType, type AwardRecord, type AwardType, AxelNotificationPopup, type AxelNotificationPopupProps, AxelOrb, type AxelOrbProps, type AxelSuggestion, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, BottleneckClipsModal, type BottleneckClipsModalProps, type BottleneckClipsNavigationParams, BottleneckClipsView, type BottleneckClipsViewProps, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, type CalendarShiftData, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangeRoleDialog, type ChangeRoleDialogProps, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, ClipsCostView, CompactWorkspaceHealthCard, type CompanyUsageReport, type CompanyUser, type CompanyUserUsageSummary, type CompanyUserWithDetails, type ComponentOverride, ConfirmRemoveUserDialog, type ConfirmRemoveUserDialogProps, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CountDelta, type CreateInvitationInput, type CropConfig, CroppedHlsVideoPlayer, type CroppedHlsVideoPlayerProps, CroppedVideoPlayer, type CroppedVideoPlayerProps, type CurrentShiftResult, type CurrentWorkspaceSKU, CycleTimeChart, type CycleTimeChartProps, CycleTimeOverTimeChart, type CycleTimeOverTimeChartProps, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_HOME_VIEW_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DashboardSurface, type DatabaseConfig, DateDisplay, type DateKeyRange, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DummyAware, type DurationDelta, type DynamicLineShiftConfig, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type Factory, FactoryAssignmentDropdown, type FactoryAssignmentDropdownProps, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, type FetchIdleTimeReasonsParams, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, HealthDateShiftSelector, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HomeViewConfig, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, HourlyUptimeChart, type HourlyUptimeChartProps, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, type IdleTimeClipMetadata, type IdleTimeReason, type IdleTimeReasonData, type IdleTimeReasonsData, type IdleTimeReasonsResponse, IdleTimeVlmConfigProvider, ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, InvitationsTable, InviteUserDialog, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, type KpiAreaNode, type KpiFactoryNode, type KpiLineHierarchy, type KpiTrend, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineAssignmentDropdown, type LineAssignmentDropdownProps, LineChart, type LineChartDataItem, type LineChartProps, type LineDetailedMetrics, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineIssueResolutionSummary, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineRecord, type LineShiftConfig, type LineShiftInfo, type LineSkuBreakdownItem, type LineSnapshot, type LineSupervisor, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LinesService, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, Logo, type LogoProps, MainLayout, type MainLayoutProps, MapGridView, type MapViewConfig, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, MinimalOnboardingPopup, type MixpanelSessionOptions, MobileMenuProvider, type MobileMenuProviderProps, type MonthWeekRange, type MonthlyTrendSummary, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NewClipsNotification, type NewClipsNotificationProps, NoWorkspaceData, OnboardingDemo, OnboardingTour, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, type PercentageDelta, PieChart, type PieChartProps, PlantHeadView, PlayPauseIndicator, type PlayPauseIndicatorProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, ROOT_DASHBOARD_EVENT_NAMES, type RateLimitOptions, type RateLimitResult, type RealtimeLineMetricsProps, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoleAssignmentKind, RoleBadge, type RoleMetadata, type RoutePath, type S3ClipsAPIParams, S3ClipsSupabaseService as S3ClipsService, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, SENTRY_HANDLED_EVENT_SESSION_LIMIT, SENTRY_HANDLED_EVENT_WINDOW_MS, SENTRY_QUOTA_STORAGE_KEY, type SKU, type SKUConfig, SKUManagementView, type SOPCategory$1 as SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SentryCaptureOptions, type SentryCaptureSeverity, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, type SettingsPopupItem, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftLineGroup, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, SignupWithInvitation, type SignupWithInvitationProps, SilentErrorBoundary, type SimpleLine, SimpleOnboardingPopup, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type SkuBreakdownItem, type SkuSegmentItem, type StatusChangeCallback$1 as StatusChangeCallback, type StorageService, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, type SupervisorDetail, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorLine, type SupervisorManagementData, SupervisorManagementView, type SupervisorManagementViewProps, SupervisorService, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type TeamManagementPermissions, TeamManagementView, type TeamManagementViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, type TicketsConfig, TicketsView, type TicketsViewProps, TimeDisplay, TimePickerDropdown, Timer, TimezoneProvider, TimezoneService, type TodayUsage, type TodayUsageData, type TodayUsageReport, type TopPerformerRecord, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserNameInput, type UpdateUserProfileInput, type UpdateUserRoleInput, type UptimeDetails, UptimeDonutChart, type UptimeDonutChartProps, UptimeLineChart, type UptimeLineChartProps, UptimeMetricCards, type UptimeMetricCardsProps, type UptimeStatus$1 as UptimeStatus, type UsageBreakdown, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseCompanyUsersUsageOptions, type UseCompanyUsersUsageReturn, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseIdleTimeReasonsProps, type UseIdleTimeReasonsResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UseMultiLineShiftConfigsResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseSupervisorsByLineIdsResult, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseUserUsageOptions, type UseUserUsageReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, UserAvatar, type UserAvatarProps, type UserInvitation, UserManagementService, UserManagementTable, type UserProfileConfig, type UserRole, type UserRoleLevel, UserService, type UserUsageDetail, UserUsageDetailModal, type UserUsageDetailModalProps, type UserUsageInfo, UserUsageStats, type UserUsageStatsProps, type UserUsageSummary, type ValueDelta, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, type VideoGridMetricMode, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WeeklyTopPerformerRecord, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, type WorkspaceCameraIpInfo, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig$1 as WorkspaceConfig, type WorkspaceCropRect, WorkspaceCycleTimeMetricCards, type WorkspaceCycleTimeMetricCardsProps, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, type WorkspaceDowntimeSegment, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceGridPosition, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, type WorkspaceHealthStatusData, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, WorkspaceMonthlyHistory, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUptimeTimeline, type WorkspaceUptimeTimelinePoint, type WorkspaceUrlMapping, type WorkspaceVideoStream, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, addSentryBreadcrumb, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildKpiLineHierarchy, buildLineSkuBreakdown, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureHandledFrontendException, captureSentryException, captureSentryMessage, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, combineLineMetricsRows, countRealSkus, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, fetchLineDummySkuId, fetchLineSkuCatalog, filterDataByDateKeyRange, filterRealSkuBreakdown, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getActionDisplayName, getActiveShift, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDateKeyFromValue, getDayDateKey, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getMonthlyTrendComparisonLabel, getNextUpdateInterval, getOperationalDate, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isIgnorableFrontendError, isLegacyConfiguration, isLoopbackHostname, isPrefetchError, isRealSku, isRecentFlowVideoGridMetricMode, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWipGatedVideoGridMetricMode, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeActionFamily, normalizeDateKeyRange, normalizeDateKeyRangeUnbounded, normalizeRoleLevel, normalizeVideoGridMetricMode, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, pickPreferredLineMetricsRow, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSentryQuotaForTests, resetSubscriptionManager, resolveDefaultSkuId, resolveLiveSkuId, s3VideoPreloader, selectPreferredLineMetricsRow, setSentryUserContext, setSentryWorkspaceContext, shouldEnableLocalDevTestLogin, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyFastSlowClipFiltersEnabled, useCompanyHasVlmEnabledLine, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
package/dist/index.d.ts CHANGED
@@ -136,6 +136,7 @@ interface LineDetailedMetrics {
136
136
  output_array: number[];
137
137
  output_hourly?: Record<string, number[]>;
138
138
  hourly_target_output?: Array<number | null> | null;
139
+ hourly_target_output_by_sku?: Record<string, Array<number | null> | null>;
139
140
  line_threshold: number;
140
141
  /** Summed real-SKU `performance_metrics.total_day_output_recalculated`. */
141
142
  output_target_recalculated?: number | null;
@@ -1098,6 +1099,7 @@ interface WorkspaceMonthlyMetric {
1098
1099
  ideal_cycle_time?: number;
1099
1100
  ideal_output: number;
1100
1101
  total_day_output: number;
1102
+ target_output?: number;
1101
1103
  avg_pph: number;
1102
1104
  pph_threshold: number;
1103
1105
  workspace_rank: number;
@@ -1118,6 +1120,7 @@ interface LineMonthlyMetric {
1118
1120
  current_output?: number;
1119
1121
  ideal_output?: number;
1120
1122
  line_threshold?: number;
1123
+ target_output?: number;
1121
1124
  idle_time_hourly?: Record<string, any> | null;
1122
1125
  active_time_seconds?: number;
1123
1126
  idle_time_seconds?: number;
@@ -5824,7 +5827,10 @@ declare const dashboardService: {
5824
5827
  calculateKPIs(lineInfo: LineInfo): DashboardKPIs;
5825
5828
  getAllLines(): Promise<SimpleLine[]>;
5826
5829
  getDetailedLineInfo(lineIdInput?: string, dateProp?: string, shiftProp?: number, providedShiftConfig?: ShiftConfig): Promise<LineInfo | null>;
5827
- getWorkspaceMonthlyData(workspaceUuid: string, month: number, year: number): Promise<WorkspaceMonthlyMetric[]>;
5830
+ getWorkspaceMonthlyData(workspaceUuid: string, month: number, year: number, options?: {
5831
+ startDate?: string;
5832
+ endDate?: string;
5833
+ }): Promise<WorkspaceMonthlyMetric[]>;
5828
5834
  getLineMonthlyData(lineIdInput: string, month: number, year: number, options?: {
5829
5835
  startDate?: string;
5830
5836
  endDate?: string;
@@ -6995,6 +7001,7 @@ declare const getMonthKeyBounds: (year: number, monthIndex: number) => DateKeyRa
6995
7001
  declare const getCurrentWeekToDateRange: (timezone: string, now?: Date) => DateKeyRange;
6996
7002
  declare const getCurrentWeekFullRange: (timezone: string, now?: Date) => DateKeyRange;
6997
7003
  declare const normalizeDateKeyRange: (startKey: string, endKey: string, minKey: string, maxKey: string) => DateKeyRange;
7004
+ declare const normalizeDateKeyRangeUnbounded: (startKey: string, endKey: string) => DateKeyRange;
6998
7005
  declare const isFullMonthRange: (range: DateKeyRange, year: number, monthIndex: number) => boolean;
6999
7006
  declare const getMonthlyTrendComparisonLabel: (range: DateKeyRange, year: number, monthIndex: number) => string;
7000
7007
  declare const getMonthWeekRanges: (year: number, monthIndex: number, timezone: string, maxKey?: string) => MonthWeekRange[];
@@ -10818,4 +10825,4 @@ interface ThreadSidebarProps {
10818
10825
  }
10819
10826
  declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
10820
10827
 
10821
- export { ACTION_FAMILIES, ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type AccessScope$1 as AccessScope, type Action, type ActionFamily, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AppRoleLevel, type AssignUserToFactoriesInput, type AssignUserToLinesInput, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, AuthService, type AuthStatus, type AuthUser, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, type AvatarUploadProps, type AwardBadgeType, type AwardNotificationRecord, type AwardNotificationType, type AwardRecord, type AwardType, AxelNotificationPopup, type AxelNotificationPopupProps, AxelOrb, type AxelOrbProps, type AxelSuggestion, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, BottleneckClipsModal, type BottleneckClipsModalProps, type BottleneckClipsNavigationParams, BottleneckClipsView, type BottleneckClipsViewProps, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, type CalendarShiftData, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangeRoleDialog, type ChangeRoleDialogProps, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, ClipsCostView, CompactWorkspaceHealthCard, type CompanyUsageReport, type CompanyUser, type CompanyUserUsageSummary, type CompanyUserWithDetails, type ComponentOverride, ConfirmRemoveUserDialog, type ConfirmRemoveUserDialogProps, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CountDelta, type CreateInvitationInput, type CropConfig, CroppedHlsVideoPlayer, type CroppedHlsVideoPlayerProps, CroppedVideoPlayer, type CroppedVideoPlayerProps, type CurrentShiftResult, type CurrentWorkspaceSKU, CycleTimeChart, type CycleTimeChartProps, CycleTimeOverTimeChart, type CycleTimeOverTimeChartProps, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_HOME_VIEW_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DashboardSurface, type DatabaseConfig, DateDisplay, type DateKeyRange, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DummyAware, type DurationDelta, type DynamicLineShiftConfig, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type Factory, FactoryAssignmentDropdown, type FactoryAssignmentDropdownProps, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, type FetchIdleTimeReasonsParams, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, HealthDateShiftSelector, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HomeViewConfig, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, HourlyUptimeChart, type HourlyUptimeChartProps, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, type IdleTimeClipMetadata, type IdleTimeReason, type IdleTimeReasonData, type IdleTimeReasonsData, type IdleTimeReasonsResponse, IdleTimeVlmConfigProvider, ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, InvitationsTable, InviteUserDialog, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, type KpiAreaNode, type KpiFactoryNode, type KpiLineHierarchy, type KpiTrend, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineAssignmentDropdown, type LineAssignmentDropdownProps, LineChart, type LineChartDataItem, type LineChartProps, type LineDetailedMetrics, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineIssueResolutionSummary, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineRecord, type LineShiftConfig, type LineShiftInfo, type LineSkuBreakdownItem, type LineSnapshot, type LineSupervisor, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LinesService, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, Logo, type LogoProps, MainLayout, type MainLayoutProps, MapGridView, type MapViewConfig, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, MinimalOnboardingPopup, type MixpanelSessionOptions, MobileMenuProvider, type MobileMenuProviderProps, type MonthWeekRange, type MonthlyTrendSummary, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NewClipsNotification, type NewClipsNotificationProps, NoWorkspaceData, OnboardingDemo, OnboardingTour, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, type PercentageDelta, PieChart, type PieChartProps, PlantHeadView, PlayPauseIndicator, type PlayPauseIndicatorProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, ROOT_DASHBOARD_EVENT_NAMES, type RateLimitOptions, type RateLimitResult, type RealtimeLineMetricsProps, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoleAssignmentKind, RoleBadge, type RoleMetadata, type RoutePath, type S3ClipsAPIParams, S3ClipsSupabaseService as S3ClipsService, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, SENTRY_HANDLED_EVENT_SESSION_LIMIT, SENTRY_HANDLED_EVENT_WINDOW_MS, SENTRY_QUOTA_STORAGE_KEY, type SKU, type SKUConfig, SKUManagementView, type SOPCategory$1 as SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SentryCaptureOptions, type SentryCaptureSeverity, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, type SettingsPopupItem, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftLineGroup, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, SignupWithInvitation, type SignupWithInvitationProps, SilentErrorBoundary, type SimpleLine, SimpleOnboardingPopup, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type SkuBreakdownItem, type SkuSegmentItem, type StatusChangeCallback$1 as StatusChangeCallback, type StorageService, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, type SupervisorDetail, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorLine, type SupervisorManagementData, SupervisorManagementView, type SupervisorManagementViewProps, SupervisorService, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type TeamManagementPermissions, TeamManagementView, type TeamManagementViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, type TicketsConfig, TicketsView, type TicketsViewProps, TimeDisplay, TimePickerDropdown, Timer, TimezoneProvider, TimezoneService, type TodayUsage, type TodayUsageData, type TodayUsageReport, type TopPerformerRecord, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserNameInput, type UpdateUserProfileInput, type UpdateUserRoleInput, type UptimeDetails, UptimeDonutChart, type UptimeDonutChartProps, UptimeLineChart, type UptimeLineChartProps, UptimeMetricCards, type UptimeMetricCardsProps, type UptimeStatus$1 as UptimeStatus, type UsageBreakdown, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseCompanyUsersUsageOptions, type UseCompanyUsersUsageReturn, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseIdleTimeReasonsProps, type UseIdleTimeReasonsResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UseMultiLineShiftConfigsResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseSupervisorsByLineIdsResult, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseUserUsageOptions, type UseUserUsageReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, UserAvatar, type UserAvatarProps, type UserInvitation, UserManagementService, UserManagementTable, type UserProfileConfig, type UserRole, type UserRoleLevel, UserService, type UserUsageDetail, UserUsageDetailModal, type UserUsageDetailModalProps, type UserUsageInfo, UserUsageStats, type UserUsageStatsProps, type UserUsageSummary, type ValueDelta, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, type VideoGridMetricMode, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WeeklyTopPerformerRecord, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, type WorkspaceCameraIpInfo, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig$1 as WorkspaceConfig, type WorkspaceCropRect, WorkspaceCycleTimeMetricCards, type WorkspaceCycleTimeMetricCardsProps, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, type WorkspaceDowntimeSegment, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceGridPosition, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, type WorkspaceHealthStatusData, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, WorkspaceMonthlyHistory, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUptimeTimeline, type WorkspaceUptimeTimelinePoint, type WorkspaceUrlMapping, type WorkspaceVideoStream, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, addSentryBreadcrumb, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildKpiLineHierarchy, buildLineSkuBreakdown, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureHandledFrontendException, captureSentryException, captureSentryMessage, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, combineLineMetricsRows, countRealSkus, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, fetchLineDummySkuId, fetchLineSkuCatalog, filterDataByDateKeyRange, filterRealSkuBreakdown, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getActionDisplayName, getActiveShift, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDateKeyFromValue, getDayDateKey, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getMonthlyTrendComparisonLabel, getNextUpdateInterval, getOperationalDate, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isIgnorableFrontendError, isLegacyConfiguration, isLoopbackHostname, isPrefetchError, isRealSku, isRecentFlowVideoGridMetricMode, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWipGatedVideoGridMetricMode, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeActionFamily, normalizeDateKeyRange, normalizeRoleLevel, normalizeVideoGridMetricMode, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, pickPreferredLineMetricsRow, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSentryQuotaForTests, resetSubscriptionManager, resolveDefaultSkuId, resolveLiveSkuId, s3VideoPreloader, selectPreferredLineMetricsRow, setSentryUserContext, setSentryWorkspaceContext, shouldEnableLocalDevTestLogin, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyFastSlowClipFiltersEnabled, useCompanyHasVlmEnabledLine, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
10828
+ export { ACTION_FAMILIES, ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type AccessScope$1 as AccessScope, type Action, type ActionFamily, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AppRoleLevel, type AssignUserToFactoriesInput, type AssignUserToLinesInput, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, AuthService, type AuthStatus, type AuthUser, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, type AvatarUploadProps, type AwardBadgeType, type AwardNotificationRecord, type AwardNotificationType, type AwardRecord, type AwardType, AxelNotificationPopup, type AxelNotificationPopupProps, AxelOrb, type AxelOrbProps, type AxelSuggestion, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, BottleneckClipsModal, type BottleneckClipsModalProps, type BottleneckClipsNavigationParams, BottleneckClipsView, type BottleneckClipsViewProps, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, type CalendarShiftData, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangeRoleDialog, type ChangeRoleDialogProps, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, ClipsCostView, CompactWorkspaceHealthCard, type CompanyUsageReport, type CompanyUser, type CompanyUserUsageSummary, type CompanyUserWithDetails, type ComponentOverride, ConfirmRemoveUserDialog, type ConfirmRemoveUserDialogProps, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CountDelta, type CreateInvitationInput, type CropConfig, CroppedHlsVideoPlayer, type CroppedHlsVideoPlayerProps, CroppedVideoPlayer, type CroppedVideoPlayerProps, type CurrentShiftResult, type CurrentWorkspaceSKU, CycleTimeChart, type CycleTimeChartProps, CycleTimeOverTimeChart, type CycleTimeOverTimeChartProps, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_HOME_VIEW_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DashboardSurface, type DatabaseConfig, DateDisplay, type DateKeyRange, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DummyAware, type DurationDelta, type DynamicLineShiftConfig, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type Factory, FactoryAssignmentDropdown, type FactoryAssignmentDropdownProps, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, type FetchIdleTimeReasonsParams, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, HealthDateShiftSelector, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HomeViewConfig, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, HourlyUptimeChart, type HourlyUptimeChartProps, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, type IdleTimeClipMetadata, type IdleTimeReason, type IdleTimeReasonData, type IdleTimeReasonsData, type IdleTimeReasonsResponse, IdleTimeVlmConfigProvider, ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, InvitationsTable, InviteUserDialog, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, type KpiAreaNode, type KpiFactoryNode, type KpiLineHierarchy, type KpiTrend, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineAssignmentDropdown, type LineAssignmentDropdownProps, LineChart, type LineChartDataItem, type LineChartProps, type LineDetailedMetrics, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineIssueResolutionSummary, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineRecord, type LineShiftConfig, type LineShiftInfo, type LineSkuBreakdownItem, type LineSnapshot, type LineSupervisor, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LinesService, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, Logo, type LogoProps, MainLayout, type MainLayoutProps, MapGridView, type MapViewConfig, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, MinimalOnboardingPopup, type MixpanelSessionOptions, MobileMenuProvider, type MobileMenuProviderProps, type MonthWeekRange, type MonthlyTrendSummary, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NewClipsNotification, type NewClipsNotificationProps, NoWorkspaceData, OnboardingDemo, OnboardingTour, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, type PercentageDelta, PieChart, type PieChartProps, PlantHeadView, PlayPauseIndicator, type PlayPauseIndicatorProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, ROOT_DASHBOARD_EVENT_NAMES, type RateLimitOptions, type RateLimitResult, type RealtimeLineMetricsProps, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoleAssignmentKind, RoleBadge, type RoleMetadata, type RoutePath, type S3ClipsAPIParams, S3ClipsSupabaseService as S3ClipsService, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, SENTRY_HANDLED_EVENT_SESSION_LIMIT, SENTRY_HANDLED_EVENT_WINDOW_MS, SENTRY_QUOTA_STORAGE_KEY, type SKU, type SKUConfig, SKUManagementView, type SOPCategory$1 as SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SentryCaptureOptions, type SentryCaptureSeverity, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, type SettingsPopupItem, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftLineGroup, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, SignupWithInvitation, type SignupWithInvitationProps, SilentErrorBoundary, type SimpleLine, SimpleOnboardingPopup, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type SkuBreakdownItem, type SkuSegmentItem, type StatusChangeCallback$1 as StatusChangeCallback, type StorageService, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, type SupervisorDetail, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorLine, type SupervisorManagementData, SupervisorManagementView, type SupervisorManagementViewProps, SupervisorService, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type TeamManagementPermissions, TeamManagementView, type TeamManagementViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, type TicketsConfig, TicketsView, type TicketsViewProps, TimeDisplay, TimePickerDropdown, Timer, TimezoneProvider, TimezoneService, type TodayUsage, type TodayUsageData, type TodayUsageReport, type TopPerformerRecord, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserNameInput, type UpdateUserProfileInput, type UpdateUserRoleInput, type UptimeDetails, UptimeDonutChart, type UptimeDonutChartProps, UptimeLineChart, type UptimeLineChartProps, UptimeMetricCards, type UptimeMetricCardsProps, type UptimeStatus$1 as UptimeStatus, type UsageBreakdown, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseCompanyUsersUsageOptions, type UseCompanyUsersUsageReturn, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseIdleTimeReasonsProps, type UseIdleTimeReasonsResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UseMultiLineShiftConfigsResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseSupervisorsByLineIdsResult, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseUserUsageOptions, type UseUserUsageReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, UserAvatar, type UserAvatarProps, type UserInvitation, UserManagementService, UserManagementTable, type UserProfileConfig, type UserRole, type UserRoleLevel, UserService, type UserUsageDetail, UserUsageDetailModal, type UserUsageDetailModalProps, type UserUsageInfo, UserUsageStats, type UserUsageStatsProps, type UserUsageSummary, type ValueDelta, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, type VideoGridMetricMode, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WeeklyTopPerformerRecord, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, type WorkspaceCameraIpInfo, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig$1 as WorkspaceConfig, type WorkspaceCropRect, WorkspaceCycleTimeMetricCards, type WorkspaceCycleTimeMetricCardsProps, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, type WorkspaceDowntimeSegment, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceGridPosition, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, type WorkspaceHealthStatusData, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, WorkspaceMonthlyHistory, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUptimeTimeline, type WorkspaceUptimeTimelinePoint, type WorkspaceUrlMapping, type WorkspaceVideoStream, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, addSentryBreadcrumb, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildKpiLineHierarchy, buildLineSkuBreakdown, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureHandledFrontendException, captureSentryException, captureSentryMessage, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, combineLineMetricsRows, countRealSkus, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, fetchLineDummySkuId, fetchLineSkuCatalog, filterDataByDateKeyRange, filterRealSkuBreakdown, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getActionDisplayName, getActiveShift, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDateKeyFromValue, getDayDateKey, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getMonthlyTrendComparisonLabel, getNextUpdateInterval, getOperationalDate, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isIgnorableFrontendError, isLegacyConfiguration, isLoopbackHostname, isPrefetchError, isRealSku, isRecentFlowVideoGridMetricMode, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWipGatedVideoGridMetricMode, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeActionFamily, normalizeDateKeyRange, normalizeDateKeyRangeUnbounded, normalizeRoleLevel, normalizeVideoGridMetricMode, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, pickPreferredLineMetricsRow, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSentryQuotaForTests, resetSubscriptionManager, resolveDefaultSkuId, resolveLiveSkuId, s3VideoPreloader, selectPreferredLineMetricsRow, setSentryUserContext, setSentryWorkspaceContext, shouldEnableLocalDevTestLogin, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyFastSlowClipFiltersEnabled, useCompanyHasVlmEnabledLine, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
package/dist/index.js CHANGED
@@ -1748,6 +1748,12 @@ var normalizeDateKeyRange = (startKey, endKey, minKey, maxKey) => {
1748
1748
  }
1749
1749
  return { startKey: clampedEnd, endKey: clampedStart };
1750
1750
  };
1751
+ var normalizeDateKeyRangeUnbounded = (startKey, endKey) => {
1752
+ if (startKey <= endKey) {
1753
+ return { startKey, endKey };
1754
+ }
1755
+ return { startKey: endKey, endKey: startKey };
1756
+ };
1751
1757
  var isFullMonthRange = (range, year, monthIndex) => {
1752
1758
  const bounds = getMonthKeyBounds(year, monthIndex);
1753
1759
  return range.startKey === bounds.startKey && range.endKey === bounds.endKey;
@@ -5555,7 +5561,7 @@ var dashboardService = {
5555
5561
  return null;
5556
5562
  }
5557
5563
  },
5558
- async getWorkspaceMonthlyData(workspaceUuid, month, year) {
5564
+ async getWorkspaceMonthlyData(workspaceUuid, month, year, options) {
5559
5565
  const supabase = _getSupabaseInstance();
5560
5566
  const config = _getDashboardConfigInstance();
5561
5567
  const entityConfig = config.entityConfig ?? DEFAULT_ENTITY_CONFIG;
@@ -5569,8 +5575,8 @@ var dashboardService = {
5569
5575
  const day = String(date.getDate()).padStart(2, "0");
5570
5576
  return `${year2}-${month2}-${day}`;
5571
5577
  };
5572
- const formattedStartDate = formatDate2(startDate);
5573
- const formattedEndDate = formatDate2(endDate);
5578
+ const formattedStartDate = options?.startDate || formatDate2(startDate);
5579
+ const formattedEndDate = options?.endDate || formatDate2(endDate);
5574
5580
  try {
5575
5581
  const searchParams = new URLSearchParams();
5576
5582
  searchParams.set("workspace_id", workspaceUuid);
@@ -5590,8 +5596,9 @@ var dashboardService = {
5590
5596
  total_output: item.total_output || 0,
5591
5597
  avg_cycle_time: item.avg_cycle_time || 0,
5592
5598
  ideal_cycle_time: item.ideal_cycle_time ?? 0,
5593
- ideal_output: item.ideal_output || 0,
5594
- total_day_output: item.total_day_output ?? item.ideal_output ?? 0,
5599
+ ideal_output: item.target_output ?? item.ideal_output ?? 0,
5600
+ total_day_output: item.target_output ?? item.total_day_output ?? item.ideal_output ?? 0,
5601
+ target_output: item.target_output ?? item.total_day_output ?? item.ideal_output ?? 0,
5595
5602
  avg_pph: item.avg_pph || 0,
5596
5603
  pph_threshold: item.pph_threshold || 0,
5597
5604
  workspace_rank: item.workspace_rank || 0,
@@ -13990,7 +13997,7 @@ var useLineWorkspaceMetrics = (lineId, options) => {
13990
13997
  trend: item.trend_score === 1 ? 2 : 0,
13991
13998
  predicted_output: item.ideal_output || 0,
13992
13999
  efficiency: item.efficiency || 0,
13993
- action_threshold: item.total_day_output || 0,
14000
+ action_threshold: item.target_output ?? item.total_day_output_recalculated ?? item.total_day_output ?? 0,
13994
14001
  idle_time: item.idle_time ?? void 0,
13995
14002
  idle_time_hourly: item.idle_time_hourly || null,
13996
14003
  shift_start: item.shift_start || void 0,
@@ -14671,7 +14678,7 @@ var transformMonitorWorkspaceMetrics = ({
14671
14678
  trend: item.trend_score === 1 ? 2 : 0,
14672
14679
  predicted_output: item.ideal_output || 0,
14673
14680
  efficiency: item.efficiency || 0,
14674
- action_threshold: item.total_day_output || 0,
14681
+ action_threshold: item.target_output ?? item.total_day_output_recalculated ?? item.total_day_output ?? 0,
14675
14682
  monitoring_mode: item.monitoring_mode ?? void 0,
14676
14683
  idle_time: idleTimeSeconds,
14677
14684
  idle_time_hourly: item.idle_time_hourly ?? null,
@@ -18852,6 +18859,7 @@ var useAllWorkspaceMetrics = (options) => {
18852
18859
  trend_score,
18853
18860
  line_id,
18854
18861
  total_day_output,
18862
+ total_day_output_recalculated,
18855
18863
  workspace_display_name
18856
18864
  `).eq("date", fallbackQueryDate).eq("shift_id", fallbackQueryShiftId).in("workspace_id", allEnabledWorkspaceIds).order("efficiency", { ascending: false });
18857
18865
  if (fetchError) throw fetchError;
@@ -18870,7 +18878,7 @@ var useAllWorkspaceMetrics = (options) => {
18870
18878
  trend: item.trend_score === 1 ? 2 : 0,
18871
18879
  predicted_output: 0,
18872
18880
  efficiency: item.efficiency || 0,
18873
- action_threshold: item.total_day_output || 0
18881
+ action_threshold: item.target_output ?? item.total_day_output_recalculated ?? item.total_day_output ?? 0
18874
18882
  }));
18875
18883
  } else if (shiftGroups.length > 0) {
18876
18884
  console.log(`[useAllWorkspaceMetrics] \u{1F3ED} Fetching per-shift: ${shiftGroups.length} group(s)`);
@@ -18897,6 +18905,7 @@ var useAllWorkspaceMetrics = (options) => {
18897
18905
  trend_score,
18898
18906
  line_id,
18899
18907
  total_day_output,
18908
+ total_day_output_recalculated,
18900
18909
  workspace_display_name
18901
18910
  `).eq("date", group.date).eq("shift_id", group.shiftId).in("workspace_id", groupWorkspaceIds);
18902
18911
  if (fetchError) throw fetchError;
@@ -18915,7 +18924,7 @@ var useAllWorkspaceMetrics = (options) => {
18915
18924
  trend: item.trend_score === 1 ? 2 : 0,
18916
18925
  predicted_output: 0,
18917
18926
  efficiency: item.efficiency || 0,
18918
- action_threshold: item.total_day_output || 0
18927
+ action_threshold: item.target_output ?? item.total_day_output_recalculated ?? item.total_day_output ?? 0
18919
18928
  }));
18920
18929
  });
18921
18930
  const results = await Promise.all(queryPromises);
@@ -51729,12 +51738,15 @@ var LinePdfGenerator = ({
51729
51738
  doc.setTextColor(0, 0, 0);
51730
51739
  const kpiStartY = 80;
51731
51740
  const kpiSpacing = 10;
51741
+ const dayTargetOutput = Math.round(Number(
51742
+ lineInfo.metrics.output_target_recalculated ?? lineInfo.metrics.line_threshold ?? 0
51743
+ ));
51732
51744
  createKPIBox(kpiStartY);
51733
51745
  doc.setFontSize(11);
51734
51746
  doc.setFont("helvetica", "normal");
51735
51747
  doc.text("Output:", 25, kpiStartY);
51736
51748
  doc.setFont("helvetica", "bold");
51737
- doc.text(`${lineInfo.metrics.current_output} / ${lineInfo.metrics.line_threshold}`, 120, kpiStartY);
51749
+ doc.text(`${lineInfo.metrics.current_output} / ${dayTargetOutput}`, 120, kpiStartY);
51738
51750
  createKPIBox(kpiStartY + kpiSpacing);
51739
51751
  doc.setFont("helvetica", "normal");
51740
51752
  doc.text("Average Efficiency:", 25, kpiStartY + kpiSpacing);
@@ -51769,6 +51781,18 @@ var LinePdfGenerator = ({
51769
51781
  fallbackHours: Math.max(hourlyTimeRanges.length, 1),
51770
51782
  rounding: "floor"
51771
51783
  });
51784
+ const backendHourlyTargetOutput = lineInfo.metrics.hourly_target_output;
51785
+ const shouldUseBackendHourlyTargets = backendHourlyTargetOutput !== void 0;
51786
+ const resolveTargetForRange = (index) => {
51787
+ if (shouldUseBackendHourlyTargets) {
51788
+ if (!Array.isArray(backendHourlyTargetOutput)) return null;
51789
+ const targetValue = backendHourlyTargetOutput[index];
51790
+ if (targetValue === null || targetValue === void 0) return null;
51791
+ const numericTarget = Number(targetValue);
51792
+ return Number.isFinite(numericTarget) ? numericTarget : null;
51793
+ }
51794
+ return targetPlan.targets[index] ?? 0;
51795
+ };
51772
51796
  const skuRemarksByIndex = {};
51773
51797
  if (lineInfo.metrics.sku_segments && lineInfo.metrics.sku_segments.length > 0) {
51774
51798
  lineInfo.metrics.sku_segments.forEach((segment, segmentIndex) => {
@@ -51998,8 +52022,9 @@ var LinePdfGenerator = ({
51998
52022
  doc.setDrawColor(200, 200, 200);
51999
52023
  doc.line(20, rowBottomY, 190, rowBottomY);
52000
52024
  }
52001
- const targetForRange = targetPlan.targets[index] ?? 0;
52002
- const targetStr = targetForRange.toString();
52025
+ const targetForRange = resolveTargetForRange(index);
52026
+ const roundedTargetForRange = targetForRange === null ? null : Math.round(targetForRange);
52027
+ const targetStr = roundedTargetForRange === null ? "-" : roundedTargetForRange.toString();
52003
52028
  let remarkText = targetPlan.breakRemarks[index] || "";
52004
52029
  if (skuRemarksByIndex[index] && skuRemarksByIndex[index].length > 0) {
52005
52030
  const skuRemarks = skuRemarksByIndex[index];
@@ -52021,7 +52046,10 @@ var LinePdfGenerator = ({
52021
52046
  if (!dataCollected) {
52022
52047
  doc.setTextColor(100, 100, 100);
52023
52048
  doc.text("-", 135, yPos);
52024
- } else if (actualOutput >= targetForRange) {
52049
+ } else if (roundedTargetForRange === null) {
52050
+ doc.setTextColor(100, 100, 100);
52051
+ doc.text("-", 135, yPos);
52052
+ } else if (actualOutput >= roundedTargetForRange) {
52025
52053
  doc.setTextColor(0, 171, 69);
52026
52054
  doc.setFont("ZapfDingbats", "normal");
52027
52055
  doc.text("4", 135, yPos);
@@ -52755,7 +52783,7 @@ var WorkspaceMonthlyHistory = ({
52755
52783
  const normalizedRange = React144.useMemo(() => {
52756
52784
  const startKey = rangeStart || monthBounds.startKey;
52757
52785
  const endKey = rangeEnd || monthBounds.endKey;
52758
- return normalizeDateKeyRange(startKey, endKey, monthBounds.startKey, monthBounds.endKey);
52786
+ return normalizeDateKeyRangeUnbounded(startKey, endKey);
52759
52787
  }, [rangeStart, rangeEnd, monthBounds.startKey, monthBounds.endKey]);
52760
52788
  const analysisMonthlyData = React144.useMemo(() => {
52761
52789
  if (analysisData) {
@@ -53783,6 +53811,19 @@ var WorkspacePdfGenerator = ({
53783
53811
  fallbackHours: Math.max(hourlyData.length, 1),
53784
53812
  rounding: "floor"
53785
53813
  }) : null;
53814
+ const backendHourlyTargetOutput = workspace.hourly_target_output;
53815
+ const shouldUseBackendHourlyTargets = backendHourlyTargetOutput !== void 0;
53816
+ const resolveTargetForRange = (index) => {
53817
+ if (!outputTargetPlan) return null;
53818
+ if (shouldUseBackendHourlyTargets) {
53819
+ if (!Array.isArray(backendHourlyTargetOutput)) return null;
53820
+ const targetValue = backendHourlyTargetOutput[index];
53821
+ if (targetValue === null || targetValue === void 0) return null;
53822
+ const numericTarget = Number(targetValue);
53823
+ return Number.isFinite(numericTarget) ? numericTarget : null;
53824
+ }
53825
+ return outputTargetPlan.targets[index] ?? hourlyTarget;
53826
+ };
53786
53827
  const skuRemarksByIndex = {};
53787
53828
  if (workspace.sku_segments && workspace.sku_segments.length > 0) {
53788
53829
  workspace.sku_segments.forEach((segment, segmentIndex) => {
@@ -53909,7 +53950,7 @@ var WorkspacePdfGenerator = ({
53909
53950
  const idleValue = isUptimeMode ? entry.idleMinutes ?? 0 : 0;
53910
53951
  const uptimePercent = isUptimeMode ? entry.uptimePercent ?? 0 : 0;
53911
53952
  const outputStr = dataCollected ? outputValue.toString() : "TBD";
53912
- const effectiveTarget = outputTargetPlan?.targets[index] ?? hourlyTarget;
53953
+ const effectiveTarget = resolveTargetForRange(index);
53913
53954
  let remarkText = outputTargetPlan?.breakRemarks[index] || "";
53914
53955
  if (skuRemarksByIndex[index] && skuRemarksByIndex[index].length > 0) {
53915
53956
  const skuRemarks = skuRemarksByIndex[index];
@@ -53917,7 +53958,8 @@ var WorkspacePdfGenerator = ({
53917
53958
  const compactSkuRemark = skuRemarks.length === 1 ? `${latestSku} started` : `${latestSku} started, +${skuRemarks.length - 1}`;
53918
53959
  remarkText = remarkText ? `${remarkText}, ${compactSkuRemark}` : compactSkuRemark;
53919
53960
  }
53920
- const targetStr = isUptimeMode ? dataCollected ? idleValue.toString() : "TBD" : effectiveTarget.toString();
53961
+ const roundedEffectiveTarget = effectiveTarget === null ? null : Math.round(effectiveTarget);
53962
+ const targetStr = isUptimeMode ? dataCollected ? idleValue.toString() : "TBD" : roundedEffectiveTarget === null ? "-" : roundedEffectiveTarget.toString();
53921
53963
  if (index < totalRows - 1) {
53922
53964
  const rowBottomY = headerBottomY + (index + 1) * rowHeight;
53923
53965
  doc.setDrawColor(200, 200, 200);
@@ -53960,7 +54002,10 @@ var WorkspacePdfGenerator = ({
53960
54002
  if (!dataCollected) {
53961
54003
  doc.setTextColor(100, 100, 100);
53962
54004
  doc.text("-", 135, yPos);
53963
- } else if (outputValue >= effectiveTarget) {
54005
+ } else if (roundedEffectiveTarget === null) {
54006
+ doc.setTextColor(100, 100, 100);
54007
+ doc.text("-", 135, yPos);
54008
+ } else if (outputValue >= roundedEffectiveTarget) {
53964
54009
  doc.setTextColor(0, 171, 69);
53965
54010
  doc.setFont("ZapfDingbats", "normal");
53966
54011
  doc.text("4", 135, yPos);
@@ -54069,12 +54114,9 @@ var WorkspaceMonthlyPdfGenerator = ({
54069
54114
  };
54070
54115
  const boundsSourceKey = rangeStart || rangeEnd || monthBounds.startKey;
54071
54116
  const boundsSourceDate = parseDateKeyToDate(boundsSourceKey);
54072
- const effectiveBounds = getMonthKeyBounds(boundsSourceDate.getFullYear(), boundsSourceDate.getMonth());
54073
- const normalizedRange = normalizeDateKeyRange(
54117
+ const normalizedRange = normalizeDateKeyRangeUnbounded(
54074
54118
  requestedRange.startKey,
54075
- requestedRange.endKey,
54076
- effectiveBounds.startKey,
54077
- effectiveBounds.endKey
54119
+ requestedRange.endKey
54078
54120
  );
54079
54121
  const fullRange = isFullMonthRange(
54080
54122
  normalizedRange,
@@ -65532,6 +65574,7 @@ var buildLineInfoSnapshot = (lineDetails, metrics2) => {
65532
65574
  output_array: metrics2.output_array || [],
65533
65575
  output_hourly: metrics2.output_hourly,
65534
65576
  hourly_target_output: metrics2.hourly_target_output,
65577
+ hourly_target_output_by_sku: metrics2.hourly_target_output_by_sku,
65535
65578
  line_threshold: metrics2.line_threshold ?? 0,
65536
65579
  output_target_recalculated: metrics2.output_target_recalculated ?? null,
65537
65580
  threshold_pph: metrics2.threshold_pph ?? 0,
@@ -65565,7 +65608,7 @@ var transformWorkspaceMetrics = (workspaceData, lineId, companyId, queryDate, qu
65565
65608
  trend: item.trend_score === 1 ? 2 : 0,
65566
65609
  predicted_output: item.ideal_output || 0,
65567
65610
  efficiency: item.efficiency || 0,
65568
- action_threshold: item.total_day_output || 0,
65611
+ action_threshold: item.target_output ?? item.total_day_output_recalculated ?? item.total_day_output ?? 0,
65569
65612
  idle_time: item.idle_time ?? void 0,
65570
65613
  idle_time_hourly: item.idle_time_hourly || null,
65571
65614
  shift_start: item.shift_start || void 0,
@@ -66065,8 +66108,8 @@ var MonthlyRangeFilter = ({
66065
66108
  ], [timezone, todayDate]);
66066
66109
  const monthBounds = React144.useMemo(() => getMonthKeyBounds(year, month), [year, month]);
66067
66110
  const normalizedRange = React144.useMemo(() => {
66068
- return normalizeDateKeyRange(value.startKey, value.endKey, monthBounds.startKey, monthBounds.endKey);
66069
- }, [value.startKey, value.endKey, monthBounds.startKey, monthBounds.endKey]);
66111
+ return normalizeDateKeyRangeUnbounded(value.startKey, value.endKey);
66112
+ }, [value.startKey, value.endKey]);
66070
66113
  const fullMonthLabel = React144.useMemo(() => {
66071
66114
  const startLabel = formatDateKeyForDisplay(monthBounds.startKey, "MMM d");
66072
66115
  const endLabel = formatDateKeyForDisplay(monthBounds.endKey, "MMM d, yyyy");
@@ -66159,6 +66202,22 @@ var MonthlyRangeFilter = ({
66159
66202
  handlePresetClick(thisMonth);
66160
66203
  }
66161
66204
  };
66205
+ const maybeSelectVisibleFullMonth = (newMonth, newYear) => {
66206
+ if (singleDateOnly || selecting || !rangeStart || !rangeEnd) {
66207
+ return;
66208
+ }
66209
+ const visibleBounds = getMonthKeyBounds(calendarYear, calendarMonth);
66210
+ const currentStartKey = dateFns.format(rangeStart, "yyyy-MM-dd");
66211
+ const currentEndKey = dateFns.format(rangeEnd, "yyyy-MM-dd");
66212
+ if (currentStartKey !== visibleBounds.startKey || currentEndKey !== visibleBounds.endKey) {
66213
+ return;
66214
+ }
66215
+ const nextBounds = getMonthKeyBounds(newYear, newMonth);
66216
+ setRangeStart(parseDateKeyToDate(nextBounds.startKey));
66217
+ setRangeEnd(parseDateKeyToDate(nextBounds.endKey));
66218
+ setActivePreset("Custom");
66219
+ setPendingChangeMeta({ source: "custom" });
66220
+ };
66162
66221
  const handleApply = () => {
66163
66222
  if (rangeStart) {
66164
66223
  if (singleDateOnly) {
@@ -66186,6 +66245,7 @@ var MonthlyRangeFilter = ({
66186
66245
  if (newYear < 2023) return;
66187
66246
  setCalendarMonth(newMonth);
66188
66247
  setCalendarYear(newYear);
66248
+ maybeSelectVisibleFullMonth(newMonth, newYear);
66189
66249
  onMonthNavigate?.(newMonth, newYear);
66190
66250
  };
66191
66251
  const handleNextMonth = () => {
@@ -66197,6 +66257,7 @@ var MonthlyRangeFilter = ({
66197
66257
  }
66198
66258
  setCalendarMonth(newMonth);
66199
66259
  setCalendarYear(newYear);
66260
+ maybeSelectVisibleFullMonth(newMonth, newYear);
66200
66261
  onMonthNavigate?.(newMonth, newYear);
66201
66262
  };
66202
66263
  const canGoPrevious = !(calendarYear === 2023 && calendarMonth === 0);
@@ -67342,9 +67403,9 @@ var KPIDetailView = ({
67342
67403
  output: metric.current_output || 0,
67343
67404
  // LineMonthlyHistory expects `idealOutput` for the red dotted target ReferenceLine.
67344
67405
  // `line_threshold` comes from `line_metrics` (numeric -> string via PostgREST), so coerce.
67345
- idealOutput: Number(metric.line_threshold ?? metric.ideal_output ?? 0),
67406
+ idealOutput: Number(metric.target_output ?? metric.line_threshold ?? metric.ideal_output ?? 0),
67346
67407
  // Keep legacy field in case any downstream code still reads it.
67347
- targetOutput: Number(metric.line_threshold ?? metric.ideal_output ?? 0),
67408
+ targetOutput: Number(metric.target_output ?? metric.line_threshold ?? metric.ideal_output ?? 0),
67348
67409
  compliance_percentage: 95 + Math.random() * 5,
67349
67410
  // Mock data: random value between 95-100%
67350
67411
  hasData: isUptimeMode ? hasUptimeMetricData : true,
@@ -67431,6 +67492,7 @@ var KPIDetailView = ({
67431
67492
  output_array: metrics2.output_array || [],
67432
67493
  output_hourly: metrics2.output_hourly,
67433
67494
  hourly_target_output: metrics2.hourly_target_output,
67495
+ hourly_target_output_by_sku: metrics2.hourly_target_output_by_sku,
67434
67496
  line_threshold: metrics2.line_threshold ?? 0,
67435
67497
  output_target_recalculated: metrics2.output_target_recalculated ?? null,
67436
67498
  threshold_pph: metrics2.threshold_pph ?? 0,
@@ -67558,6 +67620,19 @@ var KPIDetailView = ({
67558
67620
  if (selectedSkuId === "all") return null;
67559
67621
  return realSkuOptions.find((item) => item.sku_id === selectedSkuId) ?? null;
67560
67622
  }, [realSkuOptions, selectedSkuId]);
67623
+ const selectedHourlyTargetOutput = React144.useMemo(() => {
67624
+ const aggregateTarget = chartMetrics?.hourly_target_output;
67625
+ if (!normalizedSelectedSkuId) return aggregateTarget;
67626
+ const targetBySku = chartMetrics?.hourly_target_output_by_sku;
67627
+ if (targetBySku && Object.prototype.hasOwnProperty.call(targetBySku, normalizedSelectedSkuId)) {
67628
+ return targetBySku[normalizedSelectedSkuId];
67629
+ }
67630
+ return aggregateTarget;
67631
+ }, [
67632
+ chartMetrics?.hourly_target_output,
67633
+ chartMetrics?.hourly_target_output_by_sku,
67634
+ normalizedSelectedSkuId
67635
+ ]);
67561
67636
  const displayLineInfo = React144.useMemo(() => {
67562
67637
  if (!resolvedLineInfo) return null;
67563
67638
  if (!selectedSkuRow) return resolvedLineInfo;
@@ -68399,7 +68474,7 @@ var KPIDetailView = ({
68399
68474
  workspaceDisplayNames,
68400
68475
  hourlyOutputData,
68401
68476
  hourlyThreshold,
68402
- hourlyTargetOutput: chartMetrics?.hourly_target_output,
68477
+ hourlyTargetOutput: selectedHourlyTargetOutput,
68403
68478
  shiftBreaks: shiftConfig?.shifts?.find((shift) => shift.shiftId === resolvedLineInfo.shift_id)?.breaks || [],
68404
68479
  idleTimeHourly: chartMetrics?.idle_time_hourly,
68405
68480
  timezone: lineTimezone,
@@ -75168,6 +75243,7 @@ var WorkspaceDetailView = ({
75168
75243
  const [previousView, setPreviousView] = React144.useState("dashboard");
75169
75244
  const [monthlyData, setMonthlyData] = React144.useState([]);
75170
75245
  const [monthlyDataLoading, setMonthlyDataLoading] = React144.useState(false);
75246
+ const monthlyDataRequestKeyRef = React144.useRef(null);
75171
75247
  const timezone = useAppTimezone();
75172
75248
  const supabase = useSupabase();
75173
75249
  const today = new Date((/* @__PURE__ */ new Date()).toLocaleString("en-US", { timeZone: timezone }));
@@ -75201,11 +75277,9 @@ var WorkspaceDetailView = ({
75201
75277
  const targetMonth = targetStartDate.getMonth();
75202
75278
  const targetYear = targetStartDate.getFullYear();
75203
75279
  const targetBounds = getMonthKeyBounds(targetYear, targetMonth);
75204
- const normalized = normalizeDateKeyRange(
75280
+ const normalized = normalizeDateKeyRangeUnbounded(
75205
75281
  typeof urlRangeStart === "string" ? urlRangeStart : targetBounds.startKey,
75206
- typeof urlRangeEnd === "string" ? urlRangeEnd : targetBounds.endKey,
75207
- targetBounds.startKey,
75208
- targetBounds.endKey
75282
+ typeof urlRangeEnd === "string" ? urlRangeEnd : targetBounds.endKey
75209
75283
  );
75210
75284
  setSelectedMonth(targetMonth);
75211
75285
  setSelectedYear(targetYear);
@@ -75802,8 +75876,8 @@ var WorkspaceDetailView = ({
75802
75876
  idealCycleTime: Number(metric.ideal_cycle_time || 0),
75803
75877
  pph: metric.avg_pph || 0,
75804
75878
  pphThreshold: metric.pph_threshold || 0,
75805
- idealOutput: Number(metric.ideal_output || 0),
75806
- targetOutput: Number(metric.total_day_output || 0),
75879
+ idealOutput: Number(metric.target_output ?? metric.ideal_output ?? 0),
75880
+ targetOutput: Number(metric.target_output ?? metric.total_day_output ?? 0),
75807
75881
  rank: metric.workspace_rank || 0,
75808
75882
  idleTime: idleTimeSeconds || 0,
75809
75883
  activeTimeSeconds,
@@ -75829,21 +75903,36 @@ var WorkspaceDetailView = ({
75829
75903
  console.error("Supabase client or required config not available in WorkspaceDetailView for monthly data");
75830
75904
  return;
75831
75905
  }
75906
+ const requestKey = `${workspaceId}|${range.startKey}|${range.endKey}`;
75907
+ monthlyDataRequestKeyRef.current = requestKey;
75832
75908
  setMonthlyDataLoading(true);
75833
75909
  dashboardService.getWorkspaceMonthlyData(
75834
75910
  workspaceId,
75835
75911
  selectedMonth,
75836
- selectedYear
75912
+ selectedYear,
75913
+ {
75914
+ startDate: range.startKey,
75915
+ endDate: range.endKey
75916
+ }
75837
75917
  ).then((data) => {
75918
+ if (monthlyDataRequestKeyRef.current !== requestKey) {
75919
+ return;
75920
+ }
75838
75921
  handleMonthlyDataLoaded(data || []);
75839
75922
  }).catch((err) => {
75923
+ if (monthlyDataRequestKeyRef.current !== requestKey) {
75924
+ return;
75925
+ }
75840
75926
  console.error("Error fetching monthly data:", err);
75841
75927
  setMonthlyData([]);
75842
75928
  }).finally(() => {
75929
+ if (monthlyDataRequestKeyRef.current !== requestKey) {
75930
+ return;
75931
+ }
75843
75932
  setMonthlyDataLoading(false);
75844
75933
  });
75845
75934
  }
75846
- }, [activeTab, workspaceId, selectedMonth, selectedYear, supabase, dashboardConfig, handleMonthlyDataLoaded]);
75935
+ }, [activeTab, workspaceId, selectedMonth, selectedYear, range.startKey, range.endKey, supabase, dashboardConfig, handleMonthlyDataLoaded]);
75847
75936
  const analysisMonthlyData = React144.useMemo(() => {
75848
75937
  return filterDataByDateKeyRange(monthlyData, range);
75849
75938
  }, [monthlyData, range]);
@@ -76213,9 +76302,9 @@ var WorkspaceDetailView = ({
76213
76302
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sm:hidden mt-3 flex items-center justify-center gap-2", children: [
76214
76303
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex items-center px-2.5 py-1 bg-gray-100 rounded-full", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-gray-700", children: (() => {
76215
76304
  const monthBounds2 = getMonthKeyBounds(selectedYear, selectedMonth);
76216
- const normalizedRange = normalizeDateKeyRange(rangeStart, rangeEnd, monthBounds2.startKey, monthBounds2.endKey);
76217
- const startDate = new Date(normalizedRange.startKey);
76218
- const endDate = new Date(normalizedRange.endKey);
76305
+ const normalizedRange = normalizeDateKeyRangeUnbounded(rangeStart, rangeEnd);
76306
+ const startDate = parseDateKeyToDate(normalizedRange.startKey);
76307
+ const endDate = parseDateKeyToDate(normalizedRange.endKey);
76219
76308
  const isFullMonth = normalizedRange.startKey === monthBounds2.startKey && normalizedRange.endKey === monthBounds2.endKey;
76220
76309
  if (isFullMonth) {
76221
76310
  return `${startDate.toLocaleDateString("en-US", { month: "short", day: "numeric" })} - ${endDate.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" })}`;
@@ -76239,9 +76328,9 @@ var WorkspaceDetailView = ({
76239
76328
  /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "w-4 h-4 opacity-70", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) }),
76240
76329
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm md:text-base font-medium", children: (() => {
76241
76330
  const monthBounds2 = getMonthKeyBounds(selectedYear, selectedMonth);
76242
- const normalizedRange = normalizeDateKeyRange(rangeStart, rangeEnd, monthBounds2.startKey, monthBounds2.endKey);
76243
- const startDate = new Date(normalizedRange.startKey);
76244
- const endDate = new Date(normalizedRange.endKey);
76331
+ const normalizedRange = normalizeDateKeyRangeUnbounded(rangeStart, rangeEnd);
76332
+ const startDate = parseDateKeyToDate(normalizedRange.startKey);
76333
+ const endDate = parseDateKeyToDate(normalizedRange.endKey);
76245
76334
  const isFullMonth = normalizedRange.startKey === monthBounds2.startKey && normalizedRange.endKey === monthBounds2.endKey;
76246
76335
  if (isFullMonth) {
76247
76336
  return `${startDate.toLocaleDateString("en-US", { month: "short", day: "numeric" })} - ${endDate.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" })}`;
@@ -76390,13 +76479,6 @@ var WorkspaceDetailView = ({
76390
76479
  setSelectedYear(nextYear);
76391
76480
  }
76392
76481
  },
76393
- onMonthNavigate: (newMonth, newYear) => {
76394
- setSelectedMonth(newMonth);
76395
- setSelectedYear(newYear);
76396
- const nextBounds = getMonthKeyBounds(newYear, newMonth);
76397
- setRangeStart(nextBounds.startKey);
76398
- setRangeEnd(nextBounds.endKey);
76399
- },
76400
76482
  showLabel: false
76401
76483
  }
76402
76484
  ),
@@ -86174,6 +86256,7 @@ exports.mergeWithDefaultConfig = mergeWithDefaultConfig;
86174
86256
  exports.migrateLegacyConfiguration = migrateLegacyConfiguration;
86175
86257
  exports.normalizeActionFamily = normalizeActionFamily;
86176
86258
  exports.normalizeDateKeyRange = normalizeDateKeyRange;
86259
+ exports.normalizeDateKeyRangeUnbounded = normalizeDateKeyRangeUnbounded;
86177
86260
  exports.normalizeRoleLevel = normalizeRoleLevel;
86178
86261
  exports.normalizeVideoGridMetricMode = normalizeVideoGridMetricMode;
86179
86262
  exports.optifyeAgentClient = optifyeAgentClient;
package/dist/index.mjs CHANGED
@@ -1719,6 +1719,12 @@ var normalizeDateKeyRange = (startKey, endKey, minKey, maxKey) => {
1719
1719
  }
1720
1720
  return { startKey: clampedEnd, endKey: clampedStart };
1721
1721
  };
1722
+ var normalizeDateKeyRangeUnbounded = (startKey, endKey) => {
1723
+ if (startKey <= endKey) {
1724
+ return { startKey, endKey };
1725
+ }
1726
+ return { startKey: endKey, endKey: startKey };
1727
+ };
1722
1728
  var isFullMonthRange = (range, year, monthIndex) => {
1723
1729
  const bounds = getMonthKeyBounds(year, monthIndex);
1724
1730
  return range.startKey === bounds.startKey && range.endKey === bounds.endKey;
@@ -5526,7 +5532,7 @@ var dashboardService = {
5526
5532
  return null;
5527
5533
  }
5528
5534
  },
5529
- async getWorkspaceMonthlyData(workspaceUuid, month, year) {
5535
+ async getWorkspaceMonthlyData(workspaceUuid, month, year, options) {
5530
5536
  const supabase = _getSupabaseInstance();
5531
5537
  const config = _getDashboardConfigInstance();
5532
5538
  const entityConfig = config.entityConfig ?? DEFAULT_ENTITY_CONFIG;
@@ -5540,8 +5546,8 @@ var dashboardService = {
5540
5546
  const day = String(date.getDate()).padStart(2, "0");
5541
5547
  return `${year2}-${month2}-${day}`;
5542
5548
  };
5543
- const formattedStartDate = formatDate2(startDate);
5544
- const formattedEndDate = formatDate2(endDate);
5549
+ const formattedStartDate = options?.startDate || formatDate2(startDate);
5550
+ const formattedEndDate = options?.endDate || formatDate2(endDate);
5545
5551
  try {
5546
5552
  const searchParams = new URLSearchParams();
5547
5553
  searchParams.set("workspace_id", workspaceUuid);
@@ -5561,8 +5567,9 @@ var dashboardService = {
5561
5567
  total_output: item.total_output || 0,
5562
5568
  avg_cycle_time: item.avg_cycle_time || 0,
5563
5569
  ideal_cycle_time: item.ideal_cycle_time ?? 0,
5564
- ideal_output: item.ideal_output || 0,
5565
- total_day_output: item.total_day_output ?? item.ideal_output ?? 0,
5570
+ ideal_output: item.target_output ?? item.ideal_output ?? 0,
5571
+ total_day_output: item.target_output ?? item.total_day_output ?? item.ideal_output ?? 0,
5572
+ target_output: item.target_output ?? item.total_day_output ?? item.ideal_output ?? 0,
5566
5573
  avg_pph: item.avg_pph || 0,
5567
5574
  pph_threshold: item.pph_threshold || 0,
5568
5575
  workspace_rank: item.workspace_rank || 0,
@@ -13961,7 +13968,7 @@ var useLineWorkspaceMetrics = (lineId, options) => {
13961
13968
  trend: item.trend_score === 1 ? 2 : 0,
13962
13969
  predicted_output: item.ideal_output || 0,
13963
13970
  efficiency: item.efficiency || 0,
13964
- action_threshold: item.total_day_output || 0,
13971
+ action_threshold: item.target_output ?? item.total_day_output_recalculated ?? item.total_day_output ?? 0,
13965
13972
  idle_time: item.idle_time ?? void 0,
13966
13973
  idle_time_hourly: item.idle_time_hourly || null,
13967
13974
  shift_start: item.shift_start || void 0,
@@ -14642,7 +14649,7 @@ var transformMonitorWorkspaceMetrics = ({
14642
14649
  trend: item.trend_score === 1 ? 2 : 0,
14643
14650
  predicted_output: item.ideal_output || 0,
14644
14651
  efficiency: item.efficiency || 0,
14645
- action_threshold: item.total_day_output || 0,
14652
+ action_threshold: item.target_output ?? item.total_day_output_recalculated ?? item.total_day_output ?? 0,
14646
14653
  monitoring_mode: item.monitoring_mode ?? void 0,
14647
14654
  idle_time: idleTimeSeconds,
14648
14655
  idle_time_hourly: item.idle_time_hourly ?? null,
@@ -18823,6 +18830,7 @@ var useAllWorkspaceMetrics = (options) => {
18823
18830
  trend_score,
18824
18831
  line_id,
18825
18832
  total_day_output,
18833
+ total_day_output_recalculated,
18826
18834
  workspace_display_name
18827
18835
  `).eq("date", fallbackQueryDate).eq("shift_id", fallbackQueryShiftId).in("workspace_id", allEnabledWorkspaceIds).order("efficiency", { ascending: false });
18828
18836
  if (fetchError) throw fetchError;
@@ -18841,7 +18849,7 @@ var useAllWorkspaceMetrics = (options) => {
18841
18849
  trend: item.trend_score === 1 ? 2 : 0,
18842
18850
  predicted_output: 0,
18843
18851
  efficiency: item.efficiency || 0,
18844
- action_threshold: item.total_day_output || 0
18852
+ action_threshold: item.target_output ?? item.total_day_output_recalculated ?? item.total_day_output ?? 0
18845
18853
  }));
18846
18854
  } else if (shiftGroups.length > 0) {
18847
18855
  console.log(`[useAllWorkspaceMetrics] \u{1F3ED} Fetching per-shift: ${shiftGroups.length} group(s)`);
@@ -18868,6 +18876,7 @@ var useAllWorkspaceMetrics = (options) => {
18868
18876
  trend_score,
18869
18877
  line_id,
18870
18878
  total_day_output,
18879
+ total_day_output_recalculated,
18871
18880
  workspace_display_name
18872
18881
  `).eq("date", group.date).eq("shift_id", group.shiftId).in("workspace_id", groupWorkspaceIds);
18873
18882
  if (fetchError) throw fetchError;
@@ -18886,7 +18895,7 @@ var useAllWorkspaceMetrics = (options) => {
18886
18895
  trend: item.trend_score === 1 ? 2 : 0,
18887
18896
  predicted_output: 0,
18888
18897
  efficiency: item.efficiency || 0,
18889
- action_threshold: item.total_day_output || 0
18898
+ action_threshold: item.target_output ?? item.total_day_output_recalculated ?? item.total_day_output ?? 0
18890
18899
  }));
18891
18900
  });
18892
18901
  const results = await Promise.all(queryPromises);
@@ -51700,12 +51709,15 @@ var LinePdfGenerator = ({
51700
51709
  doc.setTextColor(0, 0, 0);
51701
51710
  const kpiStartY = 80;
51702
51711
  const kpiSpacing = 10;
51712
+ const dayTargetOutput = Math.round(Number(
51713
+ lineInfo.metrics.output_target_recalculated ?? lineInfo.metrics.line_threshold ?? 0
51714
+ ));
51703
51715
  createKPIBox(kpiStartY);
51704
51716
  doc.setFontSize(11);
51705
51717
  doc.setFont("helvetica", "normal");
51706
51718
  doc.text("Output:", 25, kpiStartY);
51707
51719
  doc.setFont("helvetica", "bold");
51708
- doc.text(`${lineInfo.metrics.current_output} / ${lineInfo.metrics.line_threshold}`, 120, kpiStartY);
51720
+ doc.text(`${lineInfo.metrics.current_output} / ${dayTargetOutput}`, 120, kpiStartY);
51709
51721
  createKPIBox(kpiStartY + kpiSpacing);
51710
51722
  doc.setFont("helvetica", "normal");
51711
51723
  doc.text("Average Efficiency:", 25, kpiStartY + kpiSpacing);
@@ -51740,6 +51752,18 @@ var LinePdfGenerator = ({
51740
51752
  fallbackHours: Math.max(hourlyTimeRanges.length, 1),
51741
51753
  rounding: "floor"
51742
51754
  });
51755
+ const backendHourlyTargetOutput = lineInfo.metrics.hourly_target_output;
51756
+ const shouldUseBackendHourlyTargets = backendHourlyTargetOutput !== void 0;
51757
+ const resolveTargetForRange = (index) => {
51758
+ if (shouldUseBackendHourlyTargets) {
51759
+ if (!Array.isArray(backendHourlyTargetOutput)) return null;
51760
+ const targetValue = backendHourlyTargetOutput[index];
51761
+ if (targetValue === null || targetValue === void 0) return null;
51762
+ const numericTarget = Number(targetValue);
51763
+ return Number.isFinite(numericTarget) ? numericTarget : null;
51764
+ }
51765
+ return targetPlan.targets[index] ?? 0;
51766
+ };
51743
51767
  const skuRemarksByIndex = {};
51744
51768
  if (lineInfo.metrics.sku_segments && lineInfo.metrics.sku_segments.length > 0) {
51745
51769
  lineInfo.metrics.sku_segments.forEach((segment, segmentIndex) => {
@@ -51969,8 +51993,9 @@ var LinePdfGenerator = ({
51969
51993
  doc.setDrawColor(200, 200, 200);
51970
51994
  doc.line(20, rowBottomY, 190, rowBottomY);
51971
51995
  }
51972
- const targetForRange = targetPlan.targets[index] ?? 0;
51973
- const targetStr = targetForRange.toString();
51996
+ const targetForRange = resolveTargetForRange(index);
51997
+ const roundedTargetForRange = targetForRange === null ? null : Math.round(targetForRange);
51998
+ const targetStr = roundedTargetForRange === null ? "-" : roundedTargetForRange.toString();
51974
51999
  let remarkText = targetPlan.breakRemarks[index] || "";
51975
52000
  if (skuRemarksByIndex[index] && skuRemarksByIndex[index].length > 0) {
51976
52001
  const skuRemarks = skuRemarksByIndex[index];
@@ -51992,7 +52017,10 @@ var LinePdfGenerator = ({
51992
52017
  if (!dataCollected) {
51993
52018
  doc.setTextColor(100, 100, 100);
51994
52019
  doc.text("-", 135, yPos);
51995
- } else if (actualOutput >= targetForRange) {
52020
+ } else if (roundedTargetForRange === null) {
52021
+ doc.setTextColor(100, 100, 100);
52022
+ doc.text("-", 135, yPos);
52023
+ } else if (actualOutput >= roundedTargetForRange) {
51996
52024
  doc.setTextColor(0, 171, 69);
51997
52025
  doc.setFont("ZapfDingbats", "normal");
51998
52026
  doc.text("4", 135, yPos);
@@ -52726,7 +52754,7 @@ var WorkspaceMonthlyHistory = ({
52726
52754
  const normalizedRange = useMemo(() => {
52727
52755
  const startKey = rangeStart || monthBounds.startKey;
52728
52756
  const endKey = rangeEnd || monthBounds.endKey;
52729
- return normalizeDateKeyRange(startKey, endKey, monthBounds.startKey, monthBounds.endKey);
52757
+ return normalizeDateKeyRangeUnbounded(startKey, endKey);
52730
52758
  }, [rangeStart, rangeEnd, monthBounds.startKey, monthBounds.endKey]);
52731
52759
  const analysisMonthlyData = useMemo(() => {
52732
52760
  if (analysisData) {
@@ -53754,6 +53782,19 @@ var WorkspacePdfGenerator = ({
53754
53782
  fallbackHours: Math.max(hourlyData.length, 1),
53755
53783
  rounding: "floor"
53756
53784
  }) : null;
53785
+ const backendHourlyTargetOutput = workspace.hourly_target_output;
53786
+ const shouldUseBackendHourlyTargets = backendHourlyTargetOutput !== void 0;
53787
+ const resolveTargetForRange = (index) => {
53788
+ if (!outputTargetPlan) return null;
53789
+ if (shouldUseBackendHourlyTargets) {
53790
+ if (!Array.isArray(backendHourlyTargetOutput)) return null;
53791
+ const targetValue = backendHourlyTargetOutput[index];
53792
+ if (targetValue === null || targetValue === void 0) return null;
53793
+ const numericTarget = Number(targetValue);
53794
+ return Number.isFinite(numericTarget) ? numericTarget : null;
53795
+ }
53796
+ return outputTargetPlan.targets[index] ?? hourlyTarget;
53797
+ };
53757
53798
  const skuRemarksByIndex = {};
53758
53799
  if (workspace.sku_segments && workspace.sku_segments.length > 0) {
53759
53800
  workspace.sku_segments.forEach((segment, segmentIndex) => {
@@ -53880,7 +53921,7 @@ var WorkspacePdfGenerator = ({
53880
53921
  const idleValue = isUptimeMode ? entry.idleMinutes ?? 0 : 0;
53881
53922
  const uptimePercent = isUptimeMode ? entry.uptimePercent ?? 0 : 0;
53882
53923
  const outputStr = dataCollected ? outputValue.toString() : "TBD";
53883
- const effectiveTarget = outputTargetPlan?.targets[index] ?? hourlyTarget;
53924
+ const effectiveTarget = resolveTargetForRange(index);
53884
53925
  let remarkText = outputTargetPlan?.breakRemarks[index] || "";
53885
53926
  if (skuRemarksByIndex[index] && skuRemarksByIndex[index].length > 0) {
53886
53927
  const skuRemarks = skuRemarksByIndex[index];
@@ -53888,7 +53929,8 @@ var WorkspacePdfGenerator = ({
53888
53929
  const compactSkuRemark = skuRemarks.length === 1 ? `${latestSku} started` : `${latestSku} started, +${skuRemarks.length - 1}`;
53889
53930
  remarkText = remarkText ? `${remarkText}, ${compactSkuRemark}` : compactSkuRemark;
53890
53931
  }
53891
- const targetStr = isUptimeMode ? dataCollected ? idleValue.toString() : "TBD" : effectiveTarget.toString();
53932
+ const roundedEffectiveTarget = effectiveTarget === null ? null : Math.round(effectiveTarget);
53933
+ const targetStr = isUptimeMode ? dataCollected ? idleValue.toString() : "TBD" : roundedEffectiveTarget === null ? "-" : roundedEffectiveTarget.toString();
53892
53934
  if (index < totalRows - 1) {
53893
53935
  const rowBottomY = headerBottomY + (index + 1) * rowHeight;
53894
53936
  doc.setDrawColor(200, 200, 200);
@@ -53931,7 +53973,10 @@ var WorkspacePdfGenerator = ({
53931
53973
  if (!dataCollected) {
53932
53974
  doc.setTextColor(100, 100, 100);
53933
53975
  doc.text("-", 135, yPos);
53934
- } else if (outputValue >= effectiveTarget) {
53976
+ } else if (roundedEffectiveTarget === null) {
53977
+ doc.setTextColor(100, 100, 100);
53978
+ doc.text("-", 135, yPos);
53979
+ } else if (outputValue >= roundedEffectiveTarget) {
53935
53980
  doc.setTextColor(0, 171, 69);
53936
53981
  doc.setFont("ZapfDingbats", "normal");
53937
53982
  doc.text("4", 135, yPos);
@@ -54040,12 +54085,9 @@ var WorkspaceMonthlyPdfGenerator = ({
54040
54085
  };
54041
54086
  const boundsSourceKey = rangeStart || rangeEnd || monthBounds.startKey;
54042
54087
  const boundsSourceDate = parseDateKeyToDate(boundsSourceKey);
54043
- const effectiveBounds = getMonthKeyBounds(boundsSourceDate.getFullYear(), boundsSourceDate.getMonth());
54044
- const normalizedRange = normalizeDateKeyRange(
54088
+ const normalizedRange = normalizeDateKeyRangeUnbounded(
54045
54089
  requestedRange.startKey,
54046
- requestedRange.endKey,
54047
- effectiveBounds.startKey,
54048
- effectiveBounds.endKey
54090
+ requestedRange.endKey
54049
54091
  );
54050
54092
  const fullRange = isFullMonthRange(
54051
54093
  normalizedRange,
@@ -65503,6 +65545,7 @@ var buildLineInfoSnapshot = (lineDetails, metrics2) => {
65503
65545
  output_array: metrics2.output_array || [],
65504
65546
  output_hourly: metrics2.output_hourly,
65505
65547
  hourly_target_output: metrics2.hourly_target_output,
65548
+ hourly_target_output_by_sku: metrics2.hourly_target_output_by_sku,
65506
65549
  line_threshold: metrics2.line_threshold ?? 0,
65507
65550
  output_target_recalculated: metrics2.output_target_recalculated ?? null,
65508
65551
  threshold_pph: metrics2.threshold_pph ?? 0,
@@ -65536,7 +65579,7 @@ var transformWorkspaceMetrics = (workspaceData, lineId, companyId, queryDate, qu
65536
65579
  trend: item.trend_score === 1 ? 2 : 0,
65537
65580
  predicted_output: item.ideal_output || 0,
65538
65581
  efficiency: item.efficiency || 0,
65539
- action_threshold: item.total_day_output || 0,
65582
+ action_threshold: item.target_output ?? item.total_day_output_recalculated ?? item.total_day_output ?? 0,
65540
65583
  idle_time: item.idle_time ?? void 0,
65541
65584
  idle_time_hourly: item.idle_time_hourly || null,
65542
65585
  shift_start: item.shift_start || void 0,
@@ -66036,8 +66079,8 @@ var MonthlyRangeFilter = ({
66036
66079
  ], [timezone, todayDate]);
66037
66080
  const monthBounds = useMemo(() => getMonthKeyBounds(year, month), [year, month]);
66038
66081
  const normalizedRange = useMemo(() => {
66039
- return normalizeDateKeyRange(value.startKey, value.endKey, monthBounds.startKey, monthBounds.endKey);
66040
- }, [value.startKey, value.endKey, monthBounds.startKey, monthBounds.endKey]);
66082
+ return normalizeDateKeyRangeUnbounded(value.startKey, value.endKey);
66083
+ }, [value.startKey, value.endKey]);
66041
66084
  const fullMonthLabel = useMemo(() => {
66042
66085
  const startLabel = formatDateKeyForDisplay(monthBounds.startKey, "MMM d");
66043
66086
  const endLabel = formatDateKeyForDisplay(monthBounds.endKey, "MMM d, yyyy");
@@ -66130,6 +66173,22 @@ var MonthlyRangeFilter = ({
66130
66173
  handlePresetClick(thisMonth);
66131
66174
  }
66132
66175
  };
66176
+ const maybeSelectVisibleFullMonth = (newMonth, newYear) => {
66177
+ if (singleDateOnly || selecting || !rangeStart || !rangeEnd) {
66178
+ return;
66179
+ }
66180
+ const visibleBounds = getMonthKeyBounds(calendarYear, calendarMonth);
66181
+ const currentStartKey = format(rangeStart, "yyyy-MM-dd");
66182
+ const currentEndKey = format(rangeEnd, "yyyy-MM-dd");
66183
+ if (currentStartKey !== visibleBounds.startKey || currentEndKey !== visibleBounds.endKey) {
66184
+ return;
66185
+ }
66186
+ const nextBounds = getMonthKeyBounds(newYear, newMonth);
66187
+ setRangeStart(parseDateKeyToDate(nextBounds.startKey));
66188
+ setRangeEnd(parseDateKeyToDate(nextBounds.endKey));
66189
+ setActivePreset("Custom");
66190
+ setPendingChangeMeta({ source: "custom" });
66191
+ };
66133
66192
  const handleApply = () => {
66134
66193
  if (rangeStart) {
66135
66194
  if (singleDateOnly) {
@@ -66157,6 +66216,7 @@ var MonthlyRangeFilter = ({
66157
66216
  if (newYear < 2023) return;
66158
66217
  setCalendarMonth(newMonth);
66159
66218
  setCalendarYear(newYear);
66219
+ maybeSelectVisibleFullMonth(newMonth, newYear);
66160
66220
  onMonthNavigate?.(newMonth, newYear);
66161
66221
  };
66162
66222
  const handleNextMonth = () => {
@@ -66168,6 +66228,7 @@ var MonthlyRangeFilter = ({
66168
66228
  }
66169
66229
  setCalendarMonth(newMonth);
66170
66230
  setCalendarYear(newYear);
66231
+ maybeSelectVisibleFullMonth(newMonth, newYear);
66171
66232
  onMonthNavigate?.(newMonth, newYear);
66172
66233
  };
66173
66234
  const canGoPrevious = !(calendarYear === 2023 && calendarMonth === 0);
@@ -67313,9 +67374,9 @@ var KPIDetailView = ({
67313
67374
  output: metric.current_output || 0,
67314
67375
  // LineMonthlyHistory expects `idealOutput` for the red dotted target ReferenceLine.
67315
67376
  // `line_threshold` comes from `line_metrics` (numeric -> string via PostgREST), so coerce.
67316
- idealOutput: Number(metric.line_threshold ?? metric.ideal_output ?? 0),
67377
+ idealOutput: Number(metric.target_output ?? metric.line_threshold ?? metric.ideal_output ?? 0),
67317
67378
  // Keep legacy field in case any downstream code still reads it.
67318
- targetOutput: Number(metric.line_threshold ?? metric.ideal_output ?? 0),
67379
+ targetOutput: Number(metric.target_output ?? metric.line_threshold ?? metric.ideal_output ?? 0),
67319
67380
  compliance_percentage: 95 + Math.random() * 5,
67320
67381
  // Mock data: random value between 95-100%
67321
67382
  hasData: isUptimeMode ? hasUptimeMetricData : true,
@@ -67402,6 +67463,7 @@ var KPIDetailView = ({
67402
67463
  output_array: metrics2.output_array || [],
67403
67464
  output_hourly: metrics2.output_hourly,
67404
67465
  hourly_target_output: metrics2.hourly_target_output,
67466
+ hourly_target_output_by_sku: metrics2.hourly_target_output_by_sku,
67405
67467
  line_threshold: metrics2.line_threshold ?? 0,
67406
67468
  output_target_recalculated: metrics2.output_target_recalculated ?? null,
67407
67469
  threshold_pph: metrics2.threshold_pph ?? 0,
@@ -67529,6 +67591,19 @@ var KPIDetailView = ({
67529
67591
  if (selectedSkuId === "all") return null;
67530
67592
  return realSkuOptions.find((item) => item.sku_id === selectedSkuId) ?? null;
67531
67593
  }, [realSkuOptions, selectedSkuId]);
67594
+ const selectedHourlyTargetOutput = useMemo(() => {
67595
+ const aggregateTarget = chartMetrics?.hourly_target_output;
67596
+ if (!normalizedSelectedSkuId) return aggregateTarget;
67597
+ const targetBySku = chartMetrics?.hourly_target_output_by_sku;
67598
+ if (targetBySku && Object.prototype.hasOwnProperty.call(targetBySku, normalizedSelectedSkuId)) {
67599
+ return targetBySku[normalizedSelectedSkuId];
67600
+ }
67601
+ return aggregateTarget;
67602
+ }, [
67603
+ chartMetrics?.hourly_target_output,
67604
+ chartMetrics?.hourly_target_output_by_sku,
67605
+ normalizedSelectedSkuId
67606
+ ]);
67532
67607
  const displayLineInfo = useMemo(() => {
67533
67608
  if (!resolvedLineInfo) return null;
67534
67609
  if (!selectedSkuRow) return resolvedLineInfo;
@@ -68370,7 +68445,7 @@ var KPIDetailView = ({
68370
68445
  workspaceDisplayNames,
68371
68446
  hourlyOutputData,
68372
68447
  hourlyThreshold,
68373
- hourlyTargetOutput: chartMetrics?.hourly_target_output,
68448
+ hourlyTargetOutput: selectedHourlyTargetOutput,
68374
68449
  shiftBreaks: shiftConfig?.shifts?.find((shift) => shift.shiftId === resolvedLineInfo.shift_id)?.breaks || [],
68375
68450
  idleTimeHourly: chartMetrics?.idle_time_hourly,
68376
68451
  timezone: lineTimezone,
@@ -75139,6 +75214,7 @@ var WorkspaceDetailView = ({
75139
75214
  const [previousView, setPreviousView] = useState("dashboard");
75140
75215
  const [monthlyData, setMonthlyData] = useState([]);
75141
75216
  const [monthlyDataLoading, setMonthlyDataLoading] = useState(false);
75217
+ const monthlyDataRequestKeyRef = useRef(null);
75142
75218
  const timezone = useAppTimezone();
75143
75219
  const supabase = useSupabase();
75144
75220
  const today = new Date((/* @__PURE__ */ new Date()).toLocaleString("en-US", { timeZone: timezone }));
@@ -75172,11 +75248,9 @@ var WorkspaceDetailView = ({
75172
75248
  const targetMonth = targetStartDate.getMonth();
75173
75249
  const targetYear = targetStartDate.getFullYear();
75174
75250
  const targetBounds = getMonthKeyBounds(targetYear, targetMonth);
75175
- const normalized = normalizeDateKeyRange(
75251
+ const normalized = normalizeDateKeyRangeUnbounded(
75176
75252
  typeof urlRangeStart === "string" ? urlRangeStart : targetBounds.startKey,
75177
- typeof urlRangeEnd === "string" ? urlRangeEnd : targetBounds.endKey,
75178
- targetBounds.startKey,
75179
- targetBounds.endKey
75253
+ typeof urlRangeEnd === "string" ? urlRangeEnd : targetBounds.endKey
75180
75254
  );
75181
75255
  setSelectedMonth(targetMonth);
75182
75256
  setSelectedYear(targetYear);
@@ -75773,8 +75847,8 @@ var WorkspaceDetailView = ({
75773
75847
  idealCycleTime: Number(metric.ideal_cycle_time || 0),
75774
75848
  pph: metric.avg_pph || 0,
75775
75849
  pphThreshold: metric.pph_threshold || 0,
75776
- idealOutput: Number(metric.ideal_output || 0),
75777
- targetOutput: Number(metric.total_day_output || 0),
75850
+ idealOutput: Number(metric.target_output ?? metric.ideal_output ?? 0),
75851
+ targetOutput: Number(metric.target_output ?? metric.total_day_output ?? 0),
75778
75852
  rank: metric.workspace_rank || 0,
75779
75853
  idleTime: idleTimeSeconds || 0,
75780
75854
  activeTimeSeconds,
@@ -75800,21 +75874,36 @@ var WorkspaceDetailView = ({
75800
75874
  console.error("Supabase client or required config not available in WorkspaceDetailView for monthly data");
75801
75875
  return;
75802
75876
  }
75877
+ const requestKey = `${workspaceId}|${range.startKey}|${range.endKey}`;
75878
+ monthlyDataRequestKeyRef.current = requestKey;
75803
75879
  setMonthlyDataLoading(true);
75804
75880
  dashboardService.getWorkspaceMonthlyData(
75805
75881
  workspaceId,
75806
75882
  selectedMonth,
75807
- selectedYear
75883
+ selectedYear,
75884
+ {
75885
+ startDate: range.startKey,
75886
+ endDate: range.endKey
75887
+ }
75808
75888
  ).then((data) => {
75889
+ if (monthlyDataRequestKeyRef.current !== requestKey) {
75890
+ return;
75891
+ }
75809
75892
  handleMonthlyDataLoaded(data || []);
75810
75893
  }).catch((err) => {
75894
+ if (monthlyDataRequestKeyRef.current !== requestKey) {
75895
+ return;
75896
+ }
75811
75897
  console.error("Error fetching monthly data:", err);
75812
75898
  setMonthlyData([]);
75813
75899
  }).finally(() => {
75900
+ if (monthlyDataRequestKeyRef.current !== requestKey) {
75901
+ return;
75902
+ }
75814
75903
  setMonthlyDataLoading(false);
75815
75904
  });
75816
75905
  }
75817
- }, [activeTab, workspaceId, selectedMonth, selectedYear, supabase, dashboardConfig, handleMonthlyDataLoaded]);
75906
+ }, [activeTab, workspaceId, selectedMonth, selectedYear, range.startKey, range.endKey, supabase, dashboardConfig, handleMonthlyDataLoaded]);
75818
75907
  const analysisMonthlyData = useMemo(() => {
75819
75908
  return filterDataByDateKeyRange(monthlyData, range);
75820
75909
  }, [monthlyData, range]);
@@ -76184,9 +76273,9 @@ var WorkspaceDetailView = ({
76184
76273
  /* @__PURE__ */ jsxs("div", { className: "sm:hidden mt-3 flex items-center justify-center gap-2", children: [
76185
76274
  /* @__PURE__ */ jsx("div", { className: "inline-flex items-center px-2.5 py-1 bg-gray-100 rounded-full", children: /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-gray-700", children: (() => {
76186
76275
  const monthBounds2 = getMonthKeyBounds(selectedYear, selectedMonth);
76187
- const normalizedRange = normalizeDateKeyRange(rangeStart, rangeEnd, monthBounds2.startKey, monthBounds2.endKey);
76188
- const startDate = new Date(normalizedRange.startKey);
76189
- const endDate = new Date(normalizedRange.endKey);
76276
+ const normalizedRange = normalizeDateKeyRangeUnbounded(rangeStart, rangeEnd);
76277
+ const startDate = parseDateKeyToDate(normalizedRange.startKey);
76278
+ const endDate = parseDateKeyToDate(normalizedRange.endKey);
76190
76279
  const isFullMonth = normalizedRange.startKey === monthBounds2.startKey && normalizedRange.endKey === monthBounds2.endKey;
76191
76280
  if (isFullMonth) {
76192
76281
  return `${startDate.toLocaleDateString("en-US", { month: "short", day: "numeric" })} - ${endDate.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" })}`;
@@ -76210,9 +76299,9 @@ var WorkspaceDetailView = ({
76210
76299
  /* @__PURE__ */ jsx("svg", { className: "w-4 h-4 opacity-70", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) }),
76211
76300
  /* @__PURE__ */ jsx("span", { className: "text-sm md:text-base font-medium", children: (() => {
76212
76301
  const monthBounds2 = getMonthKeyBounds(selectedYear, selectedMonth);
76213
- const normalizedRange = normalizeDateKeyRange(rangeStart, rangeEnd, monthBounds2.startKey, monthBounds2.endKey);
76214
- const startDate = new Date(normalizedRange.startKey);
76215
- const endDate = new Date(normalizedRange.endKey);
76302
+ const normalizedRange = normalizeDateKeyRangeUnbounded(rangeStart, rangeEnd);
76303
+ const startDate = parseDateKeyToDate(normalizedRange.startKey);
76304
+ const endDate = parseDateKeyToDate(normalizedRange.endKey);
76216
76305
  const isFullMonth = normalizedRange.startKey === monthBounds2.startKey && normalizedRange.endKey === monthBounds2.endKey;
76217
76306
  if (isFullMonth) {
76218
76307
  return `${startDate.toLocaleDateString("en-US", { month: "short", day: "numeric" })} - ${endDate.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" })}`;
@@ -76361,13 +76450,6 @@ var WorkspaceDetailView = ({
76361
76450
  setSelectedYear(nextYear);
76362
76451
  }
76363
76452
  },
76364
- onMonthNavigate: (newMonth, newYear) => {
76365
- setSelectedMonth(newMonth);
76366
- setSelectedYear(newYear);
76367
- const nextBounds = getMonthKeyBounds(newYear, newMonth);
76368
- setRangeStart(nextBounds.startKey);
76369
- setRangeEnd(nextBounds.endKey);
76370
- },
76371
76453
  showLabel: false
76372
76454
  }
76373
76455
  ),
@@ -85737,4 +85819,4 @@ var streamProxyConfig = {
85737
85819
  }
85738
85820
  };
85739
85821
 
85740
- export { ACTION_FAMILIES, ACTION_NAMES, AIAgentView_default as AIAgentView, AcceptInvite, AcceptInviteView_default as AcceptInviteView, AdvancedFilterDialog, AdvancedFilterPanel, AudioService, AuthCallback, AuthCallbackView_default as AuthCallbackView, AuthProvider, AuthService, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, AxelNotificationPopup, AxelOrb, BackButton, BackButtonMinimal, BarChart, BaseHistoryCalendar, BottleneckClipsModal, BottleneckClipsView_default as BottleneckClipsView, BottlenecksContent, BreakNotificationPopup, CachePrefetchStatus, Card2 as Card, CardContent2 as CardContent, CardDescription2 as CardDescription, CardFooter2 as CardFooter, CardHeader2 as CardHeader, CardTitle2 as CardTitle, ChangeRoleDialog, ClipFilterProvider, ClipsCostView_default as ClipsCostView, CompactWorkspaceHealthCard, ConfirmRemoveUserDialog, CongratulationsOverlay, CroppedHlsVideoPlayer, CroppedVideoPlayer, CycleTimeChart, CycleTimeOverTimeChart, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_HOME_VIEW_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, DashboardHeader, DashboardLayout, DashboardOverridesProvider, DashboardProvider, DateDisplay_default as DateDisplay, DateTimeDisplay, DebugAuth, DebugAuthView_default as DebugAuthView, DetailedHealthStatus, DiagnosisVideoModal, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, EncouragementOverlay, FactoryAssignmentDropdown, FactoryView_default as FactoryView, FileManagerFilters, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, GaugeChart, GridComponentsPlaceholder, HamburgerButton, Header, HealthDateShiftSelector, HealthStatusGrid, HealthStatusIndicator, HelpView_default as HelpView, HlsVideoPlayer, HomeView_default as HomeView, HourlyOutputChart2 as HourlyOutputChart, HourlyUptimeChart, ISTTimer_default as ISTTimer, IdleTimeVlmConfigProvider, ImprovementCenterView_default as ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, InvitationsTable, InviteUserDialog, KPICard, KPIDetailView_default as KPIDetailView, KPIGrid, KPIHeader, KPISection, KPIsOverviewView_default as KPIsOverviewView, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, LeaderboardDetailView_default as LeaderboardDetailView, Legend5 as Legend, LineAssignmentDropdown, LineChart, LineHistoryCalendar, LineMonthlyHistory, LineMonthlyPdfGenerator, LinePdfExportButton, LinePdfGenerator, LineWhatsAppShareButton, LinesService, LiveTimer, LoadingInline, LoadingOverlay_default as LoadingOverlay, LoadingPage_default as LoadingPage, LoadingSkeleton, LoadingState, LoginPage, LoginView_default as LoginView, Logo, MainLayout, MapGridView, MetricCard_default as MetricCard, MinimalOnboardingPopup, MobileMenuProvider, NewClipsNotification, NoWorkspaceData, OnboardingDemo, OnboardingTour, OptifyeAgentClient, OptifyeLogoLoader_default as OptifyeLogoLoader, OutputProgressChart, PageHeader, PieChart4 as PieChart, PlantHeadView_default as PlantHeadView, PlayPauseIndicator, PrefetchConfigurationError, PrefetchError, PrefetchEvents, PrefetchStatus, PrefetchTimeoutError, ProfileView_default as ProfileView, ROOT_DASHBOARD_EVENT_NAMES, RegistryProvider, RoleBadge, S3ClipsSupabaseService as S3ClipsService, S3Service, SENTRY_HANDLED_EVENT_SESSION_LIMIT, SENTRY_HANDLED_EVENT_WINDOW_MS, SENTRY_QUOTA_STORAGE_KEY, SKUManagementView, SOPComplianceChart, SSEChatClient, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, ShiftDisplay_default as ShiftDisplay, ShiftsView_default as ShiftsView, SideNavBar, SignupWithInvitation, SilentErrorBoundary, SimpleOnboardingPopup, SingleVideoStream_default as SingleVideoStream, Skeleton, SubscriptionManager, SubscriptionManagerProvider, SupabaseProvider, SupervisorDropdown_default as SupervisorDropdown, SupervisorManagementView_default as SupervisorManagementView, SupervisorService, TargetWorkspaceGrid, TargetsView_default as TargetsView, TeamManagementView_default as TeamManagementView, ThreadSidebar, TicketHistory_default as TicketHistory, TicketHistoryService, TicketsView_default as TicketsView, TimeDisplay_default as TimeDisplay, TimePickerDropdown, Timer_default as Timer, TimezoneProvider, TimezoneService, UptimeDonutChart, UptimeLineChart, UptimeMetricCards, UserAvatar, UserManagementService, UserManagementTable, UserService, UserUsageDetailModal, UserUsageStats, VideoCard, VideoGridView, VideoPlayer, VideoPreloader, WORKSPACE_POSITIONS, WhatsAppShareButton, WorkspaceCard, WorkspaceCycleTimeMetricCards, WorkspaceDetailView_default as WorkspaceDetailView, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, WorkspaceHealthCard, WorkspaceHealthView_default as WorkspaceHealthView, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, WorkspaceMonthlyDataFetcher, WorkspaceMonthlyHistory, WorkspaceMonthlyPdfGenerator, WorkspacePdfExportButton, WorkspacePdfGenerator, WorkspaceWhatsAppShareButton, actionService, addSentryBreadcrumb, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildKpiLineHierarchy, buildLineSkuBreakdown, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureHandledFrontendException, captureSentryException, captureSentryMessage, checkRateLimit2 as checkRateLimit, clearAllRateLimits2 as clearAllRateLimits, clearRateLimit2 as clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, combineLineMetricsRows, countRealSkus, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, fetchLineDummySkuId, fetchLineSkuCatalog, filterDataByDateKeyRange, filterRealSkuBreakdown, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration2 as formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getActionDisplayName, getActiveShift, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDateKeyFromValue, getDayDateKey, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getMonthlyTrendComparisonLabel, getNextUpdateInterval, getOperationalDate, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isIgnorableFrontendError, isLegacyConfiguration, isLoopbackHostname, isPrefetchError, isRealSku, isRecentFlowVideoGridMetricMode, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWipGatedVideoGridMetricMode, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeActionFamily, normalizeDateKeyRange, normalizeRoleLevel, normalizeVideoGridMetricMode, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, pickPreferredLineMetricsRow, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSentryQuotaForTests, resetSubscriptionManager, resolveDefaultSkuId, resolveLiveSkuId, s3VideoPreloader, selectPreferredLineMetricsRow, setSentryUserContext, setSentryWorkspaceContext, shouldEnableLocalDevTestLogin, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyFastSlowClipFiltersEnabled, useCompanyHasVlmEnabledLine, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
85822
+ export { ACTION_FAMILIES, ACTION_NAMES, AIAgentView_default as AIAgentView, AcceptInvite, AcceptInviteView_default as AcceptInviteView, AdvancedFilterDialog, AdvancedFilterPanel, AudioService, AuthCallback, AuthCallbackView_default as AuthCallbackView, AuthProvider, AuthService, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, AxelNotificationPopup, AxelOrb, BackButton, BackButtonMinimal, BarChart, BaseHistoryCalendar, BottleneckClipsModal, BottleneckClipsView_default as BottleneckClipsView, BottlenecksContent, BreakNotificationPopup, CachePrefetchStatus, Card2 as Card, CardContent2 as CardContent, CardDescription2 as CardDescription, CardFooter2 as CardFooter, CardHeader2 as CardHeader, CardTitle2 as CardTitle, ChangeRoleDialog, ClipFilterProvider, ClipsCostView_default as ClipsCostView, CompactWorkspaceHealthCard, ConfirmRemoveUserDialog, CongratulationsOverlay, CroppedHlsVideoPlayer, CroppedVideoPlayer, CycleTimeChart, CycleTimeOverTimeChart, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_HOME_VIEW_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, DashboardHeader, DashboardLayout, DashboardOverridesProvider, DashboardProvider, DateDisplay_default as DateDisplay, DateTimeDisplay, DebugAuth, DebugAuthView_default as DebugAuthView, DetailedHealthStatus, DiagnosisVideoModal, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, EncouragementOverlay, FactoryAssignmentDropdown, FactoryView_default as FactoryView, FileManagerFilters, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, GaugeChart, GridComponentsPlaceholder, HamburgerButton, Header, HealthDateShiftSelector, HealthStatusGrid, HealthStatusIndicator, HelpView_default as HelpView, HlsVideoPlayer, HomeView_default as HomeView, HourlyOutputChart2 as HourlyOutputChart, HourlyUptimeChart, ISTTimer_default as ISTTimer, IdleTimeVlmConfigProvider, ImprovementCenterView_default as ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, InvitationsTable, InviteUserDialog, KPICard, KPIDetailView_default as KPIDetailView, KPIGrid, KPIHeader, KPISection, KPIsOverviewView_default as KPIsOverviewView, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, LeaderboardDetailView_default as LeaderboardDetailView, Legend5 as Legend, LineAssignmentDropdown, LineChart, LineHistoryCalendar, LineMonthlyHistory, LineMonthlyPdfGenerator, LinePdfExportButton, LinePdfGenerator, LineWhatsAppShareButton, LinesService, LiveTimer, LoadingInline, LoadingOverlay_default as LoadingOverlay, LoadingPage_default as LoadingPage, LoadingSkeleton, LoadingState, LoginPage, LoginView_default as LoginView, Logo, MainLayout, MapGridView, MetricCard_default as MetricCard, MinimalOnboardingPopup, MobileMenuProvider, NewClipsNotification, NoWorkspaceData, OnboardingDemo, OnboardingTour, OptifyeAgentClient, OptifyeLogoLoader_default as OptifyeLogoLoader, OutputProgressChart, PageHeader, PieChart4 as PieChart, PlantHeadView_default as PlantHeadView, PlayPauseIndicator, PrefetchConfigurationError, PrefetchError, PrefetchEvents, PrefetchStatus, PrefetchTimeoutError, ProfileView_default as ProfileView, ROOT_DASHBOARD_EVENT_NAMES, RegistryProvider, RoleBadge, S3ClipsSupabaseService as S3ClipsService, S3Service, SENTRY_HANDLED_EVENT_SESSION_LIMIT, SENTRY_HANDLED_EVENT_WINDOW_MS, SENTRY_QUOTA_STORAGE_KEY, SKUManagementView, SOPComplianceChart, SSEChatClient, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, ShiftDisplay_default as ShiftDisplay, ShiftsView_default as ShiftsView, SideNavBar, SignupWithInvitation, SilentErrorBoundary, SimpleOnboardingPopup, SingleVideoStream_default as SingleVideoStream, Skeleton, SubscriptionManager, SubscriptionManagerProvider, SupabaseProvider, SupervisorDropdown_default as SupervisorDropdown, SupervisorManagementView_default as SupervisorManagementView, SupervisorService, TargetWorkspaceGrid, TargetsView_default as TargetsView, TeamManagementView_default as TeamManagementView, ThreadSidebar, TicketHistory_default as TicketHistory, TicketHistoryService, TicketsView_default as TicketsView, TimeDisplay_default as TimeDisplay, TimePickerDropdown, Timer_default as Timer, TimezoneProvider, TimezoneService, UptimeDonutChart, UptimeLineChart, UptimeMetricCards, UserAvatar, UserManagementService, UserManagementTable, UserService, UserUsageDetailModal, UserUsageStats, VideoCard, VideoGridView, VideoPlayer, VideoPreloader, WORKSPACE_POSITIONS, WhatsAppShareButton, WorkspaceCard, WorkspaceCycleTimeMetricCards, WorkspaceDetailView_default as WorkspaceDetailView, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, WorkspaceHealthCard, WorkspaceHealthView_default as WorkspaceHealthView, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, WorkspaceMonthlyDataFetcher, WorkspaceMonthlyHistory, WorkspaceMonthlyPdfGenerator, WorkspacePdfExportButton, WorkspacePdfGenerator, WorkspaceWhatsAppShareButton, actionService, addSentryBreadcrumb, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildKpiLineHierarchy, buildLineSkuBreakdown, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureHandledFrontendException, captureSentryException, captureSentryMessage, checkRateLimit2 as checkRateLimit, clearAllRateLimits2 as clearAllRateLimits, clearRateLimit2 as clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, combineLineMetricsRows, countRealSkus, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, fetchLineDummySkuId, fetchLineSkuCatalog, filterDataByDateKeyRange, filterRealSkuBreakdown, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration2 as formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getActionDisplayName, getActiveShift, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDateKeyFromValue, getDayDateKey, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getMonthlyTrendComparisonLabel, getNextUpdateInterval, getOperationalDate, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isIgnorableFrontendError, isLegacyConfiguration, isLoopbackHostname, isPrefetchError, isRealSku, isRecentFlowVideoGridMetricMode, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWipGatedVideoGridMetricMode, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeActionFamily, normalizeDateKeyRange, normalizeDateKeyRangeUnbounded, normalizeRoleLevel, normalizeVideoGridMetricMode, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, pickPreferredLineMetricsRow, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSentryQuotaForTests, resetSubscriptionManager, resolveDefaultSkuId, resolveLiveSkuId, s3VideoPreloader, selectPreferredLineMetricsRow, setSentryUserContext, setSentryWorkspaceContext, shouldEnableLocalDevTestLogin, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyFastSlowClipFiltersEnabled, useCompanyHasVlmEnabledLine, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optifye/dashboard-core",
3
- "version": "6.12.13",
3
+ "version": "6.12.15",
4
4
  "description": "Reusable UI & logic for Optifye dashboard",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",