diff --git a/packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/ai/chat/ChatUiState.kt b/packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/ai/chat/ChatUiState.kt index 4473814488..b506880d43 100644 --- a/packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/ai/chat/ChatUiState.kt +++ b/packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/ai/chat/ChatUiState.kt @@ -1,6 +1,8 @@ package app.affine.pro.ai.chat import com.affine.pro.graphql.GetCopilotHistoriesQuery +import com.affine.pro.graphql.fragment.CopilotChatHistory +import com.affine.pro.graphql.fragment.CopilotChatMessage import kotlinx.datetime.Clock import kotlinx.datetime.Instant @@ -51,11 +53,11 @@ data class ChatMessage( createAt = Clock.System.now(), ) - fun from(message: GetCopilotHistoriesQuery.Message) = ChatMessage( + fun from(message: CopilotChatMessage) = ChatMessage( id = message.id, role = Role.fromValue(message.role), content = message.content, createAt = message.createdAt, ) } -} \ No newline at end of file +} diff --git a/packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/service/GraphQLService.kt b/packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/service/GraphQLService.kt index ac2d832e69..51f1fe314f 100644 --- a/packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/service/GraphQLService.kt +++ b/packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/service/GraphQLService.kt @@ -9,7 +9,8 @@ import com.affine.pro.graphql.GetCopilotHistoryIdsQuery import com.affine.pro.graphql.GetCopilotSessionsQuery import com.affine.pro.graphql.type.CreateChatMessageInput import com.affine.pro.graphql.type.CreateChatSessionInput -import com.affine.pro.graphql.type.QueryChatSessionsInput +import com.affine.pro.graphql.type.PaginationInput +import com.affine.pro.graphql.type.QueryChatHistoriesInput import com.apollographql.apollo.ApolloClient import com.apollographql.apollo.api.Mutation import com.apollographql.apollo.api.Optional @@ -29,12 +30,15 @@ class GraphQLService @Inject constructor() { GetCopilotSessionsQuery( workspaceId = workspaceId, docId = Optional.present(docId), - options = Optional.present(QueryChatSessionsInput(action = Optional.present(false))) + pagination = PaginationInput( + first = Optional.present(100) + ), + options = Optional.present(QueryChatHistoriesInput(action = Optional.present(false))) ) ).mapCatching { data -> - data.currentUser?.copilot?.sessions?.find { + data.currentUser?.copilot?.chats?.paginatedCopilotChats?.edges?.map { item -> item.node.copilotChatHistory }?.find { it.parentSessionId == null - }?.id ?: error(ERROR_NULL_SESSION_ID) + }?.sessionId ?: error(ERROR_NULL_SESSION_ID) } suspend fun createCopilotSession( @@ -60,12 +64,15 @@ class GraphQLService @Inject constructor() { ) = query( GetCopilotHistoriesQuery( workspaceId = workspaceId, + pagination = PaginationInput( + first = Optional.present(100) + ), docId = Optional.present(docId), ) ).mapCatching { data -> - data.currentUser?.copilot?.histories?.firstOrNull { history -> - history.sessionId == sessionId - }?.messages ?: emptyList() + data.currentUser?.copilot?.chats?.paginatedCopilotChats?.edges?.map { item -> item.node.copilotChatHistory }?.firstOrNull { history -> + history.sessionId == sessionId + }?.messages?.map { msg -> msg.copilotChatMessage } ?: emptyList() } suspend fun getCopilotHistoryIds( @@ -76,9 +83,12 @@ class GraphQLService @Inject constructor() { GetCopilotHistoryIdsQuery( workspaceId = workspaceId, docId = Optional.present(docId), + pagination = PaginationInput( + first = Optional.present(100) + ), ) ).mapCatching { data -> - data.currentUser?.copilot?.histories?.firstOrNull { history -> + data.currentUser?.copilot?.chats?.edges?.map { item -> item.node }?.firstOrNull { history -> history.sessionId == sessionId }?.messages ?: emptyList() }