react-os-shell 4.1.4 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/{Browser-SUJIE3LN.js → Browser-XWYM2PEL.js} +5 -5
  2. package/dist/{Browser-SUJIE3LN.js.map → Browser-XWYM2PEL.js.map} +1 -1
  3. package/dist/{Calculator-YI4FFJNC.js → Calculator-EIKUYW6O.js} +4 -4
  4. package/dist/{Calculator-YI4FFJNC.js.map → Calculator-EIKUYW6O.js.map} +1 -1
  5. package/dist/ConfirmDialog-C25OKJZP.js +4 -0
  6. package/dist/{ConfirmDialog-774RXRGC.js.map → ConfirmDialog-C25OKJZP.js.map} +1 -1
  7. package/dist/{CurrencyConverter-LUX2UEHY.js → CurrencyConverter-PJUTWMCD.js} +4 -4
  8. package/dist/{CurrencyConverter-LUX2UEHY.js.map → CurrencyConverter-PJUTWMCD.js.map} +1 -1
  9. package/dist/{Documents-RC5YNAR7.js → Documents-XA3VM4VJ.js} +5 -5
  10. package/dist/{Documents-RC5YNAR7.js.map → Documents-XA3VM4VJ.js.map} +1 -1
  11. package/dist/{Files-VWQULRV2.js → Files-42ON7ANG.js} +5 -5
  12. package/dist/{Files-VWQULRV2.js.map → Files-42ON7ANG.js.map} +1 -1
  13. package/dist/{Notepad-FNLXQWSP.js → Notepad-QQINWDCQ.js} +5 -5
  14. package/dist/{Notepad-FNLXQWSP.js.map → Notepad-QQINWDCQ.js.map} +1 -1
  15. package/dist/{PomodoroTimer-XPG5D63T.js → PomodoroTimer-K5NBAIVW.js} +5 -5
  16. package/dist/{PomodoroTimer-XPG5D63T.js.map → PomodoroTimer-K5NBAIVW.js.map} +1 -1
  17. package/dist/{Preview-KO5TFN6G.js → Preview-NKLLQUKW.js} +5 -5
  18. package/dist/{Preview-KO5TFN6G.js.map → Preview-NKLLQUKW.js.map} +1 -1
  19. package/dist/{Spreadsheet-2SXO4PZR.js → Spreadsheet-BDBABITI.js} +5 -5
  20. package/dist/{Spreadsheet-2SXO4PZR.js.map → Spreadsheet-BDBABITI.js.map} +1 -1
  21. package/dist/{Stock-7QVYY7WE.js → Stock-2XTWWH6K.js} +4 -4
  22. package/dist/{Stock-7QVYY7WE.js.map → Stock-2XTWWH6K.js.map} +1 -1
  23. package/dist/{Weather-UESMYSNG.js → Weather-GCBITKTJ.js} +4 -4
  24. package/dist/{Weather-UESMYSNG.js.map → Weather-GCBITKTJ.js.map} +1 -1
  25. package/dist/{WorldClock-UONWHVMF.js → WorldClock-S52UINCL.js} +4 -4
  26. package/dist/{WorldClock-UONWHVMF.js.map → WorldClock-S52UINCL.js.map} +1 -1
  27. package/dist/apps/index.js +15 -15
  28. package/dist/{chunk-5RZ3HM45.js → chunk-3ORJ4J4J.js} +4 -4
  29. package/dist/{chunk-5RZ3HM45.js.map → chunk-3ORJ4J4J.js.map} +1 -1
  30. package/dist/{chunk-AT2OO6B4.js → chunk-IGYB3NRR.js} +3 -3
  31. package/dist/{chunk-AT2OO6B4.js.map → chunk-IGYB3NRR.js.map} +1 -1
  32. package/dist/chunk-ITOOPTGP.js +7 -0
  33. package/dist/{chunk-IMG7JAA3.js.map → chunk-ITOOPTGP.js.map} +1 -1
  34. package/dist/{chunk-C7AKG4RE.js → chunk-QAVN7ZV5.js} +3 -3
  35. package/dist/{chunk-C7AKG4RE.js.map → chunk-QAVN7ZV5.js.map} +1 -1
  36. package/dist/{chunk-OGL3C2T2.js → chunk-URHWXWZE.js} +12 -10
  37. package/dist/chunk-URHWXWZE.js.map +1 -0
  38. package/dist/index.d.ts +164 -1
  39. package/dist/index.js +515 -29
  40. package/dist/index.js.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/ConfirmDialog-774RXRGC.js +0 -4
  43. package/dist/chunk-IMG7JAA3.js +0 -7
  44. package/dist/chunk-OGL3C2T2.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -2153,6 +2153,169 @@ interface MetricBarProps {
2153
2153
  }
