@optifye/dashboard-core 6.6.5 → 6.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -245,7 +245,7 @@ interface DateTimeConfig {
245
245
  timeFormatOptions?: Intl.DateTimeFormatOptions;
246
246
  dateTimeFormatOptions?: Intl.DateTimeFormatOptions;
247
247
  }
248
- interface SOPCategory {
248
+ interface SOPCategory$1 {
249
249
  /** Unique identifier for the category (maps to S3 folder names) */
250
250
  id: string;
251
251
  /** Display label for the UI */
@@ -271,9 +271,9 @@ interface S3Config {
271
271
  /** SOP categories configuration */
272
272
  sopCategories?: {
273
273
  /** Default categories for all workspaces */
274
- default: SOPCategory[];
274
+ default: SOPCategory$1[];
275
275
  /** Workspace-specific category overrides by UUID */
276
- workspaceOverrides?: Record<string, SOPCategory[]>;
276
+ workspaceOverrides?: Record<string, SOPCategory$1[]>;
277
277
  };
278
278
  /** Processing configuration for S3 clips */
279
279
  processing?: {
@@ -998,6 +998,7 @@ interface BottleneckVideoData {
998
998
  originalUri: string;
999
999
  cycle_time_seconds?: number;
1000
1000
  creation_timestamp?: string;
1001
+ percentile?: number;
1001
1002
  }
1002
1003
  interface VideoSummary {
1003
1004
  counts: Record<string, number>;
@@ -1199,19 +1200,20 @@ interface SupervisorManagementData {
1199
1200
  }
1200
1201
 
1201
1202
  /**
1202
- * S3 Clips Service - Secure Version
1203
- * Uses API routes instead of direct S3 access
1203
+ * S3 Clips Service - Supabase Version
1204
+ * Uses Supabase database instead of S3 listing for clip management
1204
1205
  *
1205
- * This is a drop-in replacement for s3-clips.ts that uses
1206
- * the secure API client instead of AWS SDK.
1206
+ * This is a drop-in replacement for s3-clips-secure.ts that uses
1207
+ * the new Supabase-based API endpoints.
1207
1208
  *
1208
- * To use this:
1209
- * 1. Replace imports of './s3-clips' with './s3-clips-secure'
1210
- * 2. Remove AWS credentials from environment variables
1211
- * 3. Ensure API routes are deployed
1209
+ * Benefits:
1210
+ * - Faster loading (direct DB queries vs S3 listing)
1211
+ * - Richer metadata immediately available
1212
+ * - Better filtering and sorting capabilities
1213
+ * - Lower AWS costs
1212
1214
  */
1213
1215
 
1214
- interface VideoIndexEntry$1 {
1216
+ interface VideoIndexEntry {
1215
1217
  uri: string;
1216
1218
  category: string;
1217
1219
  timestamp: string;
@@ -1220,9 +1222,9 @@ interface VideoIndexEntry$1 {
1220
1222
  date: string;
1221
1223
  shiftId: string;
1222
1224
  }
1223
- interface VideoIndex$1 {
1224
- byCategory: Map<string, VideoIndexEntry$1[]>;
1225
- allVideos: VideoIndexEntry$1[];
1225
+ interface VideoIndex {
1226
+ byCategory: Map<string, VideoIndexEntry[]>;
1227
+ allVideos: VideoIndexEntry[];
1226
1228
  counts: Record<string, number>;
1227
1229
  workspaceId: string;
1228
1230
  date: string;
@@ -1230,17 +1232,37 @@ interface VideoIndex$1 {
1230
1232
  lastUpdated: Date;
1231
1233
  _debugId?: string;
1232
1234
  }
1233
- interface ClipCountsWithIndex$2 {
1235
+ interface ClipCountsWithIndex {
1234
1236
  counts: Record<string, number>;
1235
- videoIndex: VideoIndex$1;
1237
+ videoIndex: VideoIndex;
1238
+ }
1239
+ interface ClipType {
1240
+ id: string;
1241
+ type: string;
1242
+ label: string;
1243
+ color: string;
1244
+ description?: string;
1245
+ subtitle?: string;
1246
+ icon?: string;
1247
+ sort_order?: number;
1248
+ severity_levels?: string[];
1249
+ count?: number;
1250
+ metadata?: {
1251
+ label?: string;
1252
+ color?: string;
1253
+ description?: string;
1254
+ icon?: string;
1255
+ sort_order?: number;
1256
+ severity_levels?: string[];
1257
+ };
1236
1258
  }
1237
1259
  /**
1238
- * S3 Clips Service - Secure Implementation
1239
- * All S3 operations go through secure API routes
1260
+ * S3 Clips Service - Supabase Implementation
1261
+ * All clip operations go through Supabase database
1240
1262
  */
1241
- declare class S3ClipsService$1 {
1242
- private apiClient;
1263
+ declare class S3ClipsSupabaseService {
1243
1264
  private config;
1265
+ private requestCache;
1244
1266
  private readonly defaultLimitPerCategory;
1245
1267
  private readonly maxLimitPerCategory;
1246
1268
  private readonly concurrencyLimit;
@@ -1251,13 +1273,21 @@ declare class S3ClipsService$1 {
1251
1273
  private readonly MAX_CONCURRENT_METADATA;
1252
1274
  constructor(config: DashboardConfig);
1253
1275
  /**
1254
- * Lists S3 clips using API
1276
+ * Fetch with authentication and error handling
1277
+ */
1278
+ private fetchWithAuth;
1279
+ /**
1280
+ * Deduplicate requests to prevent multiple API calls
1281
+ */
1282
+ private deduplicate;
1283
+ /**
1284
+ * Lists clips using Supabase API
1255
1285
  */
1256
1286
  listS3Clips(params: S3ListObjectsParams): Promise<string[]>;
1257
1287
  /**
1258
1288
  * Get metadata cycle time
1259
1289
  */
1260
- getMetadataCycleTime(playlistUri: string): Promise<number | null>;
1290
+ getMetadataCycleTime(clipId: string): Promise<number | null>;
1261
1291
  /**
1262
1292
  * Control prefetch mode
1263
1293
  */
@@ -1265,90 +1295,90 @@ declare class S3ClipsService$1 {
1265
1295
  /**
1266
1296
  * Get full metadata
1267
1297
  */
1268
- getFullMetadata(playlistUri: string): Promise<VideoMetadata | null>;
1269
- /**
1270
- * Convert S3 URI to CloudFront URL
1271
- * URLs from API are already signed
1272
- */
1273
- s3UriToCloudfront(s3Uri: string): string;
1298
+ getFullMetadata(clipId: string): Promise<VideoMetadata | null>;
1274
1299
  /**
1275
- * Get SOP categories for workspace
1300
+ * Get clip counts with optional video index
1276
1301
  */
1277
- private getSOPCategories;
1302
+ getClipCountsCacheFirst(workspaceId: string, date: string, shiftId: string | number, buildIndex?: boolean): Promise<ClipCountsWithIndex | Record<string, number>>;
1278
1303
  /**
1279
- * Get clip counts
1304
+ * Get clip counts (simplified version)
1280
1305
  */
1281
1306
  getClipCounts(workspaceId: string, date: string, shiftId: string | number): Promise<Record<string, number>>;
1282
- getClipCounts(workspaceId: string, date: string, shiftId: string | number, buildIndex: true): Promise<ClipCountsWithIndex$2>;
1283
1307
  /**
1284
- * Get clip counts with cache-first strategy
1308
+ * Get clip by ID - stable navigation method
1309
+ * This ensures navigation works even when new clips are added
1285
1310
  */
1286
- getClipCountsCacheFirst(workspaceId: string, date: string, shiftId: string | number): Promise<Record<string, number>>;
1287
- getClipCountsCacheFirst(workspaceId: string, date: string, shiftId: string | number, buildIndex: true): Promise<ClipCountsWithIndex$2>;
1311
+ getClipById(clipId: string, sopCategories?: SOPCategory$1[]): Promise<BottleneckVideoData | null>;
1288
1312
  /**
1289
- * Get first clip for category
1313
+ * Map percentile category to actual implementation
1290
1314
  */
1291
- getFirstClipForCategory(workspaceId: string, date: string, shiftId: string | number, category: string): Promise<BottleneckVideoData | null>;
1315
+ private mapPercentileCategoryToType;
1292
1316
  /**
1293
- * Get video from index (for compatibility)
1317
+ * Get neighboring clips for navigation
1318
+ * Returns previous and next clips based on timestamp
1319
+ * Handles both regular and percentile categories
1294
1320
  */
1295
- getVideoFromIndex(videoIndex: VideoIndex$1, category: string, index: number, includeCycleTime?: boolean, includeMetadata?: boolean): Promise<BottleneckVideoData | null>;
1321
+ getNeighboringClips(workspaceId: string, date: string, shiftId: string | number, category: string, currentClipId: string, sopCategories?: SOPCategory$1[]): Promise<{
1322
+ previous: BottleneckVideoData | null;
1323
+ next: BottleneckVideoData | null;
1324
+ }>;
1296
1325
  /**
1297
1326
  * Get clip by index
1327
+ * @deprecated Use getClipById for stable navigation
1298
1328
  */
1299
- getClipByIndex(workspaceId: string, date: string, shiftId: string | number, category: string, index: number, includeCycleTime?: boolean, includeMetadata?: boolean): Promise<BottleneckVideoData | null>;
1329
+ getClipByIndex(workspaceId: string, date: string, shiftId: string | number, category: string, index: number): Promise<BottleneckVideoData | null>;
1300
1330
  /**
1301
- * Process full video (for compatibility)
1331
+ * Get first clip for all categories
1302
1332
  */
1303
- processFullVideo(uri: string, index: number, workspaceId: string, date: string, shiftId: string | number, includeCycleTime: boolean, includeMetadata?: boolean): Promise<BottleneckVideoData | null>;
1333
+ getFirstClipsForAllCategories(workspaceId: string, date: string, shiftId: string | number): Promise<Record<string, BottleneckVideoData | null>>;
1304
1334
  /**
1305
- * Fetch clips (main method for compatibility)
1335
+ * Get first clip for a specific category
1306
1336
  */
1307
- fetchClips(params: S3ClipsAPIParams): Promise<BottleneckVideoData[] | VideoSummary>;
1337
+ getFirstClipForCategory(workspaceId: string, date: string, shiftId: string | number, category: string): Promise<BottleneckVideoData | null>;
1308
1338
  /**
1309
- * Batch fetch multiple videos in parallel
1339
+ * Batch fetch videos (alias for batchFetchClips for compatibility)
1310
1340
  */
1311
1341
  batchFetchVideos(workspaceId: string, date: string, shiftId: string | number, requests: Array<{
1312
1342
  category: string;
1313
1343
  index: number;
1314
- includeMetadata?: boolean;
1315
- }>): Promise<BottleneckVideoData[]>;
1344
+ }>): Promise<Array<BottleneckVideoData | null>>;
1316
1345
  /**
1317
- * Get videos page using pagination API
1346
+ * Batch fetch clips
1318
1347
  */
1319
- getVideosPage(workspaceId: string, date: string, shiftId: string | number, category: string, pageSize?: number, startAfter?: string): Promise<{
1320
- videos: BottleneckVideoData[];
1321
- nextToken?: string;
1322
- hasMore: boolean;
1323
- }>;
1348
+ batchFetchClips(workspaceId: string, date: string, shiftId: string | number, requests: Array<{
1349
+ category: string;
1350
+ index: number;
1351
+ }>): Promise<Array<BottleneckVideoData | null>>;
1324
1352
  /**
1325
- * Create empty video index for compatibility
1353
+ * Get all clip types from Supabase
1326
1354
  */
1327
- private createEmptyVideoIndex;
1355
+ getClipTypes(): Promise<ClipType[]>;
1328
1356
  /**
1329
- * Get clip by ID
1357
+ * Ensure videos are loaded for navigation
1330
1358
  */
1331
- getClipById(clipId: string, sopCategories?: SOPCategory[]): Promise<BottleneckVideoData | null>;
1359
+ ensureVideosLoaded(workspaceId: string, date: string, shiftId: string | number, category: string, currentIndex: number): Promise<void>;
1332
1360
  /**
1333
- * Get neighboring clips
1361
+ * Get percentile-based clips (fast cycles, slow cycles, idle times)
1334
1362
  */
1335
- getNeighboringClips(workspaceId: string, date: string, shiftId: string | number, category: string, currentClipId: string, sopCategories?: SOPCategory[]): Promise<{
1336
- previous: BottleneckVideoData | null;
1337
- next: BottleneckVideoData | null;
1363
+ getPercentileClips(workspaceId: string, date: string, shiftId: string | number, type: 'fast-cycles' | 'slow-cycles' | 'idle-times', percentile?: number, limit?: number): Promise<{
1364
+ clips: BottleneckVideoData[];
1365
+ total: number;
1366
+ hasMore: boolean;
1338
1367
  }>;
1339
1368
  /**
1340
- * Cleanup
1369
+ * Get workspace statistics
1341
1370
  */
1342
- dispose(): void;
1371
+ getWorkspaceStats(workspaceId: string, startDate?: string, endDate?: string): Promise<any>;
1343
1372
  /**
1344
- * Get statistics
1373
+ * Helper to get severity from clip type
1374
+ * Updated for new materialized view structure (only cycle_completion in 'cycle' category)
1345
1375
  */
1346
- getStats(): {
1347
- requestCache: {
1348
- pendingCount: number;
1349
- maxSize: number;
1350
- };
1351
- };
1376
+ private getSeverityFromClipType;
1377
+ /**
1378
+ * Helper to get description from clip type
1379
+ * Updated for new materialized view structure
1380
+ */
1381
+ private getDescriptionFromClipType;
1352
1382
  }
1353
1383
 
1354
1384
  /**
@@ -1399,7 +1429,7 @@ interface PrefetchRequest {
1399
1429
  /**
1400
1430
  * Promise for the prefetch operation
1401
1431
  */
1402
- promise: Promise<ClipCountsWithIndex$2 | null>;
1432
+ promise: Promise<ClipCountsWithIndex | null>;
1403
1433
  /**
1404
1434
  * Current status of the request
1405
1435
  */
@@ -1407,7 +1437,7 @@ interface PrefetchRequest {
1407
1437
  /**
1408
1438
  * Cached data (null until available)
1409
1439
  */
1410
- data: ClipCountsWithIndex$2 | null;
1440
+ data: ClipCountsWithIndex | null;
1411
1441
  /**
1412
1442
  * Any error that occurred
1413
1443
  */
@@ -1421,9 +1451,9 @@ interface PrefetchRequest {
1421
1451
  */
1422
1452
  subscribers: Set<string>;
1423
1453
  }
1424
- type StatusChangeCallback$1 = (key: string, status: PrefetchStatus$1, data?: ClipCountsWithIndex$2 | null, error?: Error | null) => void;
1425
- type RenderReadyCallback$1 = (key: string, data: ClipCountsWithIndex$2) => void;
1426
- type FullyIndexedCallback$1 = (key: string, data: ClipCountsWithIndex$2) => void;
1454
+ type StatusChangeCallback$1 = (key: string, status: PrefetchStatus$1, data?: ClipCountsWithIndex | null, error?: Error | null) => void;
1455
+ type RenderReadyCallback$1 = (key: string, data: ClipCountsWithIndex) => void;
1456
+ type FullyIndexedCallback$1 = (key: string, data: ClipCountsWithIndex) => void;
1427
1457
  type ErrorCallback$1 = (key: string, error: Error) => void;
1428
1458
  interface PrefetchSubscriptionCallbacks {
1429
1459
  /**
@@ -1451,7 +1481,7 @@ interface PrefetchStatusResult {
1451
1481
  /**
1452
1482
  * Available data (null until render-ready)
1453
1483
  */
1454
- data: ClipCountsWithIndex$2 | null;
1484
+ data: ClipCountsWithIndex | null;
1455
1485
  /**
1456
1486
  * Any error that occurred
1457
1487
  */
@@ -1531,7 +1561,7 @@ interface UsePrefetchClipCountsResult$1 {
1531
1561
  /**
1532
1562
  * Clip counts data (available when render ready or fully indexed)
1533
1563
  */
1534
- data: ClipCountsWithIndex$2 | null;
1564
+ data: ClipCountsWithIndex | null;
1535
1565
  /**
1536
1566
  * Any error that occurred during prefetching
1537
1567
  */
@@ -1551,7 +1581,7 @@ interface UsePrefetchClipCountsResult$1 {
1551
1581
  /**
1552
1582
  * Manual trigger function for re-prefetching
1553
1583
  */
1554
- prefetchClipCounts: () => Promise<ClipCountsWithIndex$2 | null>;
1584
+ prefetchClipCounts: () => Promise<ClipCountsWithIndex | null>;
1555
1585
  /**
1556
1586
  * Cache key used for this request
1557
1587
  */
@@ -1649,7 +1679,7 @@ interface PrefetchResult {
1649
1679
  /**
1650
1680
  * The prefetched data
1651
1681
  */
1652
- data: ClipCountsWithIndex$2 | null;
1682
+ data: ClipCountsWithIndex | null;
1653
1683
  /**
1654
1684
  * Whether this came from cache
1655
1685
  */
@@ -1686,10 +1716,10 @@ type PrefetchKey = string;
1686
1716
  type SubscriberId = string;
1687
1717
  type CleanupFunction = () => void;
1688
1718
  interface IPrefetchManager {
1689
- prefetch(params: PrefetchParams$1, dashboardConfig: DashboardConfig, subscriberId?: string, buildIndex?: boolean): Promise<ClipCountsWithIndex$2 | null>;
1719
+ prefetch(params: PrefetchParams$1, dashboardConfig: DashboardConfig, subscriberId?: string, buildIndex?: boolean): Promise<ClipCountsWithIndex | null>;
1690
1720
  getStatus(params: PrefetchParams$1): PrefetchStatusResult;
1691
1721
  isDataAvailable(params: PrefetchParams$1): boolean;
1692
- getCachedData(params: PrefetchParams$1): ClipCountsWithIndex$2 | null;
1722
+ getCachedData(params: PrefetchParams$1): ClipCountsWithIndex | null;
1693
1723
  subscribe(params: PrefetchParams$1, subscriberId: string, callbacks: PrefetchSubscriptionCallbacks): CleanupFunction;
1694
1724
  cancel(params: PrefetchParams$1, subscriberId?: string): void;
1695
1725
  clear(): void;
@@ -1939,6 +1969,50 @@ declare const useSubscriptionManager: () => SubscriptionManager;
1939
1969
  */
1940
1970
  declare const useSubscriptionManagerSafe: () => SubscriptionManager | null;
1941
1971
 
1972
+ /**
1973
+ * Clip Filter Context
1974
+ * Manages state for advanced clip filtering and percentile controls
1975
+ */
1976
+
1977
+ interface ClipFilterState {
1978
+ percentile: number;
1979
+ showFastCycles: boolean;
1980
+ showSlowCycles: boolean;
1981
+ showLongestIdles: boolean;
1982
+ showIdleTime: boolean;
1983
+ showCycleCompletion: boolean;
1984
+ showBestCycleTime: boolean;
1985
+ showWorstCycleTime: boolean;
1986
+ showLongCycleTime: boolean;
1987
+ showSopDeviations: boolean;
1988
+ dateRange: {
1989
+ start: Date;
1990
+ end: Date;
1991
+ };
1992
+ shiftFilter?: number;
1993
+ percentileRange?: {
1994
+ min: number;
1995
+ max: number;
1996
+ };
1997
+ isAdvancedPanelOpen: boolean;
1998
+ isLoadingPercentileClips: boolean;
1999
+ }
2000
+ interface ClipFilterContextValue {
2001
+ state: ClipFilterState;
2002
+ updatePercentile: (percentile: number) => void;
2003
+ toggleClipType: (clipType: keyof ClipFilterState) => void;
2004
+ updateDateRange: (start: Date, end: Date) => void;
2005
+ updateShiftFilter: (shiftId?: number) => void;
2006
+ setPercentileRange: (min: number, max: number) => void;
2007
+ toggleAdvancedPanel: () => void;
2008
+ resetFilters: () => void;
2009
+ setLoadingPercentileClips: (loading: boolean) => void;
2010
+ }
2011
+ declare const ClipFilterProvider: React__default.FC<{
2012
+ children: ReactNode;
2013
+ }>;
2014
+ declare const useClipFilter: () => ClipFilterContextValue;
2015
+
1942
2016
  /**
1943
2017
  * @hook useWorkspaceMetrics
1944
2018
  * @summary Fetches and subscribes to overview metrics for a specific workspace.
@@ -2940,161 +3014,6 @@ interface UseTicketHistoryReturn {
2940
3014
  }
2941
3015
  declare function useTicketHistory(companyId?: string): UseTicketHistoryReturn;
2942
3016
 
2943
- /**
2944
- * S3 Clips Service - Supabase Version
2945
- * Uses Supabase database instead of S3 listing for clip management
2946
- *
2947
- * This is a drop-in replacement for s3-clips-secure.ts that uses
2948
- * the new Supabase-based API endpoints.
2949
- *
2950
- * Benefits:
2951
- * - Faster loading (direct DB queries vs S3 listing)
2952
- * - Richer metadata immediately available
2953
- * - Better filtering and sorting capabilities
2954
- * - Lower AWS costs
2955
- */
2956
-
2957
- interface VideoIndexEntry {
2958
- uri: string;
2959
- category: string;
2960
- timestamp: string;
2961
- videoId: string;
2962
- workspaceId: string;
2963
- date: string;
2964
- shiftId: string;
2965
- }
2966
- interface VideoIndex {
2967
- byCategory: Map<string, VideoIndexEntry[]>;
2968
- allVideos: VideoIndexEntry[];
2969
- counts: Record<string, number>;
2970
- workspaceId: string;
2971
- date: string;
2972
- shiftId: string;
2973
- lastUpdated: Date;
2974
- _debugId?: string;
2975
- }
2976
- interface ClipCountsWithIndex$1 {
2977
- counts: Record<string, number>;
2978
- videoIndex: VideoIndex;
2979
- }
2980
- interface ClipType {
2981
- id: string;
2982
- type: string;
2983
- label: string;
2984
- color: string;
2985
- description?: string;
2986
- subtitle?: string;
2987
- icon?: string;
2988
- sort_order?: number;
2989
- severity_levels?: string[];
2990
- count?: number;
2991
- metadata?: {
2992
- label?: string;
2993
- color?: string;
2994
- description?: string;
2995
- icon?: string;
2996
- sort_order?: number;
2997
- severity_levels?: string[];
2998
- };
2999
- }
3000
- /**
3001
- * S3 Clips Service - Supabase Implementation
3002
- * All clip operations go through Supabase database
3003
- */
3004
- declare class S3ClipsSupabaseService {
3005
- private config;
3006
- private requestCache;
3007
- private readonly defaultLimitPerCategory;
3008
- private readonly maxLimitPerCategory;
3009
- private readonly concurrencyLimit;
3010
- private readonly maxInitialFetch;
3011
- private isIndexBuilding;
3012
- private isPrefetching;
3013
- private currentMetadataFetches;
3014
- private readonly MAX_CONCURRENT_METADATA;
3015
- constructor(config: DashboardConfig);
3016
- /**
3017
- * Fetch with authentication and error handling
3018
- */
3019
- private fetchWithAuth;
3020
- /**
3021
- * Deduplicate requests to prevent multiple API calls
3022
- */
3023
- private deduplicate;
3024
- /**
3025
- * Lists clips using Supabase API
3026
- */
3027
- listS3Clips(params: S3ListObjectsParams): Promise<string[]>;
3028
- /**
3029
- * Get metadata cycle time
3030
- */
3031
- getMetadataCycleTime(clipId: string): Promise<number | null>;
3032
- /**
3033
- * Control prefetch mode
3034
- */
3035
- setPrefetchMode(enabled: boolean): void;
3036
- /**
3037
- * Get full metadata
3038
- */
3039
- getFullMetadata(clipId: string): Promise<VideoMetadata | null>;
3040
- /**
3041
- * Get clip counts with optional video index
3042
- */
3043
- getClipCountsCacheFirst(workspaceId: string, date: string, shiftId: string | number, buildIndex?: boolean): Promise<ClipCountsWithIndex$1 | Record<string, number>>;
3044
- /**
3045
- * Get clip counts (simplified version)
3046
- */
3047
- getClipCounts(workspaceId: string, date: string, shiftId: string | number): Promise<Record<string, number>>;
3048
- /**
3049
- * Get clip by ID - stable navigation method
3050
- * This ensures navigation works even when new clips are added
3051
- */
3052
- getClipById(clipId: string, sopCategories?: SOPCategory[]): Promise<BottleneckVideoData | null>;
3053
- /**
3054
- * Get neighboring clips for navigation
3055
- * Returns previous and next clips based on timestamp
3056
- */
3057
- getNeighboringClips(workspaceId: string, date: string, shiftId: string | number, category: string, currentClipId: string, sopCategories?: SOPCategory[]): Promise<{
3058
- previous: BottleneckVideoData | null;
3059
- next: BottleneckVideoData | null;
3060
- }>;
3061
- /**
3062
- * Get clip by index
3063
- * @deprecated Use getClipById for stable navigation
3064
- */
3065
- getClipByIndex(workspaceId: string, date: string, shiftId: string | number, category: string, index: number): Promise<BottleneckVideoData | null>;
3066
- /**
3067
- * Get first clip for all categories
3068
- */
3069
- getFirstClipsForAllCategories(workspaceId: string, date: string, shiftId: string | number): Promise<Record<string, BottleneckVideoData | null>>;
3070
- /**
3071
- * Get first clip for a specific category
3072
- */
3073
- getFirstClipForCategory(workspaceId: string, date: string, shiftId: string | number, category: string): Promise<BottleneckVideoData | null>;
3074
- /**
3075
- * Batch fetch videos (alias for batchFetchClips for compatibility)
3076
- */
3077
- batchFetchVideos(workspaceId: string, date: string, shiftId: string | number, requests: Array<{
3078
- category: string;
3079
- index: number;
3080
- }>): Promise<Array<BottleneckVideoData | null>>;
3081
- /**
3082
- * Batch fetch clips
3083
- */
3084
- batchFetchClips(workspaceId: string, date: string, shiftId: string | number, requests: Array<{
3085
- category: string;
3086
- index: number;
3087
- }>): Promise<Array<BottleneckVideoData | null>>;
3088
- /**
3089
- * Get all clip types from Supabase
3090
- */
3091
- getClipTypes(): Promise<ClipType[]>;
3092
- /**
3093
- * Ensure videos are loaded for navigation
3094
- */
3095
- ensureVideosLoaded(workspaceId: string, date: string, shiftId: string | number, category: string, currentIndex: number): Promise<void>;
3096
- }
3097
-
3098
3017
  /**
3099
3018
  * Video Prefetch Manager - DISABLED
3100
3019
  *
@@ -3104,7 +3023,6 @@ declare class S3ClipsSupabaseService {
3104
3023
  * The file is kept for compatibility but all functionality is disabled.
3105
3024
  */
3106
3025
 
3107
- declare const S3ClipsService: typeof S3ClipsService$1 | typeof S3ClipsSupabaseService;
3108
3026
  declare enum PrefetchStatus {
3109
3027
  IDLE = "idle",
3110
3028
  PENDING = "pending",
@@ -3117,9 +3035,9 @@ interface PrefetchParams {
3117
3035
  date: string;
3118
3036
  shift: string;
3119
3037
  }
3120
- type StatusChangeCallback = (key: string, status: PrefetchStatus, data?: ClipCountsWithIndex$2 | null, error?: Error | null) => void;
3121
- type RenderReadyCallback = (key: string, data: ClipCountsWithIndex$2) => void;
3122
- type FullyIndexedCallback = (key: string, data: ClipCountsWithIndex$2) => void;
3038
+ type StatusChangeCallback = (key: string, status: PrefetchStatus, data?: ClipCountsWithIndex | null, error?: Error | null) => void;
3039
+ type RenderReadyCallback = (key: string, data: ClipCountsWithIndex) => void;
3040
+ type FullyIndexedCallback = (key: string, data: ClipCountsWithIndex) => void;
3123
3041
  type ErrorCallback = (key: string, error: Error) => void;
3124
3042
  /**
3125
3043
  * DISABLED Video Prefetch Manager
@@ -3133,17 +3051,17 @@ declare class VideoPrefetchManager extends EventEmitter {
3133
3051
  * Get or create S3 service instance
3134
3052
  * Still functional to provide S3 service instances
3135
3053
  */
3136
- getS3Service(dashboardConfig: DashboardConfig): InstanceType<typeof S3ClipsService>;
3054
+ getS3Service(dashboardConfig: DashboardConfig): InstanceType<typeof S3ClipsSupabaseService>;
3137
3055
  /**
3138
3056
  * DISABLED - Returns null immediately
3139
3057
  */
3140
- prefetch(params: PrefetchParams, dashboardConfig: DashboardConfig, subscriberId?: string, buildIndex?: boolean): Promise<ClipCountsWithIndex$2 | null>;
3058
+ prefetch(params: PrefetchParams, dashboardConfig: DashboardConfig, subscriberId?: string, buildIndex?: boolean): Promise<ClipCountsWithIndex | null>;
3141
3059
  /**
3142
3060
  * DISABLED - Returns idle status
3143
3061
  */
3144
3062
  getStatus(params: PrefetchParams): {
3145
3063
  status: PrefetchStatus;
3146
- data: ClipCountsWithIndex$2 | null;
3064
+ data: ClipCountsWithIndex | null;
3147
3065
  error: Error | null;
3148
3066
  isRenderReady: boolean;
3149
3067
  isFullyIndexed: boolean;
@@ -3155,7 +3073,7 @@ declare class VideoPrefetchManager extends EventEmitter {
3155
3073
  /**
3156
3074
  * DISABLED - Always returns null
3157
3075
  */
3158
- getCachedData(params: PrefetchParams): ClipCountsWithIndex$2 | null;
3076
+ getCachedData(params: PrefetchParams): ClipCountsWithIndex | null;
3159
3077
  /**
3160
3078
  * DISABLED - Returns empty cleanup function
3161
3079
  */
@@ -3198,9 +3116,6 @@ declare const videoPrefetchManager: VideoPrefetchManager;
3198
3116
  * The file is kept for compatibility but all functionality is disabled.
3199
3117
  */
3200
3118
 
3201
- declare const USE_SUPABASE_CLIPS = true;
3202
-
3203
- type ClipCountsWithIndex = typeof USE_SUPABASE_CLIPS extends true ? ClipCountsWithIndex$1 : ClipCountsWithIndex$2;
3204
3119
  interface UsePrefetchClipCountsOptions {
3205
3120
  workspaceId: string;
3206
3121
  date?: string;
@@ -5677,6 +5592,64 @@ declare const WorkspaceMonthlyDataFetcher: React__default.FC<WorkspaceMonthlyDat
5677
5592
  */
5678
5593
  declare const WorkspaceDisplayNameExample: React__default.FC;
5679
5594
 
5595
+ interface SOPCategory {
5596
+ id: string;
5597
+ label: string;
5598
+ description?: string;
5599
+ subtitle?: string;
5600
+ color: string;
5601
+ icon?: string;
5602
+ sort_order?: number;
5603
+ s3FolderName?: string;
5604
+ }
5605
+ interface FileManagerFiltersProps {
5606
+ categories: SOPCategory[];
5607
+ videos: BottleneckVideoData[];
5608
+ activeFilter: string;
5609
+ currentVideoId?: string;
5610
+ counts?: Record<string, number>;
5611
+ onFilterChange: (filterId: string) => void;
5612
+ onVideoSelect: (videoIndex: number) => void;
5613
+ onClipSelect?: (categoryId: string, clipId: string) => void;
5614
+ workspaceId?: string;
5615
+ date?: string;
5616
+ shift?: string | number;
5617
+ className?: string;
5618
+ }
5619
+ declare const FileManagerFilters: React__default.FC<FileManagerFiltersProps>;
5620
+
5621
+ /**
5622
+ * Advanced Filter Panel Component
5623
+ * Provides comprehensive filtering controls for clips including percentile selection
5624
+ */
5625
+
5626
+ interface AdvancedFilterPanelProps {
5627
+ className?: string;
5628
+ onApply?: () => void;
5629
+ }
5630
+ declare const AdvancedFilterPanel: React__default.FC<AdvancedFilterPanelProps>;
5631
+
5632
+ /**
5633
+ * Advanced Filter Dialog Component
5634
+ * Beautiful modal dialog for comprehensive clip filtering
5635
+ * Features glassmorphism design, enhanced controls, and space-efficient layout
5636
+ */
5637
+
5638
+ interface AdvancedFilterDialogProps {
5639
+ onApply?: () => void;
5640
+ }
5641
+ declare const AdvancedFilterDialog: React__default.FC<AdvancedFilterDialogProps>;
5642
+
5643
+ /**
5644
+ * Filter Dialog Trigger Component
5645
+ * Beautiful trigger button for opening the advanced filter dialog
5646
+ */
5647
+
5648
+ interface FilterDialogTriggerProps {
5649
+ className?: string;
5650
+ }
5651
+ declare const FilterDialogTrigger: React__default.FC<FilterDialogTriggerProps>;
5652
+
5680
5653
  declare const PageHeader: React__default.FC<PageHeaderProps>;
5681
5654
 
5682
5655
  interface DashboardLayoutProps {
@@ -6709,7 +6682,7 @@ declare const streamProxyConfig: {
6709
6682
  * @param s3Uri - The S3 URI to parse
6710
6683
  * @param sopCategories - Optional SOP categories configuration for mapping
6711
6684
  */
6712
- declare function parseS3Uri(s3Uri: string, sopCategories?: SOPCategory[]): Omit<BottleneckVideoData, 'id' | 'src' | 'cycle_time_seconds'> | null;
6685
+ declare function parseS3Uri(s3Uri: string, sopCategories?: SOPCategory$1[]): Omit<BottleneckVideoData, 'id' | 'src' | 'cycle_time_seconds'> | null;
6713
6686
  /**
6714
6687
  * Shuffles an array using Fisher-Yates algorithm
6715
6688
  */
@@ -6723,4 +6696,4 @@ interface ThreadSidebarProps {
6723
6696
  }
6724
6697
  declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
6725
6698
 
6726
- 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, type ClipsConfig, 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, 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, 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$3 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, type SupervisorConfig, 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, WorkspaceMonthlyHistory, 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 };
6699
+ export { ACTION_NAMES, AIAgentView, type AccessControlReturn, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, 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, ClipFilterProvider, type ClipFilterState, type ClipsConfig, 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, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, 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, 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, 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, S3ClipsSupabaseService 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$1 as 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$3 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, type SupervisorConfig, 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, 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, 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 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, useClipFilter, 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 };