@optifye/dashboard-core 6.11.48 → 6.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts 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,42 @@ 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
+ line_threshold: number;
132
+ threshold_pph?: number;
133
+ shift_start?: string;
134
+ shift_end?: string;
135
+ last_updated?: string;
136
+ poorest_performing_workspaces?: PoorPerformingWorkspace[];
137
+ avg_idle_time_seconds?: number;
138
+ idle_time_hourly?: Record<string, any> | null;
139
+ /** True iff `enable_sku_detection=true` AND `real_sku_count >= 1`. */
140
+ sku_aware?: boolean;
141
+ /** Distinct count of non-dummy SKU rows for this (line, date, shift). */
142
+ real_sku_count?: number;
143
+ /** Per-SKU breakdown for the Line Detail selector. Includes dummy with `is_dummy=true`. */
144
+ sku_breakdown?: LineSkuBreakdownItem[];
145
+ /** Hourly-chart divider segments (dummy excluded). */
146
+ sku_segments?: SkuSegmentItem[];
53
147
  }
54
148
  interface PoorPerformingWorkspace {
55
149
  workspace_name: string;
@@ -142,6 +236,19 @@ interface WorkspaceDetailedMetrics {
142
236
  idle_time_hourly?: Record<string, string[]>;
143
237
  compliance_efficiency?: number;
144
238
  sop_check?: Record<string, number>;
239
+ /** True iff `enable_sku_detection=true` AND `real_sku_count >= 1`. */
240
+ sku_aware?: boolean;
241
+ /**
242
+ * True when only dummy rows exist for this workspace/shift. Default `true`
243
+ * for legacy lines so the SKU UI is hidden by default. Backend authoritative.
244
+ */
245
+ is_dummy_only?: boolean;
246
+ /** Distinct count of non-dummy SKU rows for this (workspace, date, shift). */
247
+ real_sku_count?: number;
248
+ /** Per-SKU workspace breakdown ordered by `active_minutes desc, total_output desc`. */
249
+ sku_breakdown?: SkuBreakdownItem[];
250
+ /** Hourly-chart divider segments (dummy excluded). */
251
+ sku_segments?: SkuSegmentItem[];
145
252
  }
146
253
  interface DashboardKPIs {
147
254
  underperformingWorkers: {
@@ -1483,53 +1590,21 @@ interface SSEEvent {
1483
1590
  interface SKU {
1484
1591
  id: string;
1485
1592
  sku_id: string;
1593
+ sku_definition: string;
1486
1594
  company_id: string;
1595
+ line_id: string;
1487
1596
  production_target: number;
1488
1597
  attributes: {
1489
1598
  [key: string]: any;
1490
1599
  };
1600
+ pph_threshold?: number | null;
1601
+ ideal_cycle_time?: number | null;
1602
+ total_day_output?: number | null;
1603
+ rfdetr_label?: string | null;
1491
1604
  is_active: boolean;
1492
1605
  created_at: string;
1493
1606
  updated_at: string;
1494
1607
  }
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
1608
 
1534
1609
  /**
1535
1610
  * Supervisor-related type definitions for the dashboard
@@ -2921,6 +2996,11 @@ interface HistoricWorkspaceMetrics {
2921
2996
  performance_score?: number;
2922
2997
  compliance_efficiency?: number;
2923
2998
  sop_check?: Record<string, number>;
2999
+ sku_aware?: boolean;
3000
+ is_dummy_only?: boolean;
3001
+ real_sku_count?: number;
3002
+ sku_breakdown?: SkuBreakdownItem[];
3003
+ sku_segments?: SkuSegmentItem[];
2924
3004
  }
2925
3005
  /**
2926
3006
  * @hook useHistoricWorkspaceMetrics
@@ -2988,6 +3068,10 @@ declare const useHistoricWorkspaceMetrics: (workspaceId: string, date: string, s
2988
3068
  */
2989
3069
  declare const useLineDetailedMetrics: (lineIdFromProp: string) => {
2990
3070
  lineData: LineInfo | null;
3071
+ aggregate: LineInfo | null;
3072
+ skuBreakdown: LineSkuBreakdownItem[];
3073
+ skuAware: boolean;
3074
+ realSkuCount: number;
2991
3075
  loading: boolean;
2992
3076
  error: MetricsError | null;
2993
3077
  refetch: () => Promise<void>;
@@ -3183,6 +3267,9 @@ declare const useLineKPIs: ({ lineId, enabled }: LineKPIsProps) => {
3183
3267
  isLoading: boolean;
3184
3268
  error: MetricsError | null;
3185
3269
  refetch: () => Promise<void>;
3270
+ skuBreakdown: LineSkuBreakdownItem[];
3271
+ skuAware: boolean;
3272
+ realSkuCount: number;
3186
3273
  };
3187
3274
 
3188
3275
  /**
@@ -3233,6 +3320,9 @@ interface LineMetrics {
3233
3320
  last_updated: string;
3234
3321
  poorest_performing_workspaces?: PoorPerformingWorkspace[];
3235
3322
  idle_time_hourly?: Record<string, any> | null;
3323
+ sku_aware?: boolean;
3324
+ real_sku_count?: number;
3325
+ sku_breakdown?: LineSkuBreakdownItem[];
3236
3326
  }
3237
3327
  interface LineDetails {
3238
3328
  id: string;
@@ -3794,13 +3884,59 @@ declare const useAllWorkspaceMetrics: (options?: UseAllWorkspaceMetricsOptions)
3794
3884
  refreshWorkspaces: () => Promise<void>;
3795
3885
  };
3796
3886
 
3887
+ /**
3888
+ * Read-only SKU catalog client (Phase 8, decision #2 in PLAN.md).
3889
+ *
3890
+ * The backend exposes only GET endpoints; admin-managed mutations happen
3891
+ * directly in the database, not from the dashboard. The historical
3892
+ * create / update / soft-delete / image-inference helpers have been
3893
+ * removed and must not return.
3894
+ */
3895
+ interface GetSKUsOptions {
3896
+ /** Restrict to a single line (uuid). */
3897
+ lineId?: string;
3898
+ /**
3899
+ * Drop placeholder SKUs (`sku_definition='dummy_definition'`) from the
3900
+ * response. Defaults to `true` because no customer-facing surface should
3901
+ * ever expose dummy rows (decision #16 in PLAN.md).
3902
+ */
3903
+ excludeDummy?: boolean;
3904
+ /**
3905
+ * Tri-state active filter:
3906
+ * - `true`: only active SKUs
3907
+ * - `false`: only inactive SKUs
3908
+ * - `undefined` (default): return both — matches the SKU Management
3909
+ * UI's "All statuses" filter so users can see decommissioned SKUs.
3910
+ */
3911
+ isActive?: boolean;
3912
+ }
3913
+ declare const skuService: {
3914
+ /**
3915
+ * Fetch SKUs for a company. Defaults filter out dummy SKUs.
3916
+ */
3917
+ getSKUs(companyId: string, options?: GetSKUsOptions): Promise<SKU[]>;
3918
+ /**
3919
+ * Fetch a single SKU by its UUID.
3920
+ */
3921
+ getSKU(skuId: string): Promise<SKU | null>;
3922
+ };
3923
+
3797
3924
  interface UseSKUsReturn {
3798
3925
  skus: SKU[];
3799
3926
  isLoading: boolean;
3800
3927
  error: Error | null;
3801
3928
  refetch: () => Promise<void>;
3802
3929
  }
3803
- declare const useSKUs: (companyId: string) => UseSKUsReturn;
3930
+ /**
3931
+ * Read-only SKU catalog hook (Phase 8).
3932
+ *
3933
+ * - Always defaults to filtering out dummy SKUs (`sku_definition='dummy_definition'`)
3934
+ * per decision #16 in PLAN.md.
3935
+ * - Subscribes to the `skus` table so the list refreshes when an admin edits
3936
+ * the catalog directly in the database.
3937
+ * - Returns only `{ skus, isLoading, error, refetch }` — no mutation helpers.
3938
+ */
3939
+ declare const useSKUs: (companyId: string, options?: GetSKUsOptions) => UseSKUsReturn;
3804
3940
 
3805
3941
  /**
3806
3942
  * Hook to check if the current user can save targets
@@ -5461,6 +5597,193 @@ declare const actionService: {
5461
5597
  };
5462
5598
  type ActionService = typeof actionService;
5463
5599
 
5600
+ type HourlyValue = number | string | null;
5601
+ type HourlyData = Record<string, HourlyValue[]> | Record<string, HourlyValue> | HourlyValue[] | null | undefined;
5602
+
5603
+ /**
5604
+ * Helpers for deterministic line_metrics row selection when multiple rows
5605
+ * exist for the same (factory_id, line_id, date, shift_id) (one row per
5606
+ * sku_id under multi-SKU detection).
5607
+ *
5608
+ * `selectPreferredLineMetricsRow` is the pure helper — mirrors
5609
+ * `backend/backend/utils/line_metrics_selection.py`.
5610
+ *
5611
+ * `pickPreferredLineMetricsRow` is the legacy async wrapper retained for
5612
+ * existing callers; it fetches the dummy SKU id from Supabase and delegates
5613
+ * to the pure helper.
5614
+ */
5615
+ type LineMetricsRow = {
5616
+ sku_id?: string | null;
5617
+ last_updated?: string | null;
5618
+ [key: string]: any;
5619
+ };
5620
+ /**
5621
+ * Pure helper: pick the preferred line_metrics row.
5622
+ *
5623
+ * 1. Empty rows → null.
5624
+ * 2. Single row → that row.
5625
+ * 3. If `dummySkuId` provided and matches a row, return that row.
5626
+ * 4. Otherwise sort by (last_updated DESC, sku_id ASC) and return the first.
5627
+ */
5628
+ declare const selectPreferredLineMetricsRow: (rows: LineMetricsRow[] | null | undefined, dummySkuId?: string | null) => LineMetricsRow | null;
5629
+ /**
5630
+ * Legacy async wrapper: fetches the line's dummy SKU id from Supabase and
5631
+ * delegates to {@link selectPreferredLineMetricsRow}. Existing callers expect
5632
+ * this signature; Phase 4 will switch them to the pure helper once dummy
5633
+ * lookups are co-located with other line metadata.
5634
+ */
5635
+ declare const pickPreferredLineMetricsRow: (supabase: {
5636
+ from: (table: string) => any;
5637
+ }, lineId: string, rows: LineMetricsRow[] | null | undefined, skuTable?: string) => Promise<LineMetricsRow | null>;
5638
+
5639
+ /**
5640
+ * Pure helper for combining multiple `line_metrics` rows (one per SKU)
5641
+ * into a single aggregated line snapshot. Mirrors
5642
+ * `backend/backend/services/dashboard_service.py::_combine_line_metrics_rows`.
5643
+ *
5644
+ * Per PLAN.md §5 / decision #16:
5645
+ * - Aggregates (current_output, ideal_output, line_threshold,
5646
+ * underperforming_workspaces) sum across **real-SKU rows only**.
5647
+ * Dummy rows contribute 0 — they are skipped from the summation set.
5648
+ * - Weighted-average fields (avg_efficiency, avg_cycle_time, threshold_pph)
5649
+ * use per-row active-minutes as weight; falls back to plain mean when
5650
+ * no row has positive weight.
5651
+ * - Hourly fields (output_hourly, idle_time_hourly) merge through
5652
+ * `mergeHourlyFields` over the FULL row set (including dummy) so we
5653
+ * never drop a minute that only the dummy row has data for. Dummy
5654
+ * rows almost always carry zero/sentinel values, so the merged sum
5655
+ * is unaffected in practice.
5656
+ * - Pass-through scalars (shift_start, shift_end, factory_id,
5657
+ * total_workspaces, last_updated) are sourced from the
5658
+ * "primary" row — selected from the real-SKU set when one exists,
5659
+ * otherwise the full row set, using
5660
+ * {@link selectPreferredLineMetricsRow}'s tie-breaker (last_updated
5661
+ * desc, sku_id asc).
5662
+ *
5663
+ * The helper is **pure** — it never queries Supabase. Callers that need
5664
+ * `dummySkuId` from the database should resolve it ahead of time (or
5665
+ * use {@link pickPreferredLineMetricsRow}'s legacy async wrapper for
5666
+ * single-row callers).
5667
+ */
5668
+
5669
+ interface CombinedLineMetricsRow extends LineMetricsRow {
5670
+ current_output: number;
5671
+ ideal_output: number;
5672
+ avg_efficiency: number;
5673
+ avg_cycle_time: number;
5674
+ line_threshold: number;
5675
+ threshold_pph: number;
5676
+ total_workspaces: number;
5677
+ underperforming_workspaces: number;
5678
+ underperforming_workspace_names: string[];
5679
+ underperforming_workspace_uuids: string[];
5680
+ output_array: number[];
5681
+ output_hourly: HourlyData;
5682
+ idle_time_hourly: HourlyData;
5683
+ shift_start: string | null;
5684
+ shift_end: string | null;
5685
+ factory_id: string | null;
5686
+ last_updated: string | null;
5687
+ }
5688
+ /**
5689
+ * Best-effort dummy SKU lookup for a line. Returns `null` when the line has
5690
+ * no dummy SKU, when the table cannot be queried, or when the lookup itself
5691
+ * throws — matches the failure semantics of {@link pickPreferredLineMetricsRow}.
5692
+ *
5693
+ * Co-located with {@link combineLineMetricsRows} so callers can resolve the
5694
+ * dummy SKU id once at the top of a request and feed it into the pure
5695
+ * aggregator without spreading async lookups across the call chain.
5696
+ */
5697
+ declare const fetchLineDummySkuId: (supabase: {
5698
+ from: (table: string) => any;
5699
+ }, lineId: string, skuTable?: string) => Promise<string | null>;
5700
+ interface SkuLookupRow {
5701
+ id: string;
5702
+ sku_id?: string | null;
5703
+ sku_definition?: string | null;
5704
+ }
5705
+ /**
5706
+ * Best-effort SKU metadata lookup for a line. Returns the catalog rows for
5707
+ * every active SKU on the line. Used by callers that need to classify
5708
+ * `line_metrics` rows as dummy/real and render `sku_breakdown` arrays.
5709
+ */
5710
+ declare const fetchLineSkuCatalog: (supabase: {
5711
+ from: (table: string) => any;
5712
+ }, lineId: string, skuTable?: string) => Promise<SkuLookupRow[]>;
5713
+ /**
5714
+ * Build a `LineSkuBreakdownItem`-shaped array from raw `line_metrics` rows
5715
+ * and a SKU catalog. The returned items mirror the backend's `sku_breakdown`
5716
+ * payload ordered by `current_output desc` (active_minutes is unavailable
5717
+ * at the line level — backend uses output as the tiebreaker).
5718
+ *
5719
+ * Pass an empty `skuCatalog` for non-detection lines; the function will
5720
+ * return rows annotated with `is_dummy=false` so consumers fall back to the
5721
+ * legacy aggregate view via the `sku_aware` gate.
5722
+ */
5723
+ type LineSkuBreakdownBuiltItem = {
5724
+ sku_id: string;
5725
+ sku_code: string;
5726
+ is_dummy: boolean;
5727
+ current_output: number;
5728
+ ideal_output: number;
5729
+ avg_efficiency: number;
5730
+ /**
5731
+ * Raw per-SKU target from `line_thresholds` (or the dummy-SKU fallback via
5732
+ * `update_line_metrics`'s LATERAL lookup when no per-SKU row exists).
5733
+ * Under today's data, every row carries the shared line target.
5734
+ */
5735
+ line_threshold: number | null;
5736
+ /**
5737
+ * Active-time-weighted projection per-SKU — the line-scope lift of
5738
+ * `pm.total_day_output_recalculated`. Computed by `update_line_metrics`
5739
+ * per v1_20. Per-SKU UIs should prefer this field for the displayed
5740
+ * target so efficiency reflects real activity:
5741
+ * * Active SKU mid-shift: projected full-day if it continues
5742
+ * * Finalized SKU: raw × active_fraction (realized share of target)
5743
+ * Null on rows written before v1_20 applied (not yet backfilled) and on
5744
+ * Nahar rows (update_line_metrics_from_quality doesn't populate it).
5745
+ */
5746
+ line_threshold_recalculated: number | null;
5747
+ total_workspaces: number;
5748
+ underperforming_workspaces: number;
5749
+ underperforming_workspace_names: string[];
5750
+ underperforming_workspace_uuids: string[];
5751
+ output_array: number[];
5752
+ output_hourly: Record<string, any>;
5753
+ idle_time_hourly: Record<string, any>;
5754
+ /**
5755
+ * Per-SKU poorest-performing workspaces list (populated by the backend
5756
+ * `get_line_detail_metrics` enrichment). The client-side builder leaves
5757
+ * it empty — the backend is the source of truth for this field.
5758
+ */
5759
+ poorest_performing_workspaces?: Array<{
5760
+ workspace_name: string;
5761
+ efficiency: number;
5762
+ action_count: number;
5763
+ action_threshold: number;
5764
+ }>;
5765
+ };
5766
+ declare const buildLineSkuBreakdown: (rows: LineMetricsRow[] | null | undefined, skuCatalog: SkuLookupRow[]) => LineSkuBreakdownBuiltItem[];
5767
+ /**
5768
+ * Count distinct non-dummy SKUs in a row set. Mirrors backend's
5769
+ * `real_sku_count` derivation — used to gate the SKU UI per decision #12.
5770
+ */
5771
+ declare const countRealSkus: (rows: LineMetricsRow[] | null | undefined, skuCatalog: SkuLookupRow[]) => number;
5772
+ /**
5773
+ * Aggregate one or more `line_metrics` rows into a single line snapshot.
5774
+ *
5775
+ * @param rows - All `line_metrics` rows for the same `(line_id, date, shift_id)`.
5776
+ * Each row corresponds to one `sku_id`.
5777
+ * @param dummySkuId - Optional dummy SKU id. When provided, rows whose
5778
+ * `sku_id` matches are excluded from sums and weighted averages
5779
+ * (they still flow through hourly merge). When omitted, every
5780
+ * row is treated as real.
5781
+ *
5782
+ * @returns Aggregated row with the same shape as a single `line_metrics`
5783
+ * row plus the `factory_id` / `last_updated` from the primary row.
5784
+ */
5785
+ declare const combineLineMetricsRows: (rows: LineMetricsRow[] | null | undefined, dummySkuId?: string | null) => CombinedLineMetricsRow;
5786
+
5464
5787
  declare const dashboardService: {
5465
5788
  getLineInfo(lineIdInput: string): Promise<LineInfo>;
5466
5789
  getWorkspacesData(lineIdInput?: string, dateProp?: string, shiftProp?: number): Promise<WorkspaceMetrics[]>;
@@ -5634,6 +5957,20 @@ declare class WorkspaceHealthService {
5634
5957
  private getShiftTimingForDateShift;
5635
5958
  private normalizeHourBucket;
5636
5959
  private normalizeOutputHourly;
5960
+ /**
5961
+ * Group multi-SKU `performance_metrics` rows by workspace and merge their
5962
+ * per-minute series. Multi-SKU lines emit one row per (workspace, sku)
5963
+ * combination, but uptime is a workspace-level concept ("did the workspace
5964
+ * have any output this minute?"). Without this merge, the last row for a
5965
+ * workspace wins (via `uptimeMap.set`), which silently drops minutes that
5966
+ * only one SKU has data for.
5967
+ *
5968
+ * The merged record carries the union of `output_hourly` values per minute
5969
+ * (`mergeOutputHourly` preserves real values over sentinels), and a
5970
+ * pointwise sum of `output_array`. Other fields are taken from the first
5971
+ * row encountered for the workspace.
5972
+ */
5973
+ private mergeRecordsByWorkspace;
5637
5974
  private interpretUptimeValue;
5638
5975
  private deriveStatusForMinute;
5639
5976
  private hasCompletedTimelineData;
@@ -5663,33 +6000,6 @@ declare class WorkspaceHealthService {
5663
6000
  }
5664
6001
  declare const workspaceHealthService: WorkspaceHealthService;
5665
6002
 
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
6003
  declare const authCoreService: {
5694
6004
  signInWithPassword(supabase: SupabaseClient$1, email: string, password: string): Promise<{
5695
6005
  user: User;
@@ -7152,6 +7462,64 @@ declare function captureSentryException(error: unknown, extras?: Record<string,
7152
7462
  */
7153
7463
  declare function captureHandledFrontendException(error: unknown, extras?: Record<string, unknown>): void;
7154
7464
 
7465
+ /**
7466
+ * SKU UI selection helpers — pure, side-effect free.
7467
+ *
7468
+ * Used by Phase 5 (Workspace Detail) and re-usable by Phase 6 (Line Detail) and
7469
+ * Phase 7 (Targets).
7470
+ *
7471
+ * Decision #16 (PLAN.md): Dummy SKUs (`sku_definition='dummy_definition'`) are
7472
+ * never shown in customer-facing UI. Every helper here filters them out.
7473
+ */
7474
+
7475
+ /** Minimum surface required to identify a dummy item. */
7476
+ interface DummyAware {
7477
+ is_dummy?: boolean;
7478
+ }
7479
+ /** Non-dummy filter — single source of truth for the visibility rule. */
7480
+ declare const isRealSku: <T extends DummyAware>(item: T) => boolean;
7481
+ /**
7482
+ * Filter helper for any SKU-bearing array (workspace breakdown, line breakdown,
7483
+ * etc.). Generic so callers preserve their concrete row type.
7484
+ */
7485
+ declare const filterRealSkuBreakdown: <T extends DummyAware>(items?: T[] | null) => T[];
7486
+ /**
7487
+ * Resolve the default SKU ID to display in a per-SKU selector.
7488
+ *
7489
+ * Resolution order (per Phase 5 spec):
7490
+ * 1. First currently-active segment (`end_time === null`). If multiple are
7491
+ * active, take the most recent by `start_time`.
7492
+ * 2. Otherwise the most recent segment by `start_time` (descending).
7493
+ * 3. Otherwise the first non-dummy item in `breakdown`.
7494
+ * 4. Otherwise `null` — caller should defensively fall back to legacy view.
7495
+ *
7496
+ * Note: `sku_segments` from the backend already excludes dummies (Phase 2
7497
+ * contract). We additionally filter defensively if any segment exposes a
7498
+ * truthy `is_dummy` flag (it shouldn't on the typed contract, but we stay
7499
+ * resilient to malformed payloads).
7500
+ *
7501
+ * Returns the SKU's UUID (`sku_id`), which is the stable identifier for both
7502
+ * `sku_breakdown` and `sku_segments`.
7503
+ */
7504
+ declare const resolveDefaultSkuId: (segments?: SkuSegmentItem[] | null, breakdown?: SkuBreakdownItem[] | null) => string | null;
7505
+ /**
7506
+ * Resolve the **currently running** SKU — strictly defined as the open-ended
7507
+ * interval (`end_time === null`) with the most recent `start_time`.
7508
+ *
7509
+ * Semantics differ from {@link resolveDefaultSkuId}:
7510
+ * - resolveDefaultSkuId → "which SKU should the dropdown default to?"
7511
+ * Falls back to the most recent closed segment, then to `sku_breakdown`.
7512
+ * - resolveLiveSkuId → "which SKU is literally running right now?"
7513
+ * Returns `null` when nothing is open — used by the green "Currently
7514
+ * running" dot; we don't want to flag a SKU that already stopped.
7515
+ *
7516
+ * `sku_segments[].start_time` from the backend is a full ISO timestamp
7517
+ * (e.g. `"2026-04-20T02:30:00+00:00"`, from `sku_presence.start_time`, a
7518
+ * PostgreSQL `timestamp with time zone`). Parse with `Date.parse` directly —
7519
+ * do NOT prefix with `"1970-01-01T"` (that produces `Invalid Date` → NaN).
7520
+ */
7521
+ declare const resolveLiveSkuId: (segments?: SkuSegmentItem[] | null) => string | null;
7522
+
7155
7523
  declare const isLoopbackHostname: (hostname: string | null | undefined) => boolean;
7156
7524
  declare const shouldEnableLocalDevTestLogin: ({ enabledFlag, hostname, }: {
7157
7525
  enabledFlag: boolean;
@@ -7325,6 +7693,15 @@ interface OutputProgressChartProps {
7325
7693
  currentOutput: number;
7326
7694
  targetOutput: number;
7327
7695
  className?: string;
7696
+ /**
7697
+ * Per-SKU breakdown rows (Phase 5). When non-empty, renders one progress row
7698
+ * per real SKU instead of the legacy single-pie layout. Caller must filter
7699
+ * dummy SKUs but defensive filtering is applied here too (decision #16).
7700
+ */
7701
+ skuBreakdown?: SkuBreakdownItem[];
7702
+ selectedSkuId?: string | null;
7703
+ onSelectSku?: (skuId: string | null) => void;
7704
+ liveSkuId?: string | null;
7328
7705
  }
7329
7706
  declare const OutputProgressChart: React__default.NamedExoticComponent<OutputProgressChartProps>;
7330
7707
 
@@ -7379,6 +7756,13 @@ interface HourlyOutputChartProps {
7379
7756
  shiftDate?: string;
7380
7757
  timezone?: string;
7381
7758
  className?: string;
7759
+ /**
7760
+ * Optional SKU transition segments. When provided, vertical divider lines
7761
+ * with `sku_code` labels are rendered at each transition. Backend already
7762
+ * excludes dummy SKUs from this list. (Phase 5, decision #7.)
7763
+ */
7764
+ skuSegments?: SkuSegmentItem[];
7765
+ activeSkuId?: string | null;
7382
7766
  }
7383
7767
 
7384
7768
  declare const HourlyOutputChart: (props: HourlyOutputChartProps) => react_jsx_runtime.JSX.Element;
@@ -8245,6 +8629,9 @@ interface WorkspaceMetricCardsProps {
8245
8629
  workspace: WorkspaceDetailedMetrics;
8246
8630
  className?: string;
8247
8631
  legend?: EfficiencyLegendUpdate;
8632
+ skuAware?: boolean;
8633
+ skuBreakdown?: any[];
8634
+ activeSkuId?: string | null;
8248
8635
  }
8249
8636
  declare const WorkspaceMetricCardsImpl: React__default.FC<WorkspaceMetricCardsProps>;
8250
8637
  declare const WorkspaceMetricCards: React__default.FC<WorkspaceMetricCardsProps>;
@@ -8260,6 +8647,9 @@ interface WorkspaceCycleTimeMetricCardsProps {
8260
8647
  isLoading?: boolean;
8261
8648
  error?: string | null;
8262
8649
  };
8650
+ skuAware?: boolean;
8651
+ skuBreakdown?: any[];
8652
+ activeSkuId?: string | null;
8263
8653
  }
8264
8654
  declare const WorkspaceCycleTimeMetricCards: React__default.FC<WorkspaceCycleTimeMetricCardsProps>;
8265
8655
 
@@ -10330,4 +10720,4 @@ interface ThreadSidebarProps {
10330
10720
  }
10331
10721
  declare const ThreadSidebar: React__default.FC<ThreadSidebarProps>;
10332
10722
 
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 };
10723
+ 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 };