@chrryai/chrry 1.2.69 → 1.2.71

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/Chrry.module.scss CHANGED
@@ -54,10 +54,6 @@
54
54
  align-items: center;
55
55
  gap: toRem.toRem(10);
56
56
  margin-top: toRem.toRem(10);
57
- align-items: center;
58
- justify-content: center;
59
- position: absolute;
60
- top: toRem.toRem(10);
61
57
  width: 100%;
62
58
  }
63
59
 
@@ -54,10 +54,6 @@
54
54
  align-items: center;
55
55
  gap: toRem.toRem(10);
56
56
  margin-top: toRem.toRem(10);
57
- align-items: center;
58
- justify-content: center;
59
- position: absolute;
60
- top: toRem.toRem(10);
61
57
  width: 100%;
62
58
  }
63
59
 
package/dist/index.d.mts CHANGED
@@ -1,6 +1,5 @@
1
1
  import z$1, { z } from 'zod';
2
- import * as React from 'react';
3
- import React__default, { ReactNode } from 'react';
2
+ import React$1, { ReactNode } from 'react';
4
3
  import { Metadata } from 'next';
5
4
 
6
5
  declare function useLocalStorage<T>(key: string, initialValue: T | (() => T)): readonly [T, (value: T | ((t: T) => T)) => Promise<void>];
