@optifye/dashboard-core 6.5.11 → 6.6.0

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.ts CHANGED
@@ -389,6 +389,8 @@ interface AuthUser {
389
389
  email?: string;
390
390
  role?: string;
391
391
  role_level?: 'owner' | 'plant_head' | 'supervisor' | 'optifye';
392
+ company_id?: string;
393
+ first_login_completed?: boolean;
392
394
  }
393
395
 
394
396
  /**
@@ -1126,6 +1128,66 @@ interface SKUListProps {
1126
1128
  isLoading?: boolean;
1127
1129
  }
1128
1130
 
1131
+ /**
1132
+ * Supervisor-related type definitions for the dashboard
1133
+ */
1134
+ interface Supervisor {
1135
+ /** Unique identifier for the supervisor */
1136
+ id: string;
1137
+ /** Full name of the supervisor */
1138
+ name: string;
1139
+ /** Email address of the supervisor */
1140
+ email?: string;
1141
+ /** Phone number of the supervisor */
1142
+ phone?: string;
1143
+ /** Whether the supervisor is currently active */
1144
+ isActive: boolean;
1145
+ /** Date when the supervisor was created */
1146
+ createdAt?: string;
1147
+ /** Date when the supervisor was last updated */
1148
+ updatedAt?: string;
1149
+ }
1150
+ interface Line$1 {
1151
+ /** Unique identifier for the line */
1152
+ id: string;
1153
+ /** Name of the line */
1154
+ name: string;
1155
+ /** Company ID that owns this line */
1156
+ companyId: string;
1157
+ /** Currently assigned supervisor ID */
1158
+ supervisorId?: string;
1159
+ /** Location of the line */
1160
+ location?: string;
1161
+ /** Whether the line is currently active */
1162
+ isActive: boolean;
1163
+ /** Date when the line was created */
1164
+ createdAt?: string;
1165
+ /** Date when the line was last updated */
1166
+ updatedAt?: string;
1167
+ /** Factory ID that the line belongs to */
1168
+ factoryId?: string;
1169
+ }
1170
+ interface SupervisorAssignment {
1171
+ /** Line ID */
1172
+ lineId: string;
1173
+ /** Line name for display */
1174
+ lineName: string;
1175
+ /** Currently assigned supervisor */
1176
+ currentSupervisor?: Supervisor;
1177
+ /** Available supervisors for assignment */
1178
+ availableSupervisors: Supervisor[];
1179
+ }
1180
+ interface SupervisorManagementData {
1181
+ /** List of line-supervisor assignments */
1182
+ assignments: SupervisorAssignment[];
1183
+ /** All available supervisors */
1184
+ allSupervisors: Supervisor[];
1185
+ /** Loading state */
1186
+ loading: boolean;
1187
+ /** Error state */
1188
+ error?: string;
1189
+ }
1190
+
1129
1191
  /**
1130
1192
  * S3 Clips Service - Secure Version
1131
1193
  * Uses API routes instead of direct S3 access
@@ -1139,7 +1201,7 @@ interface SKUListProps {
1139
1201
  * 3. Ensure API routes are deployed
1140
1202
  */
1141
1203
 
