* Add agents RHS functionality for mobile Implements a dedicated agents interface accessible from the home screen, featuring: - Agent chat screen with bot selector and message input - Thread list screen showing all agent conversations - Remote actions for fetching bots and threads from plugin API - Navigation between chat, threads, and individual conversations - Integration with plus menu for easy access Follows similar pattern to playbooks with modal screens and navigation helpers. * Fix icon name for agents menu item Change robot-happy-outline to robot-happy to resolve PropType validation error. * Add agents button to sidebar and fix agent chat issues - Add AgentsButton component to channel list sidebar below Drafts - Fix thread navigation to use fetchAndSwitchToThread instead of switchToChannelById - Replace custom TextInput with PostDraft component in agent_chat - Fix icon name from message-reply-text-outline to reply-outline - Add missing i18n translations for agents UI * Implement automatic navigation to thread after sending agent message * Implement bot selector bottom sheet with avatars. Replace click-and-cycle behavior with a proper bottom sheet menu showing all available agents with their profile pictures. Add bot avatar display to the dropdown button for better visual identification. * Top bar design modifications. * Add intro graphic and text * Fix autocomplete not working * Tweak styles and icons. * Remove unused * Add version/enabled check * Remove excessive agent button * Style fixes * Use non-blocking then() for onPostCreated callback in send message hook * Add unit tests for agents product components and actions * Review feedback, offline support * I18n * Tests * Address PR review feedback: deletion handling, UI fixes, schema docs * Remove unnecessary deleteNotPresent flag from agents handlers * Fix agents archived channel, empty data guard, and stale relative time * Add smoke test for AgentChat and extend ToolCard test coverage * Fix test quality issues: remove useless tests, strengthen assertions * Address PR review: remove barrel file, add version comment * Mock reanimated in CitationsList test to fix CI failure * Fix CitationsList tests after always-mounted animation change * Address PR review: typography, Pressable, FormattedText, schema bump, and cleanup * Apply CLAUDE.md patterns across agents codebase: Pressable, typography, FormattedText, logDebug * Fix schema test to expect version 19
55 lines
2.2 KiB
TypeScript
55 lines
2.2 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import AgentsHandler, {type AgentsHandlerMix} from '@agents/database/operators/handlers';
|
|
|
|
import ServerDataOperatorBase from '@database/operator/server_data_operator/handlers';
|
|
import CategoryHandler, {type CategoryHandlerMix} from '@database/operator/server_data_operator/handlers/category';
|
|
import ChannelHandler, {type ChannelHandlerMix} from '@database/operator/server_data_operator/handlers/channel';
|
|
import CustomProfileHandler, {type CustomProfileHandlerMix} from '@database/operator/server_data_operator/handlers/custom_profile';
|
|
import GroupHandler, {type GroupHandlerMix} from '@database/operator/server_data_operator/handlers/group';
|
|
import PostHandler, {type PostHandlerMix} from '@database/operator/server_data_operator/handlers/post';
|
|
import TeamHandler, {type TeamHandlerMix} from '@database/operator/server_data_operator/handlers/team';
|
|
import TeamThreadsSyncHandler, {type TeamThreadsSyncHandlerMix} from '@database/operator/server_data_operator/handlers/team_threads_sync';
|
|
import ThreadHandler, {type ThreadHandlerMix} from '@database/operator/server_data_operator/handlers/thread';
|
|
import UserHandler, {type UserHandlerMix} from '@database/operator/server_data_operator/handlers/user';
|
|
import PlaybookHandler, {type PlaybookHandlerMix} from '@playbooks/database/operators/handlers';
|
|
import mix from '@utils/mix';
|
|
|
|
import type {Database} from '@nozbe/watermelondb';
|
|
|
|
interface ServerDataOperator extends
|
|
AgentsHandlerMix,
|
|
CategoryHandlerMix,
|
|
ChannelHandlerMix,
|
|
CustomProfileHandlerMix,
|
|
GroupHandlerMix,
|
|
PlaybookHandlerMix,
|
|
PostHandlerMix,
|
|
ServerDataOperatorBase,
|
|
TeamHandlerMix,
|
|
ThreadHandlerMix,
|
|
TeamThreadsSyncHandlerMix,
|
|
UserHandlerMix
|
|
{}
|
|
|
|
class ServerDataOperator extends mix(ServerDataOperatorBase).with(
|
|
AgentsHandler,
|
|
CategoryHandler,
|
|
ChannelHandler,
|
|
CustomProfileHandler,
|
|
GroupHandler,
|
|
PlaybookHandler,
|
|
PostHandler,
|
|
TeamHandler,
|
|
ThreadHandler,
|
|
TeamThreadsSyncHandler,
|
|
UserHandler,
|
|
) {
|
|
// eslint-disable-next-line no-useless-constructor
|
|
constructor(database: Database) {
|
|
super(database);
|
|
}
|
|
}
|
|
|
|
export default ServerDataOperator;
|