@chrryai/chrry 1.5.67 → 1.5.72

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.
@@ -389,12 +389,13 @@
389
389
  gap: toRem.toRem(2);
390
390
  align-items: center;
391
391
  vertical-align: middle;
392
+ margin-left: toRem.toRem(6);
392
393
  }
393
394
 
394
- .dots span {
395
+ .dotsSpan {
395
396
  width: toRem.toRem(4);
396
397
  height: toRem.toRem(4);
397
- background: var(--shade-4);
398
+ background: var(--accent-4);
398
399
  border-radius: 50%;
399
400
  animation: typing 1.4s infinite ease-in-out;
400
401
  }
package/Store.module.scss CHANGED
@@ -151,9 +151,13 @@
151
151
  }
152
152
 
153
153
  .appName {
154
- font-size: toRem.toRem(16);
154
+ font-size: toRem.toRem(15);
155
155
  font-weight: 600;
156
156
  text-align: center;
157
+ display: flex;
158
+ align-items: center;
159
+ gap: toRem.toRem(7.5);
160
+ color: var(--shade-7);
157
161
  }
158
162
 
159
163
  .appSubtitle {
@@ -1,5 +1,5 @@
1
- @use "./breakpoints.scss";
2
- @use "./toRem.scss";
1
+ @use "../breakpoints.scss";
2
+ @use "../toRem.scss";
3
3
 
4
4
  .ossLink,
5
5
  .oss {
@@ -1,4 +1,4 @@
1
- @use "./toRem.scss";
1
+ @use "../toRem.scss";
2
2
 
3
3
  .accountButton {
4
4
  display: flex;
@@ -1,5 +1,5 @@
1
- @use "./breakpoints.scss";
2
- @use "./utils.scss";
1
+ @use "../breakpoints.scss";
2
+ @use "../utils.scss";
3
3
 
4
4
  .addToHomeScreen {
5
5
  height: 100vh;
@@ -1,6 +1,6 @@
1
- @use "./toRem.scss";
2
- @use "./breakpoints.scss";
3
- @use "./utils.scss";
1
+ @use "../toRem.scss";
2
+ @use "../breakpoints.scss";
3
+ @use "../utils.scss";
4
4
 
5
5
  .affiliate {
6
6
  width: 100%;
@@ -1,5 +1,5 @@
1
- @use "./toRem.scss";
2
- @use "./breakpoints.scss";
1
+ @use "../toRem.scss";
2
+ @use "../breakpoints.scss";
3
3
 
4
4
  .affiliate {
5
5
  width: 100%;
@@ -1,6 +1,6 @@
1
- @use "./breakpoints.scss";
2
- @use "./utils.scss";
3
- @use "./toRem.scss";
1
+ @use "../breakpoints.scss";
2
+ @use "../utils.scss";
3
+ @use "../toRem.scss";
4
4
 
5
5
  .newAgent {
6
6
  margin: 0 auto;
package/dist/index.d.mts CHANGED
@@ -666,6 +666,7 @@ declare function replaceLinks({ text, pageUrl, }: {
666
666
  pageUrl?: string;
667
667
  }): Array<TextSegment>;
668
668
 
669
+ declare const isCI: string | undefined;
669
670
  declare const checkIsExtension: () => boolean;
670
671
  declare const getExtensionUrl: () => any;
671
672
  declare const isProduction: boolean;
@@ -690,12 +691,14 @@ declare const getHourlyLimit: ({ member, guest, app, }: {
690
691
  * }
691
692
  * ```
692
693
  */
693
- declare function generateAppMetadata({ app, locale, currentDomain, translations, ...rest }: {
694
+ declare function generateAppMetadata({ app, locale, currentDomain, translations, whiteLabel, ...rest }: {
694
695
  app: appWithStore;
695
696
  store?: storeWithApps;
696
697
  locale?: locale | string;
697
698
  currentDomain: string;
698
699
  translations: Record<string, any>;
700
+ pathname?: string;
701
+ whiteLabel?: appWithStore;
699
702
  }): Metadata;
700
703
 
701
704
  /**
@@ -785,7 +788,6 @@ declare const PROMPT_LIMITS: {
785
788
  declare const expenseCategory: readonly ["food", "transport", "entertainment", "shopping", "bills", "health", "education", "travel", "other"];
786
789
  type expenseCategoryType = (typeof expenseCategory)[number];
787
790
  declare const budgetCategory: readonly ["food", "transport", "entertainment", "shopping", "bills", "health", "education", "travel", "other"];
788
- declare const isCI: string | undefined;
789
791
  declare const isE2E: boolean;
790
792
  declare const extensionSuggestions: {
791
793
  text: string;
@@ -1077,6 +1079,40 @@ declare function useAppMetadata(app?: appWithStore, enabled?: boolean): void;
1077
1079
  */
1078
1080
  declare function useThreadMetadata(thread?: thread): void;
1079
1081
 
1082
+ /**
1083
+ * A hook that syncs local state with a derived/computed value.
1084
+ * Useful when you need local state that can be overridden by user interaction,
1085
+ * but should reset to the computed value when dependencies change.
1086
+ *
1087
+ * @param computedValue - The value to sync with (derived from props/context)
1088
+ * @param deps - Dependencies that should trigger a reset to computedValue
1089
+ * @returns [value, setValue] - Tuple like useState
1090
+ *
1091
+ * @example
1092
+ * ```tsx
1093
+ * // Syncs with floatingInitial, resets when threadId changes
1094
+ * const [isChatFloating, setIsChatFloating] = useSyncedState(
1095
+ * floatingInitial,
1096
+ * [threadId]
1097
+ * )
1098
+ * ```
1099
+ */
1100
+ declare function useSyncedState<T>(computedValue: T, deps?: React.DependencyList): [T, React.Dispatch<React.SetStateAction<T>>];
1101
+ /**
1102
+ * A simpler version that ALWAYS syncs with the computed value.
1103
+ * Use this when you don't need to override the value locally.
1104
+ *
1105
+ * @param computedValue - The value to always use
1106
+ * @returns The computed value (for consistency with useSyncedState API)
1107
+ *
1108
+ * @example
1109
+ * ```tsx
1110
+ * // Always uses floatingInitial, no local override
1111
+ * const isChatFloating = useComputedValue(floatingInitial)
1112
+ * ```
1113
+ */
1114
+ declare function useComputedValue<T>(computedValue: T): T;
1115
+
1080
1116
  declare function useHasHydrated(): boolean;
1081
1117
  declare function useCountdown(targetDate: Date | null): number | null;
1082
1118
 
@@ -1757,4 +1793,4 @@ interface HistoryRouterProviderProps {
1757
1793
  */
1758
1794
  declare function HistoryRouterProvider({ children, }: HistoryRouterProviderProps): React.ReactElement;
1759
1795
 
1760
- export { ADDITIONAL_CREDITS, API_URL, type AgentCapabilities, type AgentModel, type AiAgent, type AiAgentCapabilities, type ApiActions, BrowserInstance, CHRRY_URL, CREDITS_PRICE, type CalendarEventFormData, type CreateCustomAiAgent, FREE_DAYS, FRONTEND_URL, type FileValidationResult, GUEST_TASKS_COUNT, HistoryRouterProvider, MAX_FILE_LIMITS, MAX_FILE_SIZES, MAX_TOOL_CALLS_PER_MESSAGE, MEMBER_TASKS_COUNT, OWNER_CREDITS, PDF_LIMITS, PLUS_PRICE, PLUS_TASKS_COUNT, 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, formatFileSize, generateAppMetadata, generateStoreMetadata, getActions, getApp, getApps, getBrowserAPI, getBrowserIdentity, getCalendarEvents, getDailyImageLimit, getExampleInstructions, getExtensionUrl, getExtensionUrls, getFlag, getGuest, getHourlyLimit, getImageSrc, getInstructionConfig, getLastMessage, getMaxFileSize, getMetadata, getRedirectURL, getSession, getSlugFromPathname, getThread, getThreadId, getThreads, getTranslations, getUser, getUsers, getWeatherCacheTime, type instructionBase, isCI, isCollaborator, isDeepEqual, isDevelopment, isE2E, isFirefox, isOwner, isProduction, isSameDay, isTestingDevice, isTextFile, isValidUsername, isValidUuidV4, pageSizes, removeParam, removeUser, reorderApps, replaceLinks, storage, syncGoogleCalendar, updateApp, updateCalendarEvent, updateCollaboration, updateGuest, updateMessage, updateThread, updateUser, uploadUserImage, useAppMetadata, useCookieOrLocalStorage, useCountdown, useDeviceInfo, useHasHydrated, useLocalStorage, usePWAInstall, useStoreMetadata, useThreadMetadata, utcToday, validateFile };
1796
+ export { ADDITIONAL_CREDITS, API_URL, type AgentCapabilities, type AgentModel, type AiAgent, type AiAgentCapabilities, type ApiActions, BrowserInstance, CHRRY_URL, CREDITS_PRICE, type CalendarEventFormData, type CreateCustomAiAgent, FREE_DAYS, FRONTEND_URL, type FileValidationResult, GUEST_TASKS_COUNT, HistoryRouterProvider, MAX_FILE_LIMITS, MAX_FILE_SIZES, MAX_TOOL_CALLS_PER_MESSAGE, MEMBER_TASKS_COUNT, OWNER_CREDITS, PDF_LIMITS, PLUS_PRICE, PLUS_TASKS_COUNT, 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, formatFileSize, generateAppMetadata, generateStoreMetadata, getActions, getApp, getApps, getBrowserAPI, getBrowserIdentity, getCalendarEvents, getDailyImageLimit, getExampleInstructions, getExtensionUrl, getExtensionUrls, getFlag, getGuest, getHourlyLimit, getImageSrc, getInstructionConfig, getLastMessage, getMaxFileSize, getMetadata, getRedirectURL, getSession, getSlugFromPathname, getThread, getThreadId, getThreads, getTranslations, getUser, getUsers, getWeatherCacheTime, type instructionBase, isCI, isCollaborator, isDeepEqual, isDevelopment, isE2E, isFirefox, isOwner, isProduction, isSameDay, isTestingDevice, isTextFile, isValidUsername, isValidUuidV4, pageSizes, removeParam, removeUser, reorderApps, replaceLinks, storage, syncGoogleCalendar, updateApp, updateCalendarEvent, updateCollaboration, updateGuest, updateMessage, updateThread, updateUser, uploadUserImage, useAppMetadata, useComputedValue, useCookieOrLocalStorage, useCountdown, useDeviceInfo, useHasHydrated, useLocalStorage, usePWAInstall, useStoreMetadata, useSyncedState, useThreadMetadata, utcToday, validateFile };
package/dist/index.d.ts CHANGED
@@ -666,6 +666,7 @@ declare function replaceLinks({ text, pageUrl, }: {
666
666
  pageUrl?: string;
667
667
  }): Array<TextSegment>;
668
668
 
669
+ declare const isCI: string | undefined;
669
670
  declare const checkIsExtension: () => boolean;
670
671
  declare const getExtensionUrl: () => any;
671
672
  declare const isProduction: boolean;
@@ -690,12 +691,14 @@ declare const getHourlyLimit: ({ member, guest, app, }: {
690
691
  * }
691
692
  * ```
692
693
  */
693
- declare function generateAppMetadata({ app, locale, currentDomain, translations, ...rest }: {
694
+ declare function generateAppMetadata({ app, locale, currentDomain, translations, whiteLabel, ...rest }: {
694
695
  app: appWithStore;
695
696
  store?: storeWithApps;
696
697
  locale?: locale | string;
697
698
  currentDomain: string;
698
699
  translations: Record<string, any>;
700
+ pathname?: string;
701
+ whiteLabel?: appWithStore;
699
702
  }): Metadata;
700
703
 
701
704
  /**
@@ -785,7 +788,6 @@ declare const PROMPT_LIMITS: {
785
788
  declare const expenseCategory: readonly ["food", "transport", "entertainment", "shopping", "bills", "health", "education", "travel", "other"];
786
789
  type expenseCategoryType = (typeof expenseCategory)[number];
787
790
  declare const budgetCategory: readonly ["food", "transport", "entertainment", "shopping", "bills", "health", "education", "travel", "other"];
788
- declare const isCI: string | undefined;
789
791
  declare const isE2E: boolean;
790
792
  declare const extensionSuggestions: {
791
793
  text: string;
@@ -1077,6 +1079,40 @@ declare function useAppMetadata(app?: appWithStore, enabled?: boolean): void;
1077
1079
  */
1078
1080
  declare function useThreadMetadata(thread?: thread): void;
1079
1081
 
1082
+ /**
1083
+ * A hook that syncs local state with a derived/computed value.
1084
+ * Useful when you need local state that can be overridden by user interaction,
1085
+ * but should reset to the computed value when dependencies change.
1086
+ *
1087
+ * @param computedValue - The value to sync with (derived from props/context)
1088
+ * @param deps - Dependencies that should trigger a reset to computedValue
1089
+ * @returns [value, setValue] - Tuple like useState
1090
+ *
1091
+ * @example
1092
+ * ```tsx
1093
+ * // Syncs with floatingInitial, resets when threadId changes
1094
+ * const [isChatFloating, setIsChatFloating] = useSyncedState(
1095
+ * floatingInitial,
1096
+ * [threadId]
1097
+ * )
1098
+ * ```
1099
+ */
1100
+ declare function useSyncedState<T>(computedValue: T, deps?: React.DependencyList): [T, React.Dispatch<React.SetStateAction<T>>];
1101
+ /**
1102
+ * A simpler version that ALWAYS syncs with the computed value.
1103
+ * Use this when you don't need to override the value locally.
1104
+ *
1105
+ * @param computedValue - The value to always use
1106
+ * @returns The computed value (for consistency with useSyncedState API)
1107
+ *
1108
+ * @example
1109
+ * ```tsx
1110
+ * // Always uses floatingInitial, no local override
1111
+ * const isChatFloating = useComputedValue(floatingInitial)
1112
+ * ```
1113
+ */
1114
+ declare function useComputedValue<T>(computedValue: T): T;
1115
+
1080
1116
  declare function useHasHydrated(): boolean;
1081
1117
  declare function useCountdown(targetDate: Date | null): number | null;
1082
1118
 
@@ -1757,4 +1793,4 @@ interface HistoryRouterProviderProps {
1757
1793
  */
1758
1794
  declare function HistoryRouterProvider({ children, }: HistoryRouterProviderProps): React.ReactElement;
1759
1795
 
1760
- export { ADDITIONAL_CREDITS, API_URL, type AgentCapabilities, type AgentModel, type AiAgent, type AiAgentCapabilities, type ApiActions, BrowserInstance, CHRRY_URL, CREDITS_PRICE, type CalendarEventFormData, type CreateCustomAiAgent, FREE_DAYS, FRONTEND_URL, type FileValidationResult, GUEST_TASKS_COUNT, HistoryRouterProvider, MAX_FILE_LIMITS, MAX_FILE_SIZES, MAX_TOOL_CALLS_PER_MESSAGE, MEMBER_TASKS_COUNT, OWNER_CREDITS, PDF_LIMITS, PLUS_PRICE, PLUS_TASKS_COUNT, 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, formatFileSize, generateAppMetadata, generateStoreMetadata, getActions, getApp, getApps, getBrowserAPI, getBrowserIdentity, getCalendarEvents, getDailyImageLimit, getExampleInstructions, getExtensionUrl, getExtensionUrls, getFlag, getGuest, getHourlyLimit, getImageSrc, getInstructionConfig, getLastMessage, getMaxFileSize, getMetadata, getRedirectURL, getSession, getSlugFromPathname, getThread, getThreadId, getThreads, getTranslations, getUser, getUsers, getWeatherCacheTime, type instructionBase, isCI, isCollaborator, isDeepEqual, isDevelopment, isE2E, isFirefox, isOwner, isProduction, isSameDay, isTestingDevice, isTextFile, isValidUsername, isValidUuidV4, pageSizes, removeParam, removeUser, reorderApps, replaceLinks, storage, syncGoogleCalendar, updateApp, updateCalendarEvent, updateCollaboration, updateGuest, updateMessage, updateThread, updateUser, uploadUserImage, useAppMetadata, useCookieOrLocalStorage, useCountdown, useDeviceInfo, useHasHydrated, useLocalStorage, usePWAInstall, useStoreMetadata, useThreadMetadata, utcToday, validateFile };
1796
+ export { ADDITIONAL_CREDITS, API_URL, type AgentCapabilities, type AgentModel, type AiAgent, type AiAgentCapabilities, type ApiActions, BrowserInstance, CHRRY_URL, CREDITS_PRICE, type CalendarEventFormData, type CreateCustomAiAgent, FREE_DAYS, FRONTEND_URL, type FileValidationResult, GUEST_TASKS_COUNT, HistoryRouterProvider, MAX_FILE_LIMITS, MAX_FILE_SIZES, MAX_TOOL_CALLS_PER_MESSAGE, MEMBER_TASKS_COUNT, OWNER_CREDITS, PDF_LIMITS, PLUS_PRICE, PLUS_TASKS_COUNT, 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, formatFileSize, generateAppMetadata, generateStoreMetadata, getActions, getApp, getApps, getBrowserAPI, getBrowserIdentity, getCalendarEvents, getDailyImageLimit, getExampleInstructions, getExtensionUrl, getExtensionUrls, getFlag, getGuest, getHourlyLimit, getImageSrc, getInstructionConfig, getLastMessage, getMaxFileSize, getMetadata, getRedirectURL, getSession, getSlugFromPathname, getThread, getThreadId, getThreads, getTranslations, getUser, getUsers, getWeatherCacheTime, type instructionBase, isCI, isCollaborator, isDeepEqual, isDevelopment, isE2E, isFirefox, isOwner, isProduction, isSameDay, isTestingDevice, isTextFile, isValidUsername, isValidUuidV4, pageSizes, removeParam, removeUser, reorderApps, replaceLinks, storage, syncGoogleCalendar, updateApp, updateCalendarEvent, updateCollaboration, updateGuest, updateMessage, updateThread, updateUser, uploadUserImage, useAppMetadata, useComputedValue, useCookieOrLocalStorage, useCountdown, useDeviceInfo, useHasHydrated, useLocalStorage, usePWAInstall, useStoreMetadata, useSyncedState, useThreadMetadata, utcToday, validateFile };