chore: rename package com.librechat to com.garfiec.librechat
This commit is contained in:
parent
af7a662754
commit
e5c5b549db
660 changed files with 2466 additions and 2466 deletions
|
|
@ -59,7 +59,7 @@ cat UPSTREAM_VERSION
|
||||||
```
|
```
|
||||||
If missing, create from current state:
|
If missing, create from current state:
|
||||||
```bash
|
```bash
|
||||||
VERSION=$(grep 'SUPPORTED_BACKEND_VERSION' core/common/src/main/kotlin/com/librechat/android/core/common/BackendVersion.kt | grep -o '"[^"]*"' | tr -d '"')
|
VERSION=$(grep 'SUPPORTED_BACKEND_VERSION' core/common/src/main/kotlin/com/garfiec/librechat/core/common/BackendVersion.kt | grep -o '"[^"]*"' | tr -d '"')
|
||||||
COMMIT=$(cd upstream && git rev-parse HEAD)
|
COMMIT=$(cd upstream && git rev-parse HEAD)
|
||||||
echo "# Upstream LibreChat version this Android build tracks." > UPSTREAM_VERSION
|
echo "# Upstream LibreChat version this Android build tracks." > UPSTREAM_VERSION
|
||||||
echo "# Updated by the sync-upstream skill. Do not edit manually." >> UPSTREAM_VERSION
|
echo "# Updated by the sync-upstream skill. Do not edit manually." >> UPSTREAM_VERSION
|
||||||
|
|
@ -82,7 +82,7 @@ Check if a prior sync was partially done in another session:
|
||||||
TRACKED_TAG=$(grep '^tag=' UPSTREAM_VERSION | cut -d= -f2)
|
TRACKED_TAG=$(grep '^tag=' UPSTREAM_VERSION | cut -d= -f2)
|
||||||
|
|
||||||
# Get version from BackendVersion.kt
|
# Get version from BackendVersion.kt
|
||||||
CODE_VERSION=$(grep 'SUPPORTED_BACKEND_VERSION' core/common/src/main/kotlin/com/librechat/android/core/common/BackendVersion.kt | grep -o '"[^"]*"' | tr -d '"')
|
CODE_VERSION=$(grep 'SUPPORTED_BACKEND_VERSION' core/common/src/main/kotlin/com/garfiec/librechat/core/common/BackendVersion.kt | grep -o '"[^"]*"' | tr -d '"')
|
||||||
|
|
||||||
# Get submodule current position
|
# Get submodule current position
|
||||||
SUBMODULE_HEAD=$(cd upstream && git rev-parse HEAD)
|
SUBMODULE_HEAD=$(cd upstream && git rev-parse HEAD)
|
||||||
|
|
@ -275,7 +275,7 @@ Create a task for the implementer with the approved change list:
|
||||||
> {paste the approved change list here}
|
> {paste the approved change list here}
|
||||||
>
|
>
|
||||||
> **After all code changes:**
|
> **After all code changes:**
|
||||||
> 1. Update `SUPPORTED_BACKEND_VERSION` in `core/common/src/main/kotlin/com/librechat/android/core/common/BackendVersion.kt` to "{new_version}" (without v prefix)
|
> 1. Update `SUPPORTED_BACKEND_VERSION` in `core/common/src/main/kotlin/com/garfiec/librechat/core/common/BackendVersion.kt` to "{new_version}" (without v prefix)
|
||||||
> 2. Advance submodule: `cd upstream && git checkout {target_tag}`
|
> 2. Advance submodule: `cd upstream && git checkout {target_tag}`
|
||||||
> 3. Update `UPSTREAM_VERSION` at repo root:
|
> 3. Update `UPSTREAM_VERSION` at repo root:
|
||||||
> ```
|
> ```
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ plugins {
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "com.librechat.android"
|
namespace = "com.garfiec.librechat"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "com.librechat.android"
|
applicationId = "com.garfiec.librechat"
|
||||||
}
|
}
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
|
|
|
||||||
8
app/proguard-rules.pro
vendored
8
app/proguard-rules.pro
vendored
|
|
@ -5,16 +5,16 @@
|
||||||
-dontnote kotlinx.serialization.AnnotationsKt
|
-dontnote kotlinx.serialization.AnnotationsKt
|
||||||
-keepclassmembers class kotlinx.serialization.json.** { *** Companion; }
|
-keepclassmembers class kotlinx.serialization.json.** { *** Companion; }
|
||||||
-keepclasseswithmembers class kotlinx.serialization.json.** { kotlinx.serialization.KSerializer serializer(...); }
|
-keepclasseswithmembers class kotlinx.serialization.json.** { kotlinx.serialization.KSerializer serializer(...); }
|
||||||
-keep,includedescriptorclasses class com.librechat.android.**$$serializer { *; }
|
-keep,includedescriptorclasses class com.garfiec.librechat.**$$serializer { *; }
|
||||||
-keepclassmembers class com.librechat.android.** { *** Companion; }
|
-keepclassmembers class com.garfiec.librechat.** { *** Companion; }
|
||||||
-keepclasseswithmembers class com.librechat.android.** { kotlinx.serialization.KSerializer serializer(...); }
|
-keepclasseswithmembers class com.garfiec.librechat.** { kotlinx.serialization.KSerializer serializer(...); }
|
||||||
|
|
||||||
# Keep Ktor
|
# Keep Ktor
|
||||||
-keep class io.ktor.** { *; }
|
-keep class io.ktor.** { *; }
|
||||||
-dontwarn io.ktor.**
|
-dontwarn io.ktor.**
|
||||||
|
|
||||||
# Keep Room entities
|
# Keep Room entities
|
||||||
-keep class com.librechat.android.core.data.db.entity.** { *; }
|
-keep class com.garfiec.librechat.core.data.db.entity.** { *; }
|
||||||
|
|
||||||
# Koin - keep ViewModel constructors for reflection-based instantiation
|
# Koin - keep ViewModel constructors for reflection-based instantiation
|
||||||
-keep class * extends androidx.lifecycle.ViewModel { <init>(...); }
|
-keep class * extends androidx.lifecycle.ViewModel { <init>(...); }
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android
|
package com.garfiec.librechat
|
||||||
|
|
||||||
import androidx.compose.ui.test.assertIsDisplayed
|
import androidx.compose.ui.test.assertIsDisplayed
|
||||||
import androidx.compose.ui.test.assertIsEnabled
|
import androidx.compose.ui.test.assertIsEnabled
|
||||||
|
|
@ -6,8 +6,8 @@ import androidx.compose.ui.test.assertIsNotEnabled
|
||||||
import androidx.compose.ui.test.junit4.createComposeRule
|
import androidx.compose.ui.test.junit4.createComposeRule
|
||||||
import androidx.compose.ui.test.onNodeWithText
|
import androidx.compose.ui.test.onNodeWithText
|
||||||
import androidx.compose.ui.test.performTextInput
|
import androidx.compose.ui.test.performTextInput
|
||||||
import com.librechat.android.core.ui.theme.LibreChatTheme
|
import com.garfiec.librechat.core.ui.theme.LibreChatTheme
|
||||||
import com.librechat.android.feature.auth.screen.ServerUrlScreen
|
import com.garfiec.librechat.feature.auth.screen.ServerUrlScreen
|
||||||
import org.junit.Rule
|
import org.junit.Rule
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android
|
package com.garfiec.librechat
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import coil3.ImageLoader
|
import coil3.ImageLoader
|
||||||
|
|
@ -8,17 +8,17 @@ import coil3.disk.directory
|
||||||
import coil3.memory.MemoryCache
|
import coil3.memory.MemoryCache
|
||||||
import coil3.network.ktor3.KtorNetworkFetcherFactory
|
import coil3.network.ktor3.KtorNetworkFetcherFactory
|
||||||
import coil3.request.crossfade
|
import coil3.request.crossfade
|
||||||
import com.librechat.android.core.common.di.commonModule
|
import com.garfiec.librechat.core.common.di.commonModule
|
||||||
import com.librechat.android.core.data.di.dataModule
|
import com.garfiec.librechat.core.data.di.dataModule
|
||||||
import com.librechat.android.core.network.di.networkModule
|
import com.garfiec.librechat.core.network.di.networkModule
|
||||||
import com.librechat.android.feature.agents.di.agentsModule
|
import com.garfiec.librechat.feature.agents.di.agentsModule
|
||||||
import com.librechat.android.feature.auth.di.authModule
|
import com.garfiec.librechat.feature.auth.di.authModule
|
||||||
import com.librechat.android.feature.auth.di.authPlatformModule
|
import com.garfiec.librechat.feature.auth.di.authPlatformModule
|
||||||
import com.librechat.android.feature.chat.di.chatModule
|
import com.garfiec.librechat.feature.chat.di.chatModule
|
||||||
import com.librechat.android.feature.conversations.di.conversationsModule
|
import com.garfiec.librechat.feature.conversations.di.conversationsModule
|
||||||
import com.librechat.android.feature.files.di.filesModule
|
import com.garfiec.librechat.feature.files.di.filesModule
|
||||||
import com.librechat.android.feature.settings.di.settingsModule
|
import com.garfiec.librechat.feature.settings.di.settingsModule
|
||||||
import com.librechat.android.navigation.appModule
|
import com.garfiec.librechat.navigation.appModule
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import org.koin.android.ext.android.get
|
import org.koin.android.ext.android.get
|
||||||
import org.koin.android.ext.koin.androidContext
|
import org.koin.android.ext.koin.androidContext
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android
|
package com.garfiec.librechat
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
|
@ -32,13 +32,13 @@ import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.core.view.WindowCompat
|
import androidx.core.view.WindowCompat
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.librechat.android.core.common.network.ConnectivityObserver
|
import com.garfiec.librechat.core.common.network.ConnectivityObserver
|
||||||
import com.librechat.android.core.data.datastore.ThemeDataStore
|
import com.garfiec.librechat.core.data.datastore.ThemeDataStore
|
||||||
import com.librechat.android.core.data.datastore.ThemeMode
|
import com.garfiec.librechat.core.data.datastore.ThemeMode
|
||||||
import com.librechat.android.core.ui.theme.LibreChatTheme
|
import com.garfiec.librechat.core.ui.theme.LibreChatTheme
|
||||||
import com.librechat.android.feature.chat.ShareIntentConsumer
|
import com.garfiec.librechat.feature.chat.ShareIntentConsumer
|
||||||
import com.librechat.android.feature.chat.SharedContent
|
import com.garfiec.librechat.feature.chat.SharedContent
|
||||||
import com.librechat.android.navigation.LibreChatNavHost
|
import com.garfiec.librechat.navigation.LibreChatNavHost
|
||||||
import org.koin.android.ext.android.inject
|
import org.koin.android.ext.android.inject
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.navigation
|
package com.garfiec.librechat.navigation
|
||||||
|
|
||||||
import org.koin.core.module.dsl.viewModelOf
|
import org.koin.core.module.dsl.viewModelOf
|
||||||
import org.koin.dsl.module
|
import org.koin.dsl.module
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.navigation
|
package com.garfiec.librechat.navigation
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
|
|
@ -54,10 +54,10 @@ import androidx.compose.ui.semantics.semantics
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.librechat.android.R
|
import com.garfiec.librechat.R
|
||||||
import com.librechat.android.core.model.EModelEndpoint
|
import com.garfiec.librechat.core.model.EModelEndpoint
|
||||||
import com.librechat.android.core.ui.components.isMonochromeIcon
|
import com.garfiec.librechat.core.ui.components.isMonochromeIcon
|
||||||
import com.librechat.android.core.ui.components.toIconRes
|
import com.garfiec.librechat.core.ui.components.toIconRes
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lightweight snapshot of fields DrawerConversationItem actually renders.
|
* Lightweight snapshot of fields DrawerConversationItem actually renders.
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.navigation
|
package com.garfiec.librechat.navigation
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.compose.animation.AnimatedContentTransitionScope
|
import androidx.compose.animation.AnimatedContentTransitionScope
|
||||||
|
|
@ -35,29 +35,29 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import androidx.navigation.compose.NavHost
|
import androidx.navigation.compose.NavHost
|
||||||
import androidx.navigation.compose.currentBackStackEntryAsState
|
import androidx.navigation.compose.currentBackStackEntryAsState
|
||||||
import androidx.navigation.compose.rememberNavController
|
import androidx.navigation.compose.rememberNavController
|
||||||
import com.librechat.android.MainActivity
|
import com.garfiec.librechat.MainActivity
|
||||||
import com.librechat.android.R
|
import com.garfiec.librechat.R
|
||||||
import com.librechat.android.core.ui.components.BannerDisplay
|
import com.garfiec.librechat.core.ui.components.BannerDisplay
|
||||||
import com.librechat.android.feature.agents.navigation.AGENT_EDITOR_CREATE_ROUTE
|
import com.garfiec.librechat.feature.agents.navigation.AGENT_EDITOR_CREATE_ROUTE
|
||||||
import com.librechat.android.feature.agents.navigation.agentsGraph
|
import com.garfiec.librechat.feature.agents.navigation.agentsGraph
|
||||||
import com.librechat.android.feature.auth.navigation.AUTH_GRAPH_ROUTE
|
import com.garfiec.librechat.feature.auth.navigation.AUTH_GRAPH_ROUTE
|
||||||
import com.librechat.android.feature.auth.navigation.authGraph
|
import com.garfiec.librechat.feature.auth.navigation.authGraph
|
||||||
import com.librechat.android.feature.chat.navigation.CHAT_GRAPH_ROUTE
|
import com.garfiec.librechat.feature.chat.navigation.CHAT_GRAPH_ROUTE
|
||||||
import com.librechat.android.feature.chat.navigation.CHAT_ROUTE
|
import com.garfiec.librechat.feature.chat.navigation.CHAT_ROUTE
|
||||||
import com.librechat.android.feature.chat.navigation.NEW_CHAT_ROUTE
|
import com.garfiec.librechat.feature.chat.navigation.NEW_CHAT_ROUTE
|
||||||
import com.librechat.android.feature.chat.navigation.chatGraph
|
import com.garfiec.librechat.feature.chat.navigation.chatGraph
|
||||||
import com.librechat.android.feature.chat.navigation.navigateToChat
|
import com.garfiec.librechat.feature.chat.navigation.navigateToChat
|
||||||
import com.librechat.android.feature.conversations.navigation.conversationsGraph
|
import com.garfiec.librechat.feature.conversations.navigation.conversationsGraph
|
||||||
import com.librechat.android.feature.files.navigation.filesGraph
|
import com.garfiec.librechat.feature.files.navigation.filesGraph
|
||||||
import com.librechat.android.feature.settings.navigation.API_KEYS_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.API_KEYS_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.PRESET_MANAGER_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.PRESET_MANAGER_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.SETTINGS_ACCOUNT_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.SETTINGS_ACCOUNT_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.SETTINGS_CHAT_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.SETTINGS_CHAT_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.SETTINGS_DATA_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.SETTINGS_DATA_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.SETTINGS_GENERAL_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.SETTINGS_GENERAL_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.SETTINGS_TABBED_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.SETTINGS_TABBED_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.SHARED_LINKS_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.SHARED_LINKS_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.settingsGraph
|
import com.garfiec.librechat.feature.settings.navigation.settingsGraph
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.koin.compose.viewmodel.koinViewModel
|
import org.koin.compose.viewmodel.koinViewModel
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
|
|
@ -1,18 +1,18 @@
|
||||||
package com.librechat.android.navigation
|
package com.garfiec.librechat.navigation
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.librechat.android.core.common.extensions.toInstantOrNull
|
import com.garfiec.librechat.core.common.extensions.toInstantOrNull
|
||||||
import com.librechat.android.core.common.extensions.toRelativeDateGroup
|
import com.garfiec.librechat.core.common.extensions.toRelativeDateGroup
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.data.repository.AuthRepository
|
import com.garfiec.librechat.core.data.repository.AuthRepository
|
||||||
import com.librechat.android.core.data.repository.BannerRepository
|
import com.garfiec.librechat.core.data.repository.BannerRepository
|
||||||
import com.librechat.android.core.data.repository.ConfigRepository
|
import com.garfiec.librechat.core.data.repository.ConfigRepository
|
||||||
import com.librechat.android.core.data.repository.ConversationRepository
|
import com.garfiec.librechat.core.data.repository.ConversationRepository
|
||||||
import com.librechat.android.core.model.Banner
|
import com.garfiec.librechat.core.model.Banner
|
||||||
import com.librechat.android.core.model.Conversation
|
import com.garfiec.librechat.core.model.Conversation
|
||||||
import com.librechat.android.core.network.client.TokenManager
|
import com.garfiec.librechat.core.network.client.TokenManager
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
|
|
@ -61,7 +61,7 @@ class NavHostViewModel(
|
||||||
private val configRepository: ConfigRepository,
|
private val configRepository: ConfigRepository,
|
||||||
private val conversationRepository: ConversationRepository,
|
private val conversationRepository: ConversationRepository,
|
||||||
private val tokenManager: TokenManager,
|
private val tokenManager: TokenManager,
|
||||||
private val settingsDataStore: com.librechat.android.core.data.datastore.SettingsDataStore,
|
private val settingsDataStore: com.garfiec.librechat.core.data.datastore.SettingsDataStore,
|
||||||
) : ViewModel() {
|
) : ViewModel() {
|
||||||
|
|
||||||
private val _isLoggedIn = MutableStateFlow(tokenManager.isAuthenticated)
|
private val _isLoggedIn = MutableStateFlow(tokenManager.isAuthenticated)
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.navigation
|
package com.garfiec.librechat.navigation
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
|
|
@ -31,7 +31,7 @@ import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.semantics.heading
|
import androidx.compose.ui.semantics.heading
|
||||||
import androidx.compose.ui.semantics.semantics
|
import androidx.compose.ui.semantics.semantics
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.librechat.android.R
|
import com.garfiec.librechat.R
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Settings sidebar content shown when the sidebar mode is [SidebarMode.Settings].
|
* Settings sidebar content shown when the sidebar mode is [SidebarMode.Settings].
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.navigation
|
package com.garfiec.librechat.navigation
|
||||||
|
|
||||||
sealed interface SidebarMode {
|
sealed interface SidebarMode {
|
||||||
data object Conversations : SidebarMode
|
data object Conversations : SidebarMode
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.navigation
|
package com.garfiec.librechat.navigation
|
||||||
|
|
||||||
import androidx.compose.animation.AnimatedContent
|
import androidx.compose.animation.AnimatedContent
|
||||||
import androidx.compose.animation.slideInHorizontally
|
import androidx.compose.animation.slideInHorizontally
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.navigation
|
package com.garfiec.librechat.navigation
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.activity.compose.BackHandler
|
import androidx.activity.compose.BackHandler
|
||||||
|
|
@ -39,24 +39,24 @@ import androidx.compose.ui.unit.dp
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import androidx.navigation.NavHostController
|
import androidx.navigation.NavHostController
|
||||||
import androidx.navigation.compose.NavHost
|
import androidx.navigation.compose.NavHost
|
||||||
import com.librechat.android.MainActivity
|
import com.garfiec.librechat.MainActivity
|
||||||
import com.librechat.android.core.ui.components.BannerDisplay
|
import com.garfiec.librechat.core.ui.components.BannerDisplay
|
||||||
import com.librechat.android.feature.agents.navigation.AGENT_EDITOR_CREATE_ROUTE
|
import com.garfiec.librechat.feature.agents.navigation.AGENT_EDITOR_CREATE_ROUTE
|
||||||
import com.librechat.android.feature.agents.navigation.agentsGraph
|
import com.garfiec.librechat.feature.agents.navigation.agentsGraph
|
||||||
import com.librechat.android.feature.auth.navigation.AUTH_GRAPH_ROUTE
|
import com.garfiec.librechat.feature.auth.navigation.AUTH_GRAPH_ROUTE
|
||||||
import com.librechat.android.feature.auth.navigation.authGraph
|
import com.garfiec.librechat.feature.auth.navigation.authGraph
|
||||||
import com.librechat.android.feature.chat.navigation.CHAT_GRAPH_ROUTE
|
import com.garfiec.librechat.feature.chat.navigation.CHAT_GRAPH_ROUTE
|
||||||
import com.librechat.android.feature.chat.navigation.CHAT_ROUTE
|
import com.garfiec.librechat.feature.chat.navigation.CHAT_ROUTE
|
||||||
import com.librechat.android.feature.chat.navigation.NEW_CHAT_ROUTE
|
import com.garfiec.librechat.feature.chat.navigation.NEW_CHAT_ROUTE
|
||||||
import com.librechat.android.feature.chat.navigation.chatGraph
|
import com.garfiec.librechat.feature.chat.navigation.chatGraph
|
||||||
import com.librechat.android.feature.chat.navigation.navigateToChat
|
import com.garfiec.librechat.feature.chat.navigation.navigateToChat
|
||||||
import com.librechat.android.feature.conversations.navigation.conversationsGraph
|
import com.garfiec.librechat.feature.conversations.navigation.conversationsGraph
|
||||||
import com.librechat.android.feature.files.navigation.filesGraph
|
import com.garfiec.librechat.feature.files.navigation.filesGraph
|
||||||
import com.librechat.android.feature.settings.navigation.API_KEYS_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.API_KEYS_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.PRESET_MANAGER_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.PRESET_MANAGER_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.SETTINGS_TABBED_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.SETTINGS_TABBED_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.SHARED_LINKS_ROUTE
|
import com.garfiec.librechat.feature.settings.navigation.SHARED_LINKS_ROUTE
|
||||||
import com.librechat.android.feature.settings.navigation.settingsGraph
|
import com.garfiec.librechat.feature.settings.navigation.settingsGraph
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
|
|
||||||
|
|
@ -310,7 +310,7 @@ private fun MainContent(
|
||||||
navHostViewModel: NavHostViewModel,
|
navHostViewModel: NavHostViewModel,
|
||||||
startDestination: String,
|
startDestination: String,
|
||||||
isInAuthFlow: Boolean,
|
isInAuthFlow: Boolean,
|
||||||
banners: List<com.librechat.android.core.model.Banner>,
|
banners: List<com.garfiec.librechat.core.model.Banner>,
|
||||||
dismissedBannerIds: Set<String>,
|
dismissedBannerIds: Set<String>,
|
||||||
onToggleDrawer: () -> Unit,
|
onToggleDrawer: () -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.navigation
|
package com.garfiec.librechat.navigation
|
||||||
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Chat
|
import androidx.compose.material.icons.filled.Chat
|
||||||
|
|
@ -1,68 +1,68 @@
|
||||||
package com.librechat.android
|
package com.garfiec.librechat
|
||||||
|
|
||||||
import com.librechat.android.core.common.di.commonModule
|
import com.garfiec.librechat.core.common.di.commonModule
|
||||||
import com.librechat.android.core.common.network.ConnectivityObserver
|
import com.garfiec.librechat.core.common.network.ConnectivityObserver
|
||||||
import com.librechat.android.core.data.datastore.ConfigCacheDataStore
|
import com.garfiec.librechat.core.data.datastore.ConfigCacheDataStore
|
||||||
import com.librechat.android.core.data.datastore.ServerDataStore
|
import com.garfiec.librechat.core.data.datastore.ServerDataStore
|
||||||
import com.librechat.android.core.data.datastore.SettingsDataStore
|
import com.garfiec.librechat.core.data.datastore.SettingsDataStore
|
||||||
import com.librechat.android.core.data.datastore.ThemeDataStore
|
import com.garfiec.librechat.core.data.datastore.ThemeDataStore
|
||||||
import com.librechat.android.core.data.di.dataModule
|
import com.garfiec.librechat.core.data.di.dataModule
|
||||||
import com.librechat.android.core.data.repository.AgentRepository
|
import com.garfiec.librechat.core.data.repository.AgentRepository
|
||||||
import com.librechat.android.core.data.repository.ApiKeyRepository
|
import com.garfiec.librechat.core.data.repository.ApiKeyRepository
|
||||||
import com.librechat.android.core.data.repository.AuthRepository
|
import com.garfiec.librechat.core.data.repository.AuthRepository
|
||||||
import com.librechat.android.core.data.repository.BalanceRepository
|
import com.garfiec.librechat.core.data.repository.BalanceRepository
|
||||||
import com.librechat.android.core.data.repository.BannerRepository
|
import com.garfiec.librechat.core.data.repository.BannerRepository
|
||||||
import com.librechat.android.core.data.repository.ChatRepository
|
import com.garfiec.librechat.core.data.repository.ChatRepository
|
||||||
import com.librechat.android.core.data.repository.ConfigRepository
|
import com.garfiec.librechat.core.data.repository.ConfigRepository
|
||||||
import com.librechat.android.core.data.repository.ConversationRepository
|
import com.garfiec.librechat.core.data.repository.ConversationRepository
|
||||||
import com.librechat.android.core.data.repository.DraftRepository
|
import com.garfiec.librechat.core.data.repository.DraftRepository
|
||||||
import com.librechat.android.core.data.repository.FileRepository
|
import com.garfiec.librechat.core.data.repository.FileRepository
|
||||||
import com.librechat.android.core.data.repository.KeyRepository
|
import com.garfiec.librechat.core.data.repository.KeyRepository
|
||||||
import com.librechat.android.core.data.repository.McpRepository
|
import com.garfiec.librechat.core.data.repository.McpRepository
|
||||||
import com.librechat.android.core.data.repository.MemoryRepository
|
import com.garfiec.librechat.core.data.repository.MemoryRepository
|
||||||
import com.librechat.android.core.data.repository.MessageRepository
|
import com.garfiec.librechat.core.data.repository.MessageRepository
|
||||||
import com.librechat.android.core.data.repository.PresetRepository
|
import com.garfiec.librechat.core.data.repository.PresetRepository
|
||||||
import com.librechat.android.core.data.repository.PromptRepository
|
import com.garfiec.librechat.core.data.repository.PromptRepository
|
||||||
import com.librechat.android.core.data.repository.SearchRepository
|
import com.garfiec.librechat.core.data.repository.SearchRepository
|
||||||
import com.librechat.android.core.data.repository.ShareRepository
|
import com.garfiec.librechat.core.data.repository.ShareRepository
|
||||||
import com.librechat.android.core.data.repository.SpeechRepository
|
import com.garfiec.librechat.core.data.repository.SpeechRepository
|
||||||
import com.librechat.android.core.data.repository.TagRepository
|
import com.garfiec.librechat.core.data.repository.TagRepository
|
||||||
import com.librechat.android.core.data.repository.UserRepository
|
import com.garfiec.librechat.core.data.repository.UserRepository
|
||||||
import com.librechat.android.core.network.api.AgentsApi
|
import com.garfiec.librechat.core.network.api.AgentsApi
|
||||||
import com.librechat.android.core.network.api.ApiKeysApi
|
import com.garfiec.librechat.core.network.api.ApiKeysApi
|
||||||
import com.librechat.android.core.network.api.AuthApi
|
import com.garfiec.librechat.core.network.api.AuthApi
|
||||||
import com.librechat.android.core.network.api.BalanceApi
|
import com.garfiec.librechat.core.network.api.BalanceApi
|
||||||
import com.librechat.android.core.network.api.BannerApi
|
import com.garfiec.librechat.core.network.api.BannerApi
|
||||||
import com.librechat.android.core.network.api.ChatApi
|
import com.garfiec.librechat.core.network.api.ChatApi
|
||||||
import com.librechat.android.core.network.api.ConfigApi
|
import com.garfiec.librechat.core.network.api.ConfigApi
|
||||||
import com.librechat.android.core.network.api.ConversationsApi
|
import com.garfiec.librechat.core.network.api.ConversationsApi
|
||||||
import com.librechat.android.core.network.api.FilesApi
|
import com.garfiec.librechat.core.network.api.FilesApi
|
||||||
import com.librechat.android.core.network.api.FilesExtApi
|
import com.garfiec.librechat.core.network.api.FilesExtApi
|
||||||
import com.librechat.android.core.network.api.KeysApi
|
import com.garfiec.librechat.core.network.api.KeysApi
|
||||||
import com.librechat.android.core.network.api.McpApi
|
import com.garfiec.librechat.core.network.api.McpApi
|
||||||
import com.librechat.android.core.network.api.MemoriesApi
|
import com.garfiec.librechat.core.network.api.MemoriesApi
|
||||||
import com.librechat.android.core.network.api.MessagesApi
|
import com.garfiec.librechat.core.network.api.MessagesApi
|
||||||
import com.librechat.android.core.network.api.PresetsApi
|
import com.garfiec.librechat.core.network.api.PresetsApi
|
||||||
import com.librechat.android.core.network.api.PromptsApi
|
import com.garfiec.librechat.core.network.api.PromptsApi
|
||||||
import com.librechat.android.core.network.api.SearchApi
|
import com.garfiec.librechat.core.network.api.SearchApi
|
||||||
import com.librechat.android.core.network.api.ShareApi
|
import com.garfiec.librechat.core.network.api.ShareApi
|
||||||
import com.librechat.android.core.network.api.SpeechApi
|
import com.garfiec.librechat.core.network.api.SpeechApi
|
||||||
import com.librechat.android.core.network.api.TagsApi
|
import com.garfiec.librechat.core.network.api.TagsApi
|
||||||
import com.librechat.android.core.network.api.UserApi
|
import com.garfiec.librechat.core.network.api.UserApi
|
||||||
import com.librechat.android.core.network.client.SecureTokenStorage
|
import com.garfiec.librechat.core.network.client.SecureTokenStorage
|
||||||
import com.librechat.android.core.network.client.ServerUrlProvider
|
import com.garfiec.librechat.core.network.client.ServerUrlProvider
|
||||||
import com.librechat.android.core.network.client.TokenManager
|
import com.garfiec.librechat.core.network.client.TokenManager
|
||||||
import com.librechat.android.core.network.di.networkModule
|
import com.garfiec.librechat.core.network.di.networkModule
|
||||||
import com.librechat.android.core.network.sse.SseClient
|
import com.garfiec.librechat.core.network.sse.SseClient
|
||||||
import com.librechat.android.feature.agents.di.agentsModule
|
import com.garfiec.librechat.feature.agents.di.agentsModule
|
||||||
import com.librechat.android.feature.auth.di.authModule
|
import com.garfiec.librechat.feature.auth.di.authModule
|
||||||
import com.librechat.android.feature.auth.oauth.OAuthLauncher
|
import com.garfiec.librechat.feature.auth.oauth.OAuthLauncher
|
||||||
import com.librechat.android.feature.chat.di.chatModule
|
import com.garfiec.librechat.feature.chat.di.chatModule
|
||||||
import com.librechat.android.feature.conversations.di.conversationsModule
|
import com.garfiec.librechat.feature.conversations.di.conversationsModule
|
||||||
import com.librechat.android.feature.files.di.filesModule
|
import com.garfiec.librechat.feature.files.di.filesModule
|
||||||
import com.librechat.android.feature.files.platform.FileReader
|
import com.garfiec.librechat.feature.files.platform.FileReader
|
||||||
import com.librechat.android.feature.settings.di.settingsModule
|
import com.garfiec.librechat.feature.settings.di.settingsModule
|
||||||
import com.librechat.android.navigation.appModule
|
import com.garfiec.librechat.navigation.appModule
|
||||||
import kotlinx.coroutines.CoroutineDispatcher
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
@ -5,9 +5,9 @@
|
||||||
|
|
||||||
// Core model classes — all are data classes with val-only fields, never mutated after creation.
|
// Core model classes — all are data classes with val-only fields, never mutated after creation.
|
||||||
// Wildcard patterns auto-cover new models without manual maintenance.
|
// Wildcard patterns auto-cover new models without manual maintenance.
|
||||||
com.librechat.android.core.model.*
|
com.garfiec.librechat.core.model.*
|
||||||
com.librechat.android.core.model.mcp.*
|
com.garfiec.librechat.core.model.mcp.*
|
||||||
com.librechat.android.core.model.speech.*
|
com.garfiec.librechat.core.model.speech.*
|
||||||
|
|
||||||
// Kotlin stdlib collections (we only use immutable instances in practice)
|
// Kotlin stdlib collections (we only use immutable instances in practice)
|
||||||
kotlin.collections.List
|
kotlin.collections.List
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ plugins {
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "com.librechat.android.core.common"
|
namespace = "com.garfiec.librechat.core.common"
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlin {
|
kotlin {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.librechat.android.core.common.di
|
package com.garfiec.librechat.core.common.di
|
||||||
|
|
||||||
import com.librechat.android.core.common.network.AndroidConnectivityObserver
|
import com.garfiec.librechat.core.common.network.AndroidConnectivityObserver
|
||||||
import com.librechat.android.core.common.network.ConnectivityObserver
|
import com.garfiec.librechat.core.common.network.ConnectivityObserver
|
||||||
import org.koin.android.ext.koin.androidContext
|
import org.koin.android.ext.koin.androidContext
|
||||||
import org.koin.core.module.Module
|
import org.koin.core.module.Module
|
||||||
import org.koin.dsl.module
|
import org.koin.dsl.module
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.di
|
package com.garfiec.librechat.core.common.di
|
||||||
|
|
||||||
import kotlinx.coroutines.CoroutineDispatcher
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.extensions
|
package com.garfiec.librechat.core.common.extensions
|
||||||
|
|
||||||
import java.time.Month
|
import java.time.Month
|
||||||
import java.time.format.TextStyle
|
import java.time.format.TextStyle
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.network
|
package com.garfiec.librechat.core.common.network
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.di
|
package com.garfiec.librechat.core.common.di
|
||||||
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.koin.test.verify.verify
|
import org.koin.test.verify.verify
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.network
|
package com.garfiec.librechat.core.common.network
|
||||||
|
|
||||||
import app.cash.turbine.test
|
import app.cash.turbine.test
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.test
|
package com.garfiec.librechat.core.common.test
|
||||||
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common
|
package com.garfiec.librechat.core.common
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Backend version compatibility constants and comparison utilities.
|
* Backend version compatibility constants and comparison utilities.
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common
|
package com.garfiec.librechat.core.common
|
||||||
|
|
||||||
object EndpointConstants {
|
object EndpointConstants {
|
||||||
const val AGENTS = "agents"
|
const val AGENTS = "agents"
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.librechat.android.core.common.di
|
package com.garfiec.librechat.core.common.di
|
||||||
|
|
||||||
import com.librechat.android.core.common.network.ConnectivityObserver
|
import com.garfiec.librechat.core.common.network.ConnectivityObserver
|
||||||
import kotlinx.coroutines.CoroutineDispatcher
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.di
|
package com.garfiec.librechat.core.common.di
|
||||||
|
|
||||||
import kotlinx.coroutines.CoroutineDispatcher
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.di
|
package com.garfiec.librechat.core.common.di
|
||||||
|
|
||||||
import org.koin.core.qualifier.named
|
import org.koin.core.qualifier.named
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.extensions
|
package com.garfiec.librechat.core.common.extensions
|
||||||
|
|
||||||
import kotlin.time.Clock
|
import kotlin.time.Clock
|
||||||
import kotlin.time.Instant
|
import kotlin.time.Instant
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.extensions
|
package com.garfiec.librechat.core.common.extensions
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a locale-aware full month name + year string (e.g. "January 2025" in English).
|
* Returns a locale-aware full month name + year string (e.g. "January 2025" in English).
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.extensions
|
package com.garfiec.librechat.core.common.extensions
|
||||||
|
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.extensions
|
package com.garfiec.librechat.core.common.extensions
|
||||||
|
|
||||||
fun String.trimTrailingSlash(): String = trimEnd('/')
|
fun String.trimTrailingSlash(): String = trimEnd('/')
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.network
|
package com.garfiec.librechat.core.common.network
|
||||||
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.result
|
package com.garfiec.librechat.core.common.result
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exception thrown when the server returns a non-2xx HTTP response.
|
* Exception thrown when the server returns a non-2xx HTTP response.
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.result
|
package com.garfiec.librechat.core.common.result
|
||||||
|
|
||||||
sealed interface Result<out T> {
|
sealed interface Result<out T> {
|
||||||
data class Success<T>(val data: T) : Result<T>
|
data class Success<T>(val data: T) : Result<T>
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.result
|
package com.garfiec.librechat.core.common.result
|
||||||
|
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.librechat.android.core.common.di
|
package com.garfiec.librechat.core.common.di
|
||||||
|
|
||||||
import com.librechat.android.core.common.network.ConnectivityObserver
|
import com.garfiec.librechat.core.common.network.ConnectivityObserver
|
||||||
import com.librechat.android.core.common.network.IosConnectivityObserver
|
import com.garfiec.librechat.core.common.network.IosConnectivityObserver
|
||||||
import org.koin.core.module.Module
|
import org.koin.core.module.Module
|
||||||
import org.koin.dsl.module
|
import org.koin.dsl.module
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.di
|
package com.garfiec.librechat.core.common.di
|
||||||
|
|
||||||
import kotlinx.coroutines.CoroutineDispatcher
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.extensions
|
package com.garfiec.librechat.core.common.extensions
|
||||||
|
|
||||||
import platform.Foundation.NSCalendar
|
import platform.Foundation.NSCalendar
|
||||||
import platform.Foundation.NSDateComponents
|
import platform.Foundation.NSDateComponents
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.common.network
|
package com.garfiec.librechat.core.common.network
|
||||||
|
|
||||||
import kotlinx.cinterop.ExperimentalForeignApi
|
import kotlinx.cinterop.ExperimentalForeignApi
|
||||||
import kotlinx.coroutines.channels.awaitClose
|
import kotlinx.coroutines.channels.awaitClose
|
||||||
|
|
@ -18,7 +18,7 @@ import platform.darwin.dispatch_queue_create
|
||||||
class IosConnectivityObserver : ConnectivityObserver {
|
class IosConnectivityObserver : ConnectivityObserver {
|
||||||
override val isConnected: Flow<Boolean> = callbackFlow {
|
override val isConnected: Flow<Boolean> = callbackFlow {
|
||||||
val monitor = nw_path_monitor_create()
|
val monitor = nw_path_monitor_create()
|
||||||
val queue = dispatch_queue_create("com.librechat.network.monitor", null)
|
val queue = dispatch_queue_create("com.garfiec.librechat.network.monitor", null)
|
||||||
|
|
||||||
nw_path_monitor_set_update_handler(monitor) { path ->
|
nw_path_monitor_set_update_handler(monitor) { path ->
|
||||||
val connected = nw_path_get_status(path) == nw_path_status_satisfied
|
val connected = nw_path_get_status(path) == nw_path_status_satisfied
|
||||||
|
|
@ -6,7 +6,7 @@ plugins {
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "com.librechat.android.core.data"
|
namespace = "com.garfiec.librechat.core.data"
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlin {
|
kotlin {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.db
|
package com.garfiec.librechat.core.data.db
|
||||||
|
|
||||||
import android.content.ContentValues
|
import android.content.ContentValues
|
||||||
import android.database.sqlite.SQLiteDatabase
|
import android.database.sqlite.SQLiteDatabase
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.datastore
|
package com.garfiec.librechat.core.data.datastore
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
package com.librechat.android.core.data.di
|
package com.garfiec.librechat.core.data.di
|
||||||
|
|
||||||
import androidx.datastore.core.DataStore
|
import androidx.datastore.core.DataStore
|
||||||
import androidx.datastore.preferences.core.Preferences
|
import androidx.datastore.preferences.core.Preferences
|
||||||
import androidx.datastore.preferences.preferencesDataStore
|
import androidx.datastore.preferences.preferencesDataStore
|
||||||
import androidx.room.Room
|
import androidx.room.Room
|
||||||
import com.librechat.android.core.common.di.KoinQualifiers
|
import com.garfiec.librechat.core.common.di.KoinQualifiers
|
||||||
import com.librechat.android.core.data.datastore.TokenDataStore
|
import com.garfiec.librechat.core.data.datastore.TokenDataStore
|
||||||
import com.librechat.android.core.data.db.LibreChatDatabase
|
import com.garfiec.librechat.core.data.db.LibreChatDatabase
|
||||||
import com.librechat.android.core.data.repository.CommonSessionCacheCleaner
|
import com.garfiec.librechat.core.data.repository.CommonSessionCacheCleaner
|
||||||
import com.librechat.android.core.data.repository.SessionCacheCleaner
|
import com.garfiec.librechat.core.data.repository.SessionCacheCleaner
|
||||||
import com.librechat.android.core.network.client.SecureTokenStorage
|
import com.garfiec.librechat.core.network.client.SecureTokenStorage
|
||||||
import com.librechat.android.core.network.client.TokenManager
|
import com.garfiec.librechat.core.network.client.TokenManager
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import org.koin.android.ext.koin.androidContext
|
import org.koin.android.ext.koin.androidContext
|
||||||
import org.koin.core.module.Module
|
import org.koin.core.module.Module
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.datastore
|
package com.garfiec.librechat.core.data.datastore
|
||||||
|
|
||||||
import androidx.datastore.core.DataStore
|
import androidx.datastore.core.DataStore
|
||||||
import androidx.datastore.preferences.core.PreferenceDataStoreFactory
|
import androidx.datastore.preferences.core.PreferenceDataStoreFactory
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.garfiec.librechat.core.data.di
|
||||||
|
|
||||||
|
import org.junit.Test
|
||||||
|
import org.koin.test.verify.verify
|
||||||
|
|
||||||
|
class DataModuleVerificationTest {
|
||||||
|
@Test
|
||||||
|
fun verifyDataModule() {
|
||||||
|
dataModule.verify(
|
||||||
|
extraTypes = listOf(
|
||||||
|
android.content.Context::class,
|
||||||
|
android.app.Application::class,
|
||||||
|
androidx.lifecycle.SavedStateHandle::class,
|
||||||
|
kotlin.Lazy::class,
|
||||||
|
io.ktor.client.HttpClient::class,
|
||||||
|
kotlinx.serialization.json.Json::class,
|
||||||
|
kotlinx.coroutines.CoroutineDispatcher::class,
|
||||||
|
com.garfiec.librechat.core.common.network.ConnectivityObserver::class,
|
||||||
|
com.garfiec.librechat.core.network.sse.SseClient::class,
|
||||||
|
com.garfiec.librechat.core.network.api.AuthApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.UserApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.ChatApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.ConversationsApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.MessagesApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.FilesApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.FilesExtApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.AgentsApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.PresetsApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.PromptsApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.TagsApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.ShareApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.ConfigApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.BalanceApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.SearchApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.KeysApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.ApiKeysApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.McpApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.MemoriesApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.SpeechApi::class,
|
||||||
|
com.garfiec.librechat.core.network.api.BannerApi::class,
|
||||||
|
androidx.datastore.core.DataStore::class,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
package com.librechat.android.core.data.di
|
|
||||||
|
|
||||||
import org.junit.Test
|
|
||||||
import org.koin.test.verify.verify
|
|
||||||
|
|
||||||
class DataModuleVerificationTest {
|
|
||||||
@Test
|
|
||||||
fun verifyDataModule() {
|
|
||||||
dataModule.verify(
|
|
||||||
extraTypes = listOf(
|
|
||||||
android.content.Context::class,
|
|
||||||
android.app.Application::class,
|
|
||||||
androidx.lifecycle.SavedStateHandle::class,
|
|
||||||
kotlin.Lazy::class,
|
|
||||||
io.ktor.client.HttpClient::class,
|
|
||||||
kotlinx.serialization.json.Json::class,
|
|
||||||
kotlinx.coroutines.CoroutineDispatcher::class,
|
|
||||||
com.librechat.android.core.common.network.ConnectivityObserver::class,
|
|
||||||
com.librechat.android.core.network.sse.SseClient::class,
|
|
||||||
com.librechat.android.core.network.api.AuthApi::class,
|
|
||||||
com.librechat.android.core.network.api.UserApi::class,
|
|
||||||
com.librechat.android.core.network.api.ChatApi::class,
|
|
||||||
com.librechat.android.core.network.api.ConversationsApi::class,
|
|
||||||
com.librechat.android.core.network.api.MessagesApi::class,
|
|
||||||
com.librechat.android.core.network.api.FilesApi::class,
|
|
||||||
com.librechat.android.core.network.api.FilesExtApi::class,
|
|
||||||
com.librechat.android.core.network.api.AgentsApi::class,
|
|
||||||
com.librechat.android.core.network.api.PresetsApi::class,
|
|
||||||
com.librechat.android.core.network.api.PromptsApi::class,
|
|
||||||
com.librechat.android.core.network.api.TagsApi::class,
|
|
||||||
com.librechat.android.core.network.api.ShareApi::class,
|
|
||||||
com.librechat.android.core.network.api.ConfigApi::class,
|
|
||||||
com.librechat.android.core.network.api.BalanceApi::class,
|
|
||||||
com.librechat.android.core.network.api.SearchApi::class,
|
|
||||||
com.librechat.android.core.network.api.KeysApi::class,
|
|
||||||
com.librechat.android.core.network.api.ApiKeysApi::class,
|
|
||||||
com.librechat.android.core.network.api.McpApi::class,
|
|
||||||
com.librechat.android.core.network.api.MemoriesApi::class,
|
|
||||||
com.librechat.android.core.network.api.SpeechApi::class,
|
|
||||||
com.librechat.android.core.network.api.BannerApi::class,
|
|
||||||
androidx.datastore.core.DataStore::class,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package com.librechat.android.core.data.datastore
|
package com.garfiec.librechat.core.data.datastore
|
||||||
|
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
import com.librechat.android.core.model.response.RefreshResponse
|
import com.garfiec.librechat.core.model.response.RefreshResponse
|
||||||
import com.librechat.android.core.network.client.CookieHelper
|
import com.garfiec.librechat.core.network.client.CookieHelper
|
||||||
import com.librechat.android.core.network.client.SecureTokenStorage
|
import com.garfiec.librechat.core.network.client.SecureTokenStorage
|
||||||
import com.librechat.android.core.network.client.TokenManager
|
import com.garfiec.librechat.core.network.client.TokenManager
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
import io.ktor.client.plugins.ClientRequestException
|
import io.ktor.client.plugins.ClientRequestException
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
package com.librechat.android.core.data.datastore
|
package com.garfiec.librechat.core.data.datastore
|
||||||
|
|
||||||
import androidx.datastore.core.DataStore
|
import androidx.datastore.core.DataStore
|
||||||
import androidx.datastore.preferences.core.Preferences
|
import androidx.datastore.preferences.core.Preferences
|
||||||
import androidx.datastore.preferences.core.edit
|
import androidx.datastore.preferences.core.edit
|
||||||
import androidx.datastore.preferences.core.stringPreferencesKey
|
import androidx.datastore.preferences.core.stringPreferencesKey
|
||||||
import com.librechat.android.core.model.EndpointConfig
|
import com.garfiec.librechat.core.model.EndpointConfig
|
||||||
import com.librechat.android.core.model.StartupConfig
|
import com.garfiec.librechat.core.model.StartupConfig
|
||||||
import kotlinx.coroutines.flow.first
|
import kotlinx.coroutines.flow.first
|
||||||
import kotlinx.serialization.builtins.ListSerializer
|
import kotlinx.serialization.builtins.ListSerializer
|
||||||
import kotlinx.serialization.builtins.MapSerializer
|
import kotlinx.serialization.builtins.MapSerializer
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package com.librechat.android.core.data.datastore
|
package com.garfiec.librechat.core.data.datastore
|
||||||
|
|
||||||
import androidx.datastore.core.DataStore
|
import androidx.datastore.core.DataStore
|
||||||
import androidx.datastore.preferences.core.Preferences
|
import androidx.datastore.preferences.core.Preferences
|
||||||
import androidx.datastore.preferences.core.edit
|
import androidx.datastore.preferences.core.edit
|
||||||
import androidx.datastore.preferences.core.stringPreferencesKey
|
import androidx.datastore.preferences.core.stringPreferencesKey
|
||||||
import com.librechat.android.core.network.client.ServerUrlProvider
|
import com.garfiec.librechat.core.network.client.ServerUrlProvider
|
||||||
import kotlinx.coroutines.CoroutineDispatcher
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.datastore
|
package com.garfiec.librechat.core.data.datastore
|
||||||
|
|
||||||
import androidx.datastore.core.DataStore
|
import androidx.datastore.core.DataStore
|
||||||
import androidx.datastore.preferences.core.Preferences
|
import androidx.datastore.preferences.core.Preferences
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.datastore
|
package com.garfiec.librechat.core.data.datastore
|
||||||
|
|
||||||
import androidx.datastore.core.DataStore
|
import androidx.datastore.core.DataStore
|
||||||
import androidx.datastore.preferences.core.Preferences
|
import androidx.datastore.preferences.core.Preferences
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.db
|
package com.garfiec.librechat.core.data.db
|
||||||
|
|
||||||
import androidx.room.AutoMigration
|
import androidx.room.AutoMigration
|
||||||
import androidx.room.ConstructedBy
|
import androidx.room.ConstructedBy
|
||||||
|
|
@ -6,21 +6,21 @@ import androidx.room.Database
|
||||||
import androidx.room.RoomDatabase
|
import androidx.room.RoomDatabase
|
||||||
import androidx.room.RoomDatabaseConstructor
|
import androidx.room.RoomDatabaseConstructor
|
||||||
import androidx.room.TypeConverters
|
import androidx.room.TypeConverters
|
||||||
import com.librechat.android.core.data.db.converter.Converters
|
import com.garfiec.librechat.core.data.db.converter.Converters
|
||||||
import com.librechat.android.core.data.db.dao.AgentDao
|
import com.garfiec.librechat.core.data.db.dao.AgentDao
|
||||||
import com.librechat.android.core.data.db.dao.ConversationDao
|
import com.garfiec.librechat.core.data.db.dao.ConversationDao
|
||||||
import com.librechat.android.core.data.db.dao.ConversationTagDao
|
import com.garfiec.librechat.core.data.db.dao.ConversationTagDao
|
||||||
import com.librechat.android.core.data.db.dao.DraftDao
|
import com.garfiec.librechat.core.data.db.dao.DraftDao
|
||||||
import com.librechat.android.core.data.db.dao.FileDao
|
import com.garfiec.librechat.core.data.db.dao.FileDao
|
||||||
import com.librechat.android.core.data.db.dao.MessageDao
|
import com.garfiec.librechat.core.data.db.dao.MessageDao
|
||||||
import com.librechat.android.core.data.db.dao.PresetDao
|
import com.garfiec.librechat.core.data.db.dao.PresetDao
|
||||||
import com.librechat.android.core.data.db.entity.AgentEntity
|
import com.garfiec.librechat.core.data.db.entity.AgentEntity
|
||||||
import com.librechat.android.core.data.db.entity.ConversationEntity
|
import com.garfiec.librechat.core.data.db.entity.ConversationEntity
|
||||||
import com.librechat.android.core.data.db.entity.ConversationTagEntity
|
import com.garfiec.librechat.core.data.db.entity.ConversationTagEntity
|
||||||
import com.librechat.android.core.data.db.entity.DraftEntity
|
import com.garfiec.librechat.core.data.db.entity.DraftEntity
|
||||||
import com.librechat.android.core.data.db.entity.FileEntity
|
import com.garfiec.librechat.core.data.db.entity.FileEntity
|
||||||
import com.librechat.android.core.data.db.entity.MessageEntity
|
import com.garfiec.librechat.core.data.db.entity.MessageEntity
|
||||||
import com.librechat.android.core.data.db.entity.PresetEntity
|
import com.garfiec.librechat.core.data.db.entity.PresetEntity
|
||||||
|
|
||||||
@Database(
|
@Database(
|
||||||
entities = [
|
entities = [
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.db.converter
|
package com.garfiec.librechat.core.data.db.converter
|
||||||
|
|
||||||
import androidx.room.TypeConverter
|
import androidx.room.TypeConverter
|
||||||
import kotlinx.serialization.encodeToString
|
import kotlinx.serialization.encodeToString
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.librechat.android.core.data.db.dao
|
package com.garfiec.librechat.core.data.db.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import androidx.room.Upsert
|
import androidx.room.Upsert
|
||||||
import com.librechat.android.core.data.db.entity.AgentEntity
|
import com.garfiec.librechat.core.data.db.entity.AgentEntity
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.librechat.android.core.data.db.dao
|
package com.garfiec.librechat.core.data.db.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import androidx.room.Upsert
|
import androidx.room.Upsert
|
||||||
import com.librechat.android.core.data.db.entity.ConversationEntity
|
import com.garfiec.librechat.core.data.db.entity.ConversationEntity
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.librechat.android.core.data.db.dao
|
package com.garfiec.librechat.core.data.db.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import androidx.room.Upsert
|
import androidx.room.Upsert
|
||||||
import com.librechat.android.core.data.db.entity.ConversationTagEntity
|
import com.garfiec.librechat.core.data.db.entity.ConversationTagEntity
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.librechat.android.core.data.db.dao
|
package com.garfiec.librechat.core.data.db.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import androidx.room.Upsert
|
import androidx.room.Upsert
|
||||||
import com.librechat.android.core.data.db.entity.DraftEntity
|
import com.garfiec.librechat.core.data.db.entity.DraftEntity
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.librechat.android.core.data.db.dao
|
package com.garfiec.librechat.core.data.db.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import androidx.room.Upsert
|
import androidx.room.Upsert
|
||||||
import com.librechat.android.core.data.db.entity.FileEntity
|
import com.garfiec.librechat.core.data.db.entity.FileEntity
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.librechat.android.core.data.db.dao
|
package com.garfiec.librechat.core.data.db.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import androidx.room.Upsert
|
import androidx.room.Upsert
|
||||||
import com.librechat.android.core.data.db.entity.MessageEntity
|
import com.garfiec.librechat.core.data.db.entity.MessageEntity
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.librechat.android.core.data.db.dao
|
package com.garfiec.librechat.core.data.db.dao
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.Dao
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import androidx.room.Upsert
|
import androidx.room.Upsert
|
||||||
import com.librechat.android.core.data.db.entity.PresetEntity
|
import com.garfiec.librechat.core.data.db.entity.PresetEntity
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.db.entity
|
package com.garfiec.librechat.core.data.db.entity
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.PrimaryKey
|
import androidx.room.PrimaryKey
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.db.entity
|
package com.garfiec.librechat.core.data.db.entity
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.Index
|
import androidx.room.Index
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.db.entity
|
package com.garfiec.librechat.core.data.db.entity
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.Index
|
import androidx.room.Index
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.db.entity
|
package com.garfiec.librechat.core.data.db.entity
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.db.entity
|
package com.garfiec.librechat.core.data.db.entity
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.Index
|
import androidx.room.Index
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.db.entity
|
package com.garfiec.librechat.core.data.db.entity
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.Index
|
import androidx.room.Index
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.db.entity
|
package com.garfiec.librechat.core.data.db.entity
|
||||||
|
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
import androidx.room.PrimaryKey
|
import androidx.room.PrimaryKey
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
package com.garfiec.librechat.core.data.di
|
||||||
|
|
||||||
|
import com.garfiec.librechat.core.common.di.KoinQualifiers
|
||||||
|
import com.garfiec.librechat.core.data.datastore.ConfigCacheDataStore
|
||||||
|
import com.garfiec.librechat.core.data.datastore.ServerDataStore
|
||||||
|
import com.garfiec.librechat.core.data.datastore.ServerUrlKeychainFallback
|
||||||
|
import com.garfiec.librechat.core.data.datastore.SettingsDataStore
|
||||||
|
import com.garfiec.librechat.core.data.datastore.ThemeDataStore
|
||||||
|
import com.garfiec.librechat.core.data.db.LibreChatDatabase
|
||||||
|
import com.garfiec.librechat.core.data.repository.AgentRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.AgentRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.ApiKeyRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.ApiKeyRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.AuthRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.AuthRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.BalanceRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.BalanceRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.BannerRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.BannerRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.ChatRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.ChatRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.ConfigRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.ConfigRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.ConversationRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.ConversationRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.DraftRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.DraftRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.FileRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.FileRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.KeyRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.KeyRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.McpRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.McpRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.MemoryRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.MemoryRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.MessageRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.MessageRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.PresetRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.PresetRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.PromptRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.PromptRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.SearchRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.SearchRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.SessionCacheCleaner
|
||||||
|
import com.garfiec.librechat.core.data.repository.ShareRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.ShareRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.SpeechRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.SpeechRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.TagRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.TagRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.data.repository.UserRepository
|
||||||
|
import com.garfiec.librechat.core.data.repository.UserRepositoryImpl
|
||||||
|
import com.garfiec.librechat.core.network.client.ServerUrlProvider
|
||||||
|
import org.koin.core.module.Module
|
||||||
|
import org.koin.core.module.dsl.singleOf
|
||||||
|
import org.koin.dsl.bind
|
||||||
|
import org.koin.dsl.module
|
||||||
|
|
||||||
|
expect val dataPlatformModule: Module
|
||||||
|
|
||||||
|
val dataModule = module {
|
||||||
|
|
||||||
|
includes(dataPlatformModule)
|
||||||
|
|
||||||
|
// --- DAOs ---
|
||||||
|
|
||||||
|
single { get<LibreChatDatabase>().conversationDao() }
|
||||||
|
single { get<LibreChatDatabase>().messageDao() }
|
||||||
|
single { get<LibreChatDatabase>().fileDao() }
|
||||||
|
single { get<LibreChatDatabase>().agentDao() }
|
||||||
|
single { get<LibreChatDatabase>().presetDao() }
|
||||||
|
single { get<LibreChatDatabase>().conversationTagDao() }
|
||||||
|
single { get<LibreChatDatabase>().draftDao() }
|
||||||
|
|
||||||
|
// --- Datastores ---
|
||||||
|
|
||||||
|
single {
|
||||||
|
ServerDataStore(
|
||||||
|
dataStore = get(),
|
||||||
|
ioDispatcher = get(KoinQualifiers.IO),
|
||||||
|
keychainFallback = getOrNull(),
|
||||||
|
)
|
||||||
|
} bind ServerUrlProvider::class
|
||||||
|
singleOf(::ThemeDataStore)
|
||||||
|
singleOf(::ConfigCacheDataStore)
|
||||||
|
singleOf(::SettingsDataStore)
|
||||||
|
|
||||||
|
// --- Repositories (special wiring) ---
|
||||||
|
|
||||||
|
single<AuthRepository> {
|
||||||
|
AuthRepositoryImpl(
|
||||||
|
authApi = get(),
|
||||||
|
userApi = get(),
|
||||||
|
tokenManager = get(),
|
||||||
|
sessionCacheCleaner = get(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
single<ChatRepository> {
|
||||||
|
ChatRepositoryImpl(
|
||||||
|
chatApi = get(),
|
||||||
|
sseClient = get(),
|
||||||
|
sseHttpClient = get(KoinQualifiers.Streaming),
|
||||||
|
connectivityObserver = get(),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
single<DraftRepository> {
|
||||||
|
DraftRepositoryImpl(
|
||||||
|
draftDao = get(),
|
||||||
|
ioDispatcher = get(KoinQualifiers.IO),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Repositories (simple auto-wiring) ---
|
||||||
|
|
||||||
|
singleOf(::BalanceRepositoryImpl) bind BalanceRepository::class
|
||||||
|
singleOf(::ConfigRepositoryImpl) bind ConfigRepository::class
|
||||||
|
singleOf(::ConversationRepositoryImpl) bind ConversationRepository::class
|
||||||
|
singleOf(::MessageRepositoryImpl) bind MessageRepository::class
|
||||||
|
singleOf(::FileRepositoryImpl) bind FileRepository::class
|
||||||
|
singleOf(::AgentRepositoryImpl) bind AgentRepository::class
|
||||||
|
singleOf(::TagRepositoryImpl) bind TagRepository::class
|
||||||
|
singleOf(::SearchRepositoryImpl) bind SearchRepository::class
|
||||||
|
singleOf(::KeyRepositoryImpl) bind KeyRepository::class
|
||||||
|
singleOf(::ApiKeyRepositoryImpl) bind ApiKeyRepository::class
|
||||||
|
singleOf(::McpRepositoryImpl) bind McpRepository::class
|
||||||
|
singleOf(::MemoryRepositoryImpl) bind MemoryRepository::class
|
||||||
|
singleOf(::PresetRepositoryImpl) bind PresetRepository::class
|
||||||
|
singleOf(::PromptRepositoryImpl) bind PromptRepository::class
|
||||||
|
singleOf(::ShareRepositoryImpl) bind ShareRepository::class
|
||||||
|
singleOf(::SpeechRepositoryImpl) bind SpeechRepository::class
|
||||||
|
singleOf(::UserRepositoryImpl) bind UserRepository::class
|
||||||
|
singleOf(::BannerRepositoryImpl) bind BannerRepository::class
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.di
|
package com.garfiec.librechat.core.data.di
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The base name used for the DataStore preferences file on all platforms.
|
* The base name used for the DataStore preferences file on all platforms.
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.librechat.android.core.data.mapper
|
package com.garfiec.librechat.core.data.mapper
|
||||||
|
|
||||||
import com.librechat.android.core.data.db.entity.ConversationEntity
|
import com.garfiec.librechat.core.data.db.entity.ConversationEntity
|
||||||
import com.librechat.android.core.model.Conversation
|
import com.garfiec.librechat.core.model.Conversation
|
||||||
import com.librechat.android.core.model.EModelEndpoint
|
import com.garfiec.librechat.core.model.EModelEndpoint
|
||||||
import kotlin.time.Clock
|
import kotlin.time.Clock
|
||||||
import kotlin.time.Instant
|
import kotlin.time.Instant
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
package com.librechat.android.core.data.mapper
|
package com.garfiec.librechat.core.data.mapper
|
||||||
|
|
||||||
import com.librechat.android.core.data.db.entity.MessageEntity
|
import com.garfiec.librechat.core.data.db.entity.MessageEntity
|
||||||
import com.librechat.android.core.model.Attachment
|
import com.garfiec.librechat.core.model.Attachment
|
||||||
import com.librechat.android.core.model.Feedback
|
import com.garfiec.librechat.core.model.Feedback
|
||||||
import com.librechat.android.core.model.FileReference
|
import com.garfiec.librechat.core.model.FileReference
|
||||||
import com.librechat.android.core.model.Message
|
import com.garfiec.librechat.core.model.Message
|
||||||
import com.librechat.android.core.model.MessageContentPart
|
import com.garfiec.librechat.core.model.MessageContentPart
|
||||||
import kotlin.time.Clock
|
import kotlin.time.Clock
|
||||||
import kotlin.time.Instant
|
import kotlin.time.Instant
|
||||||
import kotlinx.serialization.builtins.ListSerializer
|
import kotlinx.serialization.builtins.ListSerializer
|
||||||
|
|
@ -1,20 +1,20 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.model.Agent
|
import com.garfiec.librechat.core.model.Agent
|
||||||
import com.librechat.android.core.model.AgentAction
|
import com.garfiec.librechat.core.model.AgentAction
|
||||||
import com.librechat.android.core.model.AgentCategory
|
import com.garfiec.librechat.core.model.AgentCategory
|
||||||
import com.librechat.android.core.model.AgentExpanded
|
import com.garfiec.librechat.core.model.AgentExpanded
|
||||||
import com.librechat.android.core.model.AgentTool
|
import com.garfiec.librechat.core.model.AgentTool
|
||||||
import com.librechat.android.core.model.PaginatedAgents
|
import com.garfiec.librechat.core.model.PaginatedAgents
|
||||||
import com.librechat.android.core.model.ToolAuthStatus
|
import com.garfiec.librechat.core.model.ToolAuthStatus
|
||||||
import com.librechat.android.core.model.ToolCallRecord
|
import com.garfiec.librechat.core.model.ToolCallRecord
|
||||||
import com.librechat.android.core.model.ToolCallResult
|
import com.garfiec.librechat.core.model.ToolCallResult
|
||||||
import com.librechat.android.core.model.request.CreateActionRequest
|
import com.garfiec.librechat.core.model.request.CreateActionRequest
|
||||||
import com.librechat.android.core.model.request.CreateAgentRequest
|
import com.garfiec.librechat.core.model.request.CreateAgentRequest
|
||||||
import com.librechat.android.core.model.request.RevertAgentRequest
|
import com.garfiec.librechat.core.model.request.RevertAgentRequest
|
||||||
import com.librechat.android.core.model.request.ToolCallRequest
|
import com.garfiec.librechat.core.model.request.ToolCallRequest
|
||||||
import com.librechat.android.core.model.request.UpdateAgentRequest
|
import com.garfiec.librechat.core.model.request.UpdateAgentRequest
|
||||||
|
|
||||||
interface AgentRepository {
|
interface AgentRepository {
|
||||||
|
|
||||||
|
|
@ -1,22 +1,22 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.common.result.safeApiCall
|
import com.garfiec.librechat.core.common.result.safeApiCall
|
||||||
import com.librechat.android.core.model.Agent
|
import com.garfiec.librechat.core.model.Agent
|
||||||
import com.librechat.android.core.model.AgentAction
|
import com.garfiec.librechat.core.model.AgentAction
|
||||||
import com.librechat.android.core.model.AgentCategory
|
import com.garfiec.librechat.core.model.AgentCategory
|
||||||
import com.librechat.android.core.model.AgentExpanded
|
import com.garfiec.librechat.core.model.AgentExpanded
|
||||||
import com.librechat.android.core.model.AgentTool
|
import com.garfiec.librechat.core.model.AgentTool
|
||||||
import com.librechat.android.core.model.PaginatedAgents
|
import com.garfiec.librechat.core.model.PaginatedAgents
|
||||||
import com.librechat.android.core.model.ToolAuthStatus
|
import com.garfiec.librechat.core.model.ToolAuthStatus
|
||||||
import com.librechat.android.core.model.ToolCallRecord
|
import com.garfiec.librechat.core.model.ToolCallRecord
|
||||||
import com.librechat.android.core.model.ToolCallResult
|
import com.garfiec.librechat.core.model.ToolCallResult
|
||||||
import com.librechat.android.core.model.request.CreateActionRequest
|
import com.garfiec.librechat.core.model.request.CreateActionRequest
|
||||||
import com.librechat.android.core.model.request.CreateAgentRequest
|
import com.garfiec.librechat.core.model.request.CreateAgentRequest
|
||||||
import com.librechat.android.core.model.request.RevertAgentRequest
|
import com.garfiec.librechat.core.model.request.RevertAgentRequest
|
||||||
import com.librechat.android.core.model.request.ToolCallRequest
|
import com.garfiec.librechat.core.model.request.ToolCallRequest
|
||||||
import com.librechat.android.core.model.request.UpdateAgentRequest
|
import com.garfiec.librechat.core.model.request.UpdateAgentRequest
|
||||||
import com.librechat.android.core.network.api.AgentsApi
|
import com.garfiec.librechat.core.network.api.AgentsApi
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
|
|
||||||
class AgentRepositoryImpl(
|
class AgentRepositoryImpl(
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.model.ApiKey
|
import com.garfiec.librechat.core.model.ApiKey
|
||||||
import com.librechat.android.core.model.request.CreateApiKeyRequest
|
import com.garfiec.librechat.core.model.request.CreateApiKeyRequest
|
||||||
|
|
||||||
interface ApiKeyRepository {
|
interface ApiKeyRepository {
|
||||||
suspend fun createApiKey(request: CreateApiKeyRequest): Result<ApiKey>
|
suspend fun createApiKey(request: CreateApiKeyRequest): Result<ApiKey>
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.common.result.safeApiCall
|
import com.garfiec.librechat.core.common.result.safeApiCall
|
||||||
import com.librechat.android.core.model.ApiKey
|
import com.garfiec.librechat.core.model.ApiKey
|
||||||
import com.librechat.android.core.model.request.CreateApiKeyRequest
|
import com.garfiec.librechat.core.model.request.CreateApiKeyRequest
|
||||||
import com.librechat.android.core.network.api.ApiKeysApi
|
import com.garfiec.librechat.core.network.api.ApiKeysApi
|
||||||
|
|
||||||
class ApiKeyRepositoryImpl(
|
class ApiKeyRepositoryImpl(
|
||||||
private val apiKeysApi: ApiKeysApi,
|
private val apiKeysApi: ApiKeysApi,
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.model.LoginOutcome
|
import com.garfiec.librechat.core.model.LoginOutcome
|
||||||
import com.librechat.android.core.model.User
|
import com.garfiec.librechat.core.model.User
|
||||||
import com.librechat.android.core.model.response.TwoFactorSetupResponse
|
import com.garfiec.librechat.core.model.response.TwoFactorSetupResponse
|
||||||
|
|
||||||
interface AuthRepository {
|
interface AuthRepository {
|
||||||
suspend fun login(email: String, password: String): Result<LoginOutcome>
|
suspend fun login(email: String, password: String): Result<LoginOutcome>
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.common.result.safeApiCall
|
import com.garfiec.librechat.core.common.result.safeApiCall
|
||||||
import com.librechat.android.core.model.LoginOutcome
|
import com.garfiec.librechat.core.model.LoginOutcome
|
||||||
import com.librechat.android.core.model.User
|
import com.garfiec.librechat.core.model.User
|
||||||
import com.librechat.android.core.model.response.TwoFactorSetupResponse
|
import com.garfiec.librechat.core.model.response.TwoFactorSetupResponse
|
||||||
import com.librechat.android.core.network.api.AuthApi
|
import com.garfiec.librechat.core.network.api.AuthApi
|
||||||
import com.librechat.android.core.network.api.UserApi
|
import com.garfiec.librechat.core.network.api.UserApi
|
||||||
import com.librechat.android.core.network.client.TokenManager
|
import com.garfiec.librechat.core.network.client.TokenManager
|
||||||
|
|
||||||
class AuthRepositoryImpl(
|
class AuthRepositoryImpl(
|
||||||
private val authApi: AuthApi,
|
private val authApi: AuthApi,
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
|
import com.garfiec.librechat.core.model.Balance
|
||||||
|
|
||||||
|
interface BalanceRepository {
|
||||||
|
suspend fun getBalance(): Result<Balance>
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
|
import com.garfiec.librechat.core.common.result.safeApiCall
|
||||||
|
import com.garfiec.librechat.core.model.Balance
|
||||||
|
import com.garfiec.librechat.core.network.api.BalanceApi
|
||||||
|
|
||||||
|
class BalanceRepositoryImpl(
|
||||||
|
private val balanceApi: BalanceApi,
|
||||||
|
) : BalanceRepository {
|
||||||
|
|
||||||
|
override suspend fun getBalance(): Result<Balance> = safeApiCall {
|
||||||
|
balanceApi.getBalance()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
|
import com.garfiec.librechat.core.model.Banner
|
||||||
|
|
||||||
|
/** Fetches server-configured banners for display in the app. */
|
||||||
|
interface BannerRepository {
|
||||||
|
suspend fun getBanners(): Result<List<Banner>>
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
|
import com.garfiec.librechat.core.common.result.safeApiCall
|
||||||
|
import com.garfiec.librechat.core.model.Banner
|
||||||
|
import com.garfiec.librechat.core.network.api.BannerApi
|
||||||
|
|
||||||
|
class BannerRepositoryImpl(
|
||||||
|
private val bannerApi: BannerApi,
|
||||||
|
) : BannerRepository {
|
||||||
|
|
||||||
|
override suspend fun getBanners(): Result<List<Banner>> =
|
||||||
|
safeApiCall { bannerApi.getBanners() }
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import co.touchlab.kermit.Logger
|
import co.touchlab.kermit.Logger
|
||||||
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.model.EModelEndpoint
|
import com.garfiec.librechat.core.model.EModelEndpoint
|
||||||
import com.librechat.android.core.model.FileReference
|
import com.garfiec.librechat.core.model.FileReference
|
||||||
import com.librechat.android.core.model.request.AddedConversation
|
import com.garfiec.librechat.core.model.request.AddedConversation
|
||||||
import com.librechat.android.core.model.request.ChatRequest
|
import com.garfiec.librechat.core.model.request.ChatRequest
|
||||||
import com.librechat.android.core.model.request.EphemeralAgent
|
import com.garfiec.librechat.core.model.request.EphemeralAgent
|
||||||
import com.librechat.android.core.model.request.NO_PARENT
|
import com.garfiec.librechat.core.model.request.NO_PARENT
|
||||||
|
|
||||||
object ChatPayloadBuilder {
|
object ChatPayloadBuilder {
|
||||||
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.model.FileReference
|
import com.garfiec.librechat.core.model.FileReference
|
||||||
import com.librechat.android.core.model.StreamEvent
|
import com.garfiec.librechat.core.model.StreamEvent
|
||||||
import com.librechat.android.core.model.request.AddedConversation
|
import com.garfiec.librechat.core.model.request.AddedConversation
|
||||||
import com.librechat.android.core.model.request.EphemeralAgent
|
import com.garfiec.librechat.core.model.request.EphemeralAgent
|
||||||
import com.librechat.android.core.model.response.ChatStatusResponse
|
import com.garfiec.librechat.core.model.response.ChatStatusResponse
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
interface ChatRepository {
|
interface ChatRepository {
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.network.ConnectivityObserver
|
import com.garfiec.librechat.core.common.network.ConnectivityObserver
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.common.result.safeApiCall
|
import com.garfiec.librechat.core.common.result.safeApiCall
|
||||||
import com.librechat.android.core.model.FileReference
|
import com.garfiec.librechat.core.model.FileReference
|
||||||
import com.librechat.android.core.model.StreamEvent
|
import com.garfiec.librechat.core.model.StreamEvent
|
||||||
import com.librechat.android.core.model.request.AddedConversation
|
import com.garfiec.librechat.core.model.request.AddedConversation
|
||||||
import com.librechat.android.core.model.request.EphemeralAgent
|
import com.garfiec.librechat.core.model.request.EphemeralAgent
|
||||||
import com.librechat.android.core.model.response.ChatStatusResponse
|
import com.garfiec.librechat.core.model.response.ChatStatusResponse
|
||||||
import com.librechat.android.core.network.api.ChatApi
|
import com.garfiec.librechat.core.network.api.ChatApi
|
||||||
import com.librechat.android.core.network.sse.SseClient
|
import com.garfiec.librechat.core.network.sse.SseClient
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.emitAll
|
import kotlinx.coroutines.flow.emitAll
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.model.EndpointConfig
|
import com.garfiec.librechat.core.model.EndpointConfig
|
||||||
import com.librechat.android.core.model.StartupConfig
|
import com.garfiec.librechat.core.model.StartupConfig
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.BackendVersion
|
import com.garfiec.librechat.core.common.BackendVersion
|
||||||
import com.librechat.android.core.common.result.ApiException
|
import com.garfiec.librechat.core.common.result.ApiException
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.common.result.safeApiCall
|
import com.garfiec.librechat.core.common.result.safeApiCall
|
||||||
import com.librechat.android.core.data.datastore.ConfigCacheDataStore
|
import com.garfiec.librechat.core.data.datastore.ConfigCacheDataStore
|
||||||
import com.librechat.android.core.model.EndpointConfig
|
import com.garfiec.librechat.core.model.EndpointConfig
|
||||||
import com.librechat.android.core.model.StartupConfig
|
import com.garfiec.librechat.core.model.StartupConfig
|
||||||
import com.librechat.android.core.network.api.ConfigApi
|
import com.garfiec.librechat.core.network.api.ConfigApi
|
||||||
import io.ktor.client.plugins.HttpRequestTimeoutException
|
import io.ktor.client.plugins.HttpRequestTimeoutException
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
import kotlinx.coroutines.flow.StateFlow
|
import kotlinx.coroutines.flow.StateFlow
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.model.Conversation
|
import com.garfiec.librechat.core.model.Conversation
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
interface ConversationRepository {
|
interface ConversationRepository {
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.common.result.safeApiCall
|
import com.garfiec.librechat.core.common.result.safeApiCall
|
||||||
import com.librechat.android.core.data.db.dao.ConversationDao
|
import com.garfiec.librechat.core.data.db.dao.ConversationDao
|
||||||
import com.librechat.android.core.data.mapper.toEntity
|
import com.garfiec.librechat.core.data.mapper.toEntity
|
||||||
import com.librechat.android.core.data.mapper.toModel
|
import com.garfiec.librechat.core.data.mapper.toModel
|
||||||
import com.librechat.android.core.data.mapper.toModels
|
import com.garfiec.librechat.core.data.mapper.toModels
|
||||||
import com.librechat.android.core.model.Conversation
|
import com.garfiec.librechat.core.model.Conversation
|
||||||
import com.librechat.android.core.model.request.ForkConversationRequest
|
import com.garfiec.librechat.core.model.request.ForkConversationRequest
|
||||||
import com.librechat.android.core.network.api.ConversationsApi
|
import com.garfiec.librechat.core.network.api.ConversationsApi
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import kotlin.time.Clock
|
import kotlin.time.Clock
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.data.db.dao.DraftDao
|
import com.garfiec.librechat.core.data.db.dao.DraftDao
|
||||||
import com.librechat.android.core.data.db.entity.DraftEntity
|
import com.garfiec.librechat.core.data.db.entity.DraftEntity
|
||||||
import kotlinx.coroutines.CoroutineDispatcher
|
import kotlinx.coroutines.CoroutineDispatcher
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.model.FileObject
|
import com.garfiec.librechat.core.model.FileObject
|
||||||
import com.librechat.android.core.model.request.DeleteFileEntry
|
import com.garfiec.librechat.core.model.request.DeleteFileEntry
|
||||||
|
|
||||||
interface FileRepository {
|
interface FileRepository {
|
||||||
suspend fun getFiles(): Result<List<FileObject>>
|
suspend fun getFiles(): Result<List<FileObject>>
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
package com.librechat.android.core.data.repository
|
package com.garfiec.librechat.core.data.repository
|
||||||
|
|
||||||
import com.librechat.android.core.common.result.Result
|
import com.garfiec.librechat.core.common.result.Result
|
||||||
import com.librechat.android.core.common.result.safeApiCall
|
import com.garfiec.librechat.core.common.result.safeApiCall
|
||||||
import com.librechat.android.core.model.FileObject
|
import com.garfiec.librechat.core.model.FileObject
|
||||||
import com.librechat.android.core.model.request.DeleteFileEntry
|
import com.garfiec.librechat.core.model.request.DeleteFileEntry
|
||||||
import com.librechat.android.core.model.request.DeleteFilesRequest
|
import com.garfiec.librechat.core.model.request.DeleteFilesRequest
|
||||||
import com.librechat.android.core.network.api.FilesApi
|
import com.garfiec.librechat.core.network.api.FilesApi
|
||||||
import com.librechat.android.core.network.api.FilesExtApi
|
import com.garfiec.librechat.core.network.api.FilesExtApi
|
||||||
import kotlin.uuid.ExperimentalUuidApi
|
import kotlin.uuid.ExperimentalUuidApi
|
||||||
import kotlin.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue