@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.css +154 -6
- package/dist/index.d.mts +223 -250
- package/dist/index.d.ts +223 -250
- package/dist/index.js +2502 -2112
- package/dist/index.mjs +1605 -1221
- package/package.json +1 -1
package/dist/index.d.ts
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 -
|
|
1203
|
-
* Uses
|
|
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
|
|
1206
|
+
* This is a drop-in replacement for s3-clips-secure.ts that uses
|
|
1207
|
+
* the new Supabase-based API endpoints.
|
|
1207
1208
|
*
|
|
1208
|
-
*
|
|
1209
|
-
*
|
|
1210
|
-
*
|
|
1211
|
-
*
|
|
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
|
|
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
|
|
1224
|
-
byCategory: Map<string, VideoIndexEntry
|
|
1225
|
-
allVideos: VideoIndexEntry
|
|
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
|
|
1235
|
+
interface ClipCountsWithIndex {
|
|
1234
1236
|
counts: Record<string, number>;
|
|
1235
|
-
videoIndex: VideoIndex
|
|
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 -
|
|
1239
|
-
* All
|
|
1260
|
+
* S3 Clips Service - Supabase Implementation
|
|
1261
|
+
* All clip operations go through Supabase database
|
|
1240
1262
|
*/
|
|
1241
|
-
declare class
|
|
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
|
-
*
|
|
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(
|
|
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(
|
|
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
|
|
1300
|
+
* Get clip counts with optional video index
|
|
1276
1301
|
*/
|
|
1277
|
-
|
|
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
|
|
1308
|
+
* Get clip by ID - stable navigation method
|
|
1309
|
+
* This ensures navigation works even when new clips are added
|
|
1285
1310
|
*/
|
|
1286
|
-
|
|
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
|
-
*
|
|
1313
|
+
* Map percentile category to actual implementation
|
|
1290
1314
|
*/
|
|
1291
|
-
|
|
1315
|
+
private mapPercentileCategoryToType;
|
|
1292
1316
|
/**
|
|
1293
|
-
* Get
|
|
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
|
-
|
|
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
|
|
1329
|
+
getClipByIndex(workspaceId: string, date: string, shiftId: string | number, category: string, index: number): Promise<BottleneckVideoData | null>;
|
|
1300
1330
|
/**
|
|
1301
|
-
*
|
|
1331
|
+
* Get first clip for all categories
|
|
1302
1332
|
*/
|
|
1303
|
-
|
|
1333
|
+
getFirstClipsForAllCategories(workspaceId: string, date: string, shiftId: string | number): Promise<Record<string, BottleneckVideoData | null>>;
|
|
1304
1334
|
/**
|
|
1305
|
-
*
|
|
1335
|
+
* Get first clip for a specific category
|
|
1306
1336
|
*/
|
|
1307
|
-
|
|
1337
|
+
getFirstClipForCategory(workspaceId: string, date: string, shiftId: string | number, category: string): Promise<BottleneckVideoData | null>;
|
|
1308
1338
|
/**
|
|
1309
|
-
* Batch fetch
|
|
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
|
-
|
|
1315
|
-
}>): Promise<BottleneckVideoData[]>;
|
|
1344
|
+
}>): Promise<Array<BottleneckVideoData | null>>;
|
|
1316
1345
|
/**
|
|
1317
|
-
*
|
|
1346
|
+
* Batch fetch clips
|
|
1318
1347
|
*/
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
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
|
-
*
|
|
1353
|
+
* Get all clip types from Supabase
|
|
1326
1354
|
*/
|
|
1327
|
-
|
|
1355
|
+
getClipTypes(): Promise<ClipType[]>;
|
|
1328
1356
|
/**
|
|
1329
|
-
*
|
|
1357
|
+
* Ensure videos are loaded for navigation
|
|
1330
1358
|
*/
|
|
1331
|
-
|
|
1359
|
+
ensureVideosLoaded(workspaceId: string, date: string, shiftId: string | number, category: string, currentIndex: number): Promise<void>;
|
|
1332
1360
|
/**
|
|
1333
|
-
* Get
|
|
1361
|
+
* Get percentile-based clips (fast cycles, slow cycles, idle times)
|
|
1334
1362
|
*/
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
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
|
-
*
|
|
1369
|
+
* Get workspace statistics
|
|
1341
1370
|
*/
|
|
1342
|
-
|
|
1371
|
+
getWorkspaceStats(workspaceId: string, startDate?: string, endDate?: string): Promise<any>;
|
|
1343
1372
|
/**
|
|
1344
|
-
*
|
|
1373
|
+
* Helper to get severity from clip type
|
|
1374
|
+
* Updated for new materialized view structure (only cycle_completion in 'cycle' category)
|
|
1345
1375
|
*/
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
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
|
|
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
|
|
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
|
|
1425
|
-
type RenderReadyCallback$1 = (key: string, data: ClipCountsWithIndex
|
|
1426
|
-
type FullyIndexedCallback$1 = (key: string, data: ClipCountsWithIndex
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
3121
|
-
type RenderReadyCallback = (key: string, data: ClipCountsWithIndex
|
|
3122
|
-
type FullyIndexedCallback = (key: string, data: ClipCountsWithIndex
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 };
|