@optifye/dashboard-core 6.12.15 → 6.12.17
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/automation.d.ts +1 -0
- package/automation.js +1 -0
- package/dist/automation-Hl2PFMb3.d.mts +444 -0
- package/dist/automation-Hl2PFMb3.d.ts +444 -0
- package/dist/automation.d.mts +2 -0
- package/dist/automation.d.ts +2 -0
- package/dist/automation.js +2316 -0
- package/dist/automation.mjs +2309 -0
- package/dist/index.d.mts +4 -422
- package/dist/index.d.ts +4 -422
- package/dist/index.js +268 -3
- package/dist/index.mjs +268 -4
- package/package.json +11 -2
package/dist/index.mjs
CHANGED
|
@@ -16819,6 +16819,7 @@ function useHlsStream(videoRef, { src, shouldPlay, onFatalError, hlsConfig }) {
|
|
|
16819
16819
|
return url.includes(proxyBaseUrl);
|
|
16820
16820
|
}
|
|
16821
16821
|
};
|
|
16822
|
+
const isSnapshotStreamUrl = (url) => url.includes("/api/automation/snapshot/stream/");
|
|
16822
16823
|
const getR2CameraUuid = (url) => {
|
|
16823
16824
|
try {
|
|
16824
16825
|
const parsed = new URL(url);
|
|
@@ -17407,11 +17408,16 @@ function useHlsStream(videoRef, { src, shouldPlay, onFatalError, hlsConfig }) {
|
|
|
17407
17408
|
return;
|
|
17408
17409
|
}
|
|
17409
17410
|
if (Hls.isSupported() && !isNativeHlsRef.current) {
|
|
17411
|
+
const usesSnapshotStream = isSnapshotStreamUrl(resolvedHlsSrc);
|
|
17410
17412
|
const mergedConfig = {
|
|
17411
17413
|
...HLS_CONFIG,
|
|
17412
17414
|
...hlsConfig,
|
|
17415
|
+
enableWorker: usesSnapshotStream ? false : hlsConfig?.enableWorker ?? HLS_CONFIG.enableWorker,
|
|
17413
17416
|
xhrSetup: (xhr, url) => {
|
|
17414
17417
|
const usesProxy = isProxyUrl(url);
|
|
17418
|
+
if (isSnapshotStreamUrl(url)) {
|
|
17419
|
+
xhr.withCredentials = true;
|
|
17420
|
+
}
|
|
17415
17421
|
if (isR2WorkerUrl(url, r2WorkerDomain) || usesProxy) {
|
|
17416
17422
|
if (isManifestUrl(url)) {
|
|
17417
17423
|
xhr.open("GET", buildCacheBustedUrl(url), true);
|
|
@@ -17425,7 +17431,11 @@ function useHlsStream(videoRef, { src, shouldPlay, onFatalError, hlsConfig }) {
|
|
|
17425
17431
|
const isR2Url = isR2WorkerUrl(context.url, r2WorkerDomain);
|
|
17426
17432
|
const isManifestRequest = isManifestUrl(context.url);
|
|
17427
17433
|
const usesProxy = isProxyUrl(context.url);
|
|
17434
|
+
const isSnapshotStream = isSnapshotStreamUrl(context.url);
|
|
17428
17435
|
let requestUrl = context.url;
|
|
17436
|
+
if (isSnapshotStream) {
|
|
17437
|
+
initParams.credentials = "include";
|
|
17438
|
+
}
|
|
17429
17439
|
if (isR2Url || usesProxy) {
|
|
17430
17440
|
if (authToken) {
|
|
17431
17441
|
initParams.headers = {
|
|
@@ -37565,6 +37575,7 @@ var VideoCard = React144__default.memo(({
|
|
|
37565
37575
|
displayMinuteBucket,
|
|
37566
37576
|
displayName,
|
|
37567
37577
|
lastSeenLabel,
|
|
37578
|
+
hasRecentHealthSignal: hasRecentHealthSignal2 = false,
|
|
37568
37579
|
onMouseEnter,
|
|
37569
37580
|
onMouseLeave
|
|
37570
37581
|
}) => {
|
|
@@ -37579,7 +37590,7 @@ var VideoCard = React144__default.memo(({
|
|
|
37579
37590
|
useRAF,
|
|
37580
37591
|
onFatalError: onFatalError ?? (() => throttledReloadDashboard())
|
|
37581
37592
|
});
|
|
37582
|
-
const showOffline = Boolean(isStreamStale);
|
|
37593
|
+
const showOffline = Boolean(isStreamStale && !hasRecentHealthSignal2);
|
|
37583
37594
|
const lastSeenText = lastSeenLabel || "Unknown";
|
|
37584
37595
|
const workspaceDisplayName = displayName || workspace.displayName || workspace.workspace_name;
|
|
37585
37596
|
const videoGridMetricValue = getVideoGridMetricValue(workspace, effectiveLegend);
|
|
@@ -37719,6 +37730,9 @@ var VideoCard = React144__default.memo(({
|
|
|
37719
37730
|
if (prevProps.lastSeenLabel !== nextProps.lastSeenLabel) {
|
|
37720
37731
|
return false;
|
|
37721
37732
|
}
|
|
37733
|
+
if (prevProps.hasRecentHealthSignal !== nextProps.hasRecentHealthSignal) {
|
|
37734
|
+
return false;
|
|
37735
|
+
}
|
|
37722
37736
|
if (prevProps.legend !== nextProps.legend) {
|
|
37723
37737
|
return false;
|
|
37724
37738
|
}
|
|
@@ -37741,10 +37755,17 @@ var DEFAULT_HLS_URL = "https://192.168.5.9:8443/cam1.m3u8";
|
|
|
37741
37755
|
var DEBUG_DASHBOARD_LOGS2 = process.env.NEXT_PUBLIC_DEBUG_DASHBOARD === "true";
|
|
37742
37756
|
var MOBILE_SCROLL_THRESHOLD = 15;
|
|
37743
37757
|
var MOBILE_BREAKPOINT_PX = 640;
|
|
37758
|
+
var RECENT_HEALTH_SIGNAL_MS = 3 * 60 * 1e3;
|
|
37744
37759
|
var logDebug2 = (...args) => {
|
|
37745
37760
|
if (!DEBUG_DASHBOARD_LOGS2) return;
|
|
37746
37761
|
console.log(...args);
|
|
37747
37762
|
};
|
|
37763
|
+
var hasRecentHealthSignal = (lastHeartbeat) => {
|
|
37764
|
+
if (!lastHeartbeat) return false;
|
|
37765
|
+
const heartbeatMs = new Date(lastHeartbeat).getTime();
|
|
37766
|
+
if (!Number.isFinite(heartbeatMs)) return false;
|
|
37767
|
+
return Date.now() - heartbeatMs <= RECENT_HEALTH_SIGNAL_MS;
|
|
37768
|
+
};
|
|
37748
37769
|
var VideoGridView = React144__default.memo(({
|
|
37749
37770
|
workspaces,
|
|
37750
37771
|
selectedLine,
|
|
@@ -38056,7 +38077,8 @@ var VideoGridView = React144__default.memo(({
|
|
|
38056
38077
|
const isVisible = visibleWorkspaces.has(workspaceId);
|
|
38057
38078
|
const workspaceCropping = getWorkspaceCropping(workspaceId, workspace.workspace_name);
|
|
38058
38079
|
const workspaceStream = videoStreamsByWorkspaceId?.[workspaceId];
|
|
38059
|
-
const
|
|
38080
|
+
const workspaceHealth = workspace.workspace_uuid ? lastSeenByWorkspaceId[workspace.workspace_uuid] : void 0;
|
|
38081
|
+
const lastSeenLabel = workspaceHealth?.timeSinceLastUpdate;
|
|
38060
38082
|
const r2Url = workspaceStream?.hls_url;
|
|
38061
38083
|
const fallbackUrl = getWorkspaceHlsUrl(workspace.workspace_name, workspace.line_id);
|
|
38062
38084
|
const hasR2Stream = Boolean(r2Url);
|
|
@@ -38075,7 +38097,8 @@ var VideoGridView = React144__default.memo(({
|
|
|
38075
38097
|
hlsUrl,
|
|
38076
38098
|
isR2Stream,
|
|
38077
38099
|
shouldPlay,
|
|
38078
|
-
lastSeenLabel
|
|
38100
|
+
lastSeenLabel,
|
|
38101
|
+
hasRecentHealthSignal: hasRecentHealthSignal(workspaceHealth?.lastHeartbeat)
|
|
38079
38102
|
};
|
|
38080
38103
|
});
|
|
38081
38104
|
}, [
|
|
@@ -38122,6 +38145,7 @@ var VideoGridView = React144__default.memo(({
|
|
|
38122
38145
|
canvasFps: effectiveCanvasFps,
|
|
38123
38146
|
displayName: resolveWorkspaceDisplayName(card.workspace),
|
|
38124
38147
|
lastSeenLabel: card.lastSeenLabel,
|
|
38148
|
+
hasRecentHealthSignal: card.hasRecentHealthSignal,
|
|
38125
38149
|
useRAF: effectiveUseRAF,
|
|
38126
38150
|
displayMinuteBucket,
|
|
38127
38151
|
compact: !selectedLine,
|
|
@@ -85818,5 +85842,245 @@ var streamProxyConfig = {
|
|
|
85818
85842
|
responseLimit: false
|
|
85819
85843
|
}
|
|
85820
85844
|
};
|
|
85845
|
+
var MOBILE_SCROLL_THRESHOLD2 = 15;
|
|
85846
|
+
var MOBILE_BREAKPOINT_PX2 = 640;
|
|
85847
|
+
var sortWorkspaces = (left, right) => {
|
|
85848
|
+
if (left.line_id !== right.line_id) {
|
|
85849
|
+
return left.line_id.localeCompare(right.line_id);
|
|
85850
|
+
}
|
|
85851
|
+
const leftMatch = left.workspace_name.match(/WS(\d+)/);
|
|
85852
|
+
const rightMatch = right.workspace_name.match(/WS(\d+)/);
|
|
85853
|
+
if (leftMatch && rightMatch) {
|
|
85854
|
+
return parseInt(leftMatch[1], 10) - parseInt(rightMatch[1], 10);
|
|
85855
|
+
}
|
|
85856
|
+
return left.workspace_name.localeCompare(right.workspace_name, void 0, { numeric: true });
|
|
85857
|
+
};
|
|
85858
|
+
var RecentFlowSnapshotGrid = ({
|
|
85859
|
+
workspaces,
|
|
85860
|
+
videoStreamsByWorkspaceId,
|
|
85861
|
+
legend,
|
|
85862
|
+
className = ""
|
|
85863
|
+
}) => {
|
|
85864
|
+
const containerRef = useRef(null);
|
|
85865
|
+
const readinessRef = useRef(null);
|
|
85866
|
+
const [gridCols, setGridCols] = useState(4);
|
|
85867
|
+
const [gridRows, setGridRows] = useState(1);
|
|
85868
|
+
const [isMobileScrollableGrid, setIsMobileScrollableGrid] = useState(false);
|
|
85869
|
+
const sortedWorkspaces = useMemo(
|
|
85870
|
+
() => [...workspaces || []].sort(sortWorkspaces),
|
|
85871
|
+
[workspaces]
|
|
85872
|
+
);
|
|
85873
|
+
const effectiveLegend = legend || DEFAULT_EFFICIENCY_LEGEND;
|
|
85874
|
+
const displayMinuteBucket = Math.floor(Date.now() / 6e4);
|
|
85875
|
+
const expectedVideoCount = useMemo(
|
|
85876
|
+
() => sortedWorkspaces.filter((workspace) => {
|
|
85877
|
+
const workspaceId = workspace.workspace_uuid || workspace.workspace_name;
|
|
85878
|
+
return Boolean(workspaceId && videoStreamsByWorkspaceId[workspaceId]?.hls_url);
|
|
85879
|
+
}).length,
|
|
85880
|
+
[sortedWorkspaces, videoStreamsByWorkspaceId]
|
|
85881
|
+
);
|
|
85882
|
+
const publishSnapshotReadiness = useCallback((readyVideoCount) => {
|
|
85883
|
+
const status = {
|
|
85884
|
+
expectedVideoCount,
|
|
85885
|
+
readyVideoCount,
|
|
85886
|
+
status: expectedVideoCount === 0 ? "no_videos" : readyVideoCount >= expectedVideoCount ? "ready" : "loading",
|
|
85887
|
+
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
85888
|
+
};
|
|
85889
|
+
const isReady = expectedVideoCount > 0 && status.status === "ready";
|
|
85890
|
+
if (typeof window !== "undefined") {
|
|
85891
|
+
window.__OPTIFYE_SNAPSHOT_READY__ = isReady;
|
|
85892
|
+
window.__OPTIFYE_SNAPSHOT_VIDEO_STATUS__ = status;
|
|
85893
|
+
}
|
|
85894
|
+
const marker = readinessRef.current;
|
|
85895
|
+
if (marker) {
|
|
85896
|
+
marker.dataset.ready = isReady ? "true" : "false";
|
|
85897
|
+
marker.dataset.status = status.status;
|
|
85898
|
+
marker.dataset.expectedVideoCount = String(status.expectedVideoCount);
|
|
85899
|
+
marker.dataset.readyVideoCount = String(status.readyVideoCount);
|
|
85900
|
+
marker.dataset.updatedAt = status.updatedAt;
|
|
85901
|
+
}
|
|
85902
|
+
}, [expectedVideoCount]);
|
|
85903
|
+
const calculateOptimalGrid = useCallback(() => {
|
|
85904
|
+
if (!containerRef.current) return;
|
|
85905
|
+
const containerPadding = 16;
|
|
85906
|
+
const rawContainerWidth = containerRef.current.clientWidth;
|
|
85907
|
+
const containerWidth = rawContainerWidth - containerPadding;
|
|
85908
|
+
const containerHeight = containerRef.current.clientHeight - containerPadding;
|
|
85909
|
+
const count = sortedWorkspaces.length;
|
|
85910
|
+
if (count === 0) {
|
|
85911
|
+
setGridCols(1);
|
|
85912
|
+
setGridRows(1);
|
|
85913
|
+
setIsMobileScrollableGrid(false);
|
|
85914
|
+
return;
|
|
85915
|
+
}
|
|
85916
|
+
const shouldUseMobileScroll = rawContainerWidth < MOBILE_BREAKPOINT_PX2 && count >= MOBILE_SCROLL_THRESHOLD2;
|
|
85917
|
+
const optimalLayouts = {
|
|
85918
|
+
1: 1,
|
|
85919
|
+
2: 2,
|
|
85920
|
+
3: 3,
|
|
85921
|
+
4: 2,
|
|
85922
|
+
5: 3,
|
|
85923
|
+
6: 3,
|
|
85924
|
+
7: 4,
|
|
85925
|
+
8: 4,
|
|
85926
|
+
9: 3,
|
|
85927
|
+
10: 5,
|
|
85928
|
+
11: 4,
|
|
85929
|
+
12: 4,
|
|
85930
|
+
13: 5,
|
|
85931
|
+
14: 5,
|
|
85932
|
+
15: 5,
|
|
85933
|
+
16: 4,
|
|
85934
|
+
17: 6,
|
|
85935
|
+
18: 6,
|
|
85936
|
+
19: 5,
|
|
85937
|
+
20: 5,
|
|
85938
|
+
21: 7,
|
|
85939
|
+
22: 6,
|
|
85940
|
+
23: 6,
|
|
85941
|
+
24: 6
|
|
85942
|
+
};
|
|
85943
|
+
let bestCols = optimalLayouts[count] || Math.ceil(Math.sqrt(count));
|
|
85944
|
+
const containerAspectRatio = containerWidth / containerHeight;
|
|
85945
|
+
const targetAspectRatio = 16 / 9;
|
|
85946
|
+
const gap = 8;
|
|
85947
|
+
if (containerAspectRatio > targetAspectRatio * 1.5 && count > 6) {
|
|
85948
|
+
bestCols = Math.min(bestCols + 1, Math.ceil(count / 2));
|
|
85949
|
+
}
|
|
85950
|
+
const minCellWidth = 100;
|
|
85951
|
+
const availableWidth = containerWidth - gap * (bestCols - 1);
|
|
85952
|
+
const cellWidth = availableWidth / bestCols;
|
|
85953
|
+
if (cellWidth < minCellWidth && bestCols > 1) {
|
|
85954
|
+
bestCols = Math.max(1, Math.floor((containerWidth + gap) / (minCellWidth + gap)));
|
|
85955
|
+
}
|
|
85956
|
+
setGridCols(bestCols);
|
|
85957
|
+
setGridRows(Math.ceil(count / bestCols));
|
|
85958
|
+
setIsMobileScrollableGrid(shouldUseMobileScroll);
|
|
85959
|
+
}, [sortedWorkspaces.length]);
|
|
85960
|
+
useEffect(() => {
|
|
85961
|
+
calculateOptimalGrid();
|
|
85962
|
+
window.addEventListener("resize", calculateOptimalGrid);
|
|
85963
|
+
return () => window.removeEventListener("resize", calculateOptimalGrid);
|
|
85964
|
+
}, [calculateOptimalGrid]);
|
|
85965
|
+
useEffect(() => {
|
|
85966
|
+
const attachedVideos = /* @__PURE__ */ new Set();
|
|
85967
|
+
const videoEvents = ["loadeddata", "canplay", "playing", "timeupdate", "error", "stalled"];
|
|
85968
|
+
const hasDecodedFrame = (video) => video.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA && video.videoWidth > 0 && video.videoHeight > 0;
|
|
85969
|
+
const updateReadiness = () => {
|
|
85970
|
+
const videos = Array.from(containerRef.current?.querySelectorAll("video") ?? []);
|
|
85971
|
+
const readyVideoCount = videos.filter(hasDecodedFrame).length;
|
|
85972
|
+
publishSnapshotReadiness(Math.min(readyVideoCount, expectedVideoCount));
|
|
85973
|
+
for (const video of videos) {
|
|
85974
|
+
if (attachedVideos.has(video)) continue;
|
|
85975
|
+
attachedVideos.add(video);
|
|
85976
|
+
for (const eventName of videoEvents) {
|
|
85977
|
+
video.addEventListener(eventName, updateReadiness);
|
|
85978
|
+
}
|
|
85979
|
+
}
|
|
85980
|
+
};
|
|
85981
|
+
publishSnapshotReadiness(0);
|
|
85982
|
+
updateReadiness();
|
|
85983
|
+
const intervalId = window.setInterval(updateReadiness, 250);
|
|
85984
|
+
return () => {
|
|
85985
|
+
window.clearInterval(intervalId);
|
|
85986
|
+
for (const video of attachedVideos) {
|
|
85987
|
+
for (const eventName of videoEvents) {
|
|
85988
|
+
video.removeEventListener(eventName, updateReadiness);
|
|
85989
|
+
}
|
|
85990
|
+
}
|
|
85991
|
+
if (typeof window !== "undefined") {
|
|
85992
|
+
window.__OPTIFYE_SNAPSHOT_READY__ = false;
|
|
85993
|
+
window.__OPTIFYE_SNAPSHOT_VIDEO_STATUS__ = void 0;
|
|
85994
|
+
}
|
|
85995
|
+
};
|
|
85996
|
+
}, [expectedVideoCount, publishSnapshotReadiness]);
|
|
85997
|
+
if (!sortedWorkspaces.length) {
|
|
85998
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
85999
|
+
/* @__PURE__ */ jsx(
|
|
86000
|
+
"div",
|
|
86001
|
+
{
|
|
86002
|
+
ref: readinessRef,
|
|
86003
|
+
"data-testid": "snapshot-video-readiness",
|
|
86004
|
+
"data-ready": "false",
|
|
86005
|
+
"data-status": "no_videos",
|
|
86006
|
+
"data-expected-video-count": "0",
|
|
86007
|
+
"data-ready-video-count": "0",
|
|
86008
|
+
hidden: true
|
|
86009
|
+
}
|
|
86010
|
+
),
|
|
86011
|
+
/* @__PURE__ */ jsx("div", { className: "flex min-h-[320px] items-center justify-center rounded-md border border-dashed border-slate-300 bg-slate-50 text-sm font-medium text-slate-500", children: "No workstation snapshot available" })
|
|
86012
|
+
] });
|
|
86013
|
+
}
|
|
86014
|
+
return /* @__PURE__ */ jsxs(
|
|
86015
|
+
"div",
|
|
86016
|
+
{
|
|
86017
|
+
"aria-label": "Recent-flow workstation snapshot",
|
|
86018
|
+
className: `relative h-full min-h-0 w-full overflow-hidden bg-slate-50/30 ${className}`,
|
|
86019
|
+
children: [
|
|
86020
|
+
/* @__PURE__ */ jsx(
|
|
86021
|
+
"div",
|
|
86022
|
+
{
|
|
86023
|
+
ref: readinessRef,
|
|
86024
|
+
"data-testid": "snapshot-video-readiness",
|
|
86025
|
+
"data-ready": "false",
|
|
86026
|
+
"data-status": expectedVideoCount === 0 ? "no_videos" : "loading",
|
|
86027
|
+
"data-expected-video-count": expectedVideoCount,
|
|
86028
|
+
"data-ready-video-count": "0",
|
|
86029
|
+
hidden: true
|
|
86030
|
+
}
|
|
86031
|
+
),
|
|
86032
|
+
/* @__PURE__ */ jsx(
|
|
86033
|
+
"div",
|
|
86034
|
+
{
|
|
86035
|
+
ref: containerRef,
|
|
86036
|
+
"data-testid": "video-grid-scroll-container",
|
|
86037
|
+
"data-mobile-scrollable": isMobileScrollableGrid ? "true" : "false",
|
|
86038
|
+
className: `absolute inset-0 w-full overflow-x-hidden px-1 py-1 sm:px-2 sm:py-2 ${isMobileScrollableGrid ? "overflow-y-auto" : "overflow-hidden"}`,
|
|
86039
|
+
children: /* @__PURE__ */ jsx(
|
|
86040
|
+
"div",
|
|
86041
|
+
{
|
|
86042
|
+
"data-testid": "video-grid-layout",
|
|
86043
|
+
className: `grid min-w-0 w-full gap-1.5 sm:gap-2 ${isMobileScrollableGrid ? "content-start" : "h-full"}`,
|
|
86044
|
+
style: {
|
|
86045
|
+
gridTemplateColumns: `repeat(${gridCols}, minmax(0, 1fr))`,
|
|
86046
|
+
gridTemplateRows: isMobileScrollableGrid ? void 0 : `repeat(${gridRows}, 1fr)`,
|
|
86047
|
+
gridAutoFlow: "row"
|
|
86048
|
+
},
|
|
86049
|
+
children: sortedWorkspaces.map((workspace) => {
|
|
86050
|
+
const workspaceId = workspace.workspace_uuid || workspace.workspace_name;
|
|
86051
|
+
const stream = workspaceId ? videoStreamsByWorkspaceId[workspaceId] : null;
|
|
86052
|
+
const hlsUrl = stream?.hls_url || "";
|
|
86053
|
+
return /* @__PURE__ */ jsx(
|
|
86054
|
+
"div",
|
|
86055
|
+
{
|
|
86056
|
+
"data-workspace-id": workspaceId,
|
|
86057
|
+
className: isMobileScrollableGrid ? "workspace-card relative min-w-0 w-full aspect-video min-h-[92px]" : "workspace-card relative min-w-0 w-full h-full",
|
|
86058
|
+
children: /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: /* @__PURE__ */ jsx(
|
|
86059
|
+
VideoCard,
|
|
86060
|
+
{
|
|
86061
|
+
workspace,
|
|
86062
|
+
hlsUrl,
|
|
86063
|
+
shouldPlay: Boolean(hlsUrl),
|
|
86064
|
+
legend: effectiveLegend,
|
|
86065
|
+
cropping: stream?.crop || void 0,
|
|
86066
|
+
canvasFps: 10,
|
|
86067
|
+
useRAF: false,
|
|
86068
|
+
displayMinuteBucket,
|
|
86069
|
+
displayName: workspace.displayName || workspace.workspace_name,
|
|
86070
|
+
compact: true
|
|
86071
|
+
}
|
|
86072
|
+
) })
|
|
86073
|
+
},
|
|
86074
|
+
`${workspace.line_id}-${workspaceId}`
|
|
86075
|
+
);
|
|
86076
|
+
})
|
|
86077
|
+
}
|
|
86078
|
+
)
|
|
86079
|
+
}
|
|
86080
|
+
)
|
|
86081
|
+
]
|
|
86082
|
+
}
|
|
86083
|
+
);
|
|
86084
|
+
};
|
|
85821
86085
|
|
|
85822
|
-
export { ACTION_FAMILIES, ACTION_NAMES, AIAgentView_default as AIAgentView, AcceptInvite, AcceptInviteView_default as AcceptInviteView, AdvancedFilterDialog, AdvancedFilterPanel, AudioService, AuthCallback, AuthCallbackView_default as AuthCallbackView, AuthProvider, AuthService, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, AxelNotificationPopup, AxelOrb, BackButton, BackButtonMinimal, BarChart, BaseHistoryCalendar, BottleneckClipsModal, BottleneckClipsView_default as BottleneckClipsView, BottlenecksContent, BreakNotificationPopup, CachePrefetchStatus, Card2 as Card, CardContent2 as CardContent, CardDescription2 as CardDescription, CardFooter2 as CardFooter, CardHeader2 as CardHeader, CardTitle2 as CardTitle, ChangeRoleDialog, ClipFilterProvider, ClipsCostView_default as ClipsCostView, CompactWorkspaceHealthCard, ConfirmRemoveUserDialog, CongratulationsOverlay, CroppedHlsVideoPlayer, CroppedVideoPlayer, CycleTimeChart, CycleTimeOverTimeChart, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_HOME_VIEW_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, DashboardHeader, DashboardLayout, DashboardOverridesProvider, DashboardProvider, DateDisplay_default as DateDisplay, DateTimeDisplay, DebugAuth, DebugAuthView_default as DebugAuthView, DetailedHealthStatus, DiagnosisVideoModal, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, EncouragementOverlay, FactoryAssignmentDropdown, FactoryView_default as FactoryView, FileManagerFilters, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, GaugeChart, GridComponentsPlaceholder, HamburgerButton, Header, HealthDateShiftSelector, HealthStatusGrid, HealthStatusIndicator, HelpView_default as HelpView, HlsVideoPlayer, HomeView_default as HomeView, HourlyOutputChart2 as HourlyOutputChart, HourlyUptimeChart, ISTTimer_default as ISTTimer, IdleTimeVlmConfigProvider, ImprovementCenterView_default as ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, InvitationsTable, InviteUserDialog, KPICard, KPIDetailView_default as KPIDetailView, KPIGrid, KPIHeader, KPISection, KPIsOverviewView_default as KPIsOverviewView, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, LeaderboardDetailView_default as LeaderboardDetailView, Legend5 as Legend, LineAssignmentDropdown, LineChart, LineHistoryCalendar, LineMonthlyHistory, LineMonthlyPdfGenerator, LinePdfExportButton, LinePdfGenerator, LineWhatsAppShareButton, LinesService, LiveTimer, LoadingInline, LoadingOverlay_default as LoadingOverlay, LoadingPage_default as LoadingPage, LoadingSkeleton, LoadingState, LoginPage, LoginView_default as LoginView, Logo, MainLayout, MapGridView, MetricCard_default as MetricCard, MinimalOnboardingPopup, MobileMenuProvider, NewClipsNotification, NoWorkspaceData, OnboardingDemo, OnboardingTour, OptifyeAgentClient, OptifyeLogoLoader_default as OptifyeLogoLoader, OutputProgressChart, PageHeader, PieChart4 as PieChart, PlantHeadView_default as PlantHeadView, PlayPauseIndicator, PrefetchConfigurationError, PrefetchError, PrefetchEvents, PrefetchStatus, PrefetchTimeoutError, ProfileView_default as ProfileView, ROOT_DASHBOARD_EVENT_NAMES, RegistryProvider, RoleBadge, S3ClipsSupabaseService as S3ClipsService, S3Service, SENTRY_HANDLED_EVENT_SESSION_LIMIT, SENTRY_HANDLED_EVENT_WINDOW_MS, SENTRY_QUOTA_STORAGE_KEY, SKUManagementView, SOPComplianceChart, SSEChatClient, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, ShiftDisplay_default as ShiftDisplay, ShiftsView_default as ShiftsView, SideNavBar, SignupWithInvitation, SilentErrorBoundary, SimpleOnboardingPopup, SingleVideoStream_default as SingleVideoStream, Skeleton, SubscriptionManager, SubscriptionManagerProvider, SupabaseProvider, SupervisorDropdown_default as SupervisorDropdown, SupervisorManagementView_default as SupervisorManagementView, SupervisorService, TargetWorkspaceGrid, TargetsView_default as TargetsView, TeamManagementView_default as TeamManagementView, ThreadSidebar, TicketHistory_default as TicketHistory, TicketHistoryService, TicketsView_default as TicketsView, TimeDisplay_default as TimeDisplay, TimePickerDropdown, Timer_default as Timer, TimezoneProvider, TimezoneService, UptimeDonutChart, UptimeLineChart, UptimeMetricCards, UserAvatar, UserManagementService, UserManagementTable, UserService, UserUsageDetailModal, UserUsageStats, VideoCard, VideoGridView, VideoPlayer, VideoPreloader, WORKSPACE_POSITIONS, WhatsAppShareButton, WorkspaceCard, WorkspaceCycleTimeMetricCards, WorkspaceDetailView_default as WorkspaceDetailView, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, WorkspaceHealthCard, WorkspaceHealthView_default as WorkspaceHealthView, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, WorkspaceMonthlyDataFetcher, WorkspaceMonthlyHistory, WorkspaceMonthlyPdfGenerator, WorkspacePdfExportButton, WorkspacePdfGenerator, WorkspaceWhatsAppShareButton, actionService, addSentryBreadcrumb, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildKpiLineHierarchy, buildLineSkuBreakdown, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureHandledFrontendException, captureSentryException, captureSentryMessage, checkRateLimit2 as checkRateLimit, clearAllRateLimits2 as clearAllRateLimits, clearRateLimit2 as clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, combineLineMetricsRows, countRealSkus, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, fetchLineDummySkuId, fetchLineSkuCatalog, filterDataByDateKeyRange, filterRealSkuBreakdown, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration2 as formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getActionDisplayName, getActiveShift, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDateKeyFromValue, getDayDateKey, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getMonthlyTrendComparisonLabel, getNextUpdateInterval, getOperationalDate, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isIgnorableFrontendError, isLegacyConfiguration, isLoopbackHostname, isPrefetchError, isRealSku, isRecentFlowVideoGridMetricMode, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWipGatedVideoGridMetricMode, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeActionFamily, normalizeDateKeyRange, normalizeDateKeyRangeUnbounded, normalizeRoleLevel, normalizeVideoGridMetricMode, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, pickPreferredLineMetricsRow, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSentryQuotaForTests, resetSubscriptionManager, resolveDefaultSkuId, resolveLiveSkuId, s3VideoPreloader, selectPreferredLineMetricsRow, setSentryUserContext, setSentryWorkspaceContext, shouldEnableLocalDevTestLogin, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyFastSlowClipFiltersEnabled, useCompanyHasVlmEnabledLine, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
|
|
86086
|
+
export { ACTION_FAMILIES, ACTION_NAMES, AIAgentView_default as AIAgentView, AcceptInvite, AcceptInviteView_default as AcceptInviteView, AdvancedFilterDialog, AdvancedFilterPanel, AudioService, AuthCallback, AuthCallbackView_default as AuthCallbackView, AuthProvider, AuthService, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, AxelNotificationPopup, AxelOrb, BackButton, BackButtonMinimal, BarChart, BaseHistoryCalendar, BottleneckClipsModal, BottleneckClipsView_default as BottleneckClipsView, BottlenecksContent, BreakNotificationPopup, CachePrefetchStatus, Card2 as Card, CardContent2 as CardContent, CardDescription2 as CardDescription, CardFooter2 as CardFooter, CardHeader2 as CardHeader, CardTitle2 as CardTitle, ChangeRoleDialog, ClipFilterProvider, ClipsCostView_default as ClipsCostView, CompactWorkspaceHealthCard, ConfirmRemoveUserDialog, CongratulationsOverlay, CroppedHlsVideoPlayer, CroppedVideoPlayer, CycleTimeChart, CycleTimeOverTimeChart, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_HOME_VIEW_CONFIG, DEFAULT_MAP_VIEW_CONFIG, DEFAULT_SHIFT_CONFIG, DEFAULT_SHIFT_DATA, DEFAULT_THEME_CONFIG, DEFAULT_VIDEO_CONFIG, DEFAULT_WORKSPACE_CONFIG, DEFAULT_WORKSPACE_POSITIONS, DashboardHeader, DashboardLayout, DashboardOverridesProvider, DashboardProvider, DateDisplay_default as DateDisplay, DateTimeDisplay, DebugAuth, DebugAuthView_default as DebugAuthView, DetailedHealthStatus, DiagnosisVideoModal, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, EncouragementOverlay, FactoryAssignmentDropdown, FactoryView_default as FactoryView, FileManagerFilters, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, GaugeChart, GridComponentsPlaceholder, HamburgerButton, Header, HealthDateShiftSelector, HealthStatusGrid, HealthStatusIndicator, HelpView_default as HelpView, HlsVideoPlayer, HomeView_default as HomeView, HourlyOutputChart2 as HourlyOutputChart, HourlyUptimeChart, ISTTimer_default as ISTTimer, IdleTimeVlmConfigProvider, ImprovementCenterView_default as ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, InvitationsTable, InviteUserDialog, KPICard, KPIDetailView_default as KPIDetailView, KPIGrid, KPIHeader, KPISection, KPIsOverviewView_default as KPIsOverviewView, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, LeaderboardDetailView_default as LeaderboardDetailView, Legend5 as Legend, LineAssignmentDropdown, LineChart, LineHistoryCalendar, LineMonthlyHistory, LineMonthlyPdfGenerator, LinePdfExportButton, LinePdfGenerator, LineWhatsAppShareButton, LinesService, LiveTimer, LoadingInline, LoadingOverlay_default as LoadingOverlay, LoadingPage_default as LoadingPage, LoadingSkeleton, LoadingState, LoginPage, LoginView_default as LoginView, Logo, MainLayout, MapGridView, MetricCard_default as MetricCard, MinimalOnboardingPopup, MobileMenuProvider, NewClipsNotification, NoWorkspaceData, OnboardingDemo, OnboardingTour, OptifyeAgentClient, OptifyeLogoLoader_default as OptifyeLogoLoader, OutputProgressChart, PageHeader, PieChart4 as PieChart, PlantHeadView_default as PlantHeadView, PlayPauseIndicator, PrefetchConfigurationError, PrefetchError, PrefetchEvents, PrefetchStatus, PrefetchTimeoutError, ProfileView_default as ProfileView, ROOT_DASHBOARD_EVENT_NAMES, RecentFlowSnapshotGrid, RegistryProvider, RoleBadge, S3ClipsSupabaseService as S3ClipsService, S3Service, SENTRY_HANDLED_EVENT_SESSION_LIMIT, SENTRY_HANDLED_EVENT_WINDOW_MS, SENTRY_QUOTA_STORAGE_KEY, SKUManagementView, SOPComplianceChart, SSEChatClient, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, ShiftDisplay_default as ShiftDisplay, ShiftsView_default as ShiftsView, SideNavBar, SignupWithInvitation, SilentErrorBoundary, SimpleOnboardingPopup, SingleVideoStream_default as SingleVideoStream, Skeleton, SubscriptionManager, SubscriptionManagerProvider, SupabaseProvider, SupervisorDropdown_default as SupervisorDropdown, SupervisorManagementView_default as SupervisorManagementView, SupervisorService, TargetWorkspaceGrid, TargetsView_default as TargetsView, TeamManagementView_default as TeamManagementView, ThreadSidebar, TicketHistory_default as TicketHistory, TicketHistoryService, TicketsView_default as TicketsView, TimeDisplay_default as TimeDisplay, TimePickerDropdown, Timer_default as Timer, TimezoneProvider, TimezoneService, UptimeDonutChart, UptimeLineChart, UptimeMetricCards, UserAvatar, UserManagementService, UserManagementTable, UserService, UserUsageDetailModal, UserUsageStats, VideoCard, VideoGridView, VideoPlayer, VideoPreloader, WORKSPACE_POSITIONS, WhatsAppShareButton, WorkspaceCard, WorkspaceCycleTimeMetricCards, WorkspaceDetailView_default as WorkspaceDetailView, WorkspaceDisplayNameExample, WorkspaceGrid, WorkspaceGridItem, WorkspaceHealthCard, WorkspaceHealthView_default as WorkspaceHealthView, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, WorkspaceMonthlyDataFetcher, WorkspaceMonthlyHistory, WorkspaceMonthlyPdfGenerator, WorkspacePdfExportButton, WorkspacePdfGenerator, WorkspaceWhatsAppShareButton, actionService, addSentryBreadcrumb, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildKpiLineHierarchy, buildLineSkuBreakdown, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureHandledFrontendException, captureSentryException, captureSentryMessage, checkRateLimit2 as checkRateLimit, clearAllRateLimits2 as clearAllRateLimits, clearRateLimit2 as clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, combineLineMetricsRows, countRealSkus, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, fetchLineDummySkuId, fetchLineSkuCatalog, filterDataByDateKeyRange, filterRealSkuBreakdown, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, formatDuration2 as formatDuration, formatISTDate, formatIdleTime, formatRangeLabel, formatReasonLabel, formatRelativeTime, formatTimeInZone, fromUrlFriendlyName, getActionDisplayName, getActiveShift, getAllLineDisplayNames, getAllThreadMessages, getAllWorkspaceDisplayNamesAsync, getAllWorkspaceDisplayNamesSnapshot, getAnonClient, getAssignableRoles, getAssignmentColumnLabel, getAvailableShiftIds, getAwardBadgeType, getAwardDescription, getAwardTitle, getBrowserName, getCameraNumber, getCompanyMetricsTableName, getConfigurableShortWorkspaceDisplayName, getConfigurableWorkspaceDisplayName, getConfiguredLineIds, getCoreSessionRecordingProperties, getCoreSessionReplayUrl, getCurrentShift, getCurrentShiftForLine, getCurrentTimeInZone, getCurrentWeekFullRange, getCurrentWeekToDateRange, getDashboardHeaderTimeInZone, getDateKeyFromDate, getDateKeyFromValue, getDayDateKey, getDaysDifferenceInZone, getDefaultCameraStreamUrl, getDefaultLineId, getDefaultTabForWorkspace, getInitials, getLineDisplayName, getManufacturingInsights, getMetricsTablePrefix, getMonthKeyBounds, getMonthWeekRanges, getMonthlyTrendComparisonLabel, getNextUpdateInterval, getOperationalDate, getRoleAssignmentKind, getRoleDescription, getRoleLabel, getRoleMetadata, getRoleNavPaths, getS3SignedUrl, getS3VideoSrc, getShiftData, getShiftNameById, getShiftWorkDurationSeconds, getShortShiftName, getShortWorkspaceDisplayName, getShortWorkspaceDisplayNameAsync, getStoredWorkspaceMappings, getSubscriptionManager, getThreadMessages, getUniformShiftGroup, getUserThreads, getUserThreadsPaginated, getVisibleRolesForCurrentUser, getWorkspaceDisplayName, getWorkspaceDisplayNameAsync, getWorkspaceDisplayNamesMap, getWorkspaceFromUrl, getWorkspaceNavigationParams, groupLinesByShift, hasAnyShiftData, identifyCoreUser, initializeCoreMixpanel, isEfficiencyOnTrack, isFactoryScopedRole, isFullMonthRange, isIgnorableFrontendError, isLegacyConfiguration, isLoopbackHostname, isPrefetchError, isRealSku, isRecentFlowVideoGridMetricMode, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWipGatedVideoGridMetricMode, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeActionFamily, normalizeDateKeyRange, normalizeDateKeyRangeUnbounded, normalizeRoleLevel, normalizeVideoGridMetricMode, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, pickPreferredLineMetricsRow, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSentryQuotaForTests, resetSubscriptionManager, resolveDefaultSkuId, resolveLiveSkuId, s3VideoPreloader, selectPreferredLineMetricsRow, setSentryUserContext, setSentryWorkspaceContext, shouldEnableLocalDevTestLogin, shuffleArray, simulateApiDelay, skuService, startCoreSessionRecording, stopCoreSessionRecording, storeWorkspaceMapping, streamProxyConfig, subscribeWorkspaceDisplayNames, throttledReloadDashboard, toUrlFriendlyName, trackCoreEvent, trackCorePageView, transformToChartData, updateThreadTitle, upsertWorkspaceDisplayNameInCache, useAccessControl, useActiveBreaks, useActiveLineId, useAllWorkspaceMetrics, useAnalyticsConfig, useAppTimezone, useAudioService, useAuth, useAuthConfig, useAxelNotifications, useCanSaveTargets, useClipFilter, useClipTypes, useClipTypesWithCounts, useClipsInit, useCompanyClipsCost, useCompanyFastSlowClipFiltersEnabled, useCompanyHasVlmEnabledLine, useCompanyUsersUsage, useComponentOverride, useCustomConfig, useDashboardConfig, useDashboardMetrics, useDatabaseConfig, useDateFormatter, useDateTimeConfig, useDynamicShiftConfig, useEndpointsConfig, useEntityConfig, useFactoryOverviewMetrics, useFeatureFlags, useFormatNumber, useHasLineAccess, useHideMobileHeader, useHistoricWorkspaceMetrics, useHlsStream, useHlsStreamWithCropping, useHookOverride, useHourEndTimer, useHourlyTargetAchievements, useHourlyTargetMisses, useIdleTimeClipClassifications, useIdleTimeReasons, useIdleTimeVlmConfig, useKpiTrends, useLeaderboardMetrics, useLineDetailedMetrics, useLineKPIs, useLineMetrics, useLineShiftConfig, useLineSupervisor, useLineWorkspaceMetrics, useLines, useMessages, useMetrics, useMobileMenu, useMonthlyTrend, useMultiLineShiftConfigs, useNavigation, useOperationalShiftKey, useOptionalSupabase, useOverrides, usePageOverride, usePrefetchClipCounts, useRealtimeLineMetrics, useRegistry, useSKUs, useSessionKeepAlive, useSessionTracking, useSessionTrackingContext, useShiftConfig, useShiftGroups, useShifts, useSubscriptionManager, useSubscriptionManagerSafe, useSupabase, useSupabaseClient, useSupervisorsByLineIds, useTargets, useTeamManagementPermissions, useTheme, useThemeConfig, useThreads, useTicketHistory, useTimezoneContext, useUserLineAccess, useUserUsage, useVideoConfig, useWorkspaceConfig, useWorkspaceDetailedMetrics, useWorkspaceDisplayName, useWorkspaceDisplayNames, useWorkspaceDisplayNamesMap, useWorkspaceHealthById, useWorkspaceHealthLastSeen, useWorkspaceHealthStatus, useWorkspaceMetrics, useWorkspaceNavigation, useWorkspaceOperators, useWorkspaceUptimeTimeline, useWorkspaceVideoStreams, userService, videoPrefetchManager, videoPreloader, weeklyTopPerformerService, whatsappService, withAccessControl, withAuth, withRegistry, withTimezone, workspaceHealthService, workspaceService };
|
package/package.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optifye/dashboard-core",
|
|
3
|
-
"version": "6.12.
|
|
3
|
+
"version": "6.12.17",
|
|
4
4
|
"description": "Reusable UI & logic for Optifye dashboard",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist",
|
|
10
|
-
"global.css"
|
|
10
|
+
"global.css",
|
|
11
|
+
"automation.d.ts",
|
|
12
|
+
"automation.js"
|
|
11
13
|
],
|
|
12
14
|
"sideEffects": [
|
|
13
15
|
"global.css"
|
|
@@ -20,6 +22,13 @@
|
|
|
20
22
|
"require": "./dist/index.js",
|
|
21
23
|
"default": "./dist/index.js"
|
|
22
24
|
},
|
|
25
|
+
"./automation": {
|
|
26
|
+
"types": "./dist/automation.d.ts",
|
|
27
|
+
"node": "./dist/automation.js",
|
|
28
|
+
"import": "./dist/automation.js",
|
|
29
|
+
"require": "./dist/automation.js",
|
|
30
|
+
"default": "./dist/automation.js"
|
|
31
|
+
},
|
|
23
32
|
"./global.css": "./global.css"
|
|
24
33
|
},
|
|
25
34
|
"author": "",
|