@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 +9 -2
- package/dist/index.d.ts +9 -2
- package/dist/index.js +132 -49
- package/dist/index.mjs +132 -50
- package/package.json +1 -1
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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} / ${
|
|
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 =
|
|
52002
|
-
const
|
|
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 (
|
|
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
|
|
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 =
|
|
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
|
|
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 (
|
|
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
|
|
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
|
|
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
|
|
66069
|
-
}, [value.startKey, value.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:
|
|
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 =
|
|
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
|
|
75806
|
-
targetOutput: Number(metric.total_day_output
|
|
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 =
|
|
76217
|
-
const startDate =
|
|
76218
|
-
const endDate =
|
|
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 =
|
|
76243
|
-
const startDate =
|
|
76244
|
-
const endDate =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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} / ${
|
|
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 =
|
|
51973
|
-
const
|
|
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 (
|
|
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
|
|
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 =
|
|
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
|
|
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 (
|
|
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
|
|
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
|
|
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
|
|
66040
|
-
}, [value.startKey, value.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:
|
|
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 =
|
|
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
|
|
75777
|
-
targetOutput: Number(metric.total_day_output
|
|
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 =
|
|
76188
|
-
const startDate =
|
|
76189
|
-
const endDate =
|
|
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 =
|
|
76214
|
-
const startDate =
|
|
76215
|
-
const endDate =
|
|
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 };
|