@optifye/dashboard-core 6.11.48 → 6.12.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/dist/index.d.ts CHANGED
@@ -18,6 +18,84 @@ declare const normalizeVideoGridMetricMode: (value: unknown, assemblyEnabled?: b
18
18
  declare const isRecentFlowVideoGridMetricMode: (value: unknown, assemblyEnabled?: boolean) => boolean;
19
19
  declare const isWipGatedVideoGridMetricMode: (value: unknown, assemblyEnabled?: boolean) => boolean;
20
20
 
21
+ /** One row of per-SKU workspace metrics. Backend computes; frontend renders. */
22
+ interface SkuBreakdownItem {
23
+ /** UUID — `skus.id`. Stable identifier for selectors and threshold writes. */
24
+ sku_id: string;
25
+ /** Human-readable code — `skus.sku_id` (e.g. `IMT_BIG`). */
26
+ sku_code: string;
27
+ sku_definition: string;
28
+ is_dummy: boolean;
29
+ total_output: number;
30
+ target_output: number;
31
+ avg_pph: number;
32
+ pph_threshold: number;
33
+ avg_cycle_time: number;
34
+ ideal_cycle_time: number;
35
+ efficiency: number;
36
+ /** Active minutes the SKU was present in this shift; used for ranking. */
37
+ active_minutes: number;
38
+ intervals: Array<{
39
+ start_time: string;
40
+ end_time: string | null;
41
+ }>;
42
+ }
43
+ /** Hourly-chart divider segment. Dummy excluded by backend. */
44
+ interface SkuSegmentItem {
45
+ sku_id: string;
46
+ sku_code: string;
47
+ start_time: string;
48
+ end_time: string | null;
49
+ pph_threshold: number;
50
+ }
51
+ /** Per-SKU line-level breakdown (subset of workspace breakdown). */
52
+ interface LineSkuBreakdownItem {
53
+ sku_id: string;
54
+ sku_code: string;
55
+ is_dummy: boolean;
56
+ current_output: number;
57
+ ideal_output: number;
58
+ avg_efficiency: number;
59
+ /**
60
+ * Raw per-SKU target from `line_thresholds` (or the dummy-SKU fallback
61
+ * via `update_line_metrics`'s LATERAL lookup when no per-SKU row exists).
62
+ */
63
+ line_threshold: number | null;
64
+ /**
65
+ * Active-time-weighted projection per-SKU (line-scope lift of
66
+ * `pm.total_day_output_recalculated`, added by db migration v1_20).
67
+ * Semantics:
68
+ * * Active SKU mid-shift: projected full-day output if it continues.
69
+ * * Finalized SKU: raw_target × active_fraction (realized share).
70
+ * Per-SKU UIs should prefer this field for the displayed target so
71
+ * efficiency reflects real SKU activity rather than the shared line
72
+ * target. Null on rows written before v1_20 (not yet backfilled) and
73
+ * on Nahar rows (quality_metrics path doesn't populate it).
74
+ */
75
+ line_threshold_recalculated?: number | null;
76
+ total_workspaces?: number;
77
+ underperforming_workspaces?: number;
78
+ underperforming_workspace_names?: string[];
79
+ underperforming_workspace_uuids?: string[];
80
+ output_array?: number[];
81
+ output_hourly?: Record<string, any>;
82
+ idle_time_hourly?: Record<string, any>;
83
+ /**
84
+ * Poorest-performing workspaces for THIS SKU specifically (sorted by
85
+ * efficiency ascending, top 5). Excludes rows where the SKU had no
86
+ * activity. Backend builds this from `workspace_metrics_by_sku[sku_id]`.
87
+ * Absent on payloads from pre-Step-3 backends.
88
+ */
89
+ poorest_performing_workspaces?: PoorPerformingWorkspace[];
90
+ }
91
+ /** Currently-active SKU on a workspace (sourced from sku_presence end_time IS NULL). */
92
+ interface CurrentWorkspaceSKU {
93
+ sku_uuid: string;
94
+ sku_code: string;
95
+ sku_definition: string;
96
+ start_time: string;
97
+ is_dummy: boolean;
98
+ }
21
99
  interface LineInfo {
22
100
  line_id: string;
23
101
  line_name: string;
@@ -30,26 +108,43 @@ interface LineInfo {
30
108
  monitoring_mode?: 'output' | 'uptime';
31
109
  assembly?: boolean | null;
32
110
  recent_flow_window_minutes?: number;
33
- metrics: {
34
- avg_efficiency: number;
35
- avg_cycle_time: number;
36
- current_output: number;
37
- ideal_output: number;
38
- total_workspaces: number;
39
- underperforming_workspaces: number;
40
- underperforming_workspace_names: string[];
41
- underperforming_workspace_uuids: string[];
42
- output_array: number[];
43
- output_hourly?: Record<string, number[]>;
44
- line_threshold: number;
45
- threshold_pph?: number;
46
- shift_start?: string;
47
- shift_end?: string;
48
- last_updated?: string;
49
- poorest_performing_workspaces?: PoorPerformingWorkspace[];
50
- avg_idle_time_seconds?: number;
51
- idle_time_hourly?: Record<string, any> | null;
52
- };
111
+ metrics: LineDetailedMetrics;
112
+ }
113
+ /**
114
+ * Aggregated line metrics (legacy fields plus optional multi-SKU additions).
115
+ *
116
+ * The five SKU fields are populated only when `enable_sku_detection=true` AND
117
+ * at least one real SKU row exists (decision #12). When absent, consumers
118
+ * must fall back to the legacy aggregate fields.
119
+ */
120
+ interface LineDetailedMetrics {
121
+ avg_efficiency: number;
122
+ avg_cycle_time: number;
123
+ current_output: number;
124
+ ideal_output: number;
125
+ total_workspaces: number;
126
+ underperforming_workspaces: number;
127
+ underperforming_workspace_names: string[];
128
+ underperforming_workspace_uuids: string[];
129
+ output_array: number[];
130
+ output_hourly?: Record<string, number[]>;
131
+ hourly_target_output?: Array<number | null> | null;
132
+ line_threshold: number;
133
+ threshold_pph?: number;
134
+ shift_start?: string;
135
+ shift_end?: string;
136
+ last_updated?: string;
137
+ poorest_performing_workspaces?: PoorPerformingWorkspace[];
138
+ avg_idle_time_seconds?: number;
139
+ idle_time_hourly?: Record<string, any> | null;
140
+ /** True iff `enable_sku_detection=true` AND `real_sku_count >= 1`. */
141
+ sku_aware?: boolean;
142
+ /** Distinct count of non-dummy SKU rows for this (line, date, shift). */
143
+ real_sku_count?: number;
144
+ /** Per-SKU breakdown for the Line Detail selector. Includes dummy with `is_dummy=true`. */
145
+ sku_breakdown?: LineSkuBreakdownItem[];
146
+ /** Hourly-chart divider segments (dummy excluded). */
147
+ sku_segments?: SkuSegmentItem[];
53
148
  }
54
149
  interface PoorPerformingWorkspace {
55
150
  workspace_name: string;
@@ -130,6 +225,7 @@ interface WorkspaceDetailedMetrics {
130
225
  avg_efficiency: number;
131
226
  total_actions: number;
132
227
  hourly_action_counts: number[];
228
+ hourly_target_output?: Array<number | null> | null;
133
229
  hourly_cycle_times?: number[];
134
230
  cycle_completion_clip_count?: number | null;
135
231
  cycle_time_data_status?: 'available' | 'missing_clips' | null;
@@ -142,6 +238,19 @@ interface WorkspaceDetailedMetrics {
142
238
  idle_time_hourly?: Record<string, string[]>;
143
239
  compliance_efficiency?: number;
144
240
  sop_check?: Record<string, number>;
241
+ /** True iff `enable_sku_detection=true` AND `real_sku_count >= 1`. */
242
+ sku_aware?: boolean;
243
+ /**
244
+ * True when only dummy rows exist for this workspace/shift. Default `true`
245
+ * for legacy lines so the SKU UI is hidden by default. Backend authoritative.
246
+ */
247
+ is_dummy_only?: boolean;
248
+ /** Distinct count of non-dummy SKU rows for this (workspace, date, shift). */
249
+ real_sku_count?: number;
250
+ /** Per-SKU workspace breakdown ordered by `active_minutes desc, total_output desc`. */
251
+ sku_breakdown?: SkuBreakdownItem[];
252
+ /** Hourly-chart divider segments (dummy excluded). */
253
+ sku_segments?: SkuSegmentItem[];
145
254
  }
146
255
  interface DashboardKPIs {
147
256
  underperformingWorkers: {
@@ -1483,53 +1592,21 @@ interface SSEEvent {
1483
1592
  interface SKU {
1484
1593
  id: string;
1485
1594
  sku_id: string;
1595
+ sku_definition: string;
1486
1596
  company_id: string;
1597
+ line_id: string;
1487
1598
  production_target: number;
1488
1599
  attributes: {
1489
1600
  [key: string]: any;
1490
1601
  };
1602
+ pph_threshold?: number | null;
1603
+ ideal_cycle_time?: number | null;
1604
+ total_day_output?: number | null;
1605
+ rfdetr_label?: string | null;
1491
1606
  is_active: boolean;
1492
1607
  created_at: string;
1493
1608
  updated_at: string;
1494
1609
  }
1495
- interface SKUCreateInput {
1496
- sku_id: string;
1497
- company_id: string;
1498
- production_target: number;
1499
- attributes?: {
1500
- [key: string]: any;
1501
- };
1502
- is_active?: boolean;
1503
- }
1504
- interface SKUUpdateInput {
1505
- sku_id?: string;
1506
- production_target?: number;
1507
- attributes?: {
1508
- [key: string]: any;
1509
- };
1510
- is_active?: boolean;
1511
- }
1512
- interface SKUModalProps {
1513
- isOpen: boolean;
1514
- onClose: () => void;
1515
- onSave: (sku: SKUCreateInput) => Promise<void>;
1516
- editingSKU?: SKU | null;
1517
- }
1518
- interface SKUSelectorProps {
1519
- onSelect: (sku: SKU | null) => void;
1520
- selectedSKU?: SKU | null;
1521
- availableSKUs: SKU[];
1522
- className?: string;
1523
- lineId: string;
1524
- disabled?: boolean;
1525
- required?: boolean;
1526
- }
1527
- interface SKUListProps {
1528
- skus: SKU[];
1529
- onEdit: (sku: SKU) => void;
1530
- onDelete: (sku: SKU) => void;
1531
- isLoading?: boolean;
1532
- }
1533
1610
 
1534
1611
  /**
1535
1612
  * Supervisor-related type definitions for the dashboard
@@ -2903,6 +2980,7 @@ interface HistoricWorkspaceMetrics {
2903
2980
  output_array?: number[];
2904
2981
  idle_time_hourly?: Record<string, string[]>;
2905
2982
  hourly_action_counts: number[];
2983
+ hourly_target_output?: Array<number | null> | null;
2906
2984
  hourly_cycle_times?: number[];
2907
2985
  cycle_completion_clip_count?: number | null;
2908
2986
  cycle_time_data_status?: 'available' | 'missing_clips' | null;
@@ -2921,6 +2999,11 @@ interface HistoricWorkspaceMetrics {
2921
2999
  performance_score?: number;
2922
3000
  compliance_efficiency?: number;
2923
3001
  sop_check?: Record<string, number>;
3002
+ sku_aware?: boolean;
3003
+ is_dummy_only?: boolean;
3004
+ real_sku_count?: number;
3005
+ sku_breakdown?: SkuBreakdownItem[];
3006
+ sku_segments?: SkuSegmentItem[];
2924
3007
  }
2925
3008
  /**
2926
3009
  * @hook useHistoricWorkspaceMetrics
@@ -2988,6 +3071,10 @@ declare const useHistoricWorkspaceMetrics: (workspaceId: string, date: string, s
2988
3071
  */
2989
3072
  declare const useLineDetailedMetrics: (lineIdFromProp: string) => {
2990
3073
  lineData: LineInfo | null;
3074
+ aggregate: LineInfo | null;
3075
+ skuBreakdown: LineSkuBreakdownItem[];
3076
+ skuAware: boolean;
3077
+ realSkuCount: number;
2991
3078
  loading: boolean;
2992
3079
  error: MetricsError | null;
2993
3080
  refetch: () => Promise<void>;
@@ -3183,6 +3270,9 @@ declare const useLineKPIs: ({ lineId, enabled }: LineKPIsProps) => {
3183
3270
  isLoading: boolean;
3184
3271
  error: MetricsError | null;
3185
3272
  refetch: () => Promise<void>;
3273
+ skuBreakdown: LineSkuBreakdownItem[];
3274
+ skuAware: boolean;
3275
+ realSkuCount: number;
3186
3276
  };
3187
3277
 
3188
3278
  /**
@@ -3233,6 +3323,9 @@ interface LineMetrics {
3233
3323
  last_updated: string;
3234
3324
  poorest_performing_workspaces?: PoorPerformingWorkspace[];
3235
3325
  idle_time_hourly?: Record<string, any> | null;
3326
+ sku_aware?: boolean;
3327
+ real_sku_count?: number;
3328
+ sku_breakdown?: LineSkuBreakdownItem[];
3236
3329
  }
3237
3330
  interface LineDetails {
3238
3331
  id: string;
@@ -3794,13 +3887,59 @@ declare const useAllWorkspaceMetrics: (options?: UseAllWorkspaceMetricsOptions)
3794
3887
  refreshWorkspaces: () => Promise<void>;
3795
3888
  };
3796
3889
 
3890
+ /**
3891
+ * Read-only SKU catalog client (Phase 8, decision #2 in PLAN.md).
3892
+ *
3893
+ * The backend exposes only GET endpoints; admin-managed mutations happen
3894
+ * directly in the database, not from the dashboard. The historical
3895
+ * create / update / soft-delete / image-inference helpers have been
3896
+ * removed and must not return.
3897
+ */
3898
+ interface GetSKUsOptions {
3899
+ /** Restrict to a single line (uuid). */
3900
+ lineId?: string;
3901
+ /**
3902
+ * Drop placeholder SKUs (`sku_definition='dummy_definition'`) from the
3903
+ * response. Defaults to `true` because no customer-facing surface should
3904
+ * ever expose dummy rows (decision #16 in PLAN.md).
3905
+ */
3906
+ excludeDummy?: boolean;
3907
+ /**
3908
+ * Tri-state active filter:
3909
+ * - `true`: only active SKUs
3910
+ * - `false`: only inactive SKUs
3911
+ * - `undefined` (default): return both — matches the SKU Management
3912
+ * UI's "All statuses" filter so users can see decommissioned SKUs.
3913
+ */
3914
+ isActive?: boolean;
3915
+ }
3916
+ declare const skuService: {
3917
+ /**
3918
+ * Fetch SKUs for a company. Defaults filter out dummy SKUs.
3919
+ */
3920
+ getSKUs(companyId: string, options?: GetSKUsOptions): Promise<SKU[]>;
3921
+ /**
3922
+ * Fetch a single SKU by its UUID.
3923
+ */
3924
+ getSKU(skuId: string): Promise<SKU | null>;
3925
+ };
3926
+
3797
3927
  interface UseSKUsReturn {
3798
3928
  skus: SKU[];
3799
3929
  isLoading: boolean;
3800
3930
  error: Error | null;
3801
3931
  refetch: () => Promise<void>;
3802
3932
  }
3803
- declare const useSKUs: (companyId: string) => UseSKUsReturn;
3933
+ /**
3934
+ * Read-only SKU catalog hook (Phase 8).
3935
+ *
3936
+ * - Always defaults to filtering out dummy SKUs (`sku_definition='dummy_definition'`)
3937
+ * per decision #16 in PLAN.md.
3938
+ * - Subscribes to the `skus` table so the list refreshes when an admin edits
3939
+ * the catalog directly in the database.
3940
+ * - Returns only `{ skus, isLoading, error, refetch }` — no mutation helpers.
3941
+ */
3942
+ declare const useSKUs: (companyId: string, options?: GetSKUsOptions) => UseSKUsReturn;
3804
3943
 
3805
3944
  /**
3806
3945
  * Hook to check if the current user can save targets
@@ -5461,6 +5600,197 @@ declare const actionService: {
5461
5600
  };
5462
5601
  type ActionService = typeof actionService;
5463
5602
 
5603
+ type HourlyValue = number | string | null;
5604
+ type HourlyData = Record<string, HourlyValue[]> | Record<string, HourlyValue> | HourlyValue[] | null | undefined;
5605
+
5606
+ /**
5607
+ * Helpers for deterministic line_metrics row selection when multiple rows
5608
+ * exist for the same (factory_id, line_id, date, shift_id) (one row per
5609
+ * sku_id under multi-SKU detection).
5610
+ *
5611
+ * `selectPreferredLineMetricsRow` is the pure helper — mirrors
5612
+ * `backend/backend/utils/line_metrics_selection.py`.
5613
+ *
5614
+ * `pickPreferredLineMetricsRow` is the legacy async wrapper retained for
5615
+ * existing callers; it fetches the dummy SKU id from Supabase and delegates
5616
+ * to the pure helper.
5617
+ */
5618
+ type LineMetricsRow = {
5619
+ sku_id?: string | null;
5620
+ last_updated?: string | null;
5621
+ [key: string]: any;
5622
+ };
5623
+ /**
5624
+ * Pure helper: pick the preferred line_metrics row.
5625
+ *
5626
+ * 1. Empty rows → null.
5627
+ * 2. Single row → that row.
5628
+ * 3. If `dummySkuId` provided and matches a row, return that row.
5629
+ * 4. Otherwise sort by (last_updated DESC, sku_id ASC) and return the first.
5630
+ */
5631
+ declare const selectPreferredLineMetricsRow: (rows: LineMetricsRow[] | null | undefined, dummySkuId?: string | null) => LineMetricsRow | null;
5632
+ /**
5633
+ * Legacy async wrapper: fetches the line's dummy SKU id from Supabase and
5634
+ * delegates to {@link selectPreferredLineMetricsRow}. Existing callers expect
5635
+ * this signature; Phase 4 will switch them to the pure helper once dummy
5636
+ * lookups are co-located with other line metadata.
5637
+ */
5638
+ declare const pickPreferredLineMetricsRow: (supabase: {
5639
+ from: (table: string) => any;
5640
+ }, lineId: string, rows: LineMetricsRow[] | null | undefined, skuTable?: string) => Promise<LineMetricsRow | null>;
5641
+
5642
+ /**
5643
+ * Pure helper for combining multiple `line_metrics` rows (one per SKU)
5644
+ * into a single aggregated line snapshot. Mirrors
5645
+ * `backend/backend/services/dashboard_service.py::_combine_line_metrics_rows`.
5646
+ *
5647
+ * Per PLAN.md §5 / decision #16:
5648
+ * - Aggregates `current_output` and `ideal_output` sum across
5649
+ * **real-SKU rows only**. Dummy rows contribute 0 — they are skipped
5650
+ * from that summation set.
5651
+ * - Weighted-average fields (avg_efficiency, avg_cycle_time, threshold_pph)
5652
+ * use per-row active-minutes as weight; falls back to plain mean when
5653
+ * no row has positive weight.
5654
+ * - `underperforming_workspaces` is averaged across ACTIVE real rows only
5655
+ * (real row with `current_output > 0 || ideal_output > 0`), rounded
5656
+ * half-up to the nearest whole number. Names / UUIDs are deduped unions
5657
+ * across that same active-real set.
5658
+ * - Hourly fields (output_hourly, idle_time_hourly) merge through
5659
+ * `mergeHourlyFields` over the FULL row set (including dummy) so we
5660
+ * never drop a minute that only the dummy row has data for. Dummy
5661
+ * rows almost always carry zero/sentinel values, so the merged sum
5662
+ * is unaffected in practice.
5663
+ * - Pass-through scalars (shift_start, shift_end, factory_id,
5664
+ * total_workspaces, last_updated) are sourced from the
5665
+ * "primary" row — selected from the real-SKU set when one exists,
5666
+ * otherwise the full row set, using
5667
+ * {@link selectPreferredLineMetricsRow}'s tie-breaker (last_updated
5668
+ * desc, sku_id asc).
5669
+ *
5670
+ * The helper is **pure** — it never queries Supabase. Callers that need
5671
+ * `dummySkuId` from the database should resolve it ahead of time (or
5672
+ * use {@link pickPreferredLineMetricsRow}'s legacy async wrapper for
5673
+ * single-row callers).
5674
+ */
5675
+
5676
+ interface CombinedLineMetricsRow extends LineMetricsRow {
5677
+ current_output: number;
5678
+ ideal_output: number;
5679
+ avg_efficiency: number;
5680
+ avg_cycle_time: number;
5681
+ line_threshold: number;
5682
+ threshold_pph: number;
5683
+ total_workspaces: number;
5684
+ underperforming_workspaces: number;
5685
+ underperforming_workspace_names: string[];
5686
+ underperforming_workspace_uuids: string[];
5687
+ output_array: number[];
5688
+ output_hourly: HourlyData;
5689
+ idle_time_hourly: HourlyData;
5690
+ shift_start: string | null;
5691
+ shift_end: string | null;
5692
+ factory_id: string | null;
5693
+ last_updated: string | null;
5694
+ }
5695
+ /**
5696
+ * Best-effort dummy SKU lookup for a line. Returns `null` when the line has
5697
+ * no dummy SKU, when the table cannot be queried, or when the lookup itself
5698
+ * throws — matches the failure semantics of {@link pickPreferredLineMetricsRow}.
5699
+ *
5700
+ * Co-located with {@link combineLineMetricsRows} so callers can resolve the
5701
+ * dummy SKU id once at the top of a request and feed it into the pure
5702
+ * aggregator without spreading async lookups across the call chain.
5703
+ */
5704
+ declare const fetchLineDummySkuId: (supabase: {
5705
+ from: (table: string) => any;
5706
+ }, lineId: string, skuTable?: string) => Promise<string | null>;
5707
+ interface SkuLookupRow {
5708
+ id: string;
5709
+ sku_id?: string | null;
5710
+ sku_definition?: string | null;
5711
+ }
5712
+ /**
5713
+ * Best-effort SKU metadata lookup for a line. Returns the catalog rows for
5714
+ * every active SKU on the line. Used by callers that need to classify
5715
+ * `line_metrics` rows as dummy/real and render `sku_breakdown` arrays.
5716
+ */
5717
+ declare const fetchLineSkuCatalog: (supabase: {
5718
+ from: (table: string) => any;
5719
+ }, lineId: string, skuTable?: string) => Promise<SkuLookupRow[]>;
5720
+ /**
5721
+ * Build a `LineSkuBreakdownItem`-shaped array from raw `line_metrics` rows
5722
+ * and a SKU catalog. The returned items mirror the backend's `sku_breakdown`
5723
+ * payload ordered by `current_output desc` (active_minutes is unavailable
5724
+ * at the line level — backend uses output as the tiebreaker).
5725
+ *
5726
+ * Pass an empty `skuCatalog` for non-detection lines; the function will
5727
+ * return rows annotated with `is_dummy=false` so consumers fall back to the
5728
+ * legacy aggregate view via the `sku_aware` gate.
5729
+ */
5730
+ type LineSkuBreakdownBuiltItem = {
5731
+ sku_id: string;
5732
+ sku_code: string;
5733
+ is_dummy: boolean;
5734
+ current_output: number;
5735
+ ideal_output: number;
5736
+ avg_efficiency: number;
5737
+ /**
5738
+ * Raw per-SKU target from `line_thresholds` (or the dummy-SKU fallback via
5739
+ * `update_line_metrics`'s LATERAL lookup when no per-SKU row exists).
5740
+ * Under today's data, every row carries the shared line target.
5741
+ */
5742
+ line_threshold: number | null;
5743
+ /**
5744
+ * Active-time-weighted projection per-SKU — the line-scope lift of
5745
+ * `pm.total_day_output_recalculated`. Computed by `update_line_metrics`
5746
+ * per v1_20. Per-SKU UIs should prefer this field for the displayed
5747
+ * target so efficiency reflects real activity:
5748
+ * * Active SKU mid-shift: projected full-day if it continues
5749
+ * * Finalized SKU: raw × active_fraction (realized share of target)
5750
+ * Null on rows written before v1_20 applied (not yet backfilled) and on
5751
+ * Nahar rows (update_line_metrics_from_quality doesn't populate it).
5752
+ */
5753
+ line_threshold_recalculated: number | null;
5754
+ total_workspaces: number;
5755
+ underperforming_workspaces: number;
5756
+ underperforming_workspace_names: string[];
5757
+ underperforming_workspace_uuids: string[];
5758
+ output_array: number[];
5759
+ output_hourly: Record<string, any>;
5760
+ idle_time_hourly: Record<string, any>;
5761
+ /**
5762
+ * Per-SKU poorest-performing workspaces list (populated by the backend
5763
+ * `get_line_detail_metrics` enrichment). The client-side builder leaves
5764
+ * it empty — the backend is the source of truth for this field.
5765
+ */
5766
+ poorest_performing_workspaces?: Array<{
5767
+ workspace_name: string;
5768
+ efficiency: number;
5769
+ action_count: number;
5770
+ action_threshold: number;
5771
+ }>;
5772
+ };
5773
+ declare const buildLineSkuBreakdown: (rows: LineMetricsRow[] | null | undefined, skuCatalog: SkuLookupRow[]) => LineSkuBreakdownBuiltItem[];
5774
+ /**
5775
+ * Count distinct non-dummy SKUs in a row set. Mirrors backend's
5776
+ * `real_sku_count` derivation — used to gate the SKU UI per decision #12.
5777
+ */
5778
+ declare const countRealSkus: (rows: LineMetricsRow[] | null | undefined, skuCatalog: SkuLookupRow[]) => number;
5779
+ /**
5780
+ * Aggregate one or more `line_metrics` rows into a single line snapshot.
5781
+ *
5782
+ * @param rows - All `line_metrics` rows for the same `(line_id, date, shift_id)`.
5783
+ * Each row corresponds to one `sku_id`.
5784
+ * @param dummySkuId - Optional dummy SKU id. When provided, rows whose
5785
+ * `sku_id` matches are excluded from sums and weighted averages
5786
+ * (they still flow through hourly merge). When omitted, every
5787
+ * row is treated as real.
5788
+ *
5789
+ * @returns Aggregated row with the same shape as a single `line_metrics`
5790
+ * row plus the `factory_id` / `last_updated` from the primary row.
5791
+ */
5792
+ declare const combineLineMetricsRows: (rows: LineMetricsRow[] | null | undefined, dummySkuId?: string | null) => CombinedLineMetricsRow;
5793
+
5464
5794
  declare const dashboardService: {
5465
5795
  getLineInfo(lineIdInput: string): Promise<LineInfo>;
5466
5796
  getWorkspacesData(lineIdInput?: string, dateProp?: string, shiftProp?: number): Promise<WorkspaceMetrics[]>;
@@ -5634,6 +5964,20 @@ declare class WorkspaceHealthService {
5634
5964
  private getShiftTimingForDateShift;
5635
5965
  private normalizeHourBucket;
5636
5966
  private normalizeOutputHourly;
5967
+ /**
5968
+ * Group multi-SKU `performance_metrics` rows by workspace and merge their
5969
+ * per-minute series. Multi-SKU lines emit one row per (workspace, sku)
5970
+ * combination, but uptime is a workspace-level concept ("did the workspace
5971
+ * have any output this minute?"). Without this merge, the last row for a
5972
+ * workspace wins (via `uptimeMap.set`), which silently drops minutes that
5973
+ * only one SKU has data for.
5974
+ *
5975
+ * The merged record carries the union of `output_hourly` values per minute
5976
+ * (`mergeOutputHourly` preserves real values over sentinels), and a
5977
+ * pointwise sum of `output_array`. Other fields are taken from the first
5978
+ * row encountered for the workspace.
5979
+ */
5980
+ private mergeRecordsByWorkspace;
5637
5981
  private interpretUptimeValue;
5638
5982
  private deriveStatusForMinute;
5639
5983
  private hasCompletedTimelineData;
@@ -5663,33 +6007,6 @@ declare class WorkspaceHealthService {
5663
6007
  }
5664
6008
  declare const workspaceHealthService: WorkspaceHealthService;
5665
6009
 
5666
- declare const skuService: {
5667
- /**
5668
- * Fetch all active SKUs for a company
5669
- */
5670
- getSKUs(companyId: string): Promise<SKU[]>;
5671
- /**
5672
- * Get a single SKU by ID
5673
- */
5674
- getSKU(skuId: string): Promise<SKU | null>;
5675
- /**
5676
- * Create a new SKU
5677
- */
5678
- createSKU(skuData: SKUCreateInput): Promise<SKU>;
5679
- /**
5680
- * Update an existing SKU
5681
- */
5682
- updateSKU(skuId: string, updates: SKUUpdateInput): Promise<SKU>;
5683
- /**
5684
- * Soft delete a SKU (set is_active to false)
5685
- */
5686
- deleteSKU(skuId: string): Promise<void>;
5687
- /**
5688
- * Check if a SKU ID already exists for a company
5689
- */
5690
- checkSKUExists(companyId: string, skuId: string, excludeId?: string): Promise<boolean>;
5691
- };
5692
-
5693
6010
  declare const authCoreService: {
5694
6011
  signInWithPassword(supabase: SupabaseClient$1, email: string, password: string): Promise<{
5695
6012
  user: User;
@@ -7152,6 +7469,64 @@ declare function captureSentryException(error: unknown, extras?: Record<string,
7152
7469
  */
7153
7470
  declare function captureHandledFrontendException(error: unknown, extras?: Record<string, unknown>): void;
7154
7471
 
7472
+ /**
7473
+ * SKU UI selection helpers — pure, side-effect free.
7474
+ *
7475
+ * Used by Phase 5 (Workspace Detail) and re-usable by Phase 6 (Line Detail) and
7476
+ * Phase 7 (Targets).
7477
+ *
7478
+ * Decision #16 (PLAN.md): Dummy SKUs (`sku_definition='dummy_definition'`) are
7479
+ * never shown in customer-facing UI. Every helper here filters them out.
7480
+ */
7481
+
7482
+ /** Minimum surface required to identify a dummy item. */
7483
+ interface DummyAware {
7484
+ is_dummy?: boolean;
7485
+ }
7486
+ /** Non-dummy filter — single source of truth for the visibility rule. */
7487
+ declare const isRealSku: <T extends DummyAware>(item: T) => boolean;
7488
+ /**
7489
+ * Filter helper for any SKU-bearing array (workspace breakdown, line breakdown,
7490
+ * etc.). Generic so callers preserve their concrete row type.
7491
+ */
7492
+ declare const filterRealSkuBreakdown: <T extends DummyAware>(items?: T[] | null) => T[];
7493
+ /**
7494
+ * Resolve the default SKU ID to display in a per-SKU selector.
7495
+ *
7496
+ * Resolution order (per Phase 5 spec):
7497
+ * 1. First currently-active segment (`end_time === null`). If multiple are
7498
+ * active, take the most recent by `start_time`.
7499
+ * 2. Otherwise the most recent segment by `start_time` (descending).
7500
+ * 3. Otherwise the first non-dummy item in `breakdown`.
7501
+ * 4. Otherwise `null` — caller should defensively fall back to legacy view.
7502
+ *
7503
+ * Note: `sku_segments` from the backend already excludes dummies (Phase 2
7504
+ * contract). We additionally filter defensively if any segment exposes a
7505
+ * truthy `is_dummy` flag (it shouldn't on the typed contract, but we stay
7506
+ * resilient to malformed payloads).
7507
+ *
7508
+ * Returns the SKU's UUID (`sku_id`), which is the stable identifier for both
7509
+ * `sku_breakdown` and `sku_segments`.
7510
+ */
7511
+ declare const resolveDefaultSkuId: (segments?: SkuSegmentItem[] | null, breakdown?: SkuBreakdownItem[] | null) => string | null;
7512
+ /**
7513
+ * Resolve the **currently running** SKU — strictly defined as the open-ended
7514
+ * interval (`end_time === null`) with the most recent `start_time`.
7515
+ *
7516
+ * Semantics differ from {@link resolveDefaultSkuId}:
7517
+ * - resolveDefaultSkuId → "which SKU should the dropdown default to?"
7518
+ * Falls back to the most recent closed segment, then to `sku_breakdown`.
7519
+ * - resolveLiveSkuId → "which SKU is literally running right now?"
7520
+ * Returns `null` when nothing is open — used by the green "Currently
7521
+ * running" dot; we don't want to flag a SKU that already stopped.
7522
+ *
7523
+ * `sku_segments[].start_time` from the backend is a full ISO timestamp
7524
+ * (e.g. `"2026-04-20T02:30:00+00:00"`, from `sku_presence.start_time`, a
7525
+ * PostgreSQL `timestamp with time zone`). Parse with `Date.parse` directly —
7526
+ * do NOT prefix with `"1970-01-01T"` (that produces `Invalid Date` → NaN).
7527
+ */
7528
+ declare const resolveLiveSkuId: (segments?: SkuSegmentItem[] | null) => string | null;
7529
+
7155
7530
  declare const isLoopbackHostname: (hostname: string | null | undefined) => boolean;
7156
7531
  declare const shouldEnableLocalDevTestLogin: ({ enabledFlag, hostname, }: {
7157
7532
  enabledFlag: boolean;
@@ -7325,6 +7700,15 @@ interface OutputProgressChartProps {
7325
7700
  currentOutput: number;
7326
7701
  targetOutput: number;
7327
7702
  className?: string;
7703
+ /**
7704
+ * Per-SKU breakdown rows (Phase 5). When non-empty, renders one progress row
7705
+ * per real SKU instead of the legacy single-pie layout. Caller must filter
7706
+ * dummy SKUs but defensive filtering is applied here too (decision #16).
7707
+ */
7708
+ skuBreakdown?: SkuBreakdownItem[];
7709
+ selectedSkuId?: string | null;
7710
+ onSelectSku?: (skuId: string | null) => void;
7711
+ liveSkuId?: string | null;
7328
7712
  }
7329
7713
  declare const OutputProgressChart: React__default.NamedExoticComponent<OutputProgressChartProps>;
7330
7714
 
@@ -7370,15 +7754,23 @@ declare const CycleTimeOverTimeChart: React__default.FC<CycleTimeOverTimeChartPr
7370
7754
  interface HourlyOutputChartProps {
7371
7755
  data: number[];
7372
7756
  pphThreshold: number;
7757
+ hourlyTargetOutput?: Array<number | null> | null;
7373
7758
  shiftStart: string;
7374
7759
  shiftEnd?: string;
7375
7760
  showIdleTime?: boolean;
7376
- idleTimeHourly?: Record<string, string[]>;
7761
+ idleTimeHourly?: Record<string, any> | null;
7377
7762
  idleTimeClips?: IdleTimeClipMetadata[];
7378
7763
  idleTimeClipClassifications?: Record<string, ClipClassification>;
7379
7764
  shiftDate?: string;
7380
7765
  timezone?: string;
7381
7766
  className?: string;
7767
+ /**
7768
+ * Optional SKU transition segments. When provided, vertical divider lines
7769
+ * with `sku_code` labels are rendered at each transition. Backend already
7770
+ * excludes dummy SKUs from this list. (Phase 5, decision #7.)
7771
+ */
7772
+ skuSegments?: SkuSegmentItem[];
7773
+ activeSkuId?: string | null;
7382
7774
  }
7383
7775
 
7384
7776
  declare const HourlyOutputChart: (props: HourlyOutputChartProps) => react_jsx_runtime.JSX.Element;
@@ -8245,6 +8637,9 @@ interface WorkspaceMetricCardsProps {
8245
8637
  workspace: WorkspaceDetailedMetrics;
8246
8638
  className?: string;
8247
8639
  legend?: EfficiencyLegendUpdate;
8640
+ skuAware?: boolean;
8641
+ skuBreakdown?: any[];
8642
+ activeSkuId?: string | null;
8248
8643
  }
8249
8644
  declare const WorkspaceMetricCardsImpl: React__default.FC<WorkspaceMetricCardsProps>;
8250
8645
  declare const WorkspaceMetricCards: React__default.FC<WorkspaceMetricCardsProps>;
@@ -8260,6 +8655,9 @@ interface WorkspaceCycleTimeMetricCardsProps {
8260
8655
  isLoading?: boolean;
8261
8656
  error?: string | null;
8262
8657
  };
8658
+ skuAware?: boolean;
8659
+ skuBreakdown?: any[];
8660
+ activeSkuId?: string | null;
8263
8661
  }
8264
8662
  declare const WorkspaceCycleTimeMetricCards: React__default.FC<WorkspaceCycleTimeMetricCardsProps>;
8265
8663
 
@@ -8434,7 +8832,6 @@ interface WorkspaceGridItemProps {
8434
8832
  legend?: EfficiencyLegendUpdate;
8435
8833
  }
8436
8834
  interface LegendProps {
8437
- useBottleneckLabel?: boolean;
8438
8835
  legend?: EfficiencyLegendUpdate;
8439
8836
  metricLabel?: string;
8440
8837
  }
@@ -8494,7 +8891,6 @@ interface VideoCardProps {
8494
8891
  shouldPlay: boolean;
8495
8892
  onClick?: () => void;
8496
8893
  onFatalError?: () => void;
8497
- isVeryLowEfficiency?: boolean;
8498
8894
  legend?: EfficiencyLegendUpdate;
8499
8895
  cropping?: VideoCroppingRect;
8500
8896
  canvasFps?: number;
@@ -10330,4 +10726,4 @@ interface ThreadSidebarProps {
10330
10726
  }
10331
10727
  declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
10332
10728
 
10333
- export { ACTION_FAMILIES, ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type AccessScope$1 as AccessScope, type Action, type ActionFamily, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AppRoleLevel, type AssignUserToFactoriesInput, type AssignUserToLinesInput, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, AuthService, type AuthStatus, type AuthUser, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, type AvatarUploadProps, type AwardBadgeType, type AwardNotificationRecord, type AwardNotificationType, type AwardRecord, type AwardType, AxelNotificationPopup, type AxelNotificationPopupProps, AxelOrb, type AxelOrbProps, type AxelSuggestion, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, BottleneckClipsModal, type BottleneckClipsModalProps, type BottleneckClipsNavigationParams, BottleneckClipsView, type BottleneckClipsViewProps, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, type CalendarShiftData, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangeRoleDialog, type ChangeRoleDialogProps, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, ClipsCostView, CompactWorkspaceHealthCard, type CompanyUsageReport, type CompanyUser, type CompanyUserUsageSummary, type CompanyUserWithDetails, type ComponentOverride, ConfirmRemoveUserDialog, type ConfirmRemoveUserDialogProps, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CountDelta, type CreateInvitationInput, type CropConfig, CroppedHlsVideoPlayer, type CroppedHlsVideoPlayerProps, CroppedVideoPlayer, type CroppedVideoPlayerProps, type CurrentShiftResult, CycleTimeChart, type CycleTimeChartProps, CycleTimeOverTimeChart, type CycleTimeOverTimeChartProps, DEFAULT_ANALYTICS_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_CONFIG, DEFAULT_DATABASE_CONFIG, DEFAULT_DATE_TIME_CONFIG, DEFAULT_ENDPOINTS_CONFIG, DEFAULT_ENTITY_CONFIG, DEFAULT_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, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DashboardSurface, type DatabaseConfig, DateDisplay, type DateKeyRange, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DurationDelta, type DynamicLineShiftConfig, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type Factory, FactoryAssignmentDropdown, type FactoryAssignmentDropdownProps, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, type FetchIdleTimeReasonsParams, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, HealthDateShiftSelector, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HomeViewConfig, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, HourlyUptimeChart, type HourlyUptimeChartProps, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, type IdleTimeClipMetadata, type IdleTimeReason, type IdleTimeReasonData, type IdleTimeReasonsData, type IdleTimeReasonsResponse, IdleTimeVlmConfigProvider, ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, InvitationsTable, InviteUserDialog, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, type KpiTrend, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineAssignmentDropdown, type LineAssignmentDropdownProps, LineChart, type LineChartDataItem, type LineChartProps, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineIssueResolutionSummary, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineRecord, type LineShiftConfig, type LineShiftInfo, type LineSnapshot, type LineSupervisor, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LinesService, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, Logo, type LogoProps, MainLayout, type MainLayoutProps, MapGridView, type MapViewConfig, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, MinimalOnboardingPopup, type MixpanelSessionOptions, MobileMenuProvider, type MobileMenuProviderProps, type MonthWeekRange, type MonthlyTrendSummary, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NewClipsNotification, type NewClipsNotificationProps, NoWorkspaceData, OnboardingDemo, OnboardingTour, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, type PercentageDelta, PieChart, type PieChartProps, PlantHeadView, PlayPauseIndicator, type PlayPauseIndicatorProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, ROOT_DASHBOARD_EVENT_NAMES, type RateLimitOptions, type RateLimitResult, type RealtimeLineMetricsProps, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoleAssignmentKind, RoleBadge, type RoleMetadata, type RoutePath, type S3ClipsAPIParams, S3ClipsSupabaseService as S3ClipsService, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, type SKU, type SKUConfig, type SKUCreateInput, type SKUListProps, SKUManagementView, type SKUModalProps, type SKUSelectorProps, type SKUUpdateInput, type SOPCategory$1 as SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, type SettingsPopupItem, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftLineGroup, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, SignupWithInvitation, type SignupWithInvitationProps, SilentErrorBoundary, type SimpleLine, SimpleOnboardingPopup, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type StatusChangeCallback$1 as StatusChangeCallback, type StorageService, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, type SupervisorDetail, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorLine, type SupervisorManagementData, SupervisorManagementView, type SupervisorManagementViewProps, SupervisorService, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type TeamManagementPermissions, TeamManagementView, type TeamManagementViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, type TicketsConfig, TicketsView, type TicketsViewProps, TimeDisplay, TimePickerDropdown, Timer, TimezoneProvider, TimezoneService, type TodayUsage, type TodayUsageData, type TodayUsageReport, type TopPerformerRecord, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserNameInput, type UpdateUserProfileInput, type UpdateUserRoleInput, type UptimeDetails, UptimeDonutChart, type UptimeDonutChartProps, UptimeLineChart, type UptimeLineChartProps, UptimeMetricCards, type UptimeMetricCardsProps, type UptimeStatus$1 as UptimeStatus, type UsageBreakdown, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseCompanyUsersUsageOptions, type UseCompanyUsersUsageReturn, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseIdleTimeReasonsProps, type UseIdleTimeReasonsResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UseMultiLineShiftConfigsResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseSupervisorsByLineIdsResult, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseUserUsageOptions, type UseUserUsageReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, UserAvatar, type UserAvatarProps, type UserInvitation, UserManagementService, UserManagementTable, type UserProfileConfig, type UserRole, type UserRoleLevel, UserService, type UserUsageDetail, UserUsageDetailModal, type UserUsageDetailModalProps, type UserUsageInfo, UserUsageStats, type UserUsageStatsProps, type UserUsageSummary, type ValueDelta, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, type VideoGridMetricMode, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WeeklyTopPerformerRecord, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, type WorkspaceCameraIpInfo, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig$1 as WorkspaceConfig, type WorkspaceCropRect, WorkspaceCycleTimeMetricCards, type WorkspaceCycleTimeMetricCardsProps, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, type WorkspaceDowntimeSegment, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceGridPosition, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, type WorkspaceHealthStatusData, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, WorkspaceMonthlyHistory, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUptimeTimeline, type WorkspaceUptimeTimelinePoint, type WorkspaceUrlMapping, type WorkspaceVideoStream, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureHandledFrontendException, captureSentryException, captureSentryMessage, checkRateLimit, clearAllRateLimits, clearRateLimit, clearS3VideoCache, clearS3VideoFromCache, clearSentryContext, clearWorkspaceDisplayNamesCache, cn, createDefaultKPIs, createInvitationService, createLinesService, createSessionTracker, createStorageService, createStreamProxyHandler, createSupabaseClient, createSupervisorService, createThrottledReload, createUserManagementService, createUserService, dashboardService, deleteThread, fetchIdleTimeReasons, filterDataByDateKeyRange, forceRefreshWorkspaceDisplayNames, formatAwardMonth, formatDateInZone, formatDateKeyForDisplay, formatDateTimeInZone, 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, isRecentFlowVideoGridMetricMode, isSafari, isSupervisorRole, isTransitionPeriod, isUrlPermanentlyFailed, isValidFactoryViewConfiguration, isValidLineInfoPayload, isValidPrefetchParams, isValidPrefetchStatus, isValidWorkspaceDetailedMetricsPayload, isValidWorkspaceMetricsPayload, isWipGatedVideoGridMetricMode, isWorkspaceDisplayNamesLoaded, isWorkspaceDisplayNamesLoading, lineLeaderboardService, linesService, mergeWithDefaultConfig, migrateLegacyConfiguration, normalizeActionFamily, normalizeDateKeyRange, normalizeRoleLevel, normalizeVideoGridMetricMode, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, resetSubscriptionManager, s3VideoPreloader, 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 };
10729
+ export { ACTION_FAMILIES, ACTION_NAMES, AIAgentView, AcceptInvite, type AcceptInviteProps, AcceptInviteView, type AcceptInviteViewProps, type AccessControlReturn, type AccessScope$1 as AccessScope, type Action, type ActionFamily, type ActionName, type ActionService, type ActionThreshold, type ActiveBreak, AdvancedFilterDialog, AdvancedFilterPanel, type AnalyticsConfig, type AppRoleLevel, type AssignUserToFactoriesInput, type AssignUserToLinesInput, AudioService, AuthCallback, type AuthCallbackProps, AuthCallbackView, type AuthCallbackViewProps, type AuthConfig, AuthProvider, AuthService, type AuthStatus, type AuthUser, AuthenticatedBottleneckClipsView, AuthenticatedFactoryView, AuthenticatedHelpView, AuthenticatedHomeView, AuthenticatedShiftsView, AuthenticatedTargetsView, AuthenticatedTicketsView, AuthenticatedWorkspaceHealthView, AvatarUpload, type AvatarUploadProps, type AwardBadgeType, type AwardNotificationRecord, type AwardNotificationType, type AwardRecord, type AwardType, AxelNotificationPopup, type AxelNotificationPopupProps, AxelOrb, type AxelOrbProps, type AxelSuggestion, BackButton, BackButtonMinimal, BarChart, type BarChartDataItem, type BarChartProps, type BarProps, BaseHistoryCalendar, type BaseHistoryCalendarProps, type BaseLineMetric, type BasePerformanceMetric, BottleneckClipsModal, type BottleneckClipsModalProps, type BottleneckClipsNavigationParams, BottleneckClipsView, type BottleneckClipsViewProps, type BottleneckFilterType, type BottleneckVideo, type BottleneckVideoData, BottlenecksContent, type BottlenecksContentProps, type BreadcrumbItem, type Break, BreakNotificationPopup, type BreakNotificationPopupProps, type BreakRowProps, type CacheEntryWithPrefetch, CachePrefetchStatus, type CachePrefetchStatusCallback, type CalendarShiftData, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChangeRoleDialog, type ChangeRoleDialogProps, type ChatMessage, type ChatThread, type CleanupFunction, type ClipCounts, type ClipCountsWithIndex, ClipFilterProvider, type ClipFilterState, type ClipsConfig, ClipsCostView, CompactWorkspaceHealthCard, type CompanyUsageReport, type CompanyUser, type CompanyUserUsageSummary, type CompanyUserWithDetails, type ComponentOverride, ConfirmRemoveUserDialog, type ConfirmRemoveUserDialogProps, CongratulationsOverlay, type CongratulationsOverlayProps, type CoreComponents, type CountDelta, type CreateInvitationInput, type CropConfig, CroppedHlsVideoPlayer, type CroppedHlsVideoPlayerProps, CroppedVideoPlayer, type CroppedVideoPlayerProps, type CurrentShiftResult, type CurrentWorkspaceSKU, 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_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, type DashboardConfig, DashboardHeader, type DashboardKPIs, DashboardLayout, type DashboardLayoutProps, DashboardOverridesProvider, DashboardProvider, type DashboardService, type DashboardSurface, type DatabaseConfig, DateDisplay, type DateKeyRange, type DateTimeConfig, DateTimeDisplay, type DateTimeDisplayProps, type DayData, type DayHistoryData, type DaySummaryData, DebugAuth, DebugAuthView, DetailedHealthStatus, type DiagnosisOption$1 as DiagnosisOption, DiagnosisVideoModal, type DummyAware, type DurationDelta, type DynamicLineShiftConfig, EFFICIENCY_ON_TRACK_THRESHOLD, EmptyStateMessage, type EmptyStateMessageProps, EncouragementOverlay, type EndpointsConfig, type EntityConfig, type ErrorCallback$1 as ErrorCallback, type ExtendedCacheMetrics, type Factory, FactoryAssignmentDropdown, type FactoryAssignmentDropdownProps, type FactoryOverviewMetrics, FactoryView, type FactoryViewProps, type FetchIdleTimeReasonsParams, FileManagerFilters, FileManagerFilters as FileManagerFiltersProps, FilterDialogTrigger, FirstTimeLoginDebug, FirstTimeLoginHandler, FittingTitle, type FormatNumberOptions, type FullyIndexedCallback$1 as FullyIndexedCallback, GaugeChart, type GaugeChartProps, GridComponentsPlaceholder, HamburgerButton, type HamburgerButtonProps, Header, type HeaderProps, type HealthAlertConfig, type HealthAlertHistory, HealthDateShiftSelector, type HealthFilterOptions, type HealthMetrics, type HealthStatus, HealthStatusGrid, HealthStatusIndicator, type HealthSummary, HelpView, type HelpViewProps, type HistoricWorkspaceMetrics, type HistoryCalendarProps, HlsVideoPlayer, type HlsVideoPlayerProps, type HlsVideoPlayerRef, HomeView, type HomeViewConfig, type HookOverride, type HourlyAchievement, HourlyOutputChart, type HourlyOutputChartProps, type HourlyPerformance, HourlyUptimeChart, type HourlyUptimeChartProps, type IPrefetchManager, type ISTDateProps, ISTTimer, type ISTTimerProps, type IdleTimeClipMetadata, type IdleTimeReason, type IdleTimeReasonData, type IdleTimeReasonsData, type IdleTimeReasonsResponse, IdleTimeVlmConfigProvider, ImprovementCenterView, InlineEditableText, InteractiveOnboardingTour, InvitationService, type InvitationWithDetails, InvitationsTable, InviteUserDialog, KPICard, type KPICardProps, KPIDetailViewWithDisplayNames as KPIDetailView, type KPIDetailViewProps, KPIGrid, type KPIGridProps, KPIHeader, type KPIHeaderProps, KPISection, type KPITrend, KPIsOverviewView, type KPIsOverviewViewProps, type KpiTrend, LINE_1_UUID, LINE_2_UUID, LargeOutputProgressChart, type LargeOutputProgressChartProps, LeaderboardDetailViewWithDisplayNames as LeaderboardDetailView, type LeaderboardDetailViewProps, type LeaderboardEntry, Legend, LineAssignmentDropdown, type LineAssignmentDropdownProps, LineChart, type LineChartDataItem, type LineChartProps, type LineDetailedMetrics, type LineDetails, type LineDisplayData, LineHistoryCalendar, type LineHistoryCalendarProps, type LineInfo, type LineIssueResolutionSummary, type LineMetrics, LineMonthlyHistory, type LineMonthlyHistoryProps, type LineMonthlyMetric, LineMonthlyPdfGenerator, type LineMonthlyPdfGeneratorProps, type LineNavigationParams, LinePdfExportButton, type LinePdfExportButtonProps, LinePdfGenerator, type LinePdfGeneratorProps, type LineProps, type LineRecord, type LineShiftConfig, type LineShiftInfo, type LineSkuBreakdownItem, type LineSnapshot, type LineSupervisor, type LineThreshold, LineWhatsAppShareButton, type LineWhatsAppShareProps, LinesService, LiveTimer, LoadingInline, LoadingInline as LoadingInlineProps, LoadingOverlay, LoadingPage, LoadingSkeleton, LoadingSkeleton as LoadingSkeletonProps, LoadingState, LoadingState as LoadingStateProps, LoginPage, type LoginPageProps, LoginView, type LoginViewProps, Logo, type LogoProps, MainLayout, type MainLayoutProps, MapGridView, type MapViewConfig, type Metric, MetricCard, type MetricCardProps$1 as MetricCardProps, type MetricsError, MinimalOnboardingPopup, type MixpanelSessionOptions, MobileMenuProvider, type MobileMenuProviderProps, type MonthWeekRange, type MonthlyTrendSummary, type NavItem, type NavItemTrackingEvent, type NavigationMethod, NewClipsNotification, type NewClipsNotificationProps, NoWorkspaceData, OnboardingDemo, OnboardingTour, type OperatorData, type OperatorInfo, OptifyeAgentClient, type OptifyeAgentContext, type OptifyeAgentRequest, type OptifyeAgentResponse, OptifyeLogoLoader, OutputProgressChart, type OutputProgressChartProps, type OverridesMap, type OverviewLineMetric, type OverviewWorkspaceMetric, PageHeader, type PageHeaderProps, type PageOverride, type PercentageDelta, PieChart, type PieChartProps, PlantHeadView, PlayPauseIndicator, type PlayPauseIndicatorProps, type PoorPerformingWorkspace, PrefetchConfigurationError, PrefetchError, PrefetchEvents, type PrefetchKey, type PrefetchManagerConfig, type PrefetchManagerStats, type PrefetchOptions, type PrefetchParams$1 as PrefetchParams, type PrefetchRequest, type PrefetchResult, PrefetchStatus$1 as PrefetchStatus, type PrefetchStatusResult, type PrefetchSubscriptionCallbacks, PrefetchTimeoutError, type ProfileMenuItem, ProfileView, type QualityMetric, type QualityOverview, type QualityService, ROOT_DASHBOARD_EVENT_NAMES, type RateLimitOptions, type RateLimitResult, type RealtimeLineMetricsProps, type RealtimeService, RegistryProvider, type RenderReadyCallback$1 as RenderReadyCallback, type RoleAssignmentKind, RoleBadge, type RoleMetadata, type RoutePath, type S3ClipsAPIParams, S3ClipsSupabaseService as S3ClipsService, type S3Config, type S3ListObjectsParams, S3Service, type S3ServiceConfig, type SKU, type SKUConfig, SKUManagementView, type SOPCategory$1 as SOPCategory, SOPComplianceChart, type SOPComplianceChartProps, SSEChatClient, type SSEEvent, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SessionTracker, SessionTrackingContext, SessionTrackingProvider, SettingsPopup, type SettingsPopupItem, type ShiftConfig, type ShiftConfiguration, type ShiftConfigurationRecord, type ShiftData, type ShiftDefinition, ShiftDisplay, type ShiftHistoryData, type ShiftHoursMap, type ShiftLineGroup, type ShiftPanelProps, type ShiftSummaryData, type ShiftTime, ShiftsView, type ShiftsViewProps, SideNavBar, type SideNavBarProps, SignupWithInvitation, type SignupWithInvitationProps, SilentErrorBoundary, type SimpleLine, SimpleOnboardingPopup, SingleVideoStream, type SingleVideoStreamProps, Skeleton, type SkuBreakdownItem, type SkuSegmentItem, type StatusChangeCallback$1 as StatusChangeCallback, type StorageService, type StreamProxyConfig, type SubscriberId, SubscriptionManager, SubscriptionManagerProvider, type SupabaseClient, SupabaseProvider, type Supervisor, type SupervisorAssignment, type SupervisorConfig, type SupervisorDetail, SupervisorDropdown, type SupervisorDropdownProps, type SupervisorLine, type SupervisorManagementData, SupervisorManagementView, type SupervisorManagementViewProps, SupervisorService, type Target, TargetWorkspaceGrid, type TargetWorkspaceGridProps, TargetsViewWithDisplayNames as TargetsView, type TargetsViewProps, type TeamManagementPermissions, TeamManagementView, type TeamManagementViewProps, type ThemeColorValue, type ThemeConfig, ThreadSidebar, TicketHistory, TicketHistoryService, type TicketsConfig, TicketsView, type TicketsViewProps, TimeDisplay, TimePickerDropdown, Timer, TimezoneProvider, TimezoneService, type TodayUsage, type TodayUsageData, type TodayUsageReport, type TopPerformerRecord, type TrackingEventProperties, type TrendDirection, type UnderperformingWorkspace, type UnderperformingWorkspaces, type UpdateUserNameInput, type UpdateUserProfileInput, type UpdateUserRoleInput, type UptimeDetails, UptimeDonutChart, type UptimeDonutChartProps, UptimeLineChart, type UptimeLineChartProps, UptimeMetricCards, type UptimeMetricCardsProps, type UptimeStatus$1 as UptimeStatus, type UsageBreakdown, type UseActiveBreaksResult, type UseAllWorkspaceMetricsOptions, type UseClipTypesResult, type UseCompanyUsersUsageOptions, type UseCompanyUsersUsageReturn, type UseDashboardMetricsProps, type UseDynamicShiftConfigResult, type UseFormatNumberResult, type UseIdleTimeReasonsProps, type UseIdleTimeReasonsResult, type UseLineShiftConfigResult, type UseLineWorkspaceMetricsOptions, type UseMessagesResult, type UseMultiLineShiftConfigsResult, type UsePrefetchClipCountsOptions$1 as UsePrefetchClipCountsOptions, type UsePrefetchClipCountsResult$1 as UsePrefetchClipCountsResult, type UseRealtimeLineMetricsProps, type UseSupervisorsByLineIdsResult, type UseTargetsOptions, type UseThreadsResult, type UseTicketHistoryReturn, type UseUserUsageOptions, type UseUserUsageReturn, type UseWorkspaceHealthByIdOptions, type UseWorkspaceHealthStatusReturn, type UseWorkspaceOperatorsOptions, type UseWorkspaceUptimeTimelineOptions, type UseWorkspaceUptimeTimelineResult, UserAvatar, type UserAvatarProps, type UserInvitation, UserManagementService, UserManagementTable, type UserProfileConfig, type UserRole, type UserRoleLevel, UserService, type UserUsageDetail, UserUsageDetailModal, type UserUsageDetailModalProps, type UserUsageInfo, UserUsageStats, type UserUsageStatsProps, type UserUsageSummary, type ValueDelta, VideoCard, type VideoConfig, type VideoCroppingConfig, type VideoCroppingRect, type VideoGridMetricMode, VideoGridView, type VideoIndex, type VideoIndexEntry, type VideoMetadata, VideoPlayer, type VideoPlayerProps, type VideoPlayerRef, VideoPreloader, type VideoSeverity, type VideoSummary, type VideoType, WORKSPACE_POSITIONS, type WeeklyTopPerformerRecord, type WhatsAppSendResult, WhatsAppShareButton, type WhatsAppShareButtonProps, type WhatsappService, type Workspace, type WorkspaceActionUpdate, type WorkspaceCameraIpInfo, WorkspaceCard, type WorkspaceCardProps, type WorkspaceConfig$1 as WorkspaceConfig, type WorkspaceCropRect, WorkspaceCycleTimeMetricCards, type WorkspaceCycleTimeMetricCardsProps, WrappedComponent as WorkspaceDetailView, type WorkspaceDetailedMetrics, WorkspaceDisplayNameExample, type WorkspaceDowntimeSegment, WorkspaceGrid, WorkspaceGridItem, type WorkspaceGridItemProps, type WorkspaceGridPosition, type WorkspaceHealth, WorkspaceHealthCard, type WorkspaceHealthInfo, type WorkspaceHealthStatusData, _default as WorkspaceHealthView, type WorkspaceHealthWithStatus, WorkspaceHistoryCalendar, WorkspaceMetricCards, WorkspaceMetricCardsImpl, type WorkspaceMetricCardsProps, type WorkspaceMetrics, WorkspaceMonthlyDataFetcher, type WorkspaceMonthlyDataFetcherProps, WorkspaceMonthlyHistory, type WorkspaceMonthlyMetric, WorkspaceMonthlyPdfGenerator, type WorkspaceMonthlyPdfGeneratorProps, type WorkspaceNavigationParams, WorkspacePdfExportButton, type WorkspacePdfExportButtonProps, WorkspacePdfGenerator, type WorkspacePdfGeneratorProps, type WorkspacePosition, type WorkspaceQualityData, type WorkspaceUptimeTimeline, type WorkspaceUptimeTimelinePoint, type WorkspaceUrlMapping, type WorkspaceVideoStream, WorkspaceWhatsAppShareButton, type WorkspaceWhatsAppShareProps, actionService, aggregateKPIsFromLineMetricsRows, alertsService, apiUtils, areAllLinesOnSameShift, authCoreService, authOTPService, authRateLimitService, awardsService, buildDateKey, buildKPIsFromLineMetricsRow, buildLineSkuBreakdown, buildShiftGroupsKey, canRoleAccessDashboardPath, canRoleAccessTeamManagement, canRoleAssignFactories, canRoleAssignLines, canRoleChangeRole, canRoleInviteRole, canRoleManageCompany, canRoleManageTargets, canRoleManageUsers, canRoleRemoveUser, canRoleViewClipsCost, canRoleViewUsageStats, captureHandledFrontendException, captureSentryException, captureSentryMessage, checkRateLimit, clearAllRateLimits, 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, 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, normalizeRoleLevel, normalizeVideoGridMetricMode, optifyeAgentClient, parseDateKeyToDate, parseS3Uri, pickPreferredLineMetricsRow, preInitializeWorkspaceDisplayNames, preloadS3Video, preloadS3VideoUrl, preloadS3VideosUrl, preloadVideoUrl, preloadVideosUrl, qualityService, realtimeService, refreshWorkspaceDisplayNames, resetCoreMixpanel, resetFailedUrl, 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 };