@adminide-stack/yantra-mobile 12.0.128-alpha.0 → 12.0.128
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/lib/components/NavigationHeader/NavigationHeader.js +5 -5
- package/lib/components/NavigationHeader/NavigationHeader.js.map +1 -1
- package/lib/compute.js +7 -3
- package/lib/compute.js.map +1 -1
- package/lib/contexts/ChatLiveStreamContext.js +2 -1
- package/lib/contexts/ChatLiveStreamContext.js.map +1 -1
- package/lib/features/apps/nativeAppNavigation.js +1 -27
- package/lib/features/apps/nativeAppNavigation.js.map +1 -1
- package/lib/features/attachments/composerAttachmentHandoff.js +4 -1
- package/lib/features/attachments/composerAttachmentHandoff.js.map +1 -1
- package/lib/features/chat/ChatTranscript.js +3 -3
- package/lib/features/chat/ChatTranscript.js.map +1 -1
- package/lib/features/shopping/chat/openShopNative.js +1 -27
- package/lib/features/shopping/chat/openShopNative.js.map +1 -1
- package/lib/hooks/useCdecliAutoConnect.js +29 -4
- package/lib/hooks/useCdecliAutoConnect.js.map +1 -1
- package/lib/hooks/useCdecliChannel.js +7 -3
- package/lib/hooks/useCdecliChannel.js.map +1 -1
- package/lib/hooks/useChatStream.js +56 -11
- package/lib/hooks/useChatStream.js.map +1 -1
- package/lib/routes.json +4 -2
- package/lib/screens/Characters/index.js +9 -18
- package/lib/screens/Characters/index.js.map +1 -1
- package/lib/screens/Chat/index.js +111 -62
- package/lib/screens/Chat/index.js.map +1 -1
- package/lib/screens/Home/HomeScreen.js +9 -39
- package/lib/screens/Home/HomeScreen.js.map +1 -1
- package/lib/state/chatThreadMerge.js +1 -1
- package/lib/state/chatThreadMerge.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {jsx,jsxs,Fragment}from'react/jsx-runtime';import React__default,{useMemo,useCallback}from'react';import {StyleSheet,View,ScrollView,Pressable}from'react-native';import {
|
|
1
|
+
import {jsx,jsxs,Fragment}from'react/jsx-runtime';import React__default,{useMemo,useCallback}from'react';import {StyleSheet,View,ScrollView,Pressable}from'react-native';import {useSafeAreaInsets}from'react-native-safe-area-context';import {StatusBar}from'expo-status-bar';import {useNavigation,CommonActions}from'@react-navigation/native';import {getHeaderTitle}from'@react-navigation/elements';import {MaterialCommunityIcons}from'@expo/vector-icons';import {Text}from'@admin-layout/gluestack-ui-mobile';import {dismissKeyboard}from'../../utils/keyboardController.js';import GatewayConnector from'../GatewayConnector/GatewayConnector.js';import {tryWebBuilderBack}from'../../screens/WebBuilder/webbuilderBackHandler.js';import {config}from'../../config/env-config.js';import {resolveAppTitleFromSurfaceUrl}from'../../features/apps/resolveSurfaceUrl.js';import {navigateToNewChatHome}from'../../utils/navigateToNewChatHome.js';import {dispatchDrawerAction}from'../../utils/drawerNavigation.js';import {useAppTheme}from'../../theme/AppThemeProvider.js';import {HeaderMoreMenu}from'./HeaderMoreMenu.js';import {HeaderSkillsButton}from'./HeaderSkillsButton.js';import {HeaderTasksButton}from'./HeaderTasksButton.js';import {HeaderToolbarButton}from'./HeaderToolbarButton.js';const ICON_SIZE = 22;
|
|
2
2
|
function resolveTitle(options, route) {
|
|
3
3
|
var _a, _b, _c, _d;
|
|
4
4
|
const paramTitle = (_a = route == null ? void 0 : route.params) == null ? void 0 : _a.appTitle;
|
|
@@ -31,14 +31,14 @@ const NavigationHeader = (props) => {
|
|
|
31
31
|
showBack = false,
|
|
32
32
|
showGateway = false,
|
|
33
33
|
showNewChat = false,
|
|
34
|
-
headerBgColor
|
|
34
|
+
headerBgColor,
|
|
35
|
+
colorScheme
|
|
35
36
|
} = props;
|
|
36
37
|
const showChatToolbar = showGateway;
|
|
37
38
|
const fallbackNav = useNavigation();
|
|
38
39
|
const navigation = navProp != null ? navProp : fallbackNav;
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
} = useAppTheme();
|
|
40
|
+
const appTheme = useAppTheme();
|
|
41
|
+
const isDark = colorScheme ? colorScheme === "dark" : appTheme.isDark;
|
|
42
42
|
const insets = useSafeAreaInsets();
|
|
43
43
|
const themeTitleColor = isDark ? "#f1f5f9" : "#0f172a";
|
|
44
44
|
const optionTint = typeof (options == null ? void 0 : options.headerTintColor) === "string" ? options.headerTintColor : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationHeader.js","sources":["../../../src/components/NavigationHeader/NavigationHeader.tsx"],"sourcesContent":["/**\n * Universal navigation header for the Yantra mobile app.\n *\n * Home and Chat keep Tasks · Skills in the top bar. Apps and History live in\n * the sidebar drawer (Manus-style rows); Apps opens a full screen, not a popup.\n *\n * Wired via `customHeader` in `compute.ts`. Screens never call `setOptions`.\n */\nimport React, { useCallback, useMemo } from 'react';\nimport { Pressable, ScrollView, StyleSheet, View } from 'react-native';\nimport { dismissKeyboard } from '../../utils/keyboardController';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { StatusBar } from 'expo-status-bar';\nimport { CommonActions, useNavigation } from '@react-navigation/native';\nimport { getHeaderTitle } from '@react-navigation/elements';\nimport { MaterialCommunityIcons } from '@expo/vector-icons';\nimport { Text } from '@admin-layout/gluestack-ui-mobile';\nimport { GatewayConnector } from '../GatewayConnector';\nimport { tryWebBuilderBack } from '../../screens/WebBuilder/webbuilderBackHandler';\nimport { config } from '../../config/env-config';\nimport { resolveAppTitleFromSurfaceUrl } from '../../features/apps/resolveSurfaceUrl';\nimport { navigateToNewChatHome } from '../../utils/navigateToNewChatHome';\nimport { dispatchDrawerAction } from '../../utils/drawerNavigation';\nimport { useAppTheme } from '../../theme/AppThemeProvider';\nimport { HeaderMoreMenu } from './HeaderMoreMenu';\nimport { HeaderSkillsButton } from './HeaderSkillsButton';\nimport { HeaderTasksButton } from './HeaderTasksButton';\nimport { HeaderToolbarButton } from './HeaderToolbarButton';\n\ninterface NavigationHeaderProps {\n navigation?: any;\n route?: any;\n options?: any;\n back?: { title?: string };\n\n showTitle?: boolean;\n showToggle?: boolean;\n showBack?: boolean;\n showFilter?: boolean;\n isSearchBack?: boolean;\n showGateway?: boolean;\n showApps?: boolean;\n showHistory?: boolean;\n showNewChat?: boolean;\n headerBgColor?: string;\n}\n\nconst ICON_SIZE = 22;\n\nfunction resolveTitle(options: any, route: any): string {\n const paramTitle = route?.params?.appTitle;\n const routeName = typeof route?.name === 'string' ? route.name : '';\n if (/CanvasNative/i.test(routeName)) return 'Canvas';\n if (/ResumeNative/i.test(routeName)) return 'Resume';\n if (typeof paramTitle === 'string' && paramTitle.trim()) {\n return paramTitle.trim();\n }\n const fromUrl = resolveAppTitleFromSurfaceUrl(route?.params?.url, config);\n if (fromUrl) return fromUrl;\n\n if (typeof options?.title === 'string' && options.title.trim()) {\n return options.title.trim();\n }\n if (typeof options?.headerTitle === 'string' && options.headerTitle.trim()) {\n return options.headerTitle.trim();\n }\n const fallback = getHeaderTitle?.(options ?? {}, route?.name ?? 'Yantra');\n return typeof fallback === 'string' && fallback.trim() ? fallback : 'Yantra';\n}\n\nconst NavigationHeader: React.FC<NavigationHeaderProps> = (props) => {\n const {\n navigation: navProp,\n route,\n options,\n back,\n showTitle = true,\n showToggle = false,\n showBack = false,\n showGateway = false,\n showNewChat = false,\n headerBgColor,\n } = props;\n\n const showChatToolbar = showGateway;\n\n const fallbackNav = useNavigation<any>();\n const navigation = navProp ?? fallbackNav;\n\n const { isDark } = useAppTheme();\n const insets = useSafeAreaInsets();\n\n const themeTitleColor = isDark ? '#f1f5f9' : '#0f172a';\n const optionTint = typeof options?.headerTintColor === 'string' ? options.headerTintColor : null;\n const tintLooksDark = optionTint && /^(#?000(000)?|black)$/i.test(optionTint.trim());\n const effectiveTint = optionTint && !(isDark && tintLooksDark) ? optionTint : null;\n const titleColor = effectiveTint ?? themeTitleColor;\n const iconColor = effectiveTint ?? themeTitleColor;\n\n const surfaceColor = headerBgColor ?? (isDark ? '#0f172a' : '#ffffff');\n const dividerColor = isDark ? 'rgba(148, 163, 184, 0.18)' : 'rgba(15, 23, 42, 0.06)';\n\n const titleAlignLeft = options?.headerTitleAlign === 'left';\n const title = useMemo(\n () => resolveTitle(options, route),\n [options, route, route?.params?.appTitle, route?.params?.url],\n );\n const optionTitleStyle = options?.headerTitleStyle ?? null;\n\n const orgName = useMemo(() => {\n const raw = (route?.params?.orgName as string | undefined) ?? '';\n return typeof raw === 'string' && raw.trim() ? raw.trim() : null;\n }, [route?.params?.orgName]);\n\n const handleBack = useCallback(() => {\n const routeName = typeof route?.name === 'string' ? route.name : '';\n if (/webbuilder/i.test(routeName) && tryWebBuilderBack()) {\n return;\n }\n if (navigation?.canGoBack?.()) {\n navigation.goBack();\n return;\n }\n navigation?.dispatch?.(\n CommonActions.navigate({\n name: 'MainStack.Layout.Home',\n params: orgName ? { orgName } : undefined,\n }),\n );\n }, [navigation, orgName, route?.name]);\n\n const handleToggleDrawer = useCallback(() => {\n try {\n dispatchDrawerAction(navigation, 'toggle');\n } catch {\n /* Current navigator may not be a drawer — ignore. */\n }\n }, [navigation]);\n\n const handleNewChat = useCallback(() => {\n navigateToNewChatHome(navigation, orgName);\n }, [navigation, orgName]);\n\n const wantsBack = Boolean(back) || showBack;\n\n const leftSlot = wantsBack ? (\n <Pressable\n onPress={handleBack}\n accessibilityLabel=\"Go back\"\n accessibilityRole=\"button\"\n style={({ pressed }) => [styles.iconButton, pressed && styles.iconButtonPressed]}\n hitSlop={8}\n >\n <MaterialCommunityIcons name=\"chevron-left\" size={ICON_SIZE + 4} color={iconColor} />\n </Pressable>\n ) : showToggle ? (\n <Pressable\n onPress={handleToggleDrawer}\n accessibilityLabel=\"Open menu\"\n accessibilityRole=\"button\"\n style={({ pressed }) => [styles.iconButton, pressed && styles.iconButtonPressed]}\n hitSlop={8}\n >\n <MaterialCommunityIcons name=\"menu\" size={ICON_SIZE} color={iconColor} />\n </Pressable>\n ) : null;\n\n if (route?.params?.hideNavigationHeader) {\n return <StatusBar style={isDark ? 'light' : 'dark'} />;\n }\n\n const hideBrandTitle = showChatToolbar && title === 'Yantra';\n const titleSlot =\n showTitle && !hideBrandTitle ? (\n <Text\n style={[\n styles.title,\n titleAlignLeft ? styles.titleAlignLeft : styles.titleAlignCenter,\n { color: titleColor },\n optionTitleStyle,\n ]}\n numberOfLines={1}\n ellipsizeMode=\"tail\"\n >\n {title}\n </Text>\n ) : null;\n\n return (\n <>\n <StatusBar style={isDark ? 'light' : 'dark'} />\n {/* Padded from the inset hook, not a native SafeAreaView: on the new\n architecture that applies its inset a frame after mounting, so\n the header drew under the status bar and then jumped down. */}\n <View style={{ backgroundColor: surfaceColor, paddingTop: insets.top }}>\n <View\n onStartShouldSetResponderCapture={() => {\n dismissKeyboard();\n return false;\n }}\n style={[\n styles.row,\n {\n backgroundColor: surfaceColor,\n borderBottomColor: dividerColor,\n paddingTop: insets.top > 0 ? 0 : 6,\n },\n options?.headerStyle ?? null,\n ]}\n >\n <View style={styles.leftSlot}>{leftSlot}</View>\n\n {showChatToolbar ? (\n <ScrollView\n horizontal\n showsHorizontalScrollIndicator={false}\n style={styles.toolsScroll}\n contentContainerStyle={styles.toolsContent}\n keyboardShouldPersistTaps=\"handled\"\n >\n <HeaderTasksButton isDark={isDark} />\n <HeaderSkillsButton isDark={isDark} />\n </ScrollView>\n ) : (\n <View style={[styles.titleSlot, titleAlignLeft && styles.titleSlotLeft]}>{titleSlot}</View>\n )}\n\n <View style={styles.rightSlot}>\n {showChatToolbar ? (\n <View style={styles.rightActions}>\n {showGateway ? <GatewayConnector /> : null}\n <HeaderMoreMenu isDark={isDark} onNewChat={showNewChat ? handleNewChat : undefined} />\n </View>\n ) : showNewChat ? (\n <HeaderToolbarButton\n icon=\"chat-plus-outline\"\n onPress={handleNewChat}\n accessibilityLabel=\"New chat\"\n isDark={isDark}\n />\n ) : null}\n </View>\n </View>\n </View>\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingLeft: 4,\n paddingRight: 6,\n paddingVertical: 4,\n minHeight: 48,\n borderBottomWidth: StyleSheet.hairlineWidth,\n overflow: 'visible',\n },\n leftSlot: {\n flexDirection: 'row',\n alignItems: 'center',\n flexShrink: 0,\n },\n toolsScroll: {\n flex: 1,\n minWidth: 0,\n },\n toolsContent: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingLeft: 2,\n paddingRight: 8,\n gap: 2,\n },\n titleSlot: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 8,\n minWidth: 0,\n },\n titleSlotLeft: {\n alignItems: 'flex-start',\n },\n rightSlot: {\n flexShrink: 0,\n alignItems: 'flex-end',\n justifyContent: 'center',\n paddingLeft: 4,\n },\n rightActions: {\n flexDirection: 'row',\n alignItems: 'center',\n flexShrink: 0,\n },\n title: {\n fontSize: 17,\n fontWeight: '700',\n letterSpacing: -0.2,\n flexShrink: 1,\n },\n titleAlignCenter: {\n textAlign: 'center',\n },\n titleAlignLeft: {\n textAlign: 'left',\n },\n iconButton: {\n width: 36,\n height: 36,\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 10,\n },\n iconButtonPressed: {\n opacity: 0.6,\n },\n});\n\nexport default React.memo(NavigationHeader);\n"],"names":["_a","_b","React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NavigationHeader.js","sources":["../../../src/components/NavigationHeader/NavigationHeader.tsx"],"sourcesContent":["/**\n * Universal navigation header for the Yantra mobile app.\n *\n * Home and Chat keep Tasks · Skills in the top bar. Apps and History live in\n * the sidebar drawer (Manus-style rows); Apps opens a full screen, not a popup.\n *\n * Wired via `customHeader` in `compute.ts`. Screens never call `setOptions`.\n */\nimport React, { useCallback, useMemo } from 'react';\nimport { Pressable, ScrollView, StyleSheet, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { StatusBar } from 'expo-status-bar';\nimport { CommonActions, useNavigation } from '@react-navigation/native';\nimport { getHeaderTitle } from '@react-navigation/elements';\nimport { MaterialCommunityIcons } from '@expo/vector-icons';\nimport { Text } from '@admin-layout/gluestack-ui-mobile';\nimport { dismissKeyboard } from '../../utils/keyboardController';\nimport { GatewayConnector } from '../GatewayConnector';\nimport { tryWebBuilderBack } from '../../screens/WebBuilder/webbuilderBackHandler';\nimport { config } from '../../config/env-config';\nimport { resolveAppTitleFromSurfaceUrl } from '../../features/apps/resolveSurfaceUrl';\nimport { navigateToNewChatHome } from '../../utils/navigateToNewChatHome';\nimport { dispatchDrawerAction } from '../../utils/drawerNavigation';\nimport { useAppTheme } from '../../theme/AppThemeProvider';\nimport { HeaderMoreMenu } from './HeaderMoreMenu';\nimport { HeaderSkillsButton } from './HeaderSkillsButton';\nimport { HeaderTasksButton } from './HeaderTasksButton';\nimport { HeaderToolbarButton } from './HeaderToolbarButton';\n\ninterface NavigationHeaderProps {\n navigation?: any;\n route?: any;\n options?: any;\n back?: { title?: string };\n\n showTitle?: boolean;\n showToggle?: boolean;\n showBack?: boolean;\n showFilter?: boolean;\n isSearchBack?: boolean;\n showGateway?: boolean;\n showApps?: boolean;\n showHistory?: boolean;\n showNewChat?: boolean;\n headerBgColor?: string;\n /**\n * Pin the header to one scheme instead of the app's. For a screen whose\n * content has a fixed look of its own - the character studio is dark in\n * either app theme, so a light header sat as a white band above it.\n */\n colorScheme?: 'light' | 'dark';\n}\n\nconst ICON_SIZE = 22;\n\nfunction resolveTitle(options: any, route: any): string {\n const paramTitle = route?.params?.appTitle;\n const routeName = typeof route?.name === 'string' ? route.name : '';\n if (/CanvasNative/i.test(routeName)) return 'Canvas';\n if (/ResumeNative/i.test(routeName)) return 'Resume';\n if (typeof paramTitle === 'string' && paramTitle.trim()) {\n return paramTitle.trim();\n }\n const fromUrl = resolveAppTitleFromSurfaceUrl(route?.params?.url, config);\n if (fromUrl) return fromUrl;\n\n if (typeof options?.title === 'string' && options.title.trim()) {\n return options.title.trim();\n }\n if (typeof options?.headerTitle === 'string' && options.headerTitle.trim()) {\n return options.headerTitle.trim();\n }\n const fallback = getHeaderTitle?.(options ?? {}, route?.name ?? 'Yantra');\n return typeof fallback === 'string' && fallback.trim() ? fallback : 'Yantra';\n}\n\nconst NavigationHeader: React.FC<NavigationHeaderProps> = (props) => {\n const {\n navigation: navProp,\n route,\n options,\n back,\n showTitle = true,\n showToggle = false,\n showBack = false,\n showGateway = false,\n showNewChat = false,\n headerBgColor,\n colorScheme,\n } = props;\n\n const showChatToolbar = showGateway;\n\n const fallbackNav = useNavigation<any>();\n const navigation = navProp ?? fallbackNav;\n\n const appTheme = useAppTheme();\n const isDark = colorScheme ? colorScheme === 'dark' : appTheme.isDark;\n const insets = useSafeAreaInsets();\n\n const themeTitleColor = isDark ? '#f1f5f9' : '#0f172a';\n const optionTint = typeof options?.headerTintColor === 'string' ? options.headerTintColor : null;\n const tintLooksDark = optionTint && /^(#?000(000)?|black)$/i.test(optionTint.trim());\n const effectiveTint = optionTint && !(isDark && tintLooksDark) ? optionTint : null;\n const titleColor = effectiveTint ?? themeTitleColor;\n const iconColor = effectiveTint ?? themeTitleColor;\n\n const surfaceColor = headerBgColor ?? (isDark ? '#0f172a' : '#ffffff');\n const dividerColor = isDark ? 'rgba(148, 163, 184, 0.18)' : 'rgba(15, 23, 42, 0.06)';\n\n const titleAlignLeft = options?.headerTitleAlign === 'left';\n const title = useMemo(\n () => resolveTitle(options, route),\n [options, route, route?.params?.appTitle, route?.params?.url],\n );\n const optionTitleStyle = options?.headerTitleStyle ?? null;\n\n const orgName = useMemo(() => {\n const raw = (route?.params?.orgName as string | undefined) ?? '';\n return typeof raw === 'string' && raw.trim() ? raw.trim() : null;\n }, [route?.params?.orgName]);\n\n const handleBack = useCallback(() => {\n const routeName = typeof route?.name === 'string' ? route.name : '';\n if (/webbuilder/i.test(routeName) && tryWebBuilderBack()) {\n return;\n }\n if (navigation?.canGoBack?.()) {\n navigation.goBack();\n return;\n }\n navigation?.dispatch?.(\n CommonActions.navigate({\n name: 'MainStack.Layout.Home',\n params: orgName ? { orgName } : undefined,\n }),\n );\n }, [navigation, orgName, route?.name]);\n\n const handleToggleDrawer = useCallback(() => {\n try {\n dispatchDrawerAction(navigation, 'toggle');\n } catch {\n /* Current navigator may not be a drawer — ignore. */\n }\n }, [navigation]);\n\n const handleNewChat = useCallback(() => {\n navigateToNewChatHome(navigation, orgName);\n }, [navigation, orgName]);\n\n const wantsBack = Boolean(back) || showBack;\n\n const leftSlot = wantsBack ? (\n <Pressable\n onPress={handleBack}\n accessibilityLabel=\"Go back\"\n accessibilityRole=\"button\"\n style={({ pressed }) => [styles.iconButton, pressed && styles.iconButtonPressed]}\n hitSlop={8}\n >\n <MaterialCommunityIcons name=\"chevron-left\" size={ICON_SIZE + 4} color={iconColor} />\n </Pressable>\n ) : showToggle ? (\n <Pressable\n onPress={handleToggleDrawer}\n accessibilityLabel=\"Open menu\"\n accessibilityRole=\"button\"\n style={({ pressed }) => [styles.iconButton, pressed && styles.iconButtonPressed]}\n hitSlop={8}\n >\n <MaterialCommunityIcons name=\"menu\" size={ICON_SIZE} color={iconColor} />\n </Pressable>\n ) : null;\n\n if (route?.params?.hideNavigationHeader) {\n return <StatusBar style={isDark ? 'light' : 'dark'} />;\n }\n\n const hideBrandTitle = showChatToolbar && title === 'Yantra';\n const titleSlot =\n showTitle && !hideBrandTitle ? (\n <Text\n style={[\n styles.title,\n titleAlignLeft ? styles.titleAlignLeft : styles.titleAlignCenter,\n { color: titleColor },\n optionTitleStyle,\n ]}\n numberOfLines={1}\n ellipsizeMode=\"tail\"\n >\n {title}\n </Text>\n ) : null;\n\n return (\n <>\n <StatusBar style={isDark ? 'light' : 'dark'} />\n {/* Padded from the inset hook, not a native SafeAreaView: on the new\n architecture that applies its inset a frame after mounting, so\n the header drew under the status bar and then jumped down. */}\n <View style={{ backgroundColor: surfaceColor, paddingTop: insets.top }}>\n <View\n onStartShouldSetResponderCapture={() => {\n dismissKeyboard();\n return false;\n }}\n style={[\n styles.row,\n {\n backgroundColor: surfaceColor,\n borderBottomColor: dividerColor,\n paddingTop: insets.top > 0 ? 0 : 6,\n },\n options?.headerStyle ?? null,\n ]}\n >\n <View style={styles.leftSlot}>{leftSlot}</View>\n\n {showChatToolbar ? (\n <ScrollView\n horizontal\n showsHorizontalScrollIndicator={false}\n style={styles.toolsScroll}\n contentContainerStyle={styles.toolsContent}\n keyboardShouldPersistTaps=\"handled\"\n >\n <HeaderTasksButton isDark={isDark} />\n <HeaderSkillsButton isDark={isDark} />\n </ScrollView>\n ) : (\n <View style={[styles.titleSlot, titleAlignLeft && styles.titleSlotLeft]}>{titleSlot}</View>\n )}\n\n <View style={styles.rightSlot}>\n {showChatToolbar ? (\n <View style={styles.rightActions}>\n {showGateway ? <GatewayConnector /> : null}\n <HeaderMoreMenu isDark={isDark} onNewChat={showNewChat ? handleNewChat : undefined} />\n </View>\n ) : showNewChat ? (\n <HeaderToolbarButton\n icon=\"chat-plus-outline\"\n onPress={handleNewChat}\n accessibilityLabel=\"New chat\"\n isDark={isDark}\n />\n ) : null}\n </View>\n </View>\n </View>\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingLeft: 4,\n paddingRight: 6,\n paddingVertical: 4,\n minHeight: 48,\n borderBottomWidth: StyleSheet.hairlineWidth,\n overflow: 'visible',\n },\n leftSlot: {\n flexDirection: 'row',\n alignItems: 'center',\n flexShrink: 0,\n },\n toolsScroll: {\n flex: 1,\n minWidth: 0,\n },\n toolsContent: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingLeft: 2,\n paddingRight: 8,\n gap: 2,\n },\n titleSlot: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 8,\n minWidth: 0,\n },\n titleSlotLeft: {\n alignItems: 'flex-start',\n },\n rightSlot: {\n flexShrink: 0,\n alignItems: 'flex-end',\n justifyContent: 'center',\n paddingLeft: 4,\n },\n rightActions: {\n flexDirection: 'row',\n alignItems: 'center',\n flexShrink: 0,\n },\n title: {\n fontSize: 17,\n fontWeight: '700',\n letterSpacing: -0.2,\n flexShrink: 1,\n },\n titleAlignCenter: {\n textAlign: 'center',\n },\n titleAlignLeft: {\n textAlign: 'left',\n },\n iconButton: {\n width: 36,\n height: 36,\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 10,\n },\n iconButtonPressed: {\n opacity: 0.6,\n },\n});\n\nexport default React.memo(NavigationHeader);\n"],"names":["_a","_b","React"],"mappings":"uvCAoDA,MAAM,SAAY,GAAA,EAAA;AAClB,SAAS,YAAA,CAAa,SAAc,KAAoB,EAAA;AArDxD,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAsDE,EAAM,MAAA,UAAA,GAAA,CAAa,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAA,MAAA,KAAP,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA;AAClC,EAAA,MAAM,YAAY,QAAO,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,IAAS,CAAA,KAAA,QAAA,GAAW,MAAM,IAAO,GAAA,EAAA;AACjE,EAAA,IAAI,eAAgB,CAAA,IAAA,CAAK,SAAS,CAAA,EAAU,OAAA,QAAA;AAC5C,EAAA,IAAI,eAAgB,CAAA,IAAA,CAAK,SAAS,CAAA,EAAU,OAAA,QAAA;AAC5C,EAAA,IAAI,OAAO,UAAA,KAAe,QAAY,IAAA,UAAA,CAAW,MAAQ,EAAA;AACvD,IAAA,OAAO,WAAW,IAAK,EAAA;AAAA;AAEzB,EAAA,MAAM,UAAU,6BAA8B,CAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,MAAP,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,KAAK,MAAM,CAAA;AACxE,EAAA,IAAI,SAAgB,OAAA,OAAA;AACpB,EAAA,IAAI,QAAO,OAAS,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAA,KAAA,CAAA,KAAU,YAAY,OAAQ,CAAA,KAAA,CAAM,MAAQ,EAAA;AAC9D,IAAO,OAAA,OAAA,CAAQ,MAAM,IAAK,EAAA;AAAA;AAE5B,EAAA,IAAI,QAAO,OAAS,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAA,WAAA,CAAA,KAAgB,YAAY,OAAQ,CAAA,WAAA,CAAY,MAAQ,EAAA;AAC1E,IAAO,OAAA,OAAA,CAAQ,YAAY,IAAK,EAAA;AAAA;AAElC,EAAA,MAAM,YAAW,EAAiB,GAAA,cAAA,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAA,OAAA,IAAA,IAAA,GAAA,OAAA,GAAW,EAAI,EAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,SAAP,IAAe,GAAA,EAAA,GAAA,QAAA,CAAA;AAChE,EAAA,OAAO,OAAO,QAAa,KAAA,QAAA,IAAY,QAAS,CAAA,IAAA,KAAS,QAAW,GAAA,QAAA;AACtE;AACA,MAAM,mBAAoD,CAAS,KAAA,KAAA;AAxEnE,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAyEE,EAAM,MAAA;AAAA,IACJ,UAAY,EAAA,OAAA;AAAA,IACZ,KAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAY,GAAA,IAAA;AAAA,IACZ,UAAa,GAAA,KAAA;AAAA,IACb,QAAW,GAAA,KAAA;AAAA,IACX,WAAc,GAAA,KAAA;AAAA,IACd,WAAc,GAAA,KAAA;AAAA,IACd,aAAA;AAAA,IACA;AAAA,GACE,GAAA,KAAA;AACJ,EAAA,MAAM,eAAkB,GAAA,WAAA;AACxB,EAAA,MAAM,cAAc,aAAmB,EAAA;AACvC,EAAA,MAAM,aAAa,OAAW,IAAA,IAAA,GAAA,OAAA,GAAA,WAAA;AAC9B,EAAA,MAAM,WAAW,WAAY,EAAA;AAC7B,EAAA,MAAM,MAAS,GAAA,WAAA,GAAc,WAAgB,KAAA,MAAA,GAAS,QAAS,CAAA,MAAA;AAC/D,EAAA,MAAM,SAAS,iBAAkB,EAAA;AACjC,EAAM,MAAA,eAAA,GAAkB,SAAS,SAAY,GAAA,SAAA;AAC7C,EAAA,MAAM,aAAa,QAAO,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,eAAoB,CAAA,KAAA,QAAA,GAAW,QAAQ,eAAkB,GAAA,IAAA;AAC5F,EAAA,MAAM,gBAAgB,UAAc,IAAA,wBAAA,CAAyB,IAAK,CAAA,UAAA,CAAW,MAAM,CAAA;AACnF,EAAA,MAAM,aAAgB,GAAA,UAAA,IAAc,EAAE,MAAA,IAAU,iBAAiB,UAAa,GAAA,IAAA;AAC9E,EAAA,MAAM,aAAa,aAAiB,IAAA,IAAA,GAAA,aAAA,GAAA,eAAA;AACpC,EAAA,MAAM,YAAY,aAAiB,IAAA,IAAA,GAAA,aAAA,GAAA,eAAA;AACnC,EAAM,MAAA,YAAA,GAAe,aAAkB,IAAA,IAAA,GAAA,aAAA,GAAA,MAAA,GAAS,SAAY,GAAA,SAAA;AAC5D,EAAM,MAAA,YAAA,GAAe,SAAS,2BAA8B,GAAA,wBAAA;AAC5D,EAAM,MAAA,cAAA,GAAA,CAAiB,mCAAS,gBAAqB,MAAA,MAAA;AACrD,EAAA,MAAM,QAAQ,OAAQ,CAAA,MAAM,aAAa,OAAS,EAAA,KAAK,GAAG,CAAC,OAAA,EAAS,KAAO,EAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,WAAP,IAAe,GAAA,MAAA,GAAA,EAAA,CAAA,QAAA,EAAA,CAAU,oCAAO,MAAP,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,GAAG,CAAC,CAAA;AACvH,EAAM,MAAA,gBAAA,GAAA,CAAmB,EAAS,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAA,gBAAA,KAAT,IAA6B,GAAA,EAAA,GAAA,IAAA;AACtD,EAAM,MAAA,OAAA,GAAU,QAAQ,MAAM;AAvGhC,IAAA,IAAAA,GAAAC,EAAAA,GAAAA;AAwGI,IAAM,MAAA,GAAA,GAAA,CAAMA,OAAAD,GAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,WAAP,IAAAA,GAAAA,MAAAA,GAAAA,GAAAA,CAAe,OAAf,KAAA,IAAA,GAAAC,GAAgD,GAAA,EAAA;AAC5D,IAAO,OAAA,OAAO,QAAQ,QAAY,IAAA,GAAA,CAAI,MAAS,GAAA,GAAA,CAAI,MAAS,GAAA,IAAA;AAAA,KAC3D,CAAC,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,MAAP,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,OAAO,CAAC,CAAA;AAC3B,EAAM,MAAA,UAAA,GAAa,YAAY,MAAM;AA3GvC,IAAA,IAAAD,GAAAC,EAAAA,GAAAA;AA4GI,IAAA,MAAM,YAAY,QAAO,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,IAAS,CAAA,KAAA,QAAA,GAAW,MAAM,IAAO,GAAA,EAAA;AACjE,IAAA,IAAI,aAAc,CAAA,IAAA,CAAK,SAAS,CAAA,IAAK,mBAAqB,EAAA;AACxD,MAAA;AAAA;AAEF,IAAA,IAAA,CAAID,GAAA,GAAA,UAAA,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAY,SAAZ,KAAA,IAAA,GAAA,MAAA,GAAAA,IAAA,IAA2B,CAAA,UAAA,CAAA,EAAA;AAC7B,MAAA,UAAA,CAAW,MAAO,EAAA;AAClB,MAAA;AAAA;AAEF,IAAA,CAAAC,MAAA,UAAY,IAAA,IAAA,GAAA,MAAA,GAAA,UAAA,CAAA,QAAA,KAAZ,gBAAAA,GAAA,CAAA,IAAA,CAAA,UAAA,EAAuB,cAAc,QAAS,CAAA;AAAA,MAC5C,IAAM,EAAA,uBAAA;AAAA,MACN,QAAQ,OAAU,GAAA;AAAA,QAChB;AAAA,OACE,GAAA;AAAA,KACL,CAAA,CAAA;AAAA,KACA,CAAC,UAAA,EAAY,OAAS,EAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,IAAI,CAAC,CAAA;AACrC,EAAM,MAAA,kBAAA,GAAqB,YAAY,MAAM;AAC3C,IAAI,IAAA;AACF,MAAA,oBAAA,CAAqB,YAAY,QAAQ,CAAA;AAAA,KACnC,CAAA,OAAA,CAAA,EAAA;AAAA;AAER,GACF,EAAG,CAAC,UAAU,CAAC,CAAA;AACf,EAAM,MAAA,aAAA,GAAgB,YAAY,MAAM;AACtC,IAAA,qBAAA,CAAsB,YAAY,OAAO,CAAA;AAAA,GACxC,EAAA,CAAC,UAAY,EAAA,OAAO,CAAC,CAAA;AACxB,EAAM,MAAA,SAAA,GAAY,OAAQ,CAAA,IAAI,CAAK,IAAA,QAAA;AACnC,EAAM,MAAA,QAAA,GAAW,SAAY,mBAAA,GAAA,CAAC,SAAU,EAAA,EAAA,OAAA,EAAS,UAAY,EAAA,kBAAA,EAAmB,SAAU,EAAA,iBAAA,EAAkB,QAAS,EAAA,KAAA,EAAO,CAAC;AAAA,IAC3H;AAAA,GACI,KAAA,CAAC,MAAO,CAAA,UAAA,EAAY,OAAW,IAAA,MAAA,CAAO,iBAAiB,CAAA,EAAG,OAAS,EAAA,CAAA,EAC/D,QAAC,kBAAA,GAAA,CAAA,sBAAA,EAAA,EAAuB,MAAK,cAAe,EAAA,IAAA,EAAM,SAAY,GAAA,CAAA,EAAG,KAAO,EAAA,SAAA,EAAW,CACvF,EAAA,CAAA,GAAe,6BAAc,GAAA,CAAA,SAAA,EAAA,EAAU,OAAS,EAAA,kBAAA,EAAoB,kBAAmB,EAAA,WAAA,EAAY,iBAAkB,EAAA,QAAA,EAAS,OAAO,CAAC;AAAA,IAC1I;AAAA,QACI,CAAC,MAAA,CAAO,YAAY,OAAW,IAAA,MAAA,CAAO,iBAAiB,CAAG,EAAA,OAAA,EAAS,GAC/D,QAAC,kBAAA,GAAA,CAAA,sBAAA,EAAA,EAAuB,MAAK,MAAO,EAAA,IAAA,EAAM,WAAW,KAAO,EAAA,SAAA,EAAW,GAC3E,CAAe,GAAA,IAAA;AACrB,EAAI,IAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,MAAP,KAAA,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,oBAAsB,EAAA;AACvC,IAAA,uBAAQ,GAAA,CAAA,SAAA,EAAA,EAAU,KAAO,EAAA,MAAA,GAAS,UAAU,MAAQ,EAAA,CAAA;AAAA;AAEtD,EAAM,MAAA,cAAA,GAAiB,mBAAmB,KAAU,KAAA,QAAA;AACpD,EAAA,MAAM,SAAY,GAAA,SAAA,IAAa,CAAC,cAAA,uBAAkB,IAAK,EAAA,EAAA,KAAA,EAAO,CAAC,MAAA,CAAO,KAAO,EAAA,cAAA,GAAiB,MAAO,CAAA,cAAA,GAAiB,OAAO,gBAAkB,EAAA;AAAA,IAC7I,KAAO,EAAA;AAAA,GACT,EAAG,gBAAgB,CAAG,EAAA,aAAA,EAAe,GAAG,aAAc,EAAA,MAAA,EACvC,iBACL,CAAU,GAAA,IAAA;AACpB,EAAA,uBACU,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,SAAU,EAAA,EAAA,KAAA,EAAO,MAAS,GAAA,OAAA,GAAU,MAAQ,EAAA,CAAA;AAAA,oBAI7C,GAAA,CAAC,QAAK,KAAO,EAAA;AAAA,MACnB,eAAiB,EAAA,YAAA;AAAA,MACjB,YAAY,MAAO,CAAA;AAAA,KAET,EAAA,QAAA,kBAAA,IAAA,CAAC,IAAK,EAAA,EAAA,gCAAA,EAAkC,MAAM;AACtD,MAAgB,eAAA,EAAA;AAChB,MAAO,OAAA,KAAA;AAAA,KACN,EAAA,KAAA,EAAO,CAAC,MAAA,CAAO,GAAK,EAAA;AAAA,MACrB,eAAiB,EAAA,YAAA;AAAA,MACjB,iBAAmB,EAAA,YAAA;AAAA,MACnB,UAAY,EAAA,MAAA,CAAO,GAAM,GAAA,CAAA,GAAI,CAAI,GAAA;AAAA,KAChC,EAAA,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,WAAT,KAAA,IAAA,GAAA,EAAA,GAAwB,IAAI,CACjB,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAO,MAAO,CAAA,QAAA,EAAW,QAAS,EAAA,QAAA,EAAA,CAAA;AAAA,MAEvC,eAAkB,mBAAA,IAAA,CAAC,UAAW,EAAA,EAAA,UAAA,EAAU,MAAC,8BAAgC,EAAA,KAAA,EAAO,KAAO,EAAA,MAAA,CAAO,WAAa,EAAA,qBAAA,EAAuB,MAAO,CAAA,YAAA,EAAc,2BAA0B,SAC1K,EAAA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,qBAAkB,MAAgB,EAAA,CAAA;AAAA,wBACnC,GAAA,CAAC,sBAAmB,MAAgB,EAAA;AAAA,OACxC,EAAA,CAAA,mBAAiB,GAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA,CAAC,MAAO,CAAA,SAAA,EAAW,cAAkB,IAAA,MAAA,CAAO,aAAa,CAAA,EAAI,QAAU,EAAA,SAAA,EAAA,CAAA;AAAA,sBAExG,GAAA,CAAC,IAAK,EAAA,EAAA,KAAA,EAAO,MAAO,CAAA,SAAA,EACf,4CAAmB,IAAA,CAAA,IAAA,EAAA,EAAK,KAAO,EAAA,MAAA,CAAO,YAC9B,EAAA,QAAA,EAAA;AAAA,QAAc,WAAA,mBAAA,GAAA,CAAC,oBAAiB,CAAK,GAAA,IAAA;AAAA,4BACrC,cAAe,EAAA,EAAA,MAAA,EAAgB,SAAW,EAAA,WAAA,GAAc,gBAAgB,MAAW,EAAA;AAAA,OAAA,EACxF,CAAU,GAAA,WAAA,mBAAe,GAAA,CAAA,mBAAA,EAAA,EAAoB,IAAK,EAAA,mBAAA,EAAoB,OAAS,EAAA,aAAA,EAAe,kBAAmB,EAAA,UAAA,EAAW,MAAgB,EAAA,CAAA,GAAK,IACzJ,EAAA;AAAA,KAAA,EACJ,CACJ,EAAA;AAAA,GACJ,EAAA,CAAA;AACR,CAAA;AACA,MAAM,MAAA,GAAS,WAAW,MAAO,CAAA;AAAA,EAC/B,GAAK,EAAA;AAAA,IACH,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA,QAAA;AAAA,IACZ,WAAa,EAAA,CAAA;AAAA,IACb,YAAc,EAAA,CAAA;AAAA,IACd,eAAiB,EAAA,CAAA;AAAA,IACjB,SAAW,EAAA,EAAA;AAAA,IACX,mBAAmB,UAAW,CAAA,aAAA;AAAA,IAC9B,QAAU,EAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA,QAAA;AAAA,IACZ,UAAY,EAAA;AAAA,GACd;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,CAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACZ;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA,QAAA;AAAA,IACZ,WAAa,EAAA,CAAA;AAAA,IACb,YAAc,EAAA,CAAA;AAAA,IACd,GAAK,EAAA;AAAA,GACP;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,CAAA;AAAA,IACN,UAAY,EAAA,QAAA;AAAA,IACZ,cAAgB,EAAA,QAAA;AAAA,IAChB,iBAAmB,EAAA,CAAA;AAAA,IACnB,QAAU,EAAA;AAAA,GACZ;AAAA,EACA,aAAe,EAAA;AAAA,IACb,UAAY,EAAA;AAAA,GACd;AAAA,EACA,SAAW,EAAA;AAAA,IACT,UAAY,EAAA,CAAA;AAAA,IACZ,UAAY,EAAA,UAAA;AAAA,IACZ,cAAgB,EAAA,QAAA;AAAA,IAChB,WAAa,EAAA;AAAA,GACf;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,aAAe,EAAA,KAAA;AAAA,IACf,UAAY,EAAA,QAAA;AAAA,IACZ,UAAY,EAAA;AAAA,GACd;AAAA,EACA,KAAO,EAAA;AAAA,IACL,QAAU,EAAA,EAAA;AAAA,IACV,UAAY,EAAA,KAAA;AAAA,IACZ,aAAe,EAAA,IAAA;AAAA,IACf,UAAY,EAAA;AAAA,GACd;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,SAAW,EAAA;AAAA,GACb;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,SAAW,EAAA;AAAA,GACb;AAAA,EACA,UAAY,EAAA;AAAA,IACV,KAAO,EAAA,EAAA;AAAA,IACP,MAAQ,EAAA,EAAA;AAAA,IACR,UAAY,EAAA,QAAA;AAAA,IACZ,cAAgB,EAAA,QAAA;AAAA,IAChB,YAAc,EAAA;AAAA,GAChB;AAAA,EACA,iBAAmB,EAAA;AAAA,IACjB,OAAS,EAAA;AAAA;AAEb,CAAC,CAAA;AACD,yBAAeC,cAAA,CAAM,KAAK,gBAAgB,CAAA"}
|
package/lib/compute.js
CHANGED
|
@@ -527,7 +527,7 @@ const yantraMobilePageStore = [{
|
|
|
527
527
|
hideInMenu: true,
|
|
528
528
|
auth: true,
|
|
529
529
|
menu_position: "side"
|
|
530
|
-
// Federated like canvas: opening it fetches characters_native/
|
|
530
|
+
// Federated like canvas: opening it fetches characters_native/Characters
|
|
531
531
|
// from the character-surface origin at runtime.
|
|
532
532
|
,
|
|
533
533
|
|
|
@@ -545,7 +545,11 @@ const yantraMobilePageStore = [{
|
|
|
545
545
|
showBack: true,
|
|
546
546
|
showGateway: false,
|
|
547
547
|
showHistory: false,
|
|
548
|
-
showNewChat: false
|
|
548
|
+
showNewChat: false,
|
|
549
|
+
// The studio is dark in either app theme (its own palette.bg), so a
|
|
550
|
+
// light header sat as a white band above it.
|
|
551
|
+
colorScheme: "dark",
|
|
552
|
+
headerBgColor: "#0A0A0B"
|
|
549
553
|
}
|
|
550
554
|
},
|
|
551
555
|
props: {
|
|
@@ -554,7 +558,7 @@ const yantraMobilePageStore = [{
|
|
|
554
558
|
board: null
|
|
555
559
|
},
|
|
556
560
|
options: {
|
|
557
|
-
title: "
|
|
561
|
+
title: "Characters",
|
|
558
562
|
headerTintColor: "black",
|
|
559
563
|
headerTitleStyle: {
|
|
560
564
|
fontWeight: "bold"
|
package/lib/compute.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\nimport { getFilteredRoutes } from '@common-stack/client-react/lib/utils/filteredRoutes.js';\nimport type { IRouteModule } from '@common-stack/core';\n\nexport const yantraMobilePageStore: IRouteModule[] = [\n {\n key: 'home',\n path: '/:orgName/l/home',\n name: 'Home',\n exact: true,\n index: true,\n priority: 1,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/Home'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: true,\n showFilter: true,\n isSearchBack: false,\n showGateway: true,\n showApps: false,\n showHistory: false,\n showNewChat: true,\n },\n },\n props: {\n initialParams: { initialSessionId: null, orgName: null },\n options: {\n title: 'Yantra',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerLabel: 'Chat',\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // Home stays mounted under Chat and kept re-rendering there, header\n // included, on every cache write of a streaming reply. Frozen while\n // covered; what changed applies when it is shown again.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'chat',\n path: '/:orgName/chat/:channelId',\n name: 'Chat',\n exact: false,\n priority: 2,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/Chat'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: true,\n showApps: false,\n showHistory: false,\n showNewChat: true,\n },\n },\n props: {\n initialParams: { channelId: null, orgName: null },\n options: {\n title: 'Yantra',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerLabel: 'Chat',\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n },\n },\n },\n {\n key: 'account',\n path: '/:orgName/account',\n name: 'Account',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/Account'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: false,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: false,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Account',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'center',\n gestureEnabled: true,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: true,\n },\n },\n },\n {\n // Apple Health / Health Connect sync for the fitness coach. Reached\n // from the Account screen, not listed in the drawer.\n key: 'health',\n path: '/:orgName/health',\n name: 'Health',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/Health'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: false,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: false,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Health',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'center',\n gestureEnabled: true,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: true,\n },\n },\n },\n {\n // Bluetooth health devices (scales, blood-pressure monitors, heart-rate\n // straps ...): pair one and take a reading. Reached from Account,\n // Health, and the Fitness surface's \"Add a device\"; not in the drawer.\n key: 'devices',\n path: '/:orgName/devices',\n name: 'Devices',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/Devices'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: false,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: false,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Devices',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'center',\n gestureEnabled: true,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: true,\n },\n },\n },\n {\n key: 'chathistory',\n path: '/:orgName/chathistory',\n name: 'ChatHistory',\n exact: false,\n priority: 3,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/ChatHistory'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: true,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Chat history',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n },\n },\n },\n {\n key: 'apps',\n path: '/:orgName/apps',\n name: 'Apps',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/Apps'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showApps: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Apps',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n // Browser `/discover`: news by topic. Opened from its own drawer row\n // (CustomDrawer), so the generic drawer list must not show it again.\n key: 'discover',\n path: '/:orgName/discover',\n name: 'Discover',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/Discover'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showApps: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Discover',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n freezeOnBlur: true,\n },\n },\n },\n {\n // Browser `/discover/:topic/:id`. Reached from a Discover story card.\n key: 'discover-article',\n path: '/:orgName/discover/article/:slug',\n name: 'DiscoverArticle',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/DiscoverArticle'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showApps: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, slug: null },\n options: {\n title: 'Discover',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: true,\n swipeEnabled: false,\n animation: 'slide_from_right',\n keyboardHandlingEnabled: false,\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'canvas-native',\n path: '/:orgName/c/canvas-native',\n name: 'CanvasNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n // Native canvas: in-binary experience (no Suspense on the remote).\n component: () => import('./screens/CanvasBoard'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, board: null },\n options: {\n title: 'Canvas',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n // Reachable via the Apps launcher tile - never list in the drawer.\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'characters-native',\n path: '/:orgName/c/characters-native',\n name: 'CharactersNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n // Federated like canvas: opening it fetches characters_native/Experience\n // from the character-surface origin at runtime.\n component: () => import('./screens/Characters'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, board: null },\n options: {\n title: 'Canvas',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n // Reachable via the Apps launcher tile - never list in the drawer.\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n },\n },\n },\n {\n key: 'webbuilder',\n path: '/:orgName/c/:channelId/webbuilder',\n name: 'WebBuilder',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/WebBuilder'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, url: null, channelId: null, projectId: null, message: null },\n options: {\n title: 'Web Builder',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n // Reachable only via Build-mode submit — never list in the drawer.\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n },\n },\n },\n {\n key: 'chat-native',\n path: '/:orgName/c/chat-native',\n name: 'ChatNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n // Federated like canvas: opening it fetches chat_native/Chat from the\n // chat-native surface at runtime. `channelId` is the push deep link.\n component: () => import('./screens/ChatNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: false,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, channelId: null },\n options: {\n title: 'Chats',\n headerTintColor: '#ea580c',\n headerStyle: {\n backgroundColor: '#ffffff',\n },\n headerShadowVisible: false,\n headerTitleStyle: {\n fontWeight: '700',\n fontSize: 20,\n },\n // Reachable via the Apps launcher tile - never list in the drawer.\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n // The composer owns its keyboard inset via KeyboardComposerDock;\n // letting the navigator resize too double-shifts the thread.\n keyboardHandlingEnabled: false,\n },\n },\n },\n {\n key: 'shopping-native',\n path: '/:orgName/c/shopping-native',\n name: 'ShoppingNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n // Federated like canvas: opening it fetches shopping_native/Shop from\n // the shopping-native surface at runtime.\n component: () => import('./screens/ShoppingNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Shop',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'resume-native',\n path: '/:orgName/c/resume-native',\n name: 'ResumeNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/ResumeNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Resume',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'job-search-native',\n path: '/:orgName/c/job-search-native',\n name: 'JobSearchNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/JobSearchNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Job Search',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'inbox-native',\n path: '/:orgName/c/inbox-native',\n name: 'InboxNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/InboxNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // The Inbox draws its own header (back, mailbox switcher, search, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Inbox',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'study-native',\n path: '/:orgName/c/study-native',\n name: 'StudyNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/StudyNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // Study draws its own header (back, notebook switcher, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Study',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'local-services-native',\n path: '/:orgName/c/local-services-native',\n name: 'LocalServicesNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/LocalServicesNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // Local Services draws its own header (back, saved, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Local Services',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'movies-native',\n path: '/:orgName/c/movies-native',\n name: 'MoviesNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/MoviesNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // Movies draws its own header (back, location, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Movies',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'expenses-native',\n path: '/:orgName/c/expenses-native',\n name: 'ExpensesNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/ExpensesNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // Expenses draws its own header (back, workspace, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Expenses',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'webbuilder-native',\n path: '/:orgName/c/webbuilder-native',\n name: 'WebBuilderNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/WebBuilderNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // Web Builder draws its own header (back, project, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Web Builder',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'travel-native',\n path: '/:orgName/c/travel-native',\n name: 'TravelNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/TravelNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Travel',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n },\n },\n },\n];\n\nconst selectedRoutes = [\n 'home',\n 'chat',\n 'account',\n 'health',\n 'devices',\n 'chathistory',\n 'apps',\n 'discover',\n 'discover-article',\n 'webbuilder',\n 'canvas-native',\n 'characters-native',\n 'chat-native',\n 'shopping-native',\n 'travel-native',\n 'job-search-native',\n 'resume-native',\n 'inbox-native',\n 'study-native',\n 'local-services-native',\n 'movies-native',\n 'expenses-native',\n 'webbuilder-native',\n];\n\nconst filteredRoutes = getFilteredRoutes(yantraMobilePageStore, selectedRoutes);\n\nexport { filteredRoutes };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\nimport { getFilteredRoutes } from '@common-stack/client-react/lib/utils/filteredRoutes.js';\nimport type { IRouteModule } from '@common-stack/core';\n\nexport const yantraMobilePageStore: IRouteModule[] = [\n {\n key: 'home',\n path: '/:orgName/l/home',\n name: 'Home',\n exact: true,\n index: true,\n priority: 1,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/Home'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: true,\n showFilter: true,\n isSearchBack: false,\n showGateway: true,\n showApps: false,\n showHistory: false,\n showNewChat: true,\n },\n },\n props: {\n initialParams: { initialSessionId: null, orgName: null },\n options: {\n title: 'Yantra',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerLabel: 'Chat',\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // Home stays mounted under Chat and kept re-rendering there, header\n // included, on every cache write of a streaming reply. Frozen while\n // covered; what changed applies when it is shown again.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'chat',\n path: '/:orgName/chat/:channelId',\n name: 'Chat',\n exact: false,\n priority: 2,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/Chat'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: true,\n showApps: false,\n showHistory: false,\n showNewChat: true,\n },\n },\n props: {\n initialParams: { channelId: null, orgName: null },\n options: {\n title: 'Yantra',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerLabel: 'Chat',\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n },\n },\n },\n {\n key: 'account',\n path: '/:orgName/account',\n name: 'Account',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/Account'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: false,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: false,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Account',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'center',\n gestureEnabled: true,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: true,\n },\n },\n },\n {\n // Apple Health / Health Connect sync for the fitness coach. Reached\n // from the Account screen, not listed in the drawer.\n key: 'health',\n path: '/:orgName/health',\n name: 'Health',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/Health'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: false,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: false,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Health',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'center',\n gestureEnabled: true,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: true,\n },\n },\n },\n {\n // Bluetooth health devices (scales, blood-pressure monitors, heart-rate\n // straps ...): pair one and take a reading. Reached from Account,\n // Health, and the Fitness surface's \"Add a device\"; not in the drawer.\n key: 'devices',\n path: '/:orgName/devices',\n name: 'Devices',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/Devices'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: false,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: false,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Devices',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'center',\n gestureEnabled: true,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: true,\n },\n },\n },\n {\n key: 'chathistory',\n path: '/:orgName/chathistory',\n name: 'ChatHistory',\n exact: false,\n priority: 3,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/ChatHistory'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: true,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Chat history',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n },\n },\n },\n {\n key: 'apps',\n path: '/:orgName/apps',\n name: 'Apps',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/Apps'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showApps: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Apps',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n // Browser `/discover`: news by topic. Opened from its own drawer row\n // (CustomDrawer), so the generic drawer list must not show it again.\n key: 'discover',\n path: '/:orgName/discover',\n name: 'Discover',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/Discover'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showApps: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Discover',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n freezeOnBlur: true,\n },\n },\n },\n {\n // Browser `/discover/:topic/:id`. Reached from a Discover story card.\n key: 'discover-article',\n path: '/:orgName/discover/article/:slug',\n name: 'DiscoverArticle',\n exact: true,\n priority: 3,\n hideInMenu: true,\n auth: true,\n component: () => import('./screens/DiscoverArticle'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showApps: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, slug: null },\n options: {\n title: 'Discover',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: true,\n swipeEnabled: false,\n animation: 'slide_from_right',\n keyboardHandlingEnabled: false,\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'canvas-native',\n path: '/:orgName/c/canvas-native',\n name: 'CanvasNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n // Native canvas: in-binary experience (no Suspense on the remote).\n component: () => import('./screens/CanvasBoard'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, board: null },\n options: {\n title: 'Canvas',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n // Reachable via the Apps launcher tile - never list in the drawer.\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'characters-native',\n path: '/:orgName/c/characters-native',\n name: 'CharactersNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n // Federated like canvas: opening it fetches characters_native/Characters\n // from the character-surface origin at runtime.\n component: () => import('./screens/Characters'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n // The studio is dark in either app theme (its own palette.bg), so a\n // light header sat as a white band above it.\n colorScheme: 'dark',\n headerBgColor: '#0A0A0B',\n },\n },\n props: {\n initialParams: { orgName: null, board: null },\n options: {\n title: 'Characters',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n // Reachable via the Apps launcher tile - never list in the drawer.\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n },\n },\n },\n {\n key: 'webbuilder',\n path: '/:orgName/c/:channelId/webbuilder',\n name: 'WebBuilder',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/WebBuilder'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, url: null, channelId: null, projectId: null, message: null },\n options: {\n title: 'Web Builder',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n // Reachable only via Build-mode submit — never list in the drawer.\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n },\n },\n },\n {\n key: 'chat-native',\n path: '/:orgName/c/chat-native',\n name: 'ChatNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n // Federated like canvas: opening it fetches chat_native/Chat from the\n // chat-native surface at runtime. `channelId` is the push deep link.\n component: () => import('./screens/ChatNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: false,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null, channelId: null },\n options: {\n title: 'Chats',\n headerTintColor: '#ea580c',\n headerStyle: {\n backgroundColor: '#ffffff',\n },\n headerShadowVisible: false,\n headerTitleStyle: {\n fontWeight: '700',\n fontSize: 20,\n },\n // Reachable via the Apps launcher tile - never list in the drawer.\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n // The composer owns its keyboard inset via KeyboardComposerDock;\n // letting the navigator resize too double-shifts the thread.\n keyboardHandlingEnabled: false,\n },\n },\n },\n {\n key: 'shopping-native',\n path: '/:orgName/c/shopping-native',\n name: 'ShoppingNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n // Federated like canvas: opening it fetches shopping_native/Shop from\n // the shopping-native surface at runtime.\n component: () => import('./screens/ShoppingNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Shop',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'resume-native',\n path: '/:orgName/c/resume-native',\n name: 'ResumeNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/ResumeNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Resume',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'job-search-native',\n path: '/:orgName/c/job-search-native',\n name: 'JobSearchNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/JobSearchNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Job Search',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'inbox-native',\n path: '/:orgName/c/inbox-native',\n name: 'InboxNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/InboxNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // The Inbox draws its own header (back, mailbox switcher, search, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Inbox',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'study-native',\n path: '/:orgName/c/study-native',\n name: 'StudyNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/StudyNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // Study draws its own header (back, notebook switcher, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Study',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'local-services-native',\n path: '/:orgName/c/local-services-native',\n name: 'LocalServicesNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/LocalServicesNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // Local Services draws its own header (back, saved, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Local Services',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'movies-native',\n path: '/:orgName/c/movies-native',\n name: 'MoviesNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/MoviesNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // Movies draws its own header (back, location, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Movies',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'expenses-native',\n path: '/:orgName/c/expenses-native',\n name: 'ExpensesNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/ExpensesNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // Expenses draws its own header (back, workspace, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Expenses',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'webbuilder-native',\n path: '/:orgName/c/webbuilder-native',\n name: 'WebBuilderNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/WebBuilderNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n // Web Builder draws its own header (back, project, agent).\n initialParams: { orgName: null, hideNavigationHeader: true },\n options: {\n title: 'Web Builder',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n // `unmountOnBlur` was REMOVED in React Navigation v7 (this app is on\n // native-stack 7.17 / drawer 7.12), so it was silently ignored and these\n // screens stayed fully live after blur. `freezeOnBlur` is the v7\n // replacement and needs `enableFreeze(true)` in App.tsx to take effect.\n freezeOnBlur: true,\n },\n },\n },\n {\n key: 'travel-native',\n path: '/:orgName/c/travel-native',\n name: 'TravelNative',\n exact: true,\n priority: 4,\n hideInMenu: true,\n auth: true,\n menu_position: 'side',\n component: () => import('./screens/TravelNative'),\n importPaths: {\n navigationHeader: () => import('./components/NavigationHeader/NavigationHeader'),\n },\n customHeader: {\n name: 'NavigationHeader',\n component: '$.importPaths.navigationHeader',\n props: {\n showTitle: true,\n showToggle: false,\n showFilter: false,\n isSearchBack: false,\n showBack: true,\n showGateway: false,\n showHistory: false,\n showNewChat: false,\n },\n },\n props: {\n initialParams: { orgName: null },\n options: {\n title: 'Travel',\n headerTintColor: 'black',\n headerTitleStyle: {\n fontWeight: 'bold',\n },\n drawerItemStyle: { display: 'none' },\n headerTitleAlign: 'left',\n gestureEnabled: false,\n swipeEnabled: false,\n animation: 'fade',\n animationTypeForReplace: 'pop',\n keyboardHandlingEnabled: false,\n },\n },\n },\n];\n\nconst selectedRoutes = [\n 'home',\n 'chat',\n 'account',\n 'health',\n 'devices',\n 'chathistory',\n 'apps',\n 'discover',\n 'discover-article',\n 'webbuilder',\n 'canvas-native',\n 'characters-native',\n 'chat-native',\n 'shopping-native',\n 'travel-native',\n 'job-search-native',\n 'resume-native',\n 'inbox-native',\n 'study-native',\n 'local-services-native',\n 'movies-native',\n 'expenses-native',\n 'webbuilder-native',\n];\n\nconst filteredRoutes = getFilteredRoutes(yantraMobilePageStore, selectedRoutes);\n\nexport { filteredRoutes };\n"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import {useSyncExternalStore,useMemo,useEffect}from'react';import {useChatStream
|
|
|
8
8
|
messagesLoading: false,
|
|
9
9
|
hasMessages: false,
|
|
10
10
|
queuedMessages: [],
|
|
11
|
+
outboxRetrying: false,
|
|
11
12
|
flushQueuedMessages: async () => void 0,
|
|
12
13
|
discardQueuedMessages: () => void 0,
|
|
13
14
|
queuedFollowUps: [],
|
|
@@ -21,7 +22,7 @@ let snapshot = EMPTY;
|
|
|
21
22
|
const listeners = /* @__PURE__ */ new Set();
|
|
22
23
|
function publish(next) {
|
|
23
24
|
const prev = snapshot;
|
|
24
|
-
if (prev.messages === next.messages && prev.response === next.response && prev.quickReply === next.quickReply && prev.error === next.error && prev.isLoading === next.isLoading && prev.isStreaming === next.isStreaming && prev.messagesLoading === next.messagesLoading && prev.queuedMessages === next.queuedMessages && prev.queuedFollowUps === next.queuedFollowUps && prev.sendMessage === next.sendMessage) {
|
|
25
|
+
if (prev.messages === next.messages && prev.response === next.response && prev.quickReply === next.quickReply && prev.error === next.error && prev.isLoading === next.isLoading && prev.isStreaming === next.isStreaming && prev.messagesLoading === next.messagesLoading && prev.queuedMessages === next.queuedMessages && prev.outboxRetrying === next.outboxRetrying && prev.queuedFollowUps === next.queuedFollowUps && prev.sendMessage === next.sendMessage) {
|
|
25
26
|
snapshot = next;
|
|
26
27
|
return;
|
|
27
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatLiveStreamContext.js","sources":["../../src/contexts/ChatLiveStreamContext.tsx"],"sourcesContent":["/**\n * App-wide owner of the mobile chat stream.\n *\n * `useChatStream` used to live on ChatScreen. Opening history unmounted that\n * screen, which tore down GraphQL subscriptions — the brain's provisional\n * reply vanished and the published agent stream never reattached. Web keeps\n * ChatLayout mounted; this engine does the same: it stays under\n * `CdecliConnectionProvider` and Chat only *reads* the live snapshot.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { useSyncExternalStore } from 'react';\nimport { useChatStream, type UseChatStreamRouting } from '../hooks/useChatStream';\nimport { useCdecliConnection } from './CdecliConnectionContext';\n\nexport type ChatLiveStreamSnapshot = ReturnType<typeof useChatStream>;\n\nconst EMPTY: ChatLiveStreamSnapshot = {\n messages: [],\n response: '',\n quickReply: '',\n error: null,\n isLoading: false,\n isStreaming: false,\n messagesLoading: false,\n hasMessages: false,\n queuedMessages: [],\n flushQueuedMessages: async () => undefined,\n discardQueuedMessages: () => undefined,\n queuedFollowUps: [],\n cancelQueuedFollowUp: async () => undefined,\n sendQueuedNow: () => undefined,\n sendMessage: async () => 'failed',\n cancel: () => undefined,\n clearMessages: () => undefined,\n};\n\nlet snapshot: ChatLiveStreamSnapshot = EMPTY;\nconst listeners = new Set<() => void>();\n\nfunction publish(next: ChatLiveStreamSnapshot) {\n const prev = snapshot;\n if (\n prev.messages === next.messages &&\n prev.response === next.response &&\n prev.quickReply === next.quickReply &&\n prev.error === next.error &&\n prev.isLoading === next.isLoading &&\n prev.isStreaming === next.isStreaming &&\n prev.messagesLoading === next.messagesLoading &&\n prev.queuedMessages === next.queuedMessages &&\n prev.queuedFollowUps === next.queuedFollowUps &&\n prev.sendMessage === next.sendMessage\n ) {\n snapshot = next;\n return;\n }\n snapshot = next;\n listeners.forEach((fn) => fn());\n}\n\nfunction subscribe(listener: () => void) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\n\nfunction getSnapshot() {\n return snapshot;\n}\n\n/** Keeps messenger subscriptions alive while the user is on history / home. */\nexport function ChatLiveStreamEngine() {\n const cdecli = useCdecliConnection();\n const routing: UseChatStreamRouting = useMemo(\n () => ({\n channelConnected: cdecli.channelConnected,\n accountId: cdecli.accountId,\n persistenceMode: cdecli.persistenceMode ?? 'backend',\n recoverAgentAuth: cdecli.recoverAgentAuth,\n }),\n [cdecli.channelConnected, cdecli.accountId, cdecli.persistenceMode, cdecli.recoverAgentAuth],\n );\n const stream = useChatStream(cdecli.activeChannelId ?? null, routing);\n useEffect(() => {\n publish(stream);\n }, [stream]);\n return null;\n}\n\nexport function useChatLiveStream(): ChatLiveStreamSnapshot {\n return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n}\n"],"names":["_a"],"mappings":"gLAcA,MAAM,KAAgC,GAAA;AAAA,EACpC,UAAU,EAAC;AAAA,EACX,QAAU,EAAA,EAAA;AAAA,EACV,UAAY,EAAA,EAAA;AAAA,EACZ,KAAO,EAAA,IAAA;AAAA,EACP,SAAW,EAAA,KAAA;AAAA,EACX,WAAa,EAAA,KAAA;AAAA,EACb,eAAiB,EAAA,KAAA;AAAA,EACjB,WAAa,EAAA,KAAA;AAAA,EACb,gBAAgB,EAAC;AAAA,EACjB,qBAAqB,YAAY,MAAA;AAAA,EACjC,uBAAuB,MAAM,MAAA;AAAA,EAC7B,iBAAiB,EAAC;AAAA,EAClB,sBAAsB,YAAY,MAAA;AAAA,EAClC,eAAe,MAAM,MAAA;AAAA,EACrB,aAAa,YAAY,QAAA;AAAA,EACzB,QAAQ,MAAM,MAAA;AAAA,EACd,eAAe,MAAM;AACvB,CAAA;AACA,IAAI,QAAmC,GAAA,KAAA;AACvC,MAAM,SAAA,uBAAgB,GAAgB,EAAA;AACtC,SAAS,QAAQ,IAA8B,EAAA;AAC7C,EAAA,MAAM,IAAO,GAAA,QAAA;AACb,EAAA,IAAI,KAAK,QAAa,KAAA,IAAA,CAAK,QAAY,IAAA,IAAA,CAAK,
|
|
1
|
+
{"version":3,"file":"ChatLiveStreamContext.js","sources":["../../src/contexts/ChatLiveStreamContext.tsx"],"sourcesContent":["/**\n * App-wide owner of the mobile chat stream.\n *\n * `useChatStream` used to live on ChatScreen. Opening history unmounted that\n * screen, which tore down GraphQL subscriptions — the brain's provisional\n * reply vanished and the published agent stream never reattached. Web keeps\n * ChatLayout mounted; this engine does the same: it stays under\n * `CdecliConnectionProvider` and Chat only *reads* the live snapshot.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { useSyncExternalStore } from 'react';\nimport { useChatStream, type UseChatStreamRouting } from '../hooks/useChatStream';\nimport { useCdecliConnection } from './CdecliConnectionContext';\n\nexport type ChatLiveStreamSnapshot = ReturnType<typeof useChatStream>;\n\nconst EMPTY: ChatLiveStreamSnapshot = {\n messages: [],\n response: '',\n quickReply: '',\n error: null,\n isLoading: false,\n isStreaming: false,\n messagesLoading: false,\n hasMessages: false,\n queuedMessages: [],\n outboxRetrying: false,\n flushQueuedMessages: async () => undefined,\n discardQueuedMessages: () => undefined,\n queuedFollowUps: [],\n cancelQueuedFollowUp: async () => undefined,\n sendQueuedNow: () => undefined,\n sendMessage: async () => 'failed',\n cancel: () => undefined,\n clearMessages: () => undefined,\n};\n\nlet snapshot: ChatLiveStreamSnapshot = EMPTY;\nconst listeners = new Set<() => void>();\n\nfunction publish(next: ChatLiveStreamSnapshot) {\n const prev = snapshot;\n if (\n prev.messages === next.messages &&\n prev.response === next.response &&\n prev.quickReply === next.quickReply &&\n prev.error === next.error &&\n prev.isLoading === next.isLoading &&\n prev.isStreaming === next.isStreaming &&\n prev.messagesLoading === next.messagesLoading &&\n prev.queuedMessages === next.queuedMessages &&\n prev.outboxRetrying === next.outboxRetrying &&\n prev.queuedFollowUps === next.queuedFollowUps &&\n prev.sendMessage === next.sendMessage\n ) {\n snapshot = next;\n return;\n }\n snapshot = next;\n listeners.forEach((fn) => fn());\n}\n\nfunction subscribe(listener: () => void) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\n\nfunction getSnapshot() {\n return snapshot;\n}\n\n/** Keeps messenger subscriptions alive while the user is on history / home. */\nexport function ChatLiveStreamEngine() {\n const cdecli = useCdecliConnection();\n const routing: UseChatStreamRouting = useMemo(\n () => ({\n channelConnected: cdecli.channelConnected,\n accountId: cdecli.accountId,\n persistenceMode: cdecli.persistenceMode ?? 'backend',\n recoverAgentAuth: cdecli.recoverAgentAuth,\n }),\n [cdecli.channelConnected, cdecli.accountId, cdecli.persistenceMode, cdecli.recoverAgentAuth],\n );\n const stream = useChatStream(cdecli.activeChannelId ?? null, routing);\n useEffect(() => {\n publish(stream);\n }, [stream]);\n return null;\n}\n\nexport function useChatLiveStream(): ChatLiveStreamSnapshot {\n return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n}\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -29,32 +29,6 @@ function nativeHandoffParams(opts) {
|
|
|
29
29
|
initialAgentAttachments: opts.files
|
|
30
30
|
} : {});
|
|
31
31
|
}
|
|
32
|
-
function isBareChatRoute(name) {
|
|
33
|
-
return /(^|\.)Chat$/.test(name);
|
|
34
|
-
}
|
|
35
|
-
function navigatorOwning(navigation, routeName) {
|
|
36
|
-
var _a, _b, _c, _d;
|
|
37
|
-
for (let nav = navigation; nav; nav = (_a = nav.getParent) == null ? void 0 : _a.call(nav)) {
|
|
38
|
-
if ((_d = (_c = (_b = nav.getState) == null ? void 0 : _b.call(nav)) == null ? void 0 : _c.routeNames) == null ? void 0 : _d.includes(routeName)) return nav;
|
|
39
|
-
}
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
function openNativeAppFromHome(navigation, route, params) {
|
|
43
|
-
const stack = navigatorOwning(navigation, route);
|
|
44
|
-
if (!stack) return false;
|
|
45
|
-
stack.dispatch((state) => {
|
|
46
|
-
const kept = state.routes.filter((r) => !isBareChatRoute(r.name) && r.name !== route);
|
|
47
|
-
const routes = [...kept, {
|
|
48
|
-
name: route,
|
|
49
|
-
params
|
|
50
|
-
}];
|
|
51
|
-
return CommonActions.reset(__spreadProps(__spreadValues({}, state), {
|
|
52
|
-
routes,
|
|
53
|
-
index: routes.length - 1
|
|
54
|
-
}));
|
|
55
|
-
});
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
32
|
function replaceWithNativeApp(navigation, route, params) {
|
|
59
33
|
navigation.dispatch(StackActions.replace(route, params));
|
|
60
34
|
}
|
|
@@ -63,4 +37,4 @@ function pushNativeApp(navigation, route, params) {
|
|
|
63
37
|
name: route,
|
|
64
38
|
params
|
|
65
39
|
}));
|
|
66
|
-
}export{nativeHandoffParams,
|
|
40
|
+
}export{nativeHandoffParams,pushNativeApp,replaceWithNativeApp};//# sourceMappingURL=nativeAppNavigation.js.map
|