@optifye/dashboard-core 2.0.5 → 3.0.1
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/README.md +41 -0
- package/dist/index.d.mts +499 -71
- package/dist/index.d.ts +499 -71
- package/dist/index.js +5031 -2079
- package/dist/index.mjs +4992 -2074
- package/package.json +9 -9
package/dist/index.d.mts
CHANGED
|
@@ -2,13 +2,13 @@ import * as _supabase_supabase_js from '@supabase/supabase-js';
|
|
|
2
2
|
import { SupabaseClient as SupabaseClient$1, Session, User, AuthError } from '@supabase/supabase-js';
|
|
3
3
|
import { LucideProps, Share2, Download } from 'lucide-react';
|
|
4
4
|
import * as React$1 from 'react';
|
|
5
|
-
import React__default, { ReactNode } from 'react';
|
|
5
|
+
import React__default, { ReactNode, HTMLAttributes } from 'react';
|
|
6
6
|
import * as querystring from 'querystring';
|
|
7
|
-
import { ClassValue } from 'clsx';
|
|
8
7
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
9
8
|
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
10
9
|
import { Modifiers } from 'react-day-picker';
|
|
11
10
|
import html2canvas from 'html2canvas';
|
|
11
|
+
import { ClassValue } from 'clsx';
|
|
12
12
|
|
|
13
13
|
interface LineInfo {
|
|
14
14
|
line_id: string;
|
|
@@ -84,6 +84,7 @@ interface WorkspaceDetailedMetrics {
|
|
|
84
84
|
total_workspaces: number;
|
|
85
85
|
ideal_output_until_now: number;
|
|
86
86
|
output_difference: number;
|
|
87
|
+
idle_time?: number;
|
|
87
88
|
compliance_efficiency?: number;
|
|
88
89
|
sop_check?: Record<string, number>;
|
|
89
90
|
}
|
|
@@ -153,6 +154,7 @@ interface DashboardConfig {
|
|
|
153
154
|
workspaceConfig?: WorkspaceConfig;
|
|
154
155
|
endpoints?: EndpointsConfig;
|
|
155
156
|
edgeFunctionBaseUrl?: string;
|
|
157
|
+
s3Config?: S3Config;
|
|
156
158
|
/** Feature flags or other arbitrary app-specific config */
|
|
157
159
|
featureFlags?: Record<string, boolean>;
|
|
158
160
|
/** Generic object to allow any other custom config values needed by the app or overrides */
|
|
@@ -214,6 +216,16 @@ interface DateTimeConfig {
|
|
|
214
216
|
timeFormatOptions?: Intl.DateTimeFormatOptions;
|
|
215
217
|
dateTimeFormatOptions?: Intl.DateTimeFormatOptions;
|
|
216
218
|
}
|
|
219
|
+
interface S3Config {
|
|
220
|
+
bucketName: string;
|
|
221
|
+
region?: string;
|
|
222
|
+
cloudFrontDomain: string;
|
|
223
|
+
credentials?: {
|
|
224
|
+
accessKeyId: string;
|
|
225
|
+
secretAccessKey: string;
|
|
226
|
+
};
|
|
227
|
+
signedUrlExpiresIn?: number;
|
|
228
|
+
}
|
|
217
229
|
|
|
218
230
|
interface BasePerformanceMetric {
|
|
219
231
|
id: string;
|
|
@@ -872,6 +884,44 @@ interface FactoryViewProps {
|
|
|
872
884
|
productIds?: Record<string, string>;
|
|
873
885
|
}
|
|
874
886
|
|
|
887
|
+
interface BottleneckVideoData {
|
|
888
|
+
id: string;
|
|
889
|
+
src: string;
|
|
890
|
+
timestamp: string;
|
|
891
|
+
severity: 'low' | 'medium' | 'high';
|
|
892
|
+
description: string;
|
|
893
|
+
type: 'bottleneck' | 'low_value' | 'best_cycle_time' | 'worst_cycle_time' | 'missing_quality_check';
|
|
894
|
+
originalUri: string;
|
|
895
|
+
cycle_time_seconds?: number;
|
|
896
|
+
}
|
|
897
|
+
interface VideoSummary {
|
|
898
|
+
counts: Record<string, number>;
|
|
899
|
+
samples: Record<string, BottleneckVideoData | null>;
|
|
900
|
+
}
|
|
901
|
+
interface S3ClipsAPIParams {
|
|
902
|
+
workspaceId: string;
|
|
903
|
+
date?: string;
|
|
904
|
+
shift?: string;
|
|
905
|
+
category?: string;
|
|
906
|
+
limit?: number;
|
|
907
|
+
mode?: 'summary' | 'full';
|
|
908
|
+
includeCycleTime?: boolean;
|
|
909
|
+
}
|
|
910
|
+
interface S3ListObjectsParams {
|
|
911
|
+
workspaceId: string;
|
|
912
|
+
date: string;
|
|
913
|
+
shiftId: number;
|
|
914
|
+
maxKeys?: number;
|
|
915
|
+
}
|
|
916
|
+
interface VideoMetadata {
|
|
917
|
+
original_task_metadata?: {
|
|
918
|
+
cycle_time?: number;
|
|
919
|
+
};
|
|
920
|
+
[key: string]: any;
|
|
921
|
+
}
|
|
922
|
+
type VideoType = 'bottleneck' | 'low_value' | 'best_cycle_time' | 'worst_cycle_time' | 'missing_quality_check';
|
|
923
|
+
type VideoSeverity = 'low' | 'medium' | 'high';
|
|
924
|
+
|
|
875
925
|
declare const DEFAULT_DATABASE_CONFIG: DatabaseConfig;
|
|
876
926
|
declare const DEFAULT_ENTITY_CONFIG: EntityConfig;
|
|
877
927
|
declare const DEFAULT_SHIFT_CONFIG: ShiftConfig;
|
|
@@ -1706,6 +1756,90 @@ declare const useFactoryOverviewMetrics: (options?: UseFactoryOverviewOptions) =
|
|
|
1706
1756
|
refetch: () => Promise<void>;
|
|
1707
1757
|
};
|
|
1708
1758
|
|
|
1759
|
+
/**
|
|
1760
|
+
* @typedef UseWorkspaceDisplayNamesReturn
|
|
1761
|
+
* @description Return type of the `useWorkspaceDisplayNames` hook.
|
|
1762
|
+
* @property {Record<string, string>} displayNames - Map of workspace_id -> display_name
|
|
1763
|
+
* @property {boolean} loading - Whether the hook is currently fetching data
|
|
1764
|
+
* @property {Error | null} error - Any error that occurred during fetching
|
|
1765
|
+
* @property {() => void} refetch - Function to manually refetch data
|
|
1766
|
+
*/
|
|
1767
|
+
interface UseWorkspaceDisplayNamesReturn {
|
|
1768
|
+
displayNames: Record<string, string>;
|
|
1769
|
+
loading: boolean;
|
|
1770
|
+
error: Error | null;
|
|
1771
|
+
refetch: () => void;
|
|
1772
|
+
}
|
|
1773
|
+
/**
|
|
1774
|
+
* @hook useWorkspaceDisplayNames
|
|
1775
|
+
* @summary Hook for fetching and managing workspace display names from Supabase
|
|
1776
|
+
* @description This hook provides workspace display names from the Supabase database with proper
|
|
1777
|
+
* loading states, error handling, and caching. It automatically fetches workspace display names
|
|
1778
|
+
* on mount and provides utility methods for accessing individual workspace names.
|
|
1779
|
+
*
|
|
1780
|
+
* @param {string} [companyId] - Optional company ID to filter workspaces
|
|
1781
|
+
* @param {string} [lineId] - Optional line ID to filter workspaces
|
|
1782
|
+
* @returns {UseWorkspaceDisplayNamesReturn} An object containing display names, loading state, error, and utility functions
|
|
1783
|
+
*
|
|
1784
|
+
* @example
|
|
1785
|
+
* const { displayNames, loading, error, getDisplayName } = useWorkspaceDisplayNames();
|
|
1786
|
+
*
|
|
1787
|
+
* if (loading) return <div>Loading...</div>;
|
|
1788
|
+
* if (error) return <div>Error: {error.message}</div>;
|
|
1789
|
+
*
|
|
1790
|
+
* const workspaceName = getDisplayName('WS01'); // Returns display name or fallback
|
|
1791
|
+
*/
|
|
1792
|
+
declare const useWorkspaceDisplayNames: (companyId?: string, lineId?: string) => UseWorkspaceDisplayNamesReturn;
|
|
1793
|
+
/**
|
|
1794
|
+
* @hook useWorkspaceDisplayName
|
|
1795
|
+
* @summary Hook for fetching a single workspace display name
|
|
1796
|
+
* @description This hook fetches a single workspace display name from Supabase with proper
|
|
1797
|
+
* loading state and error handling. It's useful when you only need one workspace name.
|
|
1798
|
+
*
|
|
1799
|
+
* @param {string} workspaceId - The workspace ID to fetch the display name for
|
|
1800
|
+
* @param {string} [companyId] - Optional company ID to filter workspaces
|
|
1801
|
+
* @param {string} [lineId] - Optional line ID to filter workspaces
|
|
1802
|
+
* @returns {object} An object containing displayName, loading state, error, and refetch function
|
|
1803
|
+
*
|
|
1804
|
+
* @example
|
|
1805
|
+
* const { displayName, loading, error } = useWorkspaceDisplayName('WS01');
|
|
1806
|
+
*
|
|
1807
|
+
* if (loading) return <span>Loading...</span>;
|
|
1808
|
+
* return <span>{displayName}</span>;
|
|
1809
|
+
*/
|
|
1810
|
+
declare const useWorkspaceDisplayName: (workspaceId: string, companyId?: string, lineId?: string) => {
|
|
1811
|
+
displayName: string;
|
|
1812
|
+
loading: boolean;
|
|
1813
|
+
error: Error | null;
|
|
1814
|
+
refetch: () => Promise<void>;
|
|
1815
|
+
};
|
|
1816
|
+
/**
|
|
1817
|
+
* @hook useWorkspaceDisplayNamesMap
|
|
1818
|
+
* @summary Hook for fetching multiple workspace display names as a map
|
|
1819
|
+
* @description This hook fetches display names for multiple workspaces and returns them
|
|
1820
|
+
* as a Record<string, string> for easy lookup. Useful when you need names for a specific set of workspaces.
|
|
1821
|
+
*
|
|
1822
|
+
* @param {string[]} workspaceIds - Array of workspace IDs to fetch display names for
|
|
1823
|
+
* @param {string} [companyId] - Optional company ID to filter workspaces
|
|
1824
|
+
* @param {string} [lineId] - Optional line ID to filter workspaces
|
|
1825
|
+
* @returns {object} An object containing displayNamesMap, loading state, error, and refetch function
|
|
1826
|
+
*
|
|
1827
|
+
* @example
|
|
1828
|
+
* const { displayNamesMap, loading } = useWorkspaceDisplayNamesMap(['WS01', 'WS02', 'WS03']);
|
|
1829
|
+
*
|
|
1830
|
+
* if (!loading) {
|
|
1831
|
+
* workspaceIds.forEach(id => {
|
|
1832
|
+
* console.log(`${id}: ${displayNamesMap[id]}`);
|
|
1833
|
+
* });
|
|
1834
|
+
* }
|
|
1835
|
+
*/
|
|
1836
|
+
declare const useWorkspaceDisplayNamesMap: (workspaceIds: string[], companyId?: string, lineId?: string) => {
|
|
1837
|
+
displayNames: Record<string, string>;
|
|
1838
|
+
loading: boolean;
|
|
1839
|
+
error: Error | null;
|
|
1840
|
+
refetch: () => Promise<void>;
|
|
1841
|
+
};
|
|
1842
|
+
|
|
1709
1843
|
/**
|
|
1710
1844
|
* Interface for navigation method used across packages
|
|
1711
1845
|
* Abstracts navigation implementation details from components
|
|
@@ -1767,6 +1901,7 @@ interface LineNavigationParams {
|
|
|
1767
1901
|
* @property {() => void} goToShifts - Navigates to the '/shifts' page.
|
|
1768
1902
|
* @property {() => void} goToLeaderboard - Navigates to the '/leaderboard' page.
|
|
1769
1903
|
* @property {() => void} goToFactoryView - Navigates to the '/factory-view' page.
|
|
1904
|
+
* @property {() => void} goToProfile - Navigates to the '/profile' page.
|
|
1770
1905
|
* @property {(path: string, options?: NavigationOptions) => Promise<void>} navigate - Navigates to an arbitrary path with retry logic and optional tracking.
|
|
1771
1906
|
*/
|
|
1772
1907
|
/**
|
|
@@ -1803,6 +1938,7 @@ declare function useNavigation(customNavigate?: NavigationMethod): {
|
|
|
1803
1938
|
goToShifts: () => void;
|
|
1804
1939
|
goToLeaderboard: () => void;
|
|
1805
1940
|
goToFactoryView: () => void;
|
|
1941
|
+
goToProfile: () => void;
|
|
1806
1942
|
navigate: NavigationMethod;
|
|
1807
1943
|
};
|
|
1808
1944
|
|
|
@@ -1906,6 +2042,25 @@ interface UseFormatNumberResult {
|
|
|
1906
2042
|
*/
|
|
1907
2043
|
declare const useFormatNumber: () => UseFormatNumberResult;
|
|
1908
2044
|
|
|
2045
|
+
interface UseHlsStreamOptions {
|
|
2046
|
+
src: string;
|
|
2047
|
+
shouldPlay: boolean;
|
|
2048
|
+
onFatalError?: () => void;
|
|
2049
|
+
}
|
|
2050
|
+
/**
|
|
2051
|
+
* Enterprise-grade HLS streaming hook with auto-recovery
|
|
2052
|
+
*
|
|
2053
|
+
* Recovery timing configuration:
|
|
2054
|
+
* - Buffer underrun (waiting): 10 seconds grace period
|
|
2055
|
+
* - Stall detection: checks every 7 seconds, 8 seconds grace period
|
|
2056
|
+
* - Soft restart escalation: after 5 failed attempts
|
|
2057
|
+
* - Total time before recovery: 10-15 seconds typically
|
|
2058
|
+
*/
|
|
2059
|
+
declare function useHlsStream(videoRef: React.RefObject<HTMLVideoElement | null>, { src, shouldPlay, onFatalError }: UseHlsStreamOptions): {
|
|
2060
|
+
restartKey: number;
|
|
2061
|
+
isNativeHls: boolean;
|
|
2062
|
+
};
|
|
2063
|
+
|
|
1909
2064
|
declare const actionService: {
|
|
1910
2065
|
getActionsByName(actionNames: string[], companyIdInput?: string): Promise<Action[]>;
|
|
1911
2066
|
};
|
|
@@ -1957,7 +2112,27 @@ declare const qualityService: {
|
|
|
1957
2112
|
type QualityService = typeof qualityService;
|
|
1958
2113
|
|
|
1959
2114
|
declare const workspaceService: {
|
|
2115
|
+
_workspaceDisplayNamesCache: Map<string, string>;
|
|
2116
|
+
_cacheTimestamp: number;
|
|
2117
|
+
_cacheExpiryMs: number;
|
|
1960
2118
|
getWorkspaces(lineId: string): Promise<Workspace[]>;
|
|
2119
|
+
/**
|
|
2120
|
+
* Fetches workspace display names from the database
|
|
2121
|
+
* Returns a map of workspace_id -> display_name
|
|
2122
|
+
*/
|
|
2123
|
+
getWorkspaceDisplayNames(companyId?: string, lineId?: string): Promise<Map<string, string>>;
|
|
2124
|
+
/**
|
|
2125
|
+
* Gets cached workspace display names (with cache expiry)
|
|
2126
|
+
*/
|
|
2127
|
+
getCachedWorkspaceDisplayNames(companyId?: string, lineId?: string): Promise<Map<string, string>>;
|
|
2128
|
+
/**
|
|
2129
|
+
* Gets a single workspace display name by workspace_id
|
|
2130
|
+
*/
|
|
2131
|
+
getWorkspaceDisplayName(workspaceId: string, companyId?: string, lineId?: string): Promise<string>;
|
|
2132
|
+
/**
|
|
2133
|
+
* Clears the workspace display names cache
|
|
2134
|
+
*/
|
|
2135
|
+
clearWorkspaceDisplayNamesCache(): void;
|
|
1961
2136
|
updateWorkspaceAction(updates: WorkspaceActionUpdate[]): Promise<void>;
|
|
1962
2137
|
updateActionThresholds(thresholds: ActionThreshold[]): Promise<void>;
|
|
1963
2138
|
getActionThresholds(lineId: string, date: string, shiftId?: number): Promise<ActionThreshold[]>;
|
|
@@ -1990,6 +2165,27 @@ declare const authCoreService: {
|
|
|
1990
2165
|
fetchCoreUserProfile(supabase: SupabaseClient$1, user: User, profileTable: string, roleColumn?: string): Promise<Partial<AuthUser>>;
|
|
1991
2166
|
};
|
|
1992
2167
|
|
|
2168
|
+
declare const authOTPService: {
|
|
2169
|
+
/**
|
|
2170
|
+
* Send OTP to user's email
|
|
2171
|
+
*/
|
|
2172
|
+
sendOTP(supabase: SupabaseClient$1, email: string): Promise<{
|
|
2173
|
+
error: AuthError | null;
|
|
2174
|
+
}>;
|
|
2175
|
+
/**
|
|
2176
|
+
* Verify OTP and sign in user
|
|
2177
|
+
*/
|
|
2178
|
+
verifyOTP(supabase: SupabaseClient$1, email: string, token: string): Promise<{
|
|
2179
|
+
error: AuthError | null;
|
|
2180
|
+
}>;
|
|
2181
|
+
/**
|
|
2182
|
+
* Resend OTP
|
|
2183
|
+
*/
|
|
2184
|
+
resendOTP(supabase: SupabaseClient$1, email: string): Promise<{
|
|
2185
|
+
error: AuthError | null;
|
|
2186
|
+
}>;
|
|
2187
|
+
};
|
|
2188
|
+
|
|
1993
2189
|
/**
|
|
1994
2190
|
* Initializes Mixpanel with the provided token.
|
|
1995
2191
|
* Should be called once from the application setup (e.g., within DashboardProvider)
|
|
@@ -2258,9 +2454,47 @@ declare const storeWorkspaceMapping: (mapping: WorkspaceUrlMapping) => void;
|
|
|
2258
2454
|
declare const getWorkspaceFromUrl: (urlName: string) => WorkspaceUrlMapping | null;
|
|
2259
2455
|
declare const getStoredWorkspaceMappings: () => Record<string, WorkspaceUrlMapping>;
|
|
2260
2456
|
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2457
|
+
/**
|
|
2458
|
+
* Gets workspace display name synchronously
|
|
2459
|
+
* If not initialized, triggers lazy initialization and returns workspace ID
|
|
2460
|
+
*/
|
|
2461
|
+
declare const getWorkspaceDisplayName: (workspaceId: string, lineId?: string) => string;
|
|
2462
|
+
/**
|
|
2463
|
+
* Short version of workspace display name (synchronous version for backward compatibility)
|
|
2464
|
+
*/
|
|
2465
|
+
declare const getShortWorkspaceDisplayName: (workspaceId: string, lineId?: string) => string;
|
|
2466
|
+
/**
|
|
2467
|
+
* Async version that ensures data is loaded from Supabase
|
|
2468
|
+
*/
|
|
2469
|
+
declare const getWorkspaceDisplayNameAsync: (workspaceId: string, companyId?: string, lineId?: string) => Promise<string>;
|
|
2470
|
+
/**
|
|
2471
|
+
* Gets all workspace display names
|
|
2472
|
+
*/
|
|
2473
|
+
declare const getAllWorkspaceDisplayNamesAsync: (companyId?: string, lineId?: string) => Promise<Record<string, string>>;
|
|
2474
|
+
/**
|
|
2475
|
+
* Gets workspace display names for specific workspace IDs
|
|
2476
|
+
*/
|
|
2477
|
+
declare const getWorkspaceDisplayNamesMap: (workspaceIds: string[], companyId?: string, lineId?: string) => Promise<Map<string, string>>;
|
|
2478
|
+
/**
|
|
2479
|
+
* Short version of workspace display name (for space-constrained UI)
|
|
2480
|
+
*/
|
|
2481
|
+
declare const getShortWorkspaceDisplayNameAsync: (workspaceId: string, companyId?: string, lineId?: string) => Promise<string>;
|
|
2482
|
+
/**
|
|
2483
|
+
* Returns true if workspace display names have been loaded from Supabase
|
|
2484
|
+
*/
|
|
2485
|
+
declare const isWorkspaceDisplayNamesLoaded: () => boolean;
|
|
2486
|
+
/**
|
|
2487
|
+
* Returns true if workspace display names are currently being loaded
|
|
2488
|
+
*/
|
|
2489
|
+
declare const isWorkspaceDisplayNamesLoading: () => boolean;
|
|
2490
|
+
/**
|
|
2491
|
+
* Manually refresh workspace display names from Supabase
|
|
2492
|
+
*/
|
|
2493
|
+
declare const refreshWorkspaceDisplayNames: (companyId?: string) => Promise<void>;
|
|
2494
|
+
/**
|
|
2495
|
+
* Clear all workspace display names cache
|
|
2496
|
+
*/
|
|
2497
|
+
declare const clearWorkspaceDisplayNamesCache: () => void;
|
|
2264
2498
|
|
|
2265
2499
|
/**
|
|
2266
2500
|
* Centralized workspace preferences manager
|
|
@@ -2307,6 +2541,110 @@ declare const videoPreloader: VideoPreloader;
|
|
|
2307
2541
|
declare const preloadVideoUrl: (url: string | null | undefined) => void;
|
|
2308
2542
|
declare const preloadVideosUrl: (urls: (string | null | undefined)[]) => void;
|
|
2309
2543
|
|
|
2544
|
+
/**
|
|
2545
|
+
* S3 Video preloader utility for caching and efficiently loading videos from S3 with CloudFront integration
|
|
2546
|
+
*/
|
|
2547
|
+
|
|
2548
|
+
declare class S3VideoPreloader {
|
|
2549
|
+
private readonly cache;
|
|
2550
|
+
private readonly queue;
|
|
2551
|
+
private active;
|
|
2552
|
+
private config?;
|
|
2553
|
+
constructor(config?: DashboardConfig);
|
|
2554
|
+
setConfig(config: DashboardConfig): void;
|
|
2555
|
+
preloadVideo: (url: string) => void;
|
|
2556
|
+
preloadVideos: (urls: string[]) => void;
|
|
2557
|
+
clear: () => void;
|
|
2558
|
+
private processQueue;
|
|
2559
|
+
}
|
|
2560
|
+
declare const s3VideoPreloader: S3VideoPreloader;
|
|
2561
|
+
/**
|
|
2562
|
+
* Fetches the URL for an S3 URI using CloudFront
|
|
2563
|
+
* @param s3Uri - The S3 URI in format s3://bucket-name/key
|
|
2564
|
+
* @param config - Dashboard configuration with S3 settings
|
|
2565
|
+
* @returns A Promise resolving to the CloudFront URL
|
|
2566
|
+
*/
|
|
2567
|
+
declare const getS3SignedUrl: (s3Uri: string, config: DashboardConfig) => Promise<string>;
|
|
2568
|
+
/**
|
|
2569
|
+
* Preloads a video from CloudFront and caches it
|
|
2570
|
+
* @param s3Uri - The S3 URI in format s3://bucket-name/key
|
|
2571
|
+
* @param config - Dashboard configuration with S3 settings
|
|
2572
|
+
* @returns A Promise resolving to the blob URL for the cached video
|
|
2573
|
+
*/
|
|
2574
|
+
declare const preloadS3Video: (s3Uri: string, config: DashboardConfig) => Promise<string>;
|
|
2575
|
+
/**
|
|
2576
|
+
* Gets a video source URL - either from cache or by loading from CloudFront
|
|
2577
|
+
* @param s3Uri - The S3 URI in format s3://bucket-name/key
|
|
2578
|
+
* @param config - Dashboard configuration with S3 settings
|
|
2579
|
+
* @param useCache - Whether to use the cache (default: true)
|
|
2580
|
+
* @returns A Promise resolving to the video source URL
|
|
2581
|
+
*/
|
|
2582
|
+
declare const getS3VideoSrc: (s3Uri: string, config: DashboardConfig, useCache?: boolean) => Promise<string>;
|
|
2583
|
+
/**
|
|
2584
|
+
* Clears a specific video from cache
|
|
2585
|
+
* @param s3Uri - The S3 URI to clear from cache
|
|
2586
|
+
*/
|
|
2587
|
+
declare const clearS3VideoFromCache: (s3Uri: string) => void;
|
|
2588
|
+
/**
|
|
2589
|
+
* Clears all videos from cache
|
|
2590
|
+
*/
|
|
2591
|
+
declare const clearS3VideoCache: () => void;
|
|
2592
|
+
declare const preloadS3VideoUrl: (url: string) => void;
|
|
2593
|
+
declare const preloadS3VideosUrl: (urls: string[]) => void;
|
|
2594
|
+
|
|
2595
|
+
/**
|
|
2596
|
+
* Throttled dashboard reload utility
|
|
2597
|
+
* Ensures max 1 reload per interval to prevent reload storms
|
|
2598
|
+
*/
|
|
2599
|
+
declare const createThrottledReload: (interval?: number) => () => void;
|
|
2600
|
+
declare const throttledReloadDashboard: () => void;
|
|
2601
|
+
|
|
2602
|
+
/**
|
|
2603
|
+
* Format idle time from seconds to a human-readable format
|
|
2604
|
+
* @param idleTimeInSeconds - Idle time in seconds
|
|
2605
|
+
* @returns Formatted string (e.g., "1h 30m 45s", "30m 45s", "45s")
|
|
2606
|
+
*/
|
|
2607
|
+
declare const formatIdleTime: (idleTimeInSeconds: number | null | undefined) => string;
|
|
2608
|
+
|
|
2609
|
+
interface OptifyeAgentContext {
|
|
2610
|
+
timeframe?: string;
|
|
2611
|
+
focus?: string;
|
|
2612
|
+
[key: string]: any;
|
|
2613
|
+
}
|
|
2614
|
+
interface OptifyeAgentRequest {
|
|
2615
|
+
prompt: string;
|
|
2616
|
+
line_id: string;
|
|
2617
|
+
shift_id: number;
|
|
2618
|
+
company_id: string;
|
|
2619
|
+
context?: OptifyeAgentContext;
|
|
2620
|
+
}
|
|
2621
|
+
interface OptifyeAgentResponse {
|
|
2622
|
+
success: boolean;
|
|
2623
|
+
analysis?: string;
|
|
2624
|
+
timestamp?: string;
|
|
2625
|
+
error?: string;
|
|
2626
|
+
}
|
|
2627
|
+
/**
|
|
2628
|
+
* Client for integrating with Optifye Agent API
|
|
2629
|
+
*/
|
|
2630
|
+
declare class OptifyeAgentClient {
|
|
2631
|
+
private apiUrl;
|
|
2632
|
+
constructor(apiUrl?: string);
|
|
2633
|
+
/**
|
|
2634
|
+
* Call Optifye Agent for manufacturing analysis
|
|
2635
|
+
*/
|
|
2636
|
+
getManufacturingInsights(userQuestion: string, lineId: string, shiftId: number, companyId: string, context?: OptifyeAgentContext): Promise<OptifyeAgentResponse>;
|
|
2637
|
+
/**
|
|
2638
|
+
* Check if Optifye Agent API is healthy
|
|
2639
|
+
*/
|
|
2640
|
+
checkHealth(): Promise<boolean>;
|
|
2641
|
+
}
|
|
2642
|
+
declare const optifyeAgentClient: OptifyeAgentClient;
|
|
2643
|
+
/**
|
|
2644
|
+
* Simple function to get manufacturing insights with better error handling
|
|
2645
|
+
*/
|
|
2646
|
+
declare function getManufacturingInsights(userQuestion: string, lineId: string, shiftId: number, companyId: string, context?: OptifyeAgentContext): Promise<OptifyeAgentResponse>;
|
|
2647
|
+
|
|
2310
2648
|
declare const createSupabaseClient: (url: string, key: string) => _supabase_supabase_js.SupabaseClient<any, "public", any>;
|
|
2311
2649
|
declare const getAnonClient: () => _supabase_supabase_js.SupabaseClient<any, "public", any>;
|
|
2312
2650
|
|
|
@@ -2322,20 +2660,20 @@ declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivE
|
|
|
2322
2660
|
declare const Select: React$1.FC<SelectPrimitive.SelectProps>;
|
|
2323
2661
|
declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2324
2662
|
declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
2325
|
-
declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<
|
|
2326
|
-
declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<
|
|
2327
|
-
declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<
|
|
2328
|
-
declare const SelectContent: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<
|
|
2329
|
-
declare const SelectLabel: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<
|
|
2330
|
-
declare const SelectItem: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<
|
|
2331
|
-
declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<
|
|
2332
|
-
|
|
2333
|
-
declare const Card:
|
|
2334
|
-
declare const CardHeader:
|
|
2335
|
-
declare const CardTitle:
|
|
2336
|
-
declare const CardDescription:
|
|
2337
|
-
declare const CardContent:
|
|
2338
|
-
declare const CardFooter:
|
|
2663
|
+
declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<never>>;
|
|
2664
|
+
declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<never>>;
|
|
2665
|
+
declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<never>>;
|
|
2666
|
+
declare const SelectContent: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<never>>;
|
|
2667
|
+
declare const SelectLabel: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<never>>;
|
|
2668
|
+
declare const SelectItem: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<never>>;
|
|
2669
|
+
declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<never>>;
|
|
2670
|
+
|
|
2671
|
+
declare const Card: (props: HTMLAttributes<HTMLDivElement>) => react_jsx_runtime.JSX.Element;
|
|
2672
|
+
declare const CardHeader: (props: HTMLAttributes<HTMLDivElement>) => react_jsx_runtime.JSX.Element;
|
|
2673
|
+
declare const CardTitle: (props: HTMLAttributes<HTMLHeadingElement>) => react_jsx_runtime.JSX.Element;
|
|
2674
|
+
declare const CardDescription: (props: HTMLAttributes<HTMLParagraphElement>) => react_jsx_runtime.JSX.Element;
|
|
2675
|
+
declare const CardContent: (props: HTMLAttributes<HTMLDivElement>) => react_jsx_runtime.JSX.Element;
|
|
2676
|
+
declare const CardFooter: (props: HTMLAttributes<HTMLDivElement>) => react_jsx_runtime.JSX.Element;
|
|
2339
2677
|
|
|
2340
2678
|
interface LoadingOverlayProps {
|
|
2341
2679
|
isVisible: boolean;
|
|
@@ -2379,10 +2717,10 @@ interface DateTimeDisplayProps {
|
|
|
2379
2717
|
declare const DateTimeDisplay: React__default.FC<DateTimeDisplayProps>;
|
|
2380
2718
|
|
|
2381
2719
|
declare const IconMap: {
|
|
2382
|
-
readonly info:
|
|
2383
|
-
readonly warning:
|
|
2384
|
-
readonly success:
|
|
2385
|
-
readonly search:
|
|
2720
|
+
readonly info: React$1.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React$1.RefAttributes<SVGSVGElement>>;
|
|
2721
|
+
readonly warning: React$1.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React$1.RefAttributes<SVGSVGElement>>;
|
|
2722
|
+
readonly success: React$1.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React$1.RefAttributes<SVGSVGElement>>;
|
|
2723
|
+
readonly search: React$1.ForwardRefExoticComponent<Omit<LucideProps, "ref"> & React$1.RefAttributes<SVGSVGElement>>;
|
|
2386
2724
|
};
|
|
2387
2725
|
type IconKey = keyof typeof IconMap;
|
|
2388
2726
|
interface EmptyStateMessageProps {
|
|
@@ -2479,7 +2817,7 @@ interface BarChartProps {
|
|
|
2479
2817
|
xAxisLabel?: string;
|
|
2480
2818
|
yAxisLabel?: string;
|
|
2481
2819
|
yAxisUnit?: string;
|
|
2482
|
-
tooltipFormatter?: (value: any, name: any, props: any) =>
|
|
2820
|
+
tooltipFormatter?: (value: any, name: any, props: any) => any;
|
|
2483
2821
|
legendPayload?: any[];
|
|
2484
2822
|
layout?: 'horizontal' | 'vertical';
|
|
2485
2823
|
className?: string;
|
|
@@ -2522,7 +2860,7 @@ interface LineChartProps {
|
|
|
2522
2860
|
yAxisLabel?: string;
|
|
2523
2861
|
yAxisUnit?: string;
|
|
2524
2862
|
yAxisDomain?: [number | string, number | string];
|
|
2525
|
-
tooltipFormatter?: (value: any, name: any, props: any) =>
|
|
2863
|
+
tooltipFormatter?: (value: any, name: any, props: any) => any;
|
|
2526
2864
|
legendPayload?: any[];
|
|
2527
2865
|
className?: string;
|
|
2528
2866
|
showGrid?: boolean;
|
|
@@ -2576,7 +2914,8 @@ interface HourlyOutputChartProps {
|
|
|
2576
2914
|
shiftStart: string;
|
|
2577
2915
|
className?: string;
|
|
2578
2916
|
}
|
|
2579
|
-
|
|
2917
|
+
|
|
2918
|
+
declare const HourlyOutputChart: (props: HourlyOutputChartProps) => react_jsx_runtime.JSX.Element;
|
|
2580
2919
|
|
|
2581
2920
|
interface SOPComplianceChartProps {
|
|
2582
2921
|
data?: number[];
|
|
@@ -2621,13 +2960,13 @@ interface ShiftData$1 {
|
|
|
2621
2960
|
underperforming_workspaces: number;
|
|
2622
2961
|
total_workspaces: number;
|
|
2623
2962
|
}
|
|
2624
|
-
interface DayData$
|
|
2963
|
+
interface DayData$3 {
|
|
2625
2964
|
date: Date | string;
|
|
2626
2965
|
dayShift: ShiftData$1;
|
|
2627
2966
|
nightShift: ShiftData$1;
|
|
2628
2967
|
}
|
|
2629
2968
|
interface LineHistoryCalendarProps {
|
|
2630
|
-
data: DayData$
|
|
2969
|
+
data: DayData$3[];
|
|
2631
2970
|
month: number;
|
|
2632
2971
|
year: number;
|
|
2633
2972
|
lineId: string;
|
|
@@ -2637,13 +2976,13 @@ interface LineHistoryCalendarProps {
|
|
|
2637
2976
|
}
|
|
2638
2977
|
declare const LineHistoryCalendar: React__default.FC<LineHistoryCalendarProps>;
|
|
2639
2978
|
|
|
2640
|
-
interface PerformanceData {
|
|
2979
|
+
interface PerformanceData$1 {
|
|
2641
2980
|
avg_efficiency: number;
|
|
2642
2981
|
underperforming_workspaces: number;
|
|
2643
2982
|
total_workspaces: number;
|
|
2644
2983
|
compliance_percentage?: number;
|
|
2645
2984
|
}
|
|
2646
|
-
interface WorkspacePerformance {
|
|
2985
|
+
interface WorkspacePerformance$1 {
|
|
2647
2986
|
workspace_name: string;
|
|
2648
2987
|
workspace_uuid: string;
|
|
2649
2988
|
avg_efficiency?: number;
|
|
@@ -2658,14 +2997,16 @@ interface LineMonthlyHistoryProps {
|
|
|
2658
2997
|
year: number;
|
|
2659
2998
|
monthlyData: {
|
|
2660
2999
|
date: Date;
|
|
2661
|
-
dayShift: PerformanceData;
|
|
2662
|
-
nightShift: PerformanceData;
|
|
3000
|
+
dayShift: PerformanceData$1;
|
|
3001
|
+
nightShift: PerformanceData$1;
|
|
2663
3002
|
}[];
|
|
2664
3003
|
underperformingWorkspaces: {
|
|
2665
|
-
dayShift: WorkspacePerformance[];
|
|
2666
|
-
nightShift: WorkspacePerformance[];
|
|
3004
|
+
dayShift: WorkspacePerformance$1[];
|
|
3005
|
+
nightShift: WorkspacePerformance$1[];
|
|
2667
3006
|
};
|
|
2668
3007
|
lineId: string;
|
|
3008
|
+
selectedShift?: 'day' | 'night';
|
|
3009
|
+
onShiftChange?: (shift: 'day' | 'night') => void;
|
|
2669
3010
|
onWorkspaceSelect?: (workspaceId: string, navigationParams?: Partial<WorkspaceNavigationParams> & {
|
|
2670
3011
|
returnTo?: string;
|
|
2671
3012
|
}) => void;
|
|
@@ -2675,6 +3016,42 @@ interface LineMonthlyHistoryProps {
|
|
|
2675
3016
|
}
|
|
2676
3017
|
declare const LineMonthlyHistory: React__default.FC<LineMonthlyHistoryProps>;
|
|
2677
3018
|
|
|
3019
|
+
interface PerformanceData {
|
|
3020
|
+
avg_efficiency: number;
|
|
3021
|
+
underperforming_workspaces: number;
|
|
3022
|
+
total_workspaces: number;
|
|
3023
|
+
compliance_percentage?: number;
|
|
3024
|
+
}
|
|
3025
|
+
interface WorkspacePerformance {
|
|
3026
|
+
workspace_name: string;
|
|
3027
|
+
workspace_uuid: string;
|
|
3028
|
+
avg_efficiency?: number;
|
|
3029
|
+
last_5_days: {
|
|
3030
|
+
date: string;
|
|
3031
|
+
performance_score: 0 | 1 | 2;
|
|
3032
|
+
efficiency?: number;
|
|
3033
|
+
}[];
|
|
3034
|
+
}
|
|
3035
|
+
interface DayData$2 {
|
|
3036
|
+
date: Date;
|
|
3037
|
+
dayShift: PerformanceData;
|
|
3038
|
+
nightShift: PerformanceData;
|
|
3039
|
+
}
|
|
3040
|
+
interface LineMonthlyPdfGeneratorProps {
|
|
3041
|
+
lineId: string;
|
|
3042
|
+
lineName: string;
|
|
3043
|
+
monthlyData: DayData$2[];
|
|
3044
|
+
underperformingWorkspaces: {
|
|
3045
|
+
dayShift: WorkspacePerformance[];
|
|
3046
|
+
nightShift: WorkspacePerformance[];
|
|
3047
|
+
};
|
|
3048
|
+
selectedMonth: number;
|
|
3049
|
+
selectedYear: number;
|
|
3050
|
+
selectedShift: 'day' | 'night';
|
|
3051
|
+
className?: string;
|
|
3052
|
+
}
|
|
3053
|
+
declare const LineMonthlyPdfGenerator: React__default.FC<LineMonthlyPdfGeneratorProps>;
|
|
3054
|
+
|
|
2678
3055
|
interface LineWhatsAppShareProps {
|
|
2679
3056
|
lineInfo: LineInfo;
|
|
2680
3057
|
className?: string;
|
|
@@ -2831,13 +3208,13 @@ interface ShiftData {
|
|
|
2831
3208
|
idealOutput: number;
|
|
2832
3209
|
rank: number;
|
|
2833
3210
|
}
|
|
2834
|
-
interface DayData {
|
|
3211
|
+
interface DayData$1 {
|
|
2835
3212
|
date: Date;
|
|
2836
3213
|
dayShift: ShiftData;
|
|
2837
3214
|
nightShift: ShiftData;
|
|
2838
3215
|
}
|
|
2839
3216
|
interface WorkspaceHistoryCalendarProps {
|
|
2840
|
-
data: DayData[];
|
|
3217
|
+
data: DayData$1[];
|
|
2841
3218
|
onDateSelect: (date: string) => void;
|
|
2842
3219
|
month: number;
|
|
2843
3220
|
year: number;
|
|
@@ -2861,6 +3238,38 @@ interface WorkspacePdfGeneratorProps {
|
|
|
2861
3238
|
}
|
|
2862
3239
|
declare const WorkspacePdfGenerator: React__default.FC<WorkspacePdfGeneratorProps>;
|
|
2863
3240
|
|
|
3241
|
+
interface DayData {
|
|
3242
|
+
date: Date;
|
|
3243
|
+
dayShift: {
|
|
3244
|
+
efficiency: number;
|
|
3245
|
+
output: number;
|
|
3246
|
+
cycleTime: number;
|
|
3247
|
+
pph: number;
|
|
3248
|
+
pphThreshold: number;
|
|
3249
|
+
idealOutput: number;
|
|
3250
|
+
rank: number;
|
|
3251
|
+
};
|
|
3252
|
+
nightShift: {
|
|
3253
|
+
efficiency: number;
|
|
3254
|
+
output: number;
|
|
3255
|
+
cycleTime: number;
|
|
3256
|
+
pph: number;
|
|
3257
|
+
pphThreshold: number;
|
|
3258
|
+
idealOutput: number;
|
|
3259
|
+
rank: number;
|
|
3260
|
+
};
|
|
3261
|
+
}
|
|
3262
|
+
interface WorkspaceMonthlyPdfGeneratorProps {
|
|
3263
|
+
workspaceId: string;
|
|
3264
|
+
workspaceName: string;
|
|
3265
|
+
monthlyData: DayData[];
|
|
3266
|
+
selectedMonth: number;
|
|
3267
|
+
selectedYear: number;
|
|
3268
|
+
selectedShift: 'day' | 'night';
|
|
3269
|
+
className?: string;
|
|
3270
|
+
}
|
|
3271
|
+
declare const WorkspaceMonthlyPdfGenerator: React__default.FC<WorkspaceMonthlyPdfGeneratorProps>;
|
|
3272
|
+
|
|
2864
3273
|
interface WorkspaceMetricCardsProps {
|
|
2865
3274
|
workspace: WorkspaceDetailedMetrics;
|
|
2866
3275
|
className?: string;
|
|
@@ -2876,7 +3285,6 @@ declare const LiveTimer: React__default.FC;
|
|
|
2876
3285
|
/**
|
|
2877
3286
|
* Types for BottlenecksContent component
|
|
2878
3287
|
*/
|
|
2879
|
-
|
|
2880
3288
|
/**
|
|
2881
3289
|
* Props for the BottlenecksContent component
|
|
2882
3290
|
*/
|
|
@@ -2893,25 +3301,17 @@ interface BottlenecksContentProps {
|
|
|
2893
3301
|
* Optional date to fetch clips for (defaults to current date)
|
|
2894
3302
|
*/
|
|
2895
3303
|
date?: string;
|
|
2896
|
-
/**
|
|
2897
|
-
* Optional S3 service configuration
|
|
2898
|
-
*/
|
|
2899
|
-
s3Config?: S3ServiceConfig;
|
|
2900
3304
|
/**
|
|
2901
3305
|
* Optional className for styling
|
|
2902
3306
|
*/
|
|
2903
3307
|
className?: string;
|
|
2904
|
-
/**
|
|
2905
|
-
* Optional custom fetch function for clips
|
|
2906
|
-
*/
|
|
2907
|
-
customFetchClips?: (workspaceId: string, date?: string) => Promise<BottleneckVideo[]>;
|
|
2908
3308
|
}
|
|
2909
3309
|
/**
|
|
2910
|
-
* Filter type for bottleneck clips
|
|
3310
|
+
* Filter type for bottleneck clips - expanded for new video types
|
|
2911
3311
|
*/
|
|
2912
|
-
type BottleneckFilterType = 'all' | 'high' | 'medium' | 'low' | 'low_value';
|
|
3312
|
+
type BottleneckFilterType = 'all' | 'high' | 'medium' | 'low' | 'low_value' | 'sop_deviations' | 'best_cycle_time' | 'worst_cycle_time' | 'long_cycle_time';
|
|
2913
3313
|
/**
|
|
2914
|
-
* Clip counts for each type/severity
|
|
3314
|
+
* Clip counts for each type/severity - updated for new video types
|
|
2915
3315
|
*/
|
|
2916
3316
|
interface ClipCounts {
|
|
2917
3317
|
bottlenecks: number;
|
|
@@ -2919,14 +3319,17 @@ interface ClipCounts {
|
|
|
2919
3319
|
highSeverity: number;
|
|
2920
3320
|
mediumSeverity: number;
|
|
2921
3321
|
lowSeverity: number;
|
|
3322
|
+
sopDeviations: number;
|
|
3323
|
+
bestCycleTimes: number;
|
|
3324
|
+
worstCycleTimes: number;
|
|
2922
3325
|
total: number;
|
|
2923
3326
|
}
|
|
2924
3327
|
|
|
2925
3328
|
/**
|
|
2926
3329
|
* BottlenecksContent Component
|
|
2927
3330
|
*
|
|
2928
|
-
* Displays video clips of bottlenecks and low-value activities for a workspace.
|
|
2929
|
-
*
|
|
3331
|
+
* Displays HLS video clips of bottlenecks and low-value activities for a workspace.
|
|
3332
|
+
* Uses the S3ClipsService to fetch and display clips with CloudFront delivery.
|
|
2930
3333
|
*/
|
|
2931
3334
|
declare const BottlenecksContent: React__default.FC<BottlenecksContentProps>;
|
|
2932
3335
|
|
|
@@ -3001,27 +3404,24 @@ interface VideoGridViewProps {
|
|
|
3001
3404
|
videoSources?: {
|
|
3002
3405
|
defaultHlsUrl?: string;
|
|
3003
3406
|
workspaceHlsUrls?: Record<string, string>;
|
|
3004
|
-
mp4VideoMapping?: Record<string, string>;
|
|
3005
|
-
};
|
|
3006
|
-
streamConfig?: {
|
|
3007
|
-
maxConcurrentInitializations?: number;
|
|
3008
|
-
staggerDelay?: number;
|
|
3009
|
-
initialPlayDelay?: number;
|
|
3010
|
-
maxPlayRetries?: number;
|
|
3011
|
-
maxFatalErrorRetries?: number;
|
|
3012
|
-
errorRetryBaseDelay?: number;
|
|
3013
|
-
maxErrorRetryDelay?: number;
|
|
3014
|
-
streamHealthCheckInterval?: number;
|
|
3015
|
-
debugCropRegions?: boolean;
|
|
3016
3407
|
};
|
|
3017
|
-
hlsConfig?: Partial<Record<string, any>>;
|
|
3018
3408
|
}
|
|
3019
3409
|
/**
|
|
3020
|
-
* VideoGridView component
|
|
3021
|
-
* with efficiency metrics and controls.
|
|
3410
|
+
* VideoGridView component - Simplified version using enterprise-grade HLS streaming
|
|
3022
3411
|
*/
|
|
3023
3412
|
declare const VideoGridView: React__default.FC<VideoGridViewProps>;
|
|
3024
3413
|
|
|
3414
|
+
interface VideoCardProps {
|
|
3415
|
+
workspace: WorkspaceMetrics;
|
|
3416
|
+
hlsUrl: string;
|
|
3417
|
+
shouldPlay: boolean;
|
|
3418
|
+
onClick?: () => void;
|
|
3419
|
+
onFatalError?: () => void;
|
|
3420
|
+
isVeryLowEfficiency?: boolean;
|
|
3421
|
+
className?: string;
|
|
3422
|
+
}
|
|
3423
|
+
declare const VideoCard: React__default.FC<VideoCardProps>;
|
|
3424
|
+
|
|
3025
3425
|
declare const GridComponentsPlaceholder: {};
|
|
3026
3426
|
|
|
3027
3427
|
interface KPIGridProps {
|
|
@@ -3211,7 +3611,10 @@ interface HeaderProps {
|
|
|
3211
3611
|
}
|
|
3212
3612
|
declare const Header: React__default.FC<HeaderProps>;
|
|
3213
3613
|
|
|
3214
|
-
declare const withAuth: <P extends object>(WrappedComponent: React$1.ComponentType<P
|
|
3614
|
+
declare const withAuth: <P extends object>(WrappedComponent: React$1.ComponentType<P>, options?: {
|
|
3615
|
+
redirectTo?: string;
|
|
3616
|
+
requireAuth?: boolean;
|
|
3617
|
+
}) => (props: P) => react_jsx_runtime.JSX.Element | null;
|
|
3215
3618
|
|
|
3216
3619
|
declare const DEFAULT_HLS_CONFIG: {
|
|
3217
3620
|
maxBufferLength: number;
|
|
@@ -3304,6 +3707,27 @@ interface WorkspaceMonthlyDataFetcherProps {
|
|
|
3304
3707
|
*/
|
|
3305
3708
|
declare const WorkspaceMonthlyDataFetcher: React__default.FC<WorkspaceMonthlyDataFetcherProps>;
|
|
3306
3709
|
|
|
3710
|
+
type CoreComponents = {
|
|
3711
|
+
Card: any;
|
|
3712
|
+
CardHeader: any;
|
|
3713
|
+
CardTitle: any;
|
|
3714
|
+
CardDescription: any;
|
|
3715
|
+
CardContent: any;
|
|
3716
|
+
CardFooter: any;
|
|
3717
|
+
Button: any;
|
|
3718
|
+
HourlyOutputChart: any;
|
|
3719
|
+
};
|
|
3720
|
+
declare const useRegistry: () => CoreComponents;
|
|
3721
|
+
interface RegistryProviderProps {
|
|
3722
|
+
children: ReactNode;
|
|
3723
|
+
components?: Partial<CoreComponents>;
|
|
3724
|
+
}
|
|
3725
|
+
declare function RegistryProvider({ children, components }: RegistryProviderProps): react_jsx_runtime.JSX.Element;
|
|
3726
|
+
declare function withRegistry<P extends object>(Component: React__default.ComponentType<P>): {
|
|
3727
|
+
(props: P): react_jsx_runtime.JSX.Element;
|
|
3728
|
+
displayName: string;
|
|
3729
|
+
};
|
|
3730
|
+
|
|
3307
3731
|
interface HomeViewProps {
|
|
3308
3732
|
/**
|
|
3309
3733
|
* UUID of the default line to display
|
|
@@ -3341,13 +3765,13 @@ interface HomeViewProps {
|
|
|
3341
3765
|
* HomeView component - Main dashboard landing page showing factory overview with workspace grid
|
|
3342
3766
|
*/
|
|
3343
3767
|
declare function HomeView({ defaultLineId, factoryViewId, line1Uuid, line2Uuid, lineNames, videoSources, factoryName }: HomeViewProps): React__default.ReactNode;
|
|
3344
|
-
declare const AuthenticatedHomeView: (props: HomeViewProps) => react_jsx_runtime.JSX.Element;
|
|
3768
|
+
declare const AuthenticatedHomeView: (props: HomeViewProps) => react_jsx_runtime.JSX.Element | null;
|
|
3345
3769
|
|
|
3346
3770
|
/**
|
|
3347
3771
|
* FactoryView Component - Displays factory-level overview with metrics for each production line
|
|
3348
3772
|
*/
|
|
3349
3773
|
declare const FactoryView: React__default.FC<FactoryViewProps>;
|
|
3350
|
-
declare const AuthenticatedFactoryView: (props: FactoryViewProps) => react_jsx_runtime.JSX.Element;
|
|
3774
|
+
declare const AuthenticatedFactoryView: (props: FactoryViewProps) => react_jsx_runtime.JSX.Element | null;
|
|
3351
3775
|
|
|
3352
3776
|
/**
|
|
3353
3777
|
* LeaderboardIndexView component for displaying a list of lines that can be selected for the leaderboard
|
|
@@ -3387,7 +3811,7 @@ interface TargetsViewProps {
|
|
|
3387
3811
|
*/
|
|
3388
3812
|
declare const TargetsView: React__default.FC<TargetsViewProps>;
|
|
3389
3813
|
|
|
3390
|
-
declare const AuthenticatedTargetsView: (props: TargetsViewProps) => react_jsx_runtime.JSX.Element;
|
|
3814
|
+
declare const AuthenticatedTargetsView: (props: TargetsViewProps) => react_jsx_runtime.JSX.Element | null;
|
|
3391
3815
|
|
|
3392
3816
|
/**
|
|
3393
3817
|
* ShiftsView component for managing day and night shift configurations
|
|
@@ -3524,6 +3948,10 @@ interface WorkspaceDetailViewProps {
|
|
|
3524
3948
|
*/
|
|
3525
3949
|
renderHeaderActions?: (workspace: any) => ReactNode;
|
|
3526
3950
|
}
|
|
3527
|
-
declare const WrappedComponent: (props: WorkspaceDetailViewProps) => react_jsx_runtime.JSX.Element;
|
|
3951
|
+
declare const WrappedComponent: (props: WorkspaceDetailViewProps) => react_jsx_runtime.JSX.Element | null;
|
|
3952
|
+
|
|
3953
|
+
declare const AIAgentView: React__default.FC;
|
|
3954
|
+
|
|
3955
|
+
declare const ProfileView: React__default.FC;
|
|
3528
3956
|
|
|
3529
|
-
export { ACTION_NAMES, type Action, type ActionName, type ActionService, type ActionThreshold, type AnalyticsConfig, type AuthConfig, AuthProvider, type AuthUser, AuthenticatedFactoryView, AuthenticatedHomeView, AuthenticatedTargetsView, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseLineMetric, type BasePerformanceMetric, type BottleneckFilterType, type BottleneckVideo, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, type BreakRowProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, type ClipCounts, type ComponentOverride, 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_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DayHistoryData, type DaySummaryData, EmptyStateMessage, type EndpointsConfig, type EntityConfig, type FactoryOverviewData, FactoryView, type FactoryViewProps, type FormatNumberOptions, GridComponentsPlaceholder, Header, type HeaderProps, type HistoryCalendarProps, HomeView, type HomeViewProps, type HookOverride, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type ISTDateProps, ISTTimer, type ISTTimerProps, KPICard, type KPICardProps, KPIDetailView, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, LINE_1_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, LeaderboardIndexView, type LeaderboardIndexViewProps, type LeaderboardLineOption, Legend, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineShiftConfig, type LineSnapshot, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LiveTimer, LoadingOverlay, LoadingPage, LoadingSpinner, MainLayout, type MainLayoutProps, type Metric, MetricCard, type MetricsError, type NavItem, type NavItemTrackingEvent, NoWorkspaceData, type OperatorData, type OperatorInfo, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, type PoorPerformingWorkspace, type ProfileMenuItem, type QualityMetric, type QualityOverview, type QualityService, type RealtimeService, type RoutePath, S3Service, type S3ServiceConfig, SOPComplianceChart, type SOPComplianceChartProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$2 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, type SimpleLine, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type SupabaseClient, SupabaseProvider, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsView, type ThemeColorValue, type ThemeConfig, TimeDisplay, type TrackingEventProperties, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UseDashboardMetricsProps, type UseFactoryOverviewOptions, type UseFormatNumberResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseWorkspaceOperatorsOptions, type UserProfileConfig, VideoGridView, VideoPreloader, WORKSPACE_POSITIONS, type WhatsAppSendResult, WhatsAppShareButton, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, WorkspaceHistoryCalendar, WorkspaceMetricCards, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, type WorkspaceMonthlyMetric, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUrlMapping, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, apiUtils, authCoreService, cn, createSupabaseClient, dashboardService, formatDateInZone, formatDateTimeInZone, formatISTDate, formatTimeInZone, fromUrlFriendlyName, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultTabForWorkspace, getMetricsTablePrefix, getOperationalDate, getShortWorkspaceDisplayName, getStoredWorkspaceMappings, getWorkspaceDisplayName, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isTransitionPeriod, isValidLineInfoPayload, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, mergeWithDefaultConfig, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, resetCoreMixpanel, storeWorkspaceMapping, toUrlFriendlyName, trackCoreEvent, trackCorePageView, useAnalyticsConfig, useAuth, useAuthConfig, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHookOverride, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMetrics, useNavigation, useOverrides, usePageOverride, useRealtimeLineMetrics, useShiftConfig, useShifts, useSupabase, useTargets, useTheme, useThemeConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPreloader, whatsappService, withAuth,
|
|
3957
|
+
export { ACTION_NAMES, AIAgentView, type Action, type ActionName, type ActionService, type ActionThreshold, type AnalyticsConfig, type AuthConfig, AuthProvider, type AuthUser, AuthenticatedFactoryView, AuthenticatedHomeView, AuthenticatedTargetsView, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseLineMetric, type BasePerformanceMetric, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, type BreakRowProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, 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_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DatabaseConfig, DateDisplay, type DateTimeConfig, DateTimeDisplay, type DayHistoryData, type DaySummaryData, EmptyStateMessage, type EndpointsConfig, type EntityConfig, type FactoryOverviewData, FactoryView, type FactoryViewProps, type FormatNumberOptions, GridComponentsPlaceholder, Header, type HeaderProps, type HistoryCalendarProps, HomeView, type HomeViewProps, type HookOverride, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, type ISTDateProps, ISTTimer, type ISTTimerProps, KPICard, type KPICardProps, KPIDetailView, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, LINE_1_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, LeaderboardIndexView, type LeaderboardIndexViewProps, type LeaderboardLineOption, 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, LoadingOverlay, LoadingPage, LoadingSpinner, MainLayout, type MainLayoutProps, type Metric, MetricCard, type MetricsError, type NavItem, type NavItemTrackingEvent, NoWorkspaceData, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, type PoorPerformingWorkspace, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, type RealtimeService, RegistryProvider, type RoutePath, type S3ClipsAPIParams, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, SOPComplianceChart, type SOPComplianceChartProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData$2 as ShiftData, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, type SimpleLine, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type SupabaseClient, SupabaseProvider, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsView, type ThemeColorValue, type ThemeConfig, TimeDisplay, type TrackingEventProperties, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UseDashboardMetricsProps, type UseFactoryOverviewOptions, type UseFormatNumberResult, type UseRealtimeLineMetricsProps, type UseTargetsOptions, type UseWorkspaceOperatorsOptions, type UserProfileConfig, VideoCard, VideoGridView, type VideoMetadata, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WhatsAppSendResult, WhatsAppShareButton, type WhatsappService, type Workspace, type WorkspaceActionUpdate, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, 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, clearS3VideoCache, clearS3VideoFromCache, clearWorkspaceDisplayNamesCache, cn, createSupabaseClient, createThrottledReload, dashboardService, formatDateInZone, formatDateTimeInZone, formatISTDate, formatIdleTime, formatTimeInZone, fromUrlFriendlyName, getAllWorkspaceDisplayNamesAsync, getAnonClient, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getCurrentShift, getCurrentTimeInZone, getDashboardHeaderTimeInZone, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultTabForWorkspace, getManufacturingInsights, getMetricsTablePrefix, getOperationalDate, getS3SignedUrl, getS3VideoSrc, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, identifyCoreUser, initializeCoreMixpanel, isTransitionPeriod, isValidLineInfoPayload, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, mergeWithDefaultConfig, optifyeAgentClient, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, s3VideoPreloader, storeWorkspaceMapping, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, useAnalyticsConfig, useAuth, useAuthConfig, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHistoricWorkspaceMetrics, useHlsStream, useHookOverride, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineWorkspaceMetrics, useMetrics, useNavigation, useOverrides, usePageOverride, useRealtimeLineMetrics, useRegistry, useShiftConfig, useShifts, useSupabase, useTargets, useTheme, useThemeConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, videoPreloader, whatsappService, withAuth, withRegistry, workspaceService };
|