@@ -41,7 +40,7 @@ type user = {
41
40
  imagesGeneratedToday: number;
42
41
  lastImageGenerationReset: Date | null;
43
42
  lastMessage?: message;
44
- favouriteAgent: "deepSeek" | "chatGPT" | "claude" | "gemini" | "flux" | "perplexity";
43
+ favouriteAgent: "deepSeek" | "chatGPT" | "claude" | "gemini" | "flux" | "perplexity" | string;
45
44
  timezone: string | null;
46
45
  appleId: string | null;
47
46
  migratedFromGuest: boolean;
@@ -782,7 +781,7 @@ declare const isFirefox: boolean;
782
781
  declare function getFlag({ code }: {
783
782
  code?: string;
784
783
  }): string;
785
- declare const VERSION = "1.2.69";
784
+ declare const VERSION = "1.2.71";
786
785
  type instructionBase = {
787
786
  id: string;
788
787
  title: string;
@@ -834,21 +833,16 @@ declare function checkThreadSummaryLimit({ user, guest, thread, }: {
834
833
  }): boolean;
835
834
  declare const getRedirectURL: () => any;
836
835
  declare const getDailyImageLimit: ({ member, guest, }: {
837
- member?: user & {
836
+ member?: Partial<user> & {
838
837
  subscription?: subscription;
839
838
  };
840
- guest?: guest & {
839
+ guest?: Partial<guest> & {
841
840
  subscription?: subscription;
842
841
  };
843
842
  }) => number;
844
843
  declare function isValidUsername(username: string): boolean;
845
844
 
846
- declare const isCollaborator: (thread: thread | {
847
- collaborations?: {
848
- user: user;
849
- collaboration: collaboration;
850
- }[] | null;
851
- }, userId?: string, status?: "active" | "pending") => boolean;
845
+ declare const isCollaborator: (thread: thread, userId?: string, status?: "active" | "pending") => boolean;
852
846
  declare const PDF_LIMITS: {
853
847
  initial: number;
854
848
  increment: number;
@@ -1526,16 +1520,89 @@ declare const getActions: ({ API_URL, token, }: {
1526
1520
  } | undefined>;
1527
1521
  };
1528
1522
 
1523
+ declare const aiAgentCapabilitiesSchema: z.ZodObject<{
1524
+ text: z.ZodDefault<z.ZodBoolean>;
1525
+ image: z.ZodDefault<z.ZodBoolean>;
1526
+ audio: z.ZodDefault<z.ZodBoolean>;
1527
+ video: z.ZodDefault<z.ZodBoolean>;
1528
+ webSearch: z.ZodDefault<z.ZodBoolean>;
1529
+ imageGeneration: z.ZodDefault<z.ZodBoolean>;
1530
+ codeExecution: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1531
+ pdf: z.ZodDefault<z.ZodBoolean>;
1532
+ }, z.core.$strip>;
1533
+ declare const aiAgentSchema: z.ZodObject<{
1534
+ id: z.ZodOptional<z.ZodString>;
1535
+ name: z.ZodString;
1536
+ displayName: z.ZodString;
1537
+ version: z.ZodDefault<z.ZodString>;
1538
+ apiURL: z.ZodUnion<[z.ZodString, z.ZodString]>;
1539
+ description: z.ZodOptional<z.ZodString>;
1540
+ state: z.ZodDefault<z.ZodEnum<{
1541
+ active: "active";
1542
+ testing: "testing";
1543
+ inactive: "inactive";
1544
+ }>>;
1545
+ creditCost: z.ZodDefault<z.ZodNumber>;
1546
+ modelId: z.ZodString;
1547
+ userId: z.ZodOptional<z.ZodString>;
1548
+ guestId: z.ZodOptional<z.ZodString>;
1549
+ order: z.ZodDefault<z.ZodNumber>;
1550
+ maxPromptSize: z.ZodOptional<z.ZodNumber>;
1551
+ capabilities: z.ZodDefault<z.ZodObject<{
1552
+ text: z.ZodDefault<z.ZodBoolean>;
1553
+ image: z.ZodDefault<z.ZodBoolean>;
1554
+ audio: z.ZodDefault<z.ZodBoolean>;
1555
+ video: z.ZodDefault<z.ZodBoolean>;
1556
+ webSearch: z.ZodDefault<z.ZodBoolean>;
1557
+ imageGeneration: z.ZodDefault<z.ZodBoolean>;
1558
+ codeExecution: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1559
+ pdf: z.ZodDefault<z.ZodBoolean>;
1560
+ }, z.core.$strip>>;
1561
+ authorization: z.ZodDefault<z.ZodEnum<{
1562
+ user: "user";
1563
+ subscriber: "subscriber";
1564
+ guest: "guest";
1565
+ all: "all";
1566
+ }>>;
1567
+ }, z.core.$strip>;
1568
+ declare const createCustomAiAgentSchema: z.ZodObject<{
1569
+ name: z.ZodString;
1570
+ apiKey: z.ZodString;
1571
+ displayName: z.ZodOptional<z.ZodString>;
1572
+ modelId: z.ZodOptional<z.ZodString>;
1573
+ apiURL: z.ZodOptional<z.ZodString>;
1574
+ capabilities: z.ZodOptional<z.ZodObject<{
1575
+ text: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1576
+ image: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1577
+ audio: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1578
+ video: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1579
+ webSearch: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1580
+ imageGeneration: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1581
+ codeExecution: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1582
+ pdf: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1583
+ }, z.core.$strip>>;
1584
+ }, z.core.$strip>;
1585
+ type AiAgent = z.infer<typeof aiAgentSchema>;
1586
+ type AiAgentCapabilities = z.infer<typeof aiAgentCapabilitiesSchema>;
1587
+ type CreateCustomAiAgent = z.infer<typeof createCustomAiAgentSchema>;
1588
+
1529
1589
  declare function Sidebar({ useExtensionIcon, }: {
1530
1590
  useExtensionIcon?: (slug?: string) => void;
1531
- }): React.JSX.Element;
1591
+ }): React.ReactElement;
1532
1592
 
1533
- declare function Chrry(): React__default.JSX.Element;
1593
+ declare function Chrry(): React$1.JSX.Element;
1534
1594
 
1535
1595
  declare function Store({ compact, slug, }: {
1536
1596
  compact?: boolean;
1537
1597
  slug?: string;
1538
- }): React__default.JSX.Element | null;
1598
+ }): React$1.JSX.Element | null;
1599
+
1600
+ /**
1601
+ * HistoryRouterProvider - Makes window.history changes trigger React re-renders
1602
+ *
1603
+ * This provider ensures that when clientRouter.push() is called,
1604
+ * all components using pathname/searchParams will re-render properly
1605
+ */
1539
1606
 
1540
1607
  interface HistoryRouterProviderProps {
1541
1608
  children: ReactNode;
@@ -1553,6 +1620,6 @@ interface HistoryRouterProviderProps {
1553
1620
  * </HistoryRouterProvider>
1554
1621
  * ```
1555
1622
  */
1556
- declare function HistoryRouterProvider({ children, }: HistoryRouterProviderProps): React.JSX.Element;
1623
+ declare function HistoryRouterProvider({ children, }: HistoryRouterProviderProps): React.ReactElement;
1557
1624
 
1558
- export { ADDITIONAL_CREDITS, API_URL, type ApiActions, BrowserInstance, CHRRY_URL, CREDITS_PRICE, type CalendarEventFormData, Chrry, FREE_DAYS, FRONTEND_URL, HistoryRouterProvider, MAX_FILE_SIZES, MAX_TOOL_CALLS_PER_MESSAGE, OWNER_CREDITS, PDF_LIMITS, PLUS_PRICE, PROD_FRONTEND_URL, PROMPT_LIMITS, PRO_PRICE, Sidebar, Store, VERSION, WS_URL, addParam, apiFetch, budgetCategory, capitalizeFirstLetter, checkIsExtension, checkThreadSummaryLimit, createApp, createCalendarEvent, deleteApp, deleteCalendarEvent, deleteMemories, deleteMessage, deleteSubscription, exampleInstructions, expenseCategory, type expenseCategoryType, exportToGoogleCalendar, extensionSuggestions, generateAppMetadata, getActions, getApps, getBrowserAPI, getBrowserIdentity, getCalendarEvents, getDailyImageLimit, getExampleInstructions, getExtensionUrl, getFlag, getGuest, getHourlyLimit, getImageSrc, getInstructionConfig, getLastMessage, getMetadata, getRedirectURL, getSession, getSlugFromPathname, getThread, getThreadId, getThreads, getUser, getUsers, getWeatherCacheTime, type instructionBase, isCI, isCollaborator, isDeepEqual, isDevelopment, isE2E, isFirefox, isOwner, isValidUsername, isValidUuidV4, pageSizes, removeParam, removeUser, reorderApps, storage, syncGoogleCalendar, updateApp, updateCalendarEvent, updateCollaboration, updateGuest, updateMessage, updateThread, updateUser, uploadUserImage, useCountdown, useDeviceInfo, useHasHydrated, useLocalStorage, usePWAInstall };
1625
+ export { ADDITIONAL_CREDITS, API_URL, type AiAgent, type AiAgentCapabilities, type ApiActions, BrowserInstance, CHRRY_URL, CREDITS_PRICE, type CalendarEventFormData, Chrry, type CreateCustomAiAgent, FREE_DAYS, FRONTEND_URL, HistoryRouterProvider, MAX_FILE_SIZES, MAX_TOOL_CALLS_PER_MESSAGE, OWNER_CREDITS, PDF_LIMITS, PLUS_PRICE, PROD_FRONTEND_URL, PROMPT_LIMITS, PRO_PRICE, Sidebar, Store, VERSION, WS_URL, addParam, aiAgentCapabilitiesSchema, aiAgentSchema, apiFetch, type appFormData, appSchema, budgetCategory, capitalizeFirstLetter, checkIsExtension, checkThreadSummaryLimit, createApp, createCalendarEvent, createCustomAiAgentSchema, deleteApp, deleteCalendarEvent, deleteMemories, deleteMessage, deleteSubscription, exampleInstructions, expenseCategory, type expenseCategoryType, exportToGoogleCalendar, extensionSuggestions, generateAppMetadata, getActions, getApps, getBrowserAPI, getBrowserIdentity, getCalendarEvents, getDailyImageLimit, getExampleInstructions, getExtensionUrl, getFlag, getGuest, getHourlyLimit, getImageSrc, getInstructionConfig, getLastMessage, getMetadata, getRedirectURL, getSession, getSlugFromPathname, getThread, getThreadId, getThreads, getUser, getUsers, getWeatherCacheTime, type instructionBase, isCI, isCollaborator, isDeepEqual, isDevelopment, isE2E, isFirefox, isOwner, isValidUsername, isValidUuidV4, pageSizes, removeParam, removeUser, reorderApps, storage, syncGoogleCalendar, updateApp, updateCalendarEvent, updateCollaboration, updateGuest, updateMessage, updateThread, updateUser, uploadUserImage, useCountdown, useDeviceInfo, useHasHydrated, useLocalStorage, usePWAInstall };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import z$1, { z } from 'zod';
2
- import * as React from 'react';
3
- import React__default, { ReactNode } from 'react';
2
+ import React$1, { ReactNode } from 'react';
4
3
  import { Metadata } from 'next';
5
4
 
6
5
  declare function useLocalStorage<T>(key: string, initialValue: T | (() => T)): readonly [T, (value: T | ((t: T) => T)) => Promise<void>];
@@ -41,7 +40,7 @@ type user = {
41
40
  imagesGeneratedToday: number;
42
41
  lastImageGenerationReset: Date | null;
43
42
  lastMessage?: message;
44
- favouriteAgent: "deepSeek" | "chatGPT" | "claude" | "gemini" | "flux" | "perplexity";
43
+ favouriteAgent: "deepSeek" | "chatGPT" | "claude" | "gemini" | "flux" | "perplexity" | string;
45
44
  timezone: string | null;
46
45
  appleId: string | null;
47
46
  migratedFromGuest: boolean;
@@ -782,7 +781,7 @@ declare const isFirefox: boolean;
782
781
  declare function getFlag({ code }: {
783
782
  code?: string;
784
783
  }): string;
785
- declare const VERSION = "1.2.69";
784
+ declare const VERSION = "1.2.71";
786
785
  type instructionBase = {
787
786
  id: string;
788
787
  title: string;
@@ -834,21 +833,16 @@ declare function checkThreadSummaryLimit({ user, guest, thread, }: {
834
833
  }): boolean;
835
834
  declare const getRedirectURL: () => any;
836
835
  declare const getDailyImageLimit: ({ member, guest, }: {
837
- member?: user & {
836
+ member?: Partial<user> & {
838
837
  subscription?: subscription;
839
838
  };
840
- guest?: guest & {
839
+ guest?: Partial<guest> & {
841
840
  subscription?: subscription;
842
841
  };
843
842
  }) => number;
844
843
  declare function isValidUsername(username: string): boolean;
845
844
 
846
- declare const isCollaborator: (thread: thread | {
847
- collaborations?: {
848
- user: user;
849
- collaboration: collaboration;
850
- }[] | null;
851
- }, userId?: string, status?: "active" | "pending") => boolean;
845
+ declare const isCollaborator: (thread: thread, userId?: string, status?: "active" | "pending") => boolean;
852
846
  declare const PDF_LIMITS: {
853
847
  initial: number;
854
848
  increment: number;
@@ -1526,16 +1520,89 @@ declare const getActions: ({ API_URL, token, }: {
1526
1520
  } | undefined>;
1527
1521
  };
1528
1522
 
1523
+ declare const aiAgentCapabilitiesSchema: z.ZodObject<{
1524
+ text: z.ZodDefault<z.ZodBoolean>;
1525
+ image: z.ZodDefault<z.ZodBoolean>;
1526
+ audio: z.ZodDefault<z.ZodBoolean>;
1527
+ video: z.ZodDefault<z.ZodBoolean>;
1528
+ webSearch: z.ZodDefault<z.ZodBoolean>;
1529
+ imageGeneration: z.ZodDefault<z.ZodBoolean>;
1530
+ codeExecution: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1531
+ pdf: z.ZodDefault<z.ZodBoolean>;
1532
+ }, z.core.$strip>;
1533
+ declare const aiAgentSchema: z.ZodObject<{
1534
+ id: z.ZodOptional<z.ZodString>;
1535
+ name: z.ZodString;
1536
+ displayName: z.ZodString;
1537
+ version: z.ZodDefault<z.ZodString>;
1538
+ apiURL: z.ZodUnion<[z.ZodString, z.ZodString]>;
1539
+ description: z.ZodOptional<z.ZodString>;
1540
+ state: z.ZodDefault<z.ZodEnum<{
1541
+ active: "active";
1542
+ testing: "testing";
1543
+ inactive: "inactive";
1544
+ }>>;
1545
+ creditCost: z.ZodDefault<z.ZodNumber>;
1546
+ modelId: z.ZodString;
1547
+ userId: z.ZodOptional<z.ZodString>;
1548
+ guestId: z.ZodOptional<z.ZodString>;
1549
+ order: z.ZodDefault<z.ZodNumber>;
1550
+ maxPromptSize: z.ZodOptional<z.ZodNumber>;
1551
+ capabilities: z.ZodDefault<z.ZodObject<{
1552
+ text: z.ZodDefault<z.ZodBoolean>;
1553
+ image: z.ZodDefault<z.ZodBoolean>;
1554
+ audio: z.ZodDefault<z.ZodBoolean>;
1555
+ video: z.ZodDefault<z.ZodBoolean>;
1556
+ webSearch: z.ZodDefault<z.ZodBoolean>;
1557
+ imageGeneration: z.ZodDefault<z.ZodBoolean>;
1558
+ codeExecution: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1559
+ pdf: z.ZodDefault<z.ZodBoolean>;
1560
+ }, z.core.$strip>>;
1561
+ authorization: z.ZodDefault<z.ZodEnum<{
1562
+ user: "user";
1563
+ subscriber: "subscriber";
1564
+ guest: "guest";
1565
+ all: "all";
1566
+ }>>;
1567
+ }, z.core.$strip>;
1568
+ declare const createCustomAiAgentSchema: z.ZodObject<{
1569
+ name: z.ZodString;
1570
+ apiKey: z.ZodString;
1571
+ displayName: z.ZodOptional<z.ZodString>;
1572
+ modelId: z.ZodOptional<z.ZodString>;
1573
+ apiURL: z.ZodOptional<z.ZodString>;
1574
+ capabilities: z.ZodOptional<z.ZodObject<{
1575
+ text: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1576
+ image: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1577
+ audio: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1578
+ video: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1579
+ webSearch: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1580
+ imageGeneration: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1581
+ codeExecution: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>>;
1582
+ pdf: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1583
+ }, z.core.$strip>>;
1584
+ }, z.core.$strip>;
1585
+ type AiAgent = z.infer<typeof aiAgentSchema>;
1586
+ type AiAgentCapabilities = z.infer<typeof aiAgentCapabilitiesSchema>;
1587
+ type CreateCustomAiAgent = z.infer<typeof createCustomAiAgentSchema>;
1588
+
1529
1589
  declare function Sidebar({ useExtensionIcon, }: {
1530
1590
  useExtensionIcon?: (slug?: string) => void;
1531
- }): React.JSX.Element;
1591
+ }): React.ReactElement;
1532
1592
 
1533
- declare function Chrry(): React__default.JSX.Element;
1593
+ declare function Chrry(): React$1.JSX.Element;
1534
1594
 
1535
1595
  declare function Store({ compact, slug, }: {
1536
1596
  compact?: boolean;
1537
1597
  slug?: string;
1538
- }): React__default.JSX.Element | null;
1598
+ }): React$1.JSX.Element | null;
1599
+
1600
+ /**
1601
+ * HistoryRouterProvider - Makes window.history changes trigger React re-renders
1602
+ *
1603
+ * This provider ensures that when clientRouter.push() is called,
1604
+ * all components using pathname/searchParams will re-render properly
1605
+ */
1539
1606
 
1540
1607
  interface HistoryRouterProviderProps {
1541
1608
  children: ReactNode;
@@ -1553,6 +1620,6 @@ interface HistoryRouterProviderProps {
1553
1620
  * </HistoryRouterProvider>
1554
1621
  * ```
1555
1622
  */
1556
- declare function HistoryRouterProvider({ children, }: HistoryRouterProviderProps): React.JSX.Element;
1623
+ declare function HistoryRouterProvider({ children, }: HistoryRouterProviderProps): React.ReactElement;
1557
1624
 
1558
- export { ADDITIONAL_CREDITS, API_URL, type ApiActions, BrowserInstance, CHRRY_URL, CREDITS_PRICE, type CalendarEventFormData, Chrry, FREE_DAYS, FRONTEND_URL, HistoryRouterProvider, MAX_FILE_SIZES, MAX_TOOL_CALLS_PER_MESSAGE, OWNER_CREDITS, PDF_LIMITS, PLUS_PRICE, PROD_FRONTEND_URL, PROMPT_LIMITS, PRO_PRICE, Sidebar, Store, VERSION, WS_URL, addParam, apiFetch, budgetCategory, capitalizeFirstLetter, checkIsExtension, checkThreadSummaryLimit, createApp, createCalendarEvent, deleteApp, deleteCalendarEvent, deleteMemories, deleteMessage, deleteSubscription, exampleInstructions, expenseCategory, type expenseCategoryType, exportToGoogleCalendar, extensionSuggestions, generateAppMetadata, getActions, getApps, getBrowserAPI, getBrowserIdentity, getCalendarEvents, getDailyImageLimit, getExampleInstructions, getExtensionUrl, getFlag, getGuest, getHourlyLimit, getImageSrc, getInstructionConfig, getLastMessage, getMetadata, getRedirectURL, getSession, getSlugFromPathname, getThread, getThreadId, getThreads, getUser, getUsers, getWeatherCacheTime, type instructionBase, isCI, isCollaborator, isDeepEqual, isDevelopment, isE2E, isFirefox, isOwner, isValidUsername, isValidUuidV4, pageSizes, removeParam, removeUser, reorderApps, storage, syncGoogleCalendar, updateApp, updateCalendarEvent, updateCollaboration, updateGuest, updateMessage, updateThread, updateUser, uploadUserImage, useCountdown, useDeviceInfo, useHasHydrated, useLocalStorage, usePWAInstall };
1625
+ export { ADDITIONAL_CREDITS, API_URL, type AiAgent, type AiAgentCapabilities, type ApiActions, BrowserInstance, CHRRY_URL, CREDITS_PRICE, type CalendarEventFormData, Chrry, type CreateCustomAiAgent, FREE_DAYS, FRONTEND_URL, HistoryRouterProvider, MAX_FILE_SIZES, MAX_TOOL_CALLS_PER_MESSAGE, OWNER_CREDITS, PDF_LIMITS, PLUS_PRICE, PROD_FRONTEND_URL, PROMPT_LIMITS, PRO_PRICE, Sidebar, Store, VERSION, WS_URL, addParam, aiAgentCapabilitiesSchema, aiAgentSchema, apiFetch, type appFormData, appSchema, budgetCategory, capitalizeFirstLetter, checkIsExtension, checkThreadSummaryLimit, createApp, createCalendarEvent, createCustomAiAgentSchema, deleteApp, deleteCalendarEvent, deleteMemories, deleteMessage, deleteSubscription, exampleInstructions, expenseCategory, type expenseCategoryType, exportToGoogleCalendar, extensionSuggestions, generateAppMetadata, getActions, getApps, getBrowserAPI, getBrowserIdentity, getCalendarEvents, getDailyImageLimit, getExampleInstructions, getExtensionUrl, getFlag, getGuest, getHourlyLimit, getImageSrc, getInstructionConfig, getLastMessage, getMetadata, getRedirectURL, getSession, getSlugFromPathname, getThread, getThreadId, getThreads, getUser, getUsers, getWeatherCacheTime, type instructionBase, isCI, isCollaborator, isDeepEqual, isDevelopment, isE2E, isFirefox, isOwner, isValidUsername, isValidUuidV4, pageSizes, removeParam, removeUser, reorderApps, storage, syncGoogleCalendar, updateApp, updateCalendarEvent, updateCollaboration, updateGuest, updateMessage, updateThread, updateUser, uploadUserImage, useCountdown, useDeviceInfo, useHasHydrated, useLocalStorage, usePWAInstall };