2154
2154
  declare function MetricBar({ label, value, max, warn, crit, severity, detail, formatValue, emptyLabel, size, ariaLabel, className, }: MetricBarProps): react_jsx_runtime.JSX.Element;
2155
2155
 
2156
+ interface PerfStatsProps {
2157
+ /** Dismiss handler — the shell wires this to turn the pref back off, so the
2158
+ * HUD can be closed from itself rather than only from Preferences. */
2159
+ onClose?: () => void;
2160
+ className?: string;
2161
+ }
2162
+ declare function PerfStats({ onClose, className }: PerfStatsProps): react_jsx_runtime.JSX.Element;
2163
+
2164
+ /**
2165
+ * Frame-timing maths + bottleneck attribution for the desktop perf HUD.
2166
+ *
2167
+ * Split out from `PerfStats.tsx` because the interesting part is the
2168
+ * *attribution*, and attribution is pure: given a frame rate and how much of
2169
+ * the wall clock the main thread spent blocked, decide whether a janky UI is
2170
+ * the GPU's fault or JavaScript's. That decision is what the HUD exists for —
2171
+ * "the UI feels laggy" is not actionable, "you are GPU-bound" is — so it lives
2172
+ * where a test can pin it.
2173
+ *
2174
+ * The discriminator: frames are landing late, but the main thread is idle.
2175
+ * If JS were the problem the main thread would be busy, so late frames plus an
2176
+ * idle thread means the cost is downstream of script — compositing, paint,
2177
+ * backdrop-filter. The shell leans hard on frosted glass (`utils/glass.ts`
2178
+ * blurs at a 40px radius), which is exactly the kind of work that shows up
2179
+ * here and nowhere in a JS profile.
2180
+ */
2181
+ /** Frame rate at or above which we call the UI smooth. Below 60 because
2182
+ * rAF sampling is noisy and a display may be capped at 60Hz anyway — a
2183
+ * steady 55 is not a complaint anyone would file. */
2184
+ declare const SMOOTH_FPS = 50;
2185
+ /** Share of wall-clock time in long tasks that makes JS the prime suspect.
2186
+ * `longtask` entries are >50ms by definition, so even 20% means the thread
2187
+ * is stalling several times a second — visible as jank on its own. */
2188
+ declare const BLOCKED_PCT_CPU = 20;
2189
+ type BottleneckKind = 'smooth' | 'gpu' | 'cpu' | 'unknown';
2190
+ interface PerfReading {
2191
+ /** Frames per second across the sample window. */
2192
+ fps: number;
2193
+ /** Mean frame interval, ms. */
2194
+ frameMs: number;
2195
+ /** Slowest single frame in the window, ms — where the jank actually lives. */
2196
+ worstMs: number;
2197
+ /** Percentage of wall-clock time the main thread spent inside long tasks
2198
+ * (0–100), or null when the browser exposes no `longtask` observer.
2199
+ * Null is load-bearing: without it we cannot separate GPU from CPU, and
2200
+ * guessing would defeat the point of the HUD. */
2201
+ blockedPct: number | null;
2202
+ }
2203
+ interface Verdict {
2204
+ kind: BottleneckKind;
2205
+ /** Headline, for the HUD's verdict row. */
2206
+ label: string;
2207
+ /** One line of what to do about it. */
2208
+ detail: string;
2209
+ }
2210
+ /** Turn a window of rAF timestamps into a frame-rate reading.
2211
+ * Needs two timestamps to describe one interval; anything less is not yet a
2212
+ * measurement and reports zeroes rather than a fabricated 0 fps. */
2213
+ declare function summariseFrames(timestamps: number[]): Pick<PerfReading, 'fps' | 'frameMs' | 'worstMs'>;
2214
+ /**
2215
+ * Attribute a reading to a bottleneck.
2216
+ *
2217
+ * Order matters: smooth wins outright (nobody cares what a healthy frame rate
2218
+ * is *not* bound by), and an unknown block share can only ever downgrade to
2219
+ * `unknown` — never to `gpu`. Blaming the GPU because the browser withheld
2220
+ * long-task timing would be a confident wrong answer, which is worse than no
2221
+ * answer when someone is about to go change settings on the strength of it.
2222
+ */
2223
+ declare function classify(reading: PerfReading): Verdict;
2224
+
2225
+ /**
2226
+ * Session log for the desktop perf HUD — and the analysis that turns it into
2227
+ * a conclusion.
2228
+ *
2229
+ * A live frame rate tells you the UI is slow *now*. It does not tell you what
2230
+ * made it slow, and the person watching it is usually the last person able to
2231
+ * say. So while the HUD is on, every reading is stamped with what was
2232
+ * happening around it: how many windows were open, which one was on top,
2233
+ * whether the user was clicking, typing, scrolling or dragging. The log is
2234
+ * exportable, so a laggy machine somewhere else can produce evidence rather
2235
+ * than an adjective.
2236
+ *
2237
+ * The maths here is deliberately non-clever. Median rather than mean, because
2238
+ * one 400ms stall would drag a mean somewhere no frame ever was. Buckets
2239
+ * rather than a fitted curve, because "6 windows open halves the frame rate"
2240
+ * is a sentence someone can act on and a correlation coefficient is not.
2241
+ */
2242
+
2243
+ /** One flush interval's worth of measurement plus its context. Keys are short
2244
+ * because thousands of these get JSON-serialised into localStorage and into
2245
+ * whatever the user emails afterwards. */
2246
+ interface PerfLogRecord {
2247
+ /** Milliseconds since logging began. */
2248
+ t: number;
2249
+ fps: number;
2250
+ frameMs: number;
2251
+ worstMs: number;
2252
+ blockedPct: number | null;
2253
+ heapMB: number | null;
2254
+ verdict: BottleneckKind;
2255
+ /** Open shell windows at the moment of the reading. */
2256
+ windows: number;
2257
+ /** Identity of the topmost window, when there is one — so a summary can name
2258
+ * the screen that was slow rather than just the count. */
2259
+ active: string | null;
2260
+ clicks: number;
2261
+ keys: number;
2262
+ scrolls: number;
2263
+ /** Milliseconds spent mid-drag during the interval. Dragging is the single
2264
+ * most compositing-heavy thing a user does in a window shell, so it gets
2265
+ * its own axis rather than being lumped in with clicks. */
2266
+ dragMs: number;
2267
+ }
2268
+ interface FpsGroup {
2269
+ samples: number;
2270
+ medianFps: number;
2271
+ }
2272
+ interface LogSummary {
2273
+ samples: number;
2274
+ durationMs: number;
2275
+ medianFps: number;
2276
+ worstFrameMs: number;
2277
+ /** Fraction of samples in each verdict, 0–1. */
2278
+ verdictShare: Record<BottleneckKind, number>;
2279
+ /** Split by whether the user was doing anything. The gap between these two
2280
+ * is the headline: a desktop that is smooth at rest and janky in use has a
2281
+ * rendering cost that only shows up under interaction. */
2282
+ interacting: FpsGroup | null;
2283
+ idle: FpsGroup | null;
2284
+ /** Frame rate against how many windows were open. */
2285
+ byWindowCount: (FpsGroup & {
2286
+ windows: number;
2287
+ })[];
2288
+ /** Windows ranked worst-first, so the slowest screen names itself. */
2289
+ worstWindows: (FpsGroup & {
2290
+ key: string;
2291
+ })[];
2292
+ }
2293
+ /** Records kept in memory before the oldest are dropped. At one record per
2294
+ * 500ms this is about 20 minutes — long enough to catch an intermittent
2295
+ * stall, small enough to serialise without thinking about it. */
2296
+ declare const LOG_CAP = 2400;
2297
+ /** Minimum samples before a group is reported. One unlucky reading is not a
2298
+ * finding, and a summary that names a window off a single sample invites
2299
+ * someone to go optimise the wrong screen. */
2300
+ declare const MIN_GROUP_SAMPLES = 4;
2301
+ /** Append with a cap, oldest dropped first. Returns a new array — callers hold
2302
+ * this in React state, where mutation would not re-render. */
2303
+ declare function appendRecord(log: PerfLogRecord[], record: PerfLogRecord, cap?: number): PerfLogRecord[];
2304
+ /** True when the user was doing something during the interval. */
2305
+ declare function isInteracting(r: PerfLogRecord): boolean;
2306
+ /**
2307
+ * Reduce a log to the handful of statements worth acting on.
2308
+ *
2309
+ * Only samples with a real frame rate are measured — a reading taken while the
2310
+ * main thread was too blocked to deliver frames carries fps 0, and letting
2311
+ * those into a median would report a frame rate the display never showed.
2312
+ * They still count toward `verdictShare`, which is where that condition
2313
+ * belongs.
2314
+ */
2315
+ declare function summariseLog(log: PerfLogRecord[]): LogSummary;
2316
+ /** Flat CSV, for opening in a spreadsheet without writing any code. */
2317
+ declare function toCsv(log: PerfLogRecord[]): string;
2318
+
2156
2319
  /**
2157
2320
  * Semantic role of a column, used to auto-map CSV columns to fields and to
2158
2321
  * format the per-column totals. The first column is always the merge "key"
@@ -2731,4 +2894,4 @@ declare function useNewHotkey(callback: () => void): void;
2731
2894
  */
2732
2895
  declare function useEditHotkey(callback: (() => void) | null): void;
2733
2896
 
2734
- export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, Accordion, type AccordionItem, type AccordionProps, AuthScreen, type AuthScreenProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type AvatarStatus, Banner, type BannerProps, type BannerTone, BarChart, type BarChartProps, BehaviorPanel, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type BulkColumn, type BulkColumnKind, BulkImportGrid, type BulkImportGridProps, type BulkRow, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, CancelButton, Card, type CardProps, type CellStyle, ChangePasswordForm, type ChangePasswordFormProps, type ChangelogEntry, ChatTemplate, Checkbox, type CheckboxProps, CheckoutTemplate, type ClockCalendarConfig, ColoredBadge, type ColoredBadgeProps, type ColumnDef, ConfirmProvider, ContainerFillChart, type ContainerFillChartProps, type ContainerFillItem, CopyButton, Customization, type CustomizationOmitSection, type CustomizationProps, type CustomizationSection, DEV_BANNER_TEXT, DashboardTemplate, DataTablePage, DateRangePicker, type DateRangePickerProps, Desktop, type DesktopContextMenuItem, type DesktopHostConfig, DesktopHostProvider, DevIndicator, DocFavStar, DonutChart, type DonutChartProps, type DonutSegment, type DuplicateGroup, ENTER, EditableGrid, type EditableGridProps, EmailTemplate, EmptyState, type EmptyStateProps, type EntityFetcher, EntityList, type EntityListColumn, type EntityListContextAction, type EntityListProps, ErrorPage, type ErrorPageProps, FilterBar, type FilterOption, FormField, type FormFieldProps, FormLayoutPage, GLASS_DIVIDER, GLASS_INPUT_BG, GalleryTemplate, GlobalSearch, type GridColumn, type HealthCheckResult, HelpCenter, type HelpCenterDoc, type HelpCenterProps, INPUT_BASE, ImageAnnotator, type ImageAnnotatorHandle, type ImageAnnotatorProps, Input, type InputProps, Kanban, type KanbanColumn, type KanbanProps, Label, type LabelProps, Layout, type LayoutProps, ListFooter, ListLoadError, type ListLoadErrorProps, LoadingSpinner, type LoadingSpinnerProps, MOD, Markdown, type MarkdownProps, MediaUploadField, type MediaUploadFieldProps, MediaUploadGrid, type MediaUploadGridItem, type MediaUploadGridProps, type MergeBulkOptions, type MergeBulkResult, MetricBar, type MetricBarProps, type Milestone, type MilestoneKind, MilestoneTimeline, type MilestoneTimelineProps, type MobileAppConfig, Modal, ModalActions, NativeSelect, NotificationBell, type NotificationsConfig, PageHeader, type PageHeaderProps, type PaginatedResponse, Pagination, type PaginationProps, PdfActionButton, type PdfActionButtonProps, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, Radio, type RadioProps, ResizableTable, SHIFT, type SearchConfig, type SearchProvider, type SearchResult, type SearchableOption, SearchableSelect, type SearchableSelectProps, Select, type SelectOption, type SelectProps, type SemanticGroup, ServerStatusIndicator, type ServerStatusIndicatorProps, type ServerStatusUser, type SeverityTone, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, SidebarActionButton, type SidebarActionButtonProps, SidebarGroupLabel, SidebarLayout, type SidebarLayoutProps, SidebarNavItem, type SortState, SoundsPanel, Sparkline, type SparklineProps, StartMenu, StatCard, type StatCardProps, StatusBadge, StatusBadgeProvider, type StickyEntityRef, type StickyResolver, SystemPreferences, type SystemPreferencesProps, type SystemPreferencesSection, type TabItem, Tabs, type TabsProps, Textarea, type TextareaProps, type TodoProvider, type TodoTask, Tooltip, type TooltipProps, TopNav, type TopNavItem, type TopNavProps, VERSION, WidgetManager, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowRegistry, WindowTitle, applyDevTitle, commitExposeHighlight, confirm, confirmDestructive, createWindowRegistry, exitExposeMode, findDuplicateKeys, formatDate, getActiveWindowRoute, getExposeHighlight, getWindowPosition, glassStyle, inputClasses, isDevEnv, isMac, isSeverityTone, mediaFileName, mergeBulkItems, prompt, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellAuthBridge, setShellNavIcons, setShellTodoProvider, setWindowDefaultPosition, setWindowPosition, severityOf, subscribeExposeHighlight, toISODate, toast, toggleExposeMode, useClickOutside, useColumnConfig, useDesktopHost, useEditHotkey, useFilters, useInfiniteScroll, useLocalStoragePrefs, useModalActive, useNewHotkey, useShellAuth, useShellEntityFetcher, useShellPrefs, useSort, useTableNav, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };
2897
+ export { ALT, ALT_SHIFT_D, ALT_SHIFT_E, ALT_SHIFT_N, Accordion, type AccordionItem, type AccordionProps, AuthScreen, type AuthScreenProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type AvatarStatus, BLOCKED_PCT_CPU, Banner, type BannerProps, type BannerTone, BarChart, type BarChartProps, BehaviorPanel, type BottleneckKind, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, type BulkColumn, type BulkColumnKind, BulkImportGrid, type BulkImportGridProps, type BulkRow, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CMD_A, CMD_DOT, CMD_ENTER, CMD_K, CMD_S, CancelButton, Card, type CardProps, type CellStyle, ChangePasswordForm, type ChangePasswordFormProps, type ChangelogEntry, ChatTemplate, Checkbox, type CheckboxProps, CheckoutTemplate, type ClockCalendarConfig, ColoredBadge, type ColoredBadgeProps, type ColumnDef, ConfirmProvider, ContainerFillChart, type ContainerFillChartProps, type ContainerFillItem, CopyButton, Customization, type CustomizationOmitSection, type CustomizationProps, type CustomizationSection, DEV_BANNER_TEXT, DashboardTemplate, DataTablePage, DateRangePicker, type DateRangePickerProps, Desktop, type DesktopContextMenuItem, type DesktopHostConfig, DesktopHostProvider, DevIndicator, DocFavStar, DonutChart, type DonutChartProps, type DonutSegment, type DuplicateGroup, ENTER, EditableGrid, type EditableGridProps, EmailTemplate, EmptyState, type EmptyStateProps, type EntityFetcher, EntityList, type EntityListColumn, type EntityListContextAction, type EntityListProps, ErrorPage, type ErrorPageProps, FilterBar, type FilterOption, FormField, type FormFieldProps, FormLayoutPage, type FpsGroup, GLASS_DIVIDER, GLASS_INPUT_BG, GalleryTemplate, GlobalSearch, type GridColumn, type HealthCheckResult, HelpCenter, type HelpCenterDoc, type HelpCenterProps, INPUT_BASE, ImageAnnotator, type ImageAnnotatorHandle, type ImageAnnotatorProps, Input, type InputProps, Kanban, type KanbanColumn, type KanbanProps, LOG_CAP, Label, type LabelProps, Layout, type LayoutProps, ListFooter, ListLoadError, type ListLoadErrorProps, LoadingSpinner, type LoadingSpinnerProps, type LogSummary, MIN_GROUP_SAMPLES, MOD, Markdown, type MarkdownProps, MediaUploadField, type MediaUploadFieldProps, MediaUploadGrid, type MediaUploadGridItem, type MediaUploadGridProps, type MergeBulkOptions, type MergeBulkResult, MetricBar, type MetricBarProps, type Milestone, type MilestoneKind, MilestoneTimeline, type MilestoneTimelineProps, type MobileAppConfig, Modal, ModalActions, NativeSelect, NotificationBell, type NotificationsConfig, PageHeader, type PageHeaderProps, type PaginatedResponse, Pagination, type PaginationProps, PdfActionButton, type PdfActionButtonProps, type PerfLogRecord, type PerfReading, PerfStats, type PerfStatsProps, PopupMenu, PopupMenuDivider, PopupMenuItem, PopupMenuLabel, Radio, type RadioProps, ResizableTable, SHIFT, SMOOTH_FPS, type SearchConfig, type SearchProvider, type SearchResult, type SearchableOption, SearchableSelect, type SearchableSelectProps, Select, type SelectOption, type SelectProps, type SemanticGroup, ServerStatusIndicator, type ServerStatusIndicatorProps, type ServerStatusUser, type SeverityTone, type ShellAuth, ShellAuthProvider, ShellEntityFetcherProvider, type ShellNotification, type ShellPrefsAdapter, ShellPrefsProvider, ShortcutHelp, SidebarActionButton, type SidebarActionButtonProps, SidebarGroupLabel, SidebarLayout, type SidebarLayoutProps, SidebarNavItem, type SortState, SoundsPanel, Sparkline, type SparklineProps, StartMenu, StatCard, type StatCardProps, StatusBadge, StatusBadgeProvider, type StickyEntityRef, type StickyResolver, SystemPreferences, type SystemPreferencesProps, type SystemPreferencesSection, type TabItem, Tabs, type TabsProps, Textarea, type TextareaProps, type TodoProvider, type TodoTask, Tooltip, type TooltipProps, TopNav, type TopNavItem, type TopNavProps, VERSION, type Verdict, WidgetManager, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowRegistry, WindowTitle, appendRecord as appendPerfRecord, applyDevTitle, classify as classifyPerf, commitExposeHighlight, confirm, confirmDestructive, createWindowRegistry, exitExposeMode, findDuplicateKeys, formatDate, getActiveWindowRoute, getExposeHighlight, getWindowPosition, glassStyle, inputClasses, isDevEnv, isInteracting, isMac, isSeverityTone, mediaFileName, mergeBulkItems, toCsv as perfLogToCsv, prompt, registerModalEscapeInterceptor, setExposeHighlight, setShellApiClient, setShellAuthBridge, setShellNavIcons, setShellTodoProvider, setWindowDefaultPosition, setWindowPosition, severityOf, subscribeExposeHighlight, summariseFrames, summariseLog as summarisePerfLog, toISODate, toast, toggleExposeMode, useClickOutside, useColumnConfig, useDesktopHost, useEditHotkey, useFilters, useInfiniteScroll, useLocalStoragePrefs, useModalActive, useNewHotkey, useShellAuth, useShellEntityFetcher, useShellPrefs, useSort, useTableNav, useWidgetSettings, useWindowManager, useWindowMenuItem, useWindowTitle };