1142
- interface VideoIndexEntry {
1204
+ interface VideoIndexEntry$1 {
1143
1205
  uri: string;
1144
1206
  category: string;
1145
1207
  timestamp: string;
@@ -1148,9 +1210,9 @@ interface VideoIndexEntry {
1148
1210
  date: string;
1149
1211
  shiftId: string;
1150
1212
  }
1151
- interface VideoIndex {
1152
- byCategory: Map<string, VideoIndexEntry[]>;
1153
- allVideos: VideoIndexEntry[];
1213
+ interface VideoIndex$1 {
1214
+ byCategory: Map<string, VideoIndexEntry$1[]>;
1215
+ allVideos: VideoIndexEntry$1[];
1154
1216
  counts: Record<string, number>;
1155
1217
  workspaceId: string;
1156
1218
  date: string;
@@ -1158,15 +1220,15 @@ interface VideoIndex {
1158
1220
  lastUpdated: Date;
1159
1221
  _debugId?: string;
1160
1222
  }
1161
- interface ClipCountsWithIndex {
1223
+ interface ClipCountsWithIndex$2 {
1162
1224
  counts: Record<string, number>;
1163
- videoIndex: VideoIndex;
1225
+ videoIndex: VideoIndex$1;
1164
1226
  }
1165
1227
  /**
1166
1228
  * S3 Clips Service - Secure Implementation
1167
1229
  * All S3 operations go through secure API routes
1168
1230
  */
1169
- declare class S3ClipsService {
1231
+ declare class S3ClipsService$1 {
1170
1232
  private apiClient;
1171
1233
  private config;
1172
1234
  private readonly defaultLimitPerCategory;
@@ -1207,12 +1269,12 @@ declare class S3ClipsService {
1207
1269
  * Get clip counts
1208
1270
  */
1209
1271
  getClipCounts(workspaceId: string, date: string, shiftId: string | number): Promise<Record<string, number>>;
1210
- getClipCounts(workspaceId: string, date: string, shiftId: string | number, buildIndex: true): Promise<ClipCountsWithIndex>;
1272
+ getClipCounts(workspaceId: string, date: string, shiftId: string | number, buildIndex: true): Promise<ClipCountsWithIndex$2>;
1211
1273
  /**
1212
1274
  * Get clip counts with cache-first strategy
1213
1275
  */
1214
1276
  getClipCountsCacheFirst(workspaceId: string, date: string, shiftId: string | number): Promise<Record<string, number>>;
1215
- getClipCountsCacheFirst(workspaceId: string, date: string, shiftId: string | number, buildIndex: true): Promise<ClipCountsWithIndex>;
1277
+ getClipCountsCacheFirst(workspaceId: string, date: string, shiftId: string | number, buildIndex: true): Promise<ClipCountsWithIndex$2>;
1216
1278
  /**
1217
1279
  * Get first clip for category
1218
1280
  */
@@ -1220,7 +1282,7 @@ declare class S3ClipsService {
1220
1282
  /**
1221
1283
  * Get video from index (for compatibility)
1222
1284
  */
1223
- getVideoFromIndex(videoIndex: VideoIndex, category: string, index: number, includeCycleTime?: boolean, includeMetadata?: boolean): Promise<BottleneckVideoData | null>;
1285
+ getVideoFromIndex(videoIndex: VideoIndex$1, category: string, index: number, includeCycleTime?: boolean, includeMetadata?: boolean): Promise<BottleneckVideoData | null>;
1224
1286
  /**
1225
1287
  * Get clip by index
1226
1288
  */
@@ -1316,7 +1378,7 @@ interface PrefetchRequest {
1316
1378
  /**
1317
1379
  * Promise for the prefetch operation
1318
1380
  */
1319
- promise: Promise<ClipCountsWithIndex | null>;
1381
+ promise: Promise<ClipCountsWithIndex$2 | null>;
1320
1382
  /**
1321
1383
  * Current status of the request
1322
1384
  */
@@ -1324,7 +1386,7 @@ interface PrefetchRequest {
1324
1386
  /**
1325
1387
  * Cached data (null until available)
1326
1388
  */
1327
- data: ClipCountsWithIndex | null;
1389
+ data: ClipCountsWithIndex$2 | null;
1328
1390
  /**
1329
1391
  * Any error that occurred
1330
1392
  */
@@ -1338,9 +1400,9 @@ interface PrefetchRequest {
1338
1400
  */
1339
1401
  subscribers: Set<string>;
1340
1402
  }
1341
- type StatusChangeCallback$1 = (key: string, status: PrefetchStatus$1, data?: ClipCountsWithIndex | null, error?: Error | null) => void;
1342
- type RenderReadyCallback$1 = (key: string, data: ClipCountsWithIndex) => void;
1343
- type FullyIndexedCallback$1 = (key: string, data: ClipCountsWithIndex) => void;
1403
+ type StatusChangeCallback$1 = (key: string, status: PrefetchStatus$1, data?: ClipCountsWithIndex$2 | null, error?: Error | null) => void;
1404
+ type RenderReadyCallback$1 = (key: string, data: ClipCountsWithIndex$2) => void;
1405
+ type FullyIndexedCallback$1 = (key: string, data: ClipCountsWithIndex$2) => void;
1344
1406
  type ErrorCallback$1 = (key: string, error: Error) => void;
1345
1407
  interface PrefetchSubscriptionCallbacks {
1346
1408
  /**
@@ -1368,7 +1430,7 @@ interface PrefetchStatusResult {
1368
1430
  /**
1369
1431
  * Available data (null until render-ready)
1370
1432
  */
1371
- data: ClipCountsWithIndex | null;
1433
+ data: ClipCountsWithIndex$2 | null;
1372
1434
  /**
1373
1435
  * Any error that occurred
1374
1436
  */
@@ -1448,7 +1510,7 @@ interface UsePrefetchClipCountsResult$1 {
1448
1510
  /**
1449
1511
  * Clip counts data (available when render ready or fully indexed)
1450
1512
  */
1451
- data: ClipCountsWithIndex | null;
1513
+ data: ClipCountsWithIndex$2 | null;
1452
1514
  /**
1453
1515
  * Any error that occurred during prefetching
1454
1516
  */
@@ -1468,7 +1530,7 @@ interface UsePrefetchClipCountsResult$1 {
1468
1530
  /**
1469
1531
  * Manual trigger function for re-prefetching
1470
1532
  */
1471
- prefetchClipCounts: () => Promise<ClipCountsWithIndex | null>;
1533
+ prefetchClipCounts: () => Promise<ClipCountsWithIndex$2 | null>;
1472
1534
  /**
1473
1535
  * Cache key used for this request
1474
1536
  */
@@ -1566,7 +1628,7 @@ interface PrefetchResult {
1566
1628
  /**
1567
1629
  * The prefetched data
1568
1630
  */
1569
- data: ClipCountsWithIndex | null;
1631
+ data: ClipCountsWithIndex$2 | null;
1570
1632
  /**
1571
1633
  * Whether this came from cache
1572
1634
  */
@@ -1603,10 +1665,10 @@ type PrefetchKey = string;
1603
1665
  type SubscriberId = string;
1604
1666
  type CleanupFunction = () => void;
1605
1667
  interface IPrefetchManager {
1606
- prefetch(params: PrefetchParams$1, dashboardConfig: DashboardConfig, subscriberId?: string, buildIndex?: boolean): Promise<ClipCountsWithIndex | null>;
1668
+ prefetch(params: PrefetchParams$1, dashboardConfig: DashboardConfig, subscriberId?: string, buildIndex?: boolean): Promise<ClipCountsWithIndex$2 | null>;
1607
1669
  getStatus(params: PrefetchParams$1): PrefetchStatusResult;
1608
1670
  isDataAvailable(params: PrefetchParams$1): boolean;
1609
- getCachedData(params: PrefetchParams$1): ClipCountsWithIndex | null;
1671
+ getCachedData(params: PrefetchParams$1): ClipCountsWithIndex$2 | null;
1610
1672
  subscribe(params: PrefetchParams$1, subscriberId: string, callbacks: PrefetchSubscriptionCallbacks): CleanupFunction;
1611
1673
  cancel(params: PrefetchParams$1, subscriberId?: string): void;
1612
1674
  clear(): void;
@@ -1722,6 +1784,10 @@ interface AuthContextType {
1722
1784
  loading: boolean;
1723
1785
  error: Error | null;
1724
1786
  signOut: () => Promise<void>;
1787
+ markFirstLoginCompleted: () => Promise<boolean>;
1788
+ showOnboarding: boolean;
1789
+ setShowOnboarding: (show: boolean) => void;
1790
+ completeOnboarding: () => Promise<void>;
1725
1791
  }
1726
1792
  declare const useAuth: () => AuthContextType;
1727
1793
  declare const AuthProvider: React__default.FC<{
@@ -2794,7 +2860,7 @@ declare const useSKUs: (companyId: string) => UseSKUsReturn;
2794
2860
 
2795
2861
  /**
2796
2862
  * Hook to check if the current user can save targets
2797
- * Only users with 'owner' role can save targets
2863
+ * TEMPORARILY DISABLED: All users can save targets
2798
2864
  */
2799
2865
  declare const useCanSaveTargets: () => boolean;
2800
2866
 
@@ -2853,6 +2919,136 @@ interface UseTicketHistoryReturn {
2853
2919
  }
2854
2920
  declare function useTicketHistory(companyId?: string): UseTicketHistoryReturn;
2855
2921
 
2922
+ /**
2923
+ * S3 Clips Service - Supabase Version
2924
+ * Uses Supabase database instead of S3 listing for clip management
2925
+ *
2926
+ * This is a drop-in replacement for s3-clips-secure.ts that uses
2927
+ * the new Supabase-based API endpoints.
2928
+ *
2929
+ * Benefits:
2930
+ * - Faster loading (direct DB queries vs S3 listing)
2931
+ * - Richer metadata immediately available
2932
+ * - Better filtering and sorting capabilities
2933
+ * - Lower AWS costs
2934
+ */
2935
+
2936
+ interface VideoIndexEntry {
2937
+ uri: string;
2938
+ category: string;
2939
+ timestamp: string;
2940
+ videoId: string;
2941
+ workspaceId: string;
2942
+ date: string;
2943
+ shiftId: string;
2944
+ }
2945
+ interface VideoIndex {
2946
+ byCategory: Map<string, VideoIndexEntry[]>;
2947
+ allVideos: VideoIndexEntry[];
2948
+ counts: Record<string, number>;
2949
+ workspaceId: string;
2950
+ date: string;
2951
+ shiftId: string;
2952
+ lastUpdated: Date;
2953
+ _debugId?: string;
2954
+ }
2955
+ interface ClipCountsWithIndex$1 {
2956
+ counts: Record<string, number>;
2957
+ videoIndex: VideoIndex;
2958
+ }
2959
+ interface ClipType {
2960
+ id: string;
2961
+ type: string;
2962
+ label: string;
2963
+ color: string;
2964
+ description?: string;
2965
+ subtitle?: string;
2966
+ count?: number;
2967
+ }
2968
+ /**
2969
+ * S3 Clips Service - Supabase Implementation
2970
+ * All clip operations go through Supabase database
2971
+ */
2972
+ declare class S3ClipsSupabaseService {
2973
+ private config;
2974
+ private requestCache;
2975
+ private readonly defaultLimitPerCategory;
2976
+ private readonly maxLimitPerCategory;
2977
+ private readonly concurrencyLimit;
2978
+ private readonly maxInitialFetch;
2979
+ private isIndexBuilding;
2980
+ private isPrefetching;
2981
+ private currentMetadataFetches;
2982
+ private readonly MAX_CONCURRENT_METADATA;
2983
+ constructor(config: DashboardConfig);
2984
+ /**
2985
+ * Fetch with authentication and error handling
2986
+ */
2987
+ private fetchWithAuth;
2988
+ /**
2989
+ * Deduplicate requests to prevent multiple API calls
2990
+ */
2991
+ private deduplicate;
2992
+ /**
2993
+ * Lists clips using Supabase API
2994
+ */
2995
+ listS3Clips(params: S3ListObjectsParams): Promise<string[]>;
2996
+ /**
2997
+ * Get metadata cycle time
2998
+ */
2999
+ getMetadataCycleTime(clipId: string): Promise<number | null>;
3000
+ /**
3001
+ * Control prefetch mode
3002
+ */
3003
+ setPrefetchMode(enabled: boolean): void;
3004
+ /**
3005
+ * Get full metadata
3006
+ */
3007
+ getFullMetadata(clipId: string): Promise<VideoMetadata | null>;
3008
+ /**
3009
+ * Get clip counts with optional video index
3010
+ */
3011
+ getClipCountsCacheFirst(workspaceId: string, date: string, shiftId: string | number, buildIndex?: boolean): Promise<ClipCountsWithIndex$1 | Record<string, number>>;
3012
+ /**
3013
+ * Get clip counts (simplified version)
3014
+ */
3015
+ getClipCounts(workspaceId: string, date: string, shiftId: string | number): Promise<Record<string, number>>;
3016
+ /**
3017
+ * Get clip by index
3018
+ */
3019
+ getClipByIndex(workspaceId: string, date: string, shiftId: string | number, category: string, index: number): Promise<BottleneckVideoData | null>;
3020
+ /**
3021
+ * Get first clip for all categories
3022
+ */
3023
+ getFirstClipsForAllCategories(workspaceId: string, date: string, shiftId: string | number): Promise<Record<string, BottleneckVideoData | null>>;
3024
+ /**
3025
+ * Get first clip for a specific category
3026
+ */
3027
+ getFirstClipForCategory(workspaceId: string, date: string, shiftId: string | number, category: string): Promise<BottleneckVideoData | null>;
3028
+ /**
3029
+ * Batch fetch videos (alias for batchFetchClips for compatibility)
3030
+ */
3031
+ batchFetchVideos(workspaceId: string, date: string, shiftId: string | number, requests: Array<{
3032
+ category: string;
3033
+ index: number;
3034
+ }>): Promise<Array<BottleneckVideoData | null>>;
3035
+ /**
3036
+ * Batch fetch clips
3037
+ */
3038
+ batchFetchClips(workspaceId: string, date: string, shiftId: string | number, requests: Array<{
3039
+ category: string;
3040
+ index: number;
3041
+ }>): Promise<Array<BottleneckVideoData | null>>;
3042
+ /**
3043
+ * Get all clip types from Supabase
3044
+ */
3045
+ getClipTypes(): Promise<ClipType[]>;
3046
+ /**
3047
+ * Ensure videos are loaded for navigation
3048
+ */
3049
+ ensureVideosLoaded(workspaceId: string, date: string, shiftId: string | number, category: string, currentIndex: number): Promise<void>;
3050
+ }
3051
+
2856
3052
  /**
2857
3053
  * Video Prefetch Manager
2858
3054
  *
@@ -2867,6 +3063,7 @@ declare function useTicketHistory(companyId?: string): UseTicketHistoryReturn;
2867
3063
  * - Automatic cleanup and error handling
2868
3064
  */
2869
3065
 
3066
+ declare const S3ClipsService: typeof S3ClipsService$1 | typeof S3ClipsSupabaseService;
2870
3067
  declare enum PrefetchStatus {
2871
3068
  IDLE = "idle",
2872
3069
  PENDING = "pending",
@@ -2879,9 +3076,9 @@ interface PrefetchParams {
2879
3076
  date: string;
2880
3077
  shift: string;
2881
3078
  }
2882
- type StatusChangeCallback = (key: string, status: PrefetchStatus, data?: ClipCountsWithIndex | null, error?: Error | null) => void;
2883
- type RenderReadyCallback = (key: string, data: ClipCountsWithIndex) => void;
2884
- type FullyIndexedCallback = (key: string, data: ClipCountsWithIndex) => void;
3079
+ type StatusChangeCallback = (key: string, status: PrefetchStatus, data?: ClipCountsWithIndex$2 | null, error?: Error | null) => void;
3080
+ type RenderReadyCallback = (key: string, data: ClipCountsWithIndex$2) => void;
3081
+ type FullyIndexedCallback = (key: string, data: ClipCountsWithIndex$2) => void;
2885
3082
  type ErrorCallback = (key: string, error: Error) => void;
2886
3083
  /**
2887
3084
  * Centralized Video Prefetch Manager
@@ -2905,7 +3102,7 @@ declare class VideoPrefetchManager extends EventEmitter {
2905
3102
  * Get or create S3 service instance for dashboard config
2906
3103
  * Public method to allow sharing the same S3Service instance across components
2907
3104
  */
2908
- getS3Service(dashboardConfig: DashboardConfig): S3ClipsService;
3105
+ getS3Service(dashboardConfig: DashboardConfig): InstanceType<typeof S3ClipsService>;
2909
3106
  /**
2910
3107
  * Emit status change event with error handling
2911
3108
  */
@@ -2925,13 +3122,13 @@ declare class VideoPrefetchManager extends EventEmitter {
2925
3122
  /**
2926
3123
  * Start prefetch operation for given parameters
2927
3124
  */
2928
- prefetch(params: PrefetchParams, dashboardConfig: DashboardConfig, subscriberId?: string, buildIndex?: boolean): Promise<ClipCountsWithIndex | null>;
3125
+ prefetch(params: PrefetchParams, dashboardConfig: DashboardConfig, subscriberId?: string, buildIndex?: boolean): Promise<ClipCountsWithIndex$2 | null>;
2929
3126
  /**
2930
3127
  * Get current status of a prefetch request
2931
3128
  */
2932
3129
  getStatus(params: PrefetchParams): {
2933
3130
  status: PrefetchStatus;
2934
- data: ClipCountsWithIndex | null;
3131
+ data: ClipCountsWithIndex$2 | null;
2935
3132
  error: Error | null;
2936
3133
  isRenderReady: boolean;
2937
3134
  isFullyIndexed: boolean;
@@ -2943,7 +3140,7 @@ declare class VideoPrefetchManager extends EventEmitter {
2943
3140
  /**
2944
3141
  * Get cached data if available
2945
3142
  */
2946
- getCachedData(params: PrefetchParams): ClipCountsWithIndex | null;
3143
+ getCachedData(params: PrefetchParams): ClipCountsWithIndex$2 | null;
2947
3144
  /**
2948
3145
  * Subscribe to status changes for specific request
2949
3146
  */
@@ -2990,7 +3187,9 @@ declare const videoPrefetchManager: VideoPrefetchManager;
2990
3187
  *
2991
3188
  * Enhanced with videoPrefetchManager integration for deduplication and event-driven updates.
2992
3189
  */
3190
+ declare const USE_SUPABASE_CLIPS = true;
2993
3191
 
3192
+ type ClipCountsWithIndex = typeof USE_SUPABASE_CLIPS extends true ? ClipCountsWithIndex$1 : ClipCountsWithIndex$2;
2994
3193
  interface UsePrefetchClipCountsOptions {
2995
3194
  /**
2996
3195
  * Workspace ID to prefetch counts for
@@ -3117,6 +3316,30 @@ interface UseHourEndTimerProps {
3117
3316
  */
3118
3317
  declare const useHourEndTimer: ({ onHourEnd, enabled }: UseHourEndTimerProps) => void;
3119
3318
 
3319
+ /**
3320
+ * useClipTypes Hook
3321
+ * Fetches and manages clip types from Supabase
3322
+ * Provides the single source of truth for available clip categories
3323
+ */
3324
+
3325
+ interface UseClipTypesResult {
3326
+ clipTypes: ClipType[];
3327
+ isLoading: boolean;
3328
+ error: string | null;
3329
+ refresh: () => Promise<void>;
3330
+ }
3331
+ /**
3332
+ * Hook to fetch and manage clip types from Supabase
3333
+ * Uses the shared S3ClipsService instance for consistency
3334
+ */
3335
+ declare function useClipTypes(): UseClipTypesResult;
3336
+ /**
3337
+ * Hook to get clip types with counts for a specific workspace/date/shift
3338
+ */
3339
+ declare function useClipTypesWithCounts(workspaceId: string, date: string, shiftId: string | number): UseClipTypesResult & {
3340
+ counts: Record<string, number>;
3341
+ };
3342
+
3120
3343
  /**
3121
3344
  * Interface for navigation method used across packages
3122
3345
  * Abstracts navigation implementation details from components
@@ -3344,6 +3567,22 @@ interface UseFormatNumberResult {
3344
3567
  */
3345
3568
  declare const useFormatNumber: () => UseFormatNumberResult;
3346
3569
 
3570
+ type UserRole = 'owner' | 'plant_head' | 'supervisor';
3571
+ interface AccessControlReturn {
3572
+ userRole: UserRole | null;
3573
+ hasAccess: (path: string) => boolean;
3574
+ accessiblePages: string[];
3575
+ isPageVisible: (path: string) => boolean;
3576
+ canAccessPage: (path: string) => boolean;
3577
+ }
3578
+ /**
3579
+ * Hook to manage role-based access control
3580
+ * TEMPORARILY DISABLED: All users have access to all pages
3581
+ *
3582
+ * @returns {AccessControlReturn} Access control utilities and state
3583
+ */
3584
+ declare function useAccessControl(): AccessControlReturn;
3585
+
3347
3586
  declare const actionService: {
3348
3587
  getActionsByName(actionNames: string[], companyIdInput?: string): Promise<Action[]>;
3349
3588
  };
@@ -3744,6 +3983,166 @@ declare class AudioServiceClass {
3744
3983
  declare const AudioService: AudioServiceClass;
3745
3984
  declare const useAudioService: () => AudioServiceClass;
3746
3985
 
3986
+ /**
3987
+ * Line data formatted for the UI
3988
+ */
3989
+ interface Line {
3990
+ id: string;
3991
+ name: string;
3992
+ companyId: string;
3993
+ isActive: boolean;
3994
+ createdAt?: string;
3995
+ factoryId?: string;
3996
+ }
3997
+ /**
3998
+ * Service for managing lines data
3999
+ */
4000
+ declare class LinesService {
4001
+ private supabase;
4002
+ constructor(supabase: SupabaseClient$1);
4003
+ /**
4004
+ * Fetch all active lines for a given company
4005
+ * @param companyId - The company ID to fetch lines for
4006
+ * @returns Promise<Line[]> - Array of lines for the company
4007
+ */
4008
+ getLinesByCompanyId(companyId: string): Promise<Line[]>;
4009
+ /**
4010
+ * Fetch all active lines (for all companies)
4011
+ * @returns Promise<Line[]> - Array of all active lines
4012
+ */
4013
+ getAllLines(): Promise<Line[]>;
4014
+ /**
4015
+ * Fetch a single line by ID
4016
+ * @param lineId - The line ID to fetch
4017
+ * @returns Promise<Line | null> - The line data or null if not found
4018
+ */
4019
+ getLineById(lineId: string): Promise<Line | null>;
4020
+ }
4021
+ /**
4022
+ * Create a lines service instance
4023
+ * @param supabase - Supabase client instance
4024
+ * @returns LinesService instance
4025
+ */
4026
+ declare const createLinesService: (supabase: SupabaseClient$1) => LinesService;
4027
+ /**
4028
+ * Default export for convenience
4029
+ */
4030
+ declare const linesService: {
4031
+ create: (supabase: SupabaseClient$1) => LinesService;
4032
+ };
4033
+
4034
+ /**
4035
+ * Service for managing supervisor assignments with real lines data and real user data
4036
+ */
4037
+ declare class SupervisorService {
4038
+ private supabase;
4039
+ private linesService;
4040
+ private userService;
4041
+ constructor(supabase: SupabaseClient$1);
4042
+ /**
4043
+ * Get supervisor management data for a specific company
4044
+ * Uses real lines data and real user data from the database
4045
+ * @param companyId - The company ID to fetch data for
4046
+ * @returns Promise<SupervisorManagementData>
4047
+ */
4048
+ getSupervisorManagementData(companyId: string): Promise<SupervisorManagementData>;
4049
+ /**
4050
+ * Get all supervisors for a specific company (real data from database)
4051
+ * @param companyId - The company ID to fetch supervisors for
4052
+ * @returns Promise<Supervisor[]>
4053
+ */
4054
+ getAllSupervisors(companyId: string): Promise<Supervisor[]>;
4055
+ /**
4056
+ * Get active supervisors only for a specific company
4057
+ * @param companyId - The company ID to fetch active supervisors for
4058
+ * @returns Promise<Supervisor[]>
4059
+ */
4060
+ getActiveSupervisors(companyId: string): Promise<Supervisor[]>;
4061
+ /**
4062
+ * Assign a supervisor to a line
4063
+ * This is a mock implementation - in production, this would update the database
4064
+ * @param lineId - The line ID
4065
+ * @param supervisorId - The supervisor ID to assign
4066
+ * @returns Promise<boolean> - Success status
4067
+ */
4068
+ assignSupervisorToLine(lineId: string, supervisorId?: string): Promise<boolean>;
4069
+ /**
4070
+ * Helper method to simulate supervisor assignments
4071
+ * In production, this would be fetched from the database
4072
+ * @param lineId - The line ID
4073
+ * @param supervisors - Available supervisors
4074
+ * @returns Supervisor or undefined
4075
+ */
4076
+ private getRandomSupervisorForLine;
4077
+ }
4078
+ /**
4079
+ * Create a supervisor service instance
4080
+ * @param supabase - Supabase client instance
4081
+ * @returns SupervisorService instance
4082
+ */
4083
+ declare const createSupervisorService: (supabase: SupabaseClient$1) => SupervisorService;
4084
+ /**
4085
+ * Simulate API delay for realistic loading states
4086
+ */
4087
+ declare const simulateApiDelay: (ms?: number) => Promise<void>;
4088
+
4089
+ /**
4090
+ * User data formatted for the UI (compatible with Supervisor interface)
4091
+ */
4092
+ interface CompanyUser {
4093
+ id: string;
4094
+ name: string;
4095
+ email: string;
4096
+ isActive: boolean;
4097
+ createdAt?: string;
4098
+ updatedAt?: string;
4099
+ }
4100
+ /**
4101
+ * Service for managing user data from the database
4102
+ */
4103
+ declare class UserService {
4104
+ private supabase;
4105
+ constructor(supabase: SupabaseClient$1);
4106
+ /**
4107
+ * Fetch all users mapped to a specific company
4108
+ * @param companyId - The company ID to fetch users for
4109
+ * @returns Promise<CompanyUser[]> - Array of users in the company
4110
+ */
4111
+ getUsersByCompanyId(companyId: string): Promise<CompanyUser[]>;
4112
+ /**
4113
+ * Fallback method to fetch users by company ID using basic queries
4114
+ * Gets real user emails from the database
4115
+ * @param companyId - The company ID to fetch users for
4116
+ * @returns Promise<CompanyUser[]> - Array of users in the company
4117
+ */
4118
+ private getUsersByCompanyIdFallback;
4119
+ /**
4120
+ * Check if a user is mapped to a specific company
4121
+ * @param userId - The user ID to check
4122
+ * @param companyId - The company ID to check against
4123
+ * @returns Promise<boolean> - Whether the user is mapped to the company
4124
+ */
4125
+ isUserInCompany(userId: string, companyId: string): Promise<boolean>;
4126
+ /**
4127
+ * Get user details by user ID (if they exist in auth.users)
4128
+ * @param userId - The user ID to fetch
4129
+ * @returns Promise<CompanyUser | null> - The user data or null if not found
4130
+ */
4131
+ getUserById(userId: string): Promise<CompanyUser | null>;
4132
+ }
4133
+ /**
4134
+ * Create a user service instance
4135
+ * @param supabase - Supabase client instance
4136
+ * @returns UserService instance
4137
+ */
4138
+ declare const createUserService: (supabase: SupabaseClient$1) => UserService;
4139
+ /**
4140
+ * Default export for convenience
4141
+ */
4142
+ declare const userService: {
4143
+ create: (supabase: SupabaseClient$1) => UserService;
4144
+ };
4145
+
3747
4146
  /**
3748
4147
  * Helper object for making authenticated API requests using Supabase auth token.
3749
4148
  * Assumes endpoints are relative to the apiBaseUrl configured in DashboardConfig.
@@ -4199,6 +4598,29 @@ declare const withAuth: <P extends object>(WrappedComponent: React$1.ComponentTy
4199
4598
  requireAuth?: boolean;
4200
4599
  }) => React$1.NamedExoticComponent<P>;
4201
4600
 
4601
+ interface WithAccessControlOptions {
4602
+ /**
4603
+ * The path to check for access. If not provided, uses the current pathname
4604
+ */
4605
+ requiredPath?: string;
4606
+ /**
4607
+ * Where to redirect if access is denied. Defaults to home page
4608
+ */
4609
+ redirectTo?: string;
4610
+ /**
4611
+ * Custom component to render when access is denied
4612
+ */
4613
+ UnauthorizedComponent?: React__default.ComponentType;
4614
+ }
4615
+ /**
4616
+ * Higher-order component that wraps a component with access control
4617
+ * TEMPORARILY DISABLED: All users have access to all pages
4618
+ */
4619
+ declare function withAccessControl<P extends object>(WrappedComponent: React__default.ComponentType<P>, options?: WithAccessControlOptions): {
4620
+ (props: P): react_jsx_runtime.JSX.Element;
4621
+ displayName: string;
4622
+ };
4623
+
4202
4624
  interface LoginPageProps {
4203
4625
  onRateLimitCheck?: (email: string) => Promise<{
4204
4626
  allowed: boolean;
@@ -4899,6 +5321,7 @@ interface WorkspaceMetricCardsProps {
4899
5321
  workspace: WorkspaceDetailedMetrics;
4900
5322
  className?: string;
4901
5323
  }
5324
+ declare const WorkspaceMetricCardsImpl: React__default.FC<WorkspaceMetricCardsProps>;
4902
5325
  declare const WorkspaceMetricCards: React__default.FC<WorkspaceMetricCardsProps>;
4903
5326
 
4904
5327
  /**
@@ -5485,6 +5908,24 @@ interface VideoPlayerProps {
5485
5908
  */
5486
5909
  declare const VideoPlayer: React__default.ForwardRefExoticComponent<VideoPlayerProps & React__default.RefAttributes<VideoPlayerRef>>;
5487
5910
 
5911
+ interface CropConfig {
5912
+ x: number;
5913
+ y: number;
5914
+ width: number;
5915
+ height: number;
5916
+ }
5917
+ interface CroppedVideoPlayerProps extends VideoPlayerProps {
5918
+ /** Crop configuration */
5919
+ crop?: CropConfig | null;
5920
+ /** Whether to show debug info */
5921
+ debug?: boolean;
5922
+ }
5923
+ /**
5924
+ * Video player with canvas-based cropping capability
5925
+ * Crops video based on percentage coordinates and maintains aspect ratio
5926
+ */
5927
+ declare const CroppedVideoPlayer: React__default.ForwardRefExoticComponent<CroppedVideoPlayerProps & React__default.RefAttributes<VideoPlayerRef>>;
5928
+
5488
5929
  interface BackButtonProps {
5489
5930
  /**
5490
5931
  * Click handler for the back button
@@ -5642,6 +6083,88 @@ declare const getDefaultCameraStreamUrl: (workspaceName: string, baseUrl: string
5642
6083
  */
5643
6084
  declare const SingleVideoStream: React__default.FC<SingleVideoStreamProps>;
5644
6085
 
6086
+ interface SupervisorDropdownProps {
6087
+ /** Currently selected supervisor */
6088
+ selectedSupervisor?: Supervisor;
6089
+ /** Available supervisors to choose from */
6090
+ availableSupervisors: Supervisor[];
6091
+ /** Callback when supervisor is selected */
6092
+ onSelect: (supervisor: Supervisor | null) => void;
6093
+ /** Additional className for styling */
6094
+ className?: string;
6095
+ /** Whether the dropdown is disabled */
6096
+ disabled?: boolean;
6097
+ /** Placeholder text when no supervisor is selected */
6098
+ placeholder?: string;
6099
+ }
6100
+ declare const SupervisorDropdown: React__default.FC<SupervisorDropdownProps>;
6101
+
6102
+ interface FirstTimeLoginHandlerProps {
6103
+ children: React__default.ReactNode;
6104
+ onboardingComponent?: React__default.ComponentType<{
6105
+ onComplete: () => void | Promise<void>;
6106
+ isCompleting?: boolean;
6107
+ }>;
6108
+ enableAutoDetection?: boolean;
6109
+ }
6110
+ /**
6111
+ * Component that handles first-time login detection and onboarding flow
6112
+ * Automatically shows onboarding popup for first-time users
6113
+ *
6114
+ * Usage:
6115
+ * ```tsx
6116
+ * // With custom onboarding component
6117
+ * <FirstTimeLoginHandler onboardingComponent={CustomOnboarding}>
6118
+ * <YourMainApp />
6119
+ * </FirstTimeLoginHandler>
6120
+ *
6121
+ * // With default onboarding popup
6122
+ * <FirstTimeLoginHandler>
6123
+ * <YourMainApp />
6124
+ * </FirstTimeLoginHandler>
6125
+ * ```
6126
+ */
6127
+ declare const FirstTimeLoginHandler: React__default.FC<FirstTimeLoginHandlerProps>;
6128
+ /**
6129
+ * Simple debug component to show first-time login status
6130
+ * Useful for development and testing
6131
+ */
6132
+ declare const FirstTimeLoginDebug: React__default.FC;
6133
+
6134
+ interface SimpleOnboardingPopupProps {
6135
+ onComplete: () => void | Promise<void>;
6136
+ isCompleting?: boolean;
6137
+ }
6138
+ /**
6139
+ * Simple onboarding popup component for first-time users
6140
+ * Shows a welcome message and brief introduction to the dashboard
6141
+ */
6142
+ declare const SimpleOnboardingPopup: React__default.FC<SimpleOnboardingPopupProps>;
6143
+ /**
6144
+ * Minimal onboarding popup - just a simple welcome message
6145
+ */
6146
+ declare const MinimalOnboardingPopup: React__default.FC<SimpleOnboardingPopupProps>;
6147
+
6148
+ interface OnboardingTourProps {
6149
+ isOpen: boolean;
6150
+ onComplete: () => void;
6151
+ onSkip: () => void;
6152
+ }
6153
+ declare const OnboardingTour: React__default.FC<OnboardingTourProps>;
6154
+
6155
+ interface InteractiveOnboardingTourProps {
6156
+ isOpen: boolean;
6157
+ onComplete: () => void;
6158
+ onSkip: () => void;
6159
+ }
6160
+ declare const InteractiveOnboardingTour: React__default.FC<InteractiveOnboardingTourProps>;
6161
+
6162
+ /**
6163
+ * Demo component to manually trigger the onboarding tour
6164
+ * This is useful for development and testing purposes
6165
+ */
6166
+ declare const OnboardingDemo: React__default.FC;
6167
+
5645
6168
  /**
5646
6169
  * AI Agent Chat View
5647
6170
  *
@@ -5977,6 +6500,16 @@ declare const _default: React__default.NamedExoticComponent<WorkspaceHealthViewP
5977
6500
 
5978
6501
  declare const AuthenticatedWorkspaceHealthView: React__default.FC<WorkspaceHealthViewProps>;
5979
6502
 
6503
+ interface SupervisorManagementViewProps {
6504
+ /** Function to handle navigation */
6505
+ onNavigate?: (path: string) => void;
6506
+ /** Function to handle back navigation */
6507
+ onBack?: () => void;
6508
+ /** Additional className for styling */
6509
+ className?: string;
6510
+ }
6511
+ declare const SupervisorManagementView: React__default.FC<SupervisorManagementViewProps>;
6512
+
5980
6513
  type CoreComponents = {
5981
6514
  Card: any;
5982
6515
  CardHeader: any;
@@ -5987,6 +6520,7 @@ type CoreComponents = {
5987
6520
  Button: any;
5988
6521
  HourlyOutputChart: any;
5989
6522
  VideoGridView: any;
6523
+ WorkspaceMetricCards: any;
5990
6524
  };
5991
6525
  declare const useRegistry: () => CoreComponents;
5992
6526
  interface RegistryProviderProps {
@@ -6193,4 +6727,4 @@ interface ThreadSidebarProps {
6193
6727
  }
6194
6728
  declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
6195
6729
 
6196
- export { ACTION_NAMES, AIAgentView, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, type AnalyticsConfig, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, type AuthUser, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedWorkspaceHealthView, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, CompactWorkspaceHealthCard, type ComponentOverride, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CurrentShiftResult, 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_SHIFT_CONFIG, 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 DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type FactoryOverviewData, FactoryView, type FactoryViewProps, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoryCalendarProps, HomeView, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, InlineEditableText, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, MainLayout, type MainLayoutProps, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NoWorkspaceData, 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, PieChart, type PieChartProps, 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, type RateLimitOptions, type RateLimitResult, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoutePath, type S3ClipsAPIParams, S3ClipsService, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, type SKU, type SKUConfig, type SKUCreateInput, type SKUListProps, SKUManagementView, type SKUModalProps, type SKUSelectorProps, type SKUUpdateInput, type SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$2 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, type SimpleLine, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type StatusChangeCallback$1 as StatusChangeCallback, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, TimeDisplay, TimePickerDropdown, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UptimeDetails, type UseActiveBreaksResult, type UseDashboardMetricsProps, type UseFactoryOverviewOptions, type UseFormatNumberResult, type UseMessagesResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseWorkspaceOperatorsOptions, type UserProfileConfig, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerEventData, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createStreamProxyHandler, createSupabaseClient, createThrottledReload, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isPrefetchError, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, shuffleArray, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useActiveBreaks, useAllWorkspaceMetrics, useAnalyticsConfig, useAudioService, useAuth, useAuthConfig, useCanSaveTargets, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTheme, useThemeConfig, useThreads, useTicketHistory, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealth, useWorkspaceHealthById, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPrefetchManager, videoPreloader, whatsappService, withAuth, withRegistry, workspaceHealthService, workspaceService };
6730
+ export { ACTION_NAMES, AIAgentView, type AccessControlReturn, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, type AnalyticsConfig, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, type AuthUser, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedWorkspaceHealthView, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex$2 as ClipCountsWithIndex, CompactWorkspaceHealthCard, type CompanyUser, type ComponentOverride, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CropConfig, CroppedVideoPlayer, type CroppedVideoPlayerProps, type CurrentShiftResult, 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_SHIFT_CONFIG, 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 DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type FactoryOverviewData, FactoryView, type FactoryViewProps, FirstTimeLoginDebug, FirstTimeLoginHandler, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoryCalendarProps, HomeView, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, InlineEditableText, InteractiveOnboardingTour, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, type Line$1 as Line, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, 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, MainLayout, type MainLayoutProps, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, MinimalOnboardingPopup, type NavItem, type NavItemTrackingEvent, type NavigationMethod, 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, PieChart, type PieChartProps, 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, type RateLimitOptions, type RateLimitResult, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoutePath, type S3ClipsAPIParams, S3ClipsService$1 as S3ClipsService, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, type SKU, type SKUConfig, type SKUCreateInput, type SKUListProps, SKUManagementView, type SKUModalProps, type SKUSelectorProps, type SKUUpdateInput, type SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$2 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, type SimpleLine, SimpleOnboardingPopup, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type StatusChangeCallback$1 as StatusChangeCallback, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorManagementData, SupervisorManagementView, type SupervisorManagementViewProps, SupervisorService, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, TimeDisplay, TimePickerDropdown, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UptimeDetails, type UseActiveBreaksResult, type UseClipTypesResult, type UseDashboardMetricsProps, type UseFactoryOverviewOptions, type UseFormatNumberResult, type UseMessagesResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseWorkspaceOperatorsOptions, type UserProfileConfig, type UserRole, UserService, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, VideoGridView, type VideoIndex$1 as VideoIndex, type VideoIndexEntry$1 as VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerEventData, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createLinesService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserService, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isPrefetchError, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useAccessControl, useActiveBreaks, useAllWorkspaceMetrics, useAnalyticsConfig, useAudioService, useAuth, useAuthConfig, useCanSaveTargets, useClipTypes, useClipTypesWithCounts, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTheme, useThemeConfig, useThreads, useTicketHistory, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealth, useWorkspaceHealthById, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, userService, videoPrefetchManager, videoPreloader, whatsappService, withAccessControl, withAuth, withRegistry, workspaceHealthService, workspaceService };