@optifye/dashboard-core 6.1.12 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -437,6 +437,10 @@ body {
437
437
  .inset-0 {
438
438
  inset: 0px;
439
439
  }
440
+ .inset-y-0 {
441
+ top: 0px;
442
+ bottom: 0px;
443
+ }
440
444
  .-bottom-1 {
441
445
  bottom: -0.25rem;
442
446
  }
@@ -479,9 +483,6 @@ body {
479
483
  .bottom-2 {
480
484
  bottom: 0.5rem;
481
485
  }
482
- .bottom-4 {
483
- bottom: 1rem;
484
- }
485
486
  .bottom-\[15\%\] {
486
487
  bottom: 15%;
487
488
  }
@@ -557,6 +558,9 @@ body {
557
558
  .top-full {
558
559
  top: 100%;
559
560
  }
561
+ .isolate {
562
+ isolation: isolate;
563
+ }
560
564
  .z-0 {
561
565
  z-index: 0;
562
566
  }
@@ -578,12 +582,6 @@ body {
578
582
  .z-\[100\] {
579
583
  z-index: 100;
580
584
  }
581
- .z-\[101\] {
582
- z-index: 101;
583
- }
584
- .z-\[102\] {
585
- z-index: 102;
586
- }
587
585
  .order-1 {
588
586
  order: 1;
589
587
  }
@@ -600,6 +598,10 @@ body {
600
598
  margin-left: -0.25rem;
601
599
  margin-right: -0.25rem;
602
600
  }
601
+ .-mx-6 {
602
+ margin-left: -1.5rem;
603
+ margin-right: -1.5rem;
604
+ }
603
605
  .mx-1 {
604
606
  margin-left: 0.25rem;
605
607
  margin-right: 0.25rem;
@@ -635,6 +637,9 @@ body {
635
637
  .-mb-2 {
636
638
  margin-bottom: -0.5rem;
637
639
  }
640
+ .-mb-6 {
641
+ margin-bottom: -1.5rem;
642
+ }
638
643
  .-ml-1 {
639
644
  margin-left: -0.25rem;
640
645
  }
@@ -911,9 +916,6 @@ body {
911
916
  .h-\[80px\] {
912
917
  height: 80px;
913
918
  }
914
- .h-\[85vh\] {
915
- height: 85vh;
916
- }
917
919
  .h-\[calc\(100\%-2\.5rem\)\] {
918
920
  height: calc(100% - 2.5rem);
919
921
  }
@@ -986,9 +988,6 @@ body {
986
988
  .max-h-\[90vh\] {
987
989
  max-height: 90vh;
988
990
  }
989
- .max-h-full {
990
- max-height: 100%;
991
- }
992
991
  .min-h-0 {
993
992
  min-height: 0px;
994
993
  }
@@ -1124,9 +1123,6 @@ body {
1124
1123
  .w-\[27vw\] {
1125
1124
  width: 27vw;
1126
1125
  }
1127
- .w-\[90vw\] {
1128
- width: 90vw;
1129
- }
1130
1126
  .w-auto {
1131
1127
  width: auto;
1132
1128
  }
@@ -1184,6 +1180,9 @@ body {
1184
1180
  .max-w-6xl {
1185
1181
  max-width: 72rem;
1186
1182
  }
1183
+ .max-w-7xl {
1184
+ max-width: 80rem;
1185
+ }
1187
1186
  .max-w-\[100px\] {
1188
1187
  max-width: 100px;
1189
1188
  }
@@ -1444,6 +1443,9 @@ body {
1444
1443
  .gap-4 {
1445
1444
  gap: 1rem;
1446
1445
  }
1446
+ .gap-5 {
1447
+ gap: 1.25rem;
1448
+ }
1447
1449
  .gap-6 {
1448
1450
  gap: 1.5rem;
1449
1451
  }
@@ -1689,6 +1691,9 @@ body {
1689
1691
  .border-t {
1690
1692
  border-top-width: 1px;
1691
1693
  }
1694
+ .border-t-0 {
1695
+ border-top-width: 0px;
1696
+ }
1692
1697
  .border-t-2 {
1693
1698
  border-top-width: 2px;
1694
1699
  }
@@ -2080,6 +2085,10 @@ body {
2080
2085
  --tw-bg-opacity: 1;
2081
2086
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
2082
2087
  }
2088
+ .bg-slate-100 {
2089
+ --tw-bg-opacity: 1;
2090
+ background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
2091
+ }
2083
2092
  .bg-slate-50 {
2084
2093
  --tw-bg-opacity: 1;
2085
2094
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
@@ -2209,6 +2218,11 @@ body {
2209
2218
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
2210
2219
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
2211
2220
  }
2221
+ .from-blue-600 {
2222
+ --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
2223
+ --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
2224
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
2225
+ }
2212
2226
  .from-gray-200 {
2213
2227
  --tw-gradient-from: #e5e7eb var(--tw-gradient-from-position);
2214
2228
  --tw-gradient-to: rgb(229 231 235 / 0) var(--tw-gradient-to-position);
@@ -2219,6 +2233,11 @@ body {
2219
2233
  --tw-gradient-to: rgb(209 213 219 / 0) var(--tw-gradient-to-position);
2220
2234
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
2221
2235
  }
2236
+ .from-gray-50 {
2237
+ --tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
2238
+ --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
2239
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
2240
+ }
2222
2241
  .from-gray-50\/50 {
2223
2242
  --tw-gradient-from: rgb(249 250 251 / 0.5) var(--tw-gradient-from-position);
2224
2243
  --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
@@ -2281,21 +2300,33 @@ body {
2281
2300
  .to-blue-50\/50 {
2282
2301
  --tw-gradient-to: rgb(239 246 255 / 0.5) var(--tw-gradient-to-position);
2283
2302
  }
2303
+ .to-blue-700 {
2304
+ --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);
2305
+ }
2284
2306
  .to-gray-300 {
2285
2307
  --tw-gradient-to: #d1d5db var(--tw-gradient-to-position);
2286
2308
  }
2309
+ .to-gray-50 {
2310
+ --tw-gradient-to: #f9fafb var(--tw-gradient-to-position);
2311
+ }
2287
2312
  .to-gray-500 {
2288
2313
  --tw-gradient-to: #6b7280 var(--tw-gradient-to-position);
2289
2314
  }
2290
2315
  .to-gray-900 {
2291
2316
  --tw-gradient-to: #111827 var(--tw-gradient-to-position);
2292
2317
  }
2318
+ .to-indigo-50 {
2319
+ --tw-gradient-to: #eef2ff var(--tw-gradient-to-position);
2320
+ }
2293
2321
  .to-slate-100 {
2294
2322
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
2295
2323
  }
2296
2324
  .to-transparent {
2297
2325
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
2298
2326
  }
2327
+ .to-white {
2328
+ --tw-gradient-to: #fff var(--tw-gradient-to-position);
2329
+ }
2299
2330
  .to-yellow-600 {
2300
2331
  --tw-gradient-to: #ca8a04 var(--tw-gradient-to-position);
2301
2332
  }
@@ -2443,6 +2474,9 @@ body {
2443
2474
  .pb-32 {
2444
2475
  padding-bottom: 8rem;
2445
2476
  }
2477
+ .pb-4 {
2478
+ padding-bottom: 1rem;
2479
+ }
2446
2480
  .pb-6 {
2447
2481
  padding-bottom: 1.5rem;
2448
2482
  }
@@ -2834,6 +2868,14 @@ body {
2834
2868
  .underline-offset-4 {
2835
2869
  text-underline-offset: 4px;
2836
2870
  }
2871
+ .placeholder-gray-400::-moz-placeholder {
2872
+ --tw-placeholder-opacity: 1;
2873
+ color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
2874
+ }
2875
+ .placeholder-gray-400::placeholder {
2876
+ --tw-placeholder-opacity: 1;
2877
+ color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
2878
+ }
2837
2879
  .placeholder-gray-500::-moz-placeholder {
2838
2880
  --tw-placeholder-opacity: 1;
2839
2881
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
@@ -2859,9 +2901,6 @@ body {
2859
2901
  .opacity-25 {
2860
2902
  opacity: 0.25;
2861
2903
  }
2862
- .opacity-30 {
2863
- opacity: 0.3;
2864
- }
2865
2904
  .opacity-50 {
2866
2905
  opacity: 0.5;
2867
2906
  }
@@ -3283,9 +3322,6 @@ input[type=range]:active::-moz-range-thumb {
3283
3322
  --tw-bg-opacity: 1;
3284
3323
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
3285
3324
  }
3286
- .hover\:bg-black\/50:hover {
3287
- background-color: rgb(0 0 0 / 0.5);
3288
- }
3289
3325
  .hover\:bg-blue-100:hover {
3290
3326
  --tw-bg-opacity: 1;
3291
3327
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
@@ -3357,6 +3393,14 @@ input[type=range]:active::-moz-range-thumb {
3357
3393
  .hover\:bg-white\/20:hover {
3358
3394
  background-color: rgb(255 255 255 / 0.2);
3359
3395
  }
3396
+ .hover\:from-blue-700:hover {
3397
+ --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);
3398
+ --tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);
3399
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
3400
+ }
3401
+ .hover\:to-blue-800:hover {
3402
+ --tw-gradient-to: #1e40af var(--tw-gradient-to-position);
3403
+ }
3360
3404
  .hover\:text-blue-600:hover {
3361
3405
  --tw-text-opacity: 1;
3362
3406
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
@@ -3472,6 +3516,10 @@ input[type=range]:active::-moz-range-thumb {
3472
3516
  --tw-bg-opacity: 1;
3473
3517
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
3474
3518
  }
3519
+ .focus\:bg-white:focus {
3520
+ --tw-bg-opacity: 1;
3521
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
3522
+ }
3475
3523
  .focus\:outline-none:focus {
3476
3524
  outline: 2px solid transparent;
3477
3525
  outline-offset: 2px;
@@ -3624,9 +3672,6 @@ input[type=range]:active::-moz-range-thumb {
3624
3672
  .sm\:mb-1 {
3625
3673
  margin-bottom: 0.25rem;
3626
3674
  }
3627
- .sm\:mb-3 {
3628
- margin-bottom: 0.75rem;
3629
- }
3630
3675
  .sm\:mt-1\.5 {
3631
3676
  margin-top: 0.375rem;
3632
3677
  }
@@ -3657,9 +3702,6 @@ input[type=range]:active::-moz-range-thumb {
3657
3702
  .sm\:h-5 {
3658
3703
  height: 1.25rem;
3659
3704
  }
3660
- .sm\:h-8 {
3661
- height: 2rem;
3662
- }
3663
3705
  .sm\:h-full {
3664
3706
  height: 100%;
3665
3707
  }
@@ -3687,9 +3729,6 @@ input[type=range]:active::-moz-range-thumb {
3687
3729
  .sm\:w-5 {
3688
3730
  width: 1.25rem;
3689
3731
  }
3690
- .sm\:w-8 {
3691
- width: 2rem;
3692
- }
3693
3732
  .sm\:w-\[180px\] {
3694
3733
  width: 180px;
3695
3734
  }
@@ -3729,11 +3768,6 @@ input[type=range]:active::-moz-range-thumb {
3729
3768
  .sm\:gap-6 {
3730
3769
  gap: 1.5rem;
3731
3770
  }
3732
- .sm\:space-y-4 > :not([hidden]) ~ :not([hidden]) {
3733
- --tw-space-y-reverse: 0;
3734
- margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
3735
- margin-bottom: calc(1rem * var(--tw-space-y-reverse));
3736
- }
3737
3771
  .sm\:space-y-6 > :not([hidden]) ~ :not([hidden]) {
3738
3772
  --tw-space-y-reverse: 0;
3739
3773
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
@@ -3801,16 +3835,9 @@ input[type=range]:active::-moz-range-thumb {
3801
3835
  padding-top: 0.75rem;
3802
3836
  padding-bottom: 0.75rem;
3803
3837
  }
3804
- .sm\:py-4 {
3805
- padding-top: 1rem;
3806
- padding-bottom: 1rem;
3807
- }
3808
3838
  .sm\:pb-0 {
3809
3839
  padding-bottom: 0px;
3810
3840
  }
3811
- .sm\:pt-2 {
3812
- padding-top: 0.5rem;
3813
- }
3814
3841
  .sm\:text-2xl {
3815
3842
  font-size: 1.5rem;
3816
3843
  line-height: 2rem;
@@ -3858,6 +3885,9 @@ input[type=range]:active::-moz-range-thumb {
3858
3885
  .md\:mb-2 {
3859
3886
  margin-bottom: 0.5rem;
3860
3887
  }
3888
+ .md\:ml-20 {
3889
+ margin-left: 5rem;
3890
+ }
3861
3891
  .md\:mt-0 {
3862
3892
  margin-top: 0px;
3863
3893
  }
@@ -3964,6 +3994,9 @@ input[type=range]:active::-moz-range-thumb {
3964
3994
  }
3965
3995
  }
3966
3996
  @media (min-width: 1024px) {
3997
+ .lg\:col-span-1 {
3998
+ grid-column: span 1 / span 1;
3999
+ }
3967
4000
  .lg\:col-span-2 {
3968
4001
  grid-column: span 2 / span 2;
3969
4002
  }
package/dist/index.d.mts CHANGED
@@ -8,6 +8,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
8
8
  import { Modifiers } from 'react-day-picker';
9
9
  import html2canvas from 'html2canvas';
10
10
  import * as SelectPrimitive from '@radix-ui/react-select';
11
+ import Player from 'video.js/dist/types/player';
11
12
  import { NextApiRequest, NextApiResponse } from 'next';
12
13
  import { ClassValue } from 'clsx';
13
14
 
@@ -546,6 +547,8 @@ interface PageHeaderProps {
546
547
  headerLogo?: React.ReactNode;
547
548
  /** Stickiness of the header */
548
549
  sticky?: boolean;
550
+ /** Handler for opening mobile menu */
551
+ onMobileMenuOpen?: () => void;
549
552
  }
550
553
 
551
554
  /**
@@ -2216,6 +2219,128 @@ interface UseSKUsReturn {
2216
2219
  }
2217
2220
  declare const useSKUs: (companyId: string) => UseSKUsReturn;
2218
2221
 
2222
+ interface SupportTicketHistory {
2223
+ id: string;
2224
+ title: string;
2225
+ category: 'general' | 'technical' | 'feature' | 'billing';
2226
+ priority: 'low' | 'normal' | 'high' | 'urgent';
2227
+ description: string;
2228
+ user_email: string;
2229
+ company_id: string | null;
2230
+ status: 'submitted' | 'in_progress' | 'resolved' | 'closed';
2231
+ submitted_at: string;
2232
+ updated_at: string;
2233
+ }
2234
+ interface CreateTicketData {
2235
+ title: string;
2236
+ category: 'general' | 'technical' | 'feature' | 'billing';
2237
+ priority: 'low' | 'normal' | 'high' | 'urgent';
2238
+ description: string;
2239
+ user_email: string;
2240
+ company_id: string;
2241
+ }
2242
+ declare class TicketHistoryService {
2243
+ /**
2244
+ * Create a new support ticket in history
2245
+ */
2246
+ static createTicket(ticketData: CreateTicketData): Promise<SupportTicketHistory>;
2247
+ /**
2248
+ * Get all tickets for a specific company
2249
+ */
2250
+ static getCompanyTickets(companyId: string): Promise<SupportTicketHistory[]>;
2251
+ /**
2252
+ * Get all tickets (admin view)
2253
+ */
2254
+ static getAllTickets(): Promise<SupportTicketHistory[]>;
2255
+ /**
2256
+ * Update ticket status
2257
+ */
2258
+ static updateTicketStatus(ticketId: string, status: 'submitted' | 'in_progress' | 'resolved' | 'closed'): Promise<SupportTicketHistory>;
2259
+ }
2260
+
2261
+ interface UseTicketHistoryReturn {
2262
+ tickets: SupportTicketHistory[];
2263
+ loading: boolean;
2264
+ error: string | null;
2265
+ createTicket: (ticketData: CreateTicketData) => Promise<void>;
2266
+ refreshTickets: () => Promise<void>;
2267
+ updateTicketStatus: (ticketId: string, status: 'submitted' | 'in_progress' | 'resolved' | 'closed') => Promise<void>;
2268
+ }
2269
+ declare function useTicketHistory(companyId?: string): UseTicketHistoryReturn;
2270
+
2271
+ /**
2272
+ * S3 Clips API Service
2273
+ * Handles fetching HLS video clips from S3 with AWS SDK integration
2274
+ * Based on the HLS streaming architecture using playlist.m3u8 files
2275
+ * Enhanced with enterprise-grade caching and performance optimizations
2276
+ */
2277
+
2278
+ /**
2279
+ * Video Index Entry for efficient navigation
2280
+ */
2281
+ interface VideoIndexEntry {
2282
+ uri: string;
2283
+ category: string;
2284
+ timestamp: string;
2285
+ videoId: string;
2286
+ workspaceId: string;
2287
+ date: string;
2288
+ shiftId: string;
2289
+ }
2290
+ /**
2291
+ * Video Index structure for storing all video paths
2292
+ */
2293
+ interface VideoIndex {
2294
+ byCategory: Map<string, VideoIndexEntry[]>;
2295
+ allVideos: VideoIndexEntry[];
2296
+ counts: Record<string, number>;
2297
+ workspaceId: string;
2298
+ date: string;
2299
+ shiftId: string;
2300
+ lastUpdated: Date;
2301
+ }
2302
+ /**
2303
+ * Result type that includes both clip counts and video index
2304
+ */
2305
+ interface ClipCountsWithIndex {
2306
+ counts: Record<string, number>;
2307
+ videoIndex: VideoIndex;
2308
+ }
2309
+
2310
+ /**
2311
+ * usePrefetchClipCounts Hook
2312
+ *
2313
+ * Prefetches clip counts for video clips when workspace detail page loads.
2314
+ * This hook is designed to start fetching data before the user clicks on the clips tab,
2315
+ * enabling 70-90% faster rendering when they do access the clips.
2316
+ */
2317
+
2318
+ interface UsePrefetchClipCountsOptions {
2319
+ /**
2320
+ * Workspace ID to prefetch counts for
2321
+ */
2322
+ workspaceId: string;
2323
+ /**
2324
+ * Optional date string (YYYY-MM-DD). If not provided, uses operational date
2325
+ */
2326
+ date?: string;
2327
+ /**
2328
+ * Optional shift ID (0 = day, 1 = night). If not provided, uses current shift
2329
+ */
2330
+ shift?: number | string;
2331
+ /**
2332
+ * Whether to enable prefetching. Defaults to true
2333
+ */
2334
+ enabled?: boolean;
2335
+ }
2336
+ /**
2337
+ * Hook to prefetch clip counts and build video index for faster clips tab loading
2338
+ */
2339
+ declare const usePrefetchClipCounts: ({ workspaceId, date, shift, enabled }: UsePrefetchClipCountsOptions) => {
2340
+ prefetchClipCounts: () => Promise<ClipCountsWithIndex | null>;
2341
+ cacheKey: string;
2342
+ };
2343
+
2219
2344
  /**
2220
2345
  * Interface for navigation method used across packages
2221
2346
  * Abstracts navigation implementation details from components
@@ -3033,6 +3158,7 @@ declare class VideoPreloader {
3033
3158
  clear: () => void;
3034
3159
  private processQueue;
3035
3160
  private preloadUrlInternal;
3161
+ private canPlayHlsNatively;
3036
3162
  private bufferNative;
3037
3163
  private handleHls;
3038
3164
  private bufferHls;
@@ -3486,6 +3612,11 @@ declare const ShiftDisplay: React__default.FC<ShiftDisplayProps>;
3486
3612
  */
3487
3613
  declare const ISTTimer: React__default.FC;
3488
3614
 
3615
+ interface TicketHistoryProps {
3616
+ companyId: string;
3617
+ }
3618
+ declare const TicketHistory: React__default.FC<TicketHistoryProps>;
3619
+
3489
3620
  interface LinePdfExportButtonProps {
3490
3621
  /** The DOM element or a selector string for the element to capture. */
3491
3622
  targetElement: HTMLElement | string;
@@ -4227,8 +4358,19 @@ declare const Header: React__default.FC<HeaderProps>;
4227
4358
  * SideNavBar is a fixed implementation for the original src version,
4228
4359
  * hardcoded with specific routes and icons.
4229
4360
  * It does not use the navItems prop for backward compatibility.
4361
+ * Now supports mobile responsiveness with hamburger menu functionality.
4230
4362
  */
4231
- declare const SideNavBar: React__default.FC<SideNavBarProps>;
4363
+ declare const SideNavBar: React__default.FC<SideNavBarProps & {
4364
+ isMobileMenuOpen?: boolean;
4365
+ onMobileMenuClose?: () => void;
4366
+ }>;
4367
+
4368
+ interface HamburgerButtonProps {
4369
+ onClick: () => void;
4370
+ className?: string;
4371
+ 'aria-label'?: string;
4372
+ }
4373
+ declare const HamburgerButton: React__default.FC<HamburgerButtonProps>;
4232
4374
 
4233
4375
  declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
4234
4376
 
@@ -4317,6 +4459,79 @@ interface OptifyeLogoLoaderProps {
4317
4459
  */
4318
4460
  declare const OptifyeLogoLoader: React__default.FC<OptifyeLogoLoaderProps>;
4319
4461
 
4462
+ interface VideoPlayerRef {
4463
+ /** The Video.js player instance */
4464
+ player: Player | null;
4465
+ /** Play the video */
4466
+ play: () => Promise<void> | undefined;
4467
+ /** Pause the video */
4468
+ pause: () => void;
4469
+ /** Get or set current time */
4470
+ currentTime: (time?: number) => number;
4471
+ /** Get video duration */
4472
+ duration: () => number;
4473
+ /** Check if video is paused */
4474
+ paused: () => boolean;
4475
+ /** Get or set mute state */
4476
+ mute: (isMuted?: boolean) => boolean;
4477
+ /** Get or set volume level (0-1) */
4478
+ volume: (level?: number) => number;
4479
+ /** Dispose the player */
4480
+ dispose: () => void;
4481
+ /** Whether the player is ready */
4482
+ isReady: boolean;
4483
+ }
4484
+ interface VideoPlayerEventData {
4485
+ player: Player;
4486
+ currentTime?: number;
4487
+ duration?: number;
4488
+ error?: any;
4489
+ }
4490
+
4491
+ interface VideoPlayerProps {
4492
+ /** Video source URL (.m3u8 for HLS or regular video files) */
4493
+ src: string;
4494
+ /** Video poster image URL */
4495
+ poster?: string;
4496
+ /** Whether to autoplay the video */
4497
+ autoplay?: boolean;
4498
+ /** Whether to show controls */
4499
+ controls?: boolean;
4500
+ /** Whether to loop the video */
4501
+ loop?: boolean;
4502
+ /** Whether to mute the video */
4503
+ muted?: boolean;
4504
+ /** Whether to play inline on mobile */
4505
+ playsInline?: boolean;
4506
+ /** CSS classes to apply to the video container */
4507
+ className?: string;
4508
+ /** Video player options */
4509
+ options?: any;
4510
+ /** Event callbacks */
4511
+ onReady?: (player: Player) => void;
4512
+ onPlay?: (player: Player) => void;
4513
+ onPause?: (player: Player) => void;
4514
+ onTimeUpdate?: (player: Player, currentTime: number) => void;
4515
+ onDurationChange?: (player: Player, duration: number) => void;
4516
+ onEnded?: (player: Player) => void;
4517
+ onError?: (player: Player, error: any) => void;
4518
+ onLoadStart?: (player: Player) => void;
4519
+ onLoadedMetadata?: (player: Player) => void;
4520
+ onSeeking?: (player: Player) => void;
4521
+ onSeeked?: (player: Player) => void;
4522
+ }
4523
+ /**
4524
+ * Production-ready Video.js React component with HLS support
4525
+ *
4526
+ * Features:
4527
+ * - Native Safari HLS support
4528
+ * - HLS.js fallback for other browsers
4529
+ * - Proper event handling
4530
+ * - TypeScript support
4531
+ * - Automatic cleanup
4532
+ */
4533
+ declare const VideoPlayer: React__default.ForwardRefExoticComponent<VideoPlayerProps & React__default.RefAttributes<VideoPlayerRef>>;
4534
+
4320
4535
  interface LoadingStateProps {
4321
4536
  message?: string;
4322
4537
  subMessage?: string;
@@ -5004,4 +5219,4 @@ interface ThreadSidebarProps {
5004
5219
  }
5005
5220
  declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
5006
5221
 
5007
- export { ACTION_NAMES, AIAgentView, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, type AnalyticsConfig, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, type AuthUser, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedTargetsView, 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, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChatMessage, type ChatThread, type ClipCounts, type ComponentOverride, type CoreComponents, type CurrentShiftResult, CycleTimeChart, type CycleTimeChartProps, CycleTimeOverTimeChart, type CycleTimeOverTimeChartProps, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, EmptyStateMessage, type EmptyStateMessageProps, type EndpointsConfig, type EntityConfig, type FactoryOverviewData, FactoryView, type FactoryViewProps, type FormatNumberOptions, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, Header, type HeaderProps, HelpView, type HelpViewProps, type HistoryCalendarProps, HomeView, type HookOverride, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type ISTDateProps, ISTTimer, type ISTTimerProps, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, MainLayout, type MainLayoutProps, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NoWorkspaceData, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, PieChart, type PieChartProps, type PoorPerformingWorkspace, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, type RateLimitOptions, type RateLimitResult, type RealtimeService, RegistryProvider, type RoutePath, type S3ClipsAPIParams, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, type SKU, type SKUConfig, type SKUCreateInput, type SKUListProps, SKUManagementView, type SKUModalProps, type SKUSelectorProps, type SKUUpdateInput, type SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$2 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, type SimpleLine, SingleVideoStream, type SingleVideoStreamProps, Skeleton, SlackAPI, type StreamProxyConfig, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TimeDisplay, TimePickerDropdown, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UseActiveBreaksResult, type UseDashboardMetricsProps, type UseFactoryOverviewOptions, type UseFormatNumberResult, type UseMessagesResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseThreadsResult, type UseWorkspaceOperatorsOptions, type UserProfileConfig, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, VideoGridView, type VideoMetadata, 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, WorkspaceHistoryCalendar, WorkspaceMetricCards, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, cacheService, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createStreamProxyHandler, createSupabaseClient, createThrottledReload, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useActiveBreaks, useAllWorkspaceMetrics, useAnalyticsConfig, useAuth, useAuthConfig, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMessages, useMetrics, useNavigation, useOverrides, usePageOverride, useRealtimeLineMetrics, useRegistry, useSKUs, useShiftConfig, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useTargets, useTheme, useThemeConfig, useThreads, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPreloader, whatsappService, withAuth, withRegistry, workspaceService };
5222
+ export { ACTION_NAMES, AIAgentView, type Action, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, type AnalyticsConfig, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, type AuthUser, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedTargetsView, 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, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ChatMessage, type ChatThread, type ClipCounts, type ComponentOverride, type CoreComponents, type CurrentShiftResult, CycleTimeChart, type CycleTimeChartProps, CycleTimeOverTimeChart, type CycleTimeOverTimeChartProps, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, EmptyStateMessage, type EmptyStateMessageProps, type EndpointsConfig, type EntityConfig, type FactoryOverviewData, FactoryView, type FactoryViewProps, type FormatNumberOptions, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, HelpView, type HelpViewProps, type HistoryCalendarProps, HomeView, type HookOverride, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type ISTDateProps, ISTTimer, type ISTTimerProps, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, MainLayout, type MainLayoutProps, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NoWorkspaceData, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, PieChart, type PieChartProps, type PoorPerformingWorkspace, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, type RateLimitOptions, type RateLimitResult, type RealtimeService, RegistryProvider, type RoutePath, type S3ClipsAPIParams, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, type SKU, type SKUConfig, type SKUCreateInput, type SKUListProps, SKUManagementView, type SKUModalProps, type SKUSelectorProps, type SKUUpdateInput, type SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$2 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, type SimpleLine, SingleVideoStream, type SingleVideoStreamProps, Skeleton, SlackAPI, type StreamProxyConfig, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, TimeDisplay, TimePickerDropdown, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UseActiveBreaksResult, type UseDashboardMetricsProps, type UseFactoryOverviewOptions, type UseFormatNumberResult, type UseMessagesResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseWorkspaceOperatorsOptions, type UserProfileConfig, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, VideoGridView, 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, WorkspaceHistoryCalendar, WorkspaceMetricCards, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, authOTPService, authRateLimitService, cacheService, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createStreamProxyHandler, createSupabaseClient, createThrottledReload, dashboardService, deleteThread, forceRefreshWorkspaceDisplayNames, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUserThreads, getUserThreadsPaginated, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isLegacyConfiguration, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, mergeWithDefaultConfig, migrateLegacyConfiguration, optifyeAgentClient, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, updateThreadTitle, useActiveBreaks, useAllWorkspaceMetrics, useAnalyticsConfig, useAuth, useAuthConfig, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, 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, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPreloader, whatsappService, withAuth, withRegistry, workspaceService };