package mongo import "github.com/yaoapp/yao/agent/store/types" // Mongo represents a MongoDB-based conversation storage type Mongo struct{} // NewMongo create a new mongo store func NewMongo() types.Store { return &Mongo{} } // GetChats retrieves a list of chats func (m *Mongo) GetChats(sid string, filter types.ChatFilter, locale ...string) (*types.ChatGroupResponse, error) { return &types.ChatGroupResponse{}, nil } // GetChat retrieves a single chat's information func (m *Mongo) GetChat(sid string, cid string, locale ...string) (*types.ChatInfo, error) { return &types.ChatInfo{}, nil } // GetChatWithFilter retrieves a single chat's information with filter options func (m *Mongo) GetChatWithFilter(sid string, cid string, filter types.ChatFilter, locale ...string) (*types.ChatInfo, error) { return &types.ChatInfo{}, nil } // GetHistory retrieves chat history func (m *Mongo) GetHistory(sid string, cid string, locale ...string) ([]map[string]interface{}, error) { return []map[string]interface{}{}, nil } // GetHistoryWithFilter retrieves chat history with filter options func (m *Mongo) GetHistoryWithFilter(sid string, cid string, filter types.ChatFilter, locale ...string) ([]map[string]interface{}, error) { return []map[string]interface{}{}, nil } // SaveHistory saves chat history func (m *Mongo) SaveHistory(sid string, messages []map[string]interface{}, cid string, context map[string]interface{}) error { return nil } // DeleteChat deletes a single chat func (m *Mongo) DeleteChat(sid string, cid string) error { return nil } // DeleteAllChats deletes all chats func (m *Mongo) DeleteAllChats(sid string) error { return nil } // UpdateChatTitle updates chat title func (m *Mongo) UpdateChatTitle(sid string, cid string, title string) error { return nil } // SaveAssistant saves assistant information func (m *Mongo) SaveAssistant(assistant *types.AssistantModel) (string, error) { return assistant.ID, nil } // UpdateAssistant updates specific fields of an assistant func (m *Mongo) UpdateAssistant(assistantID string, updates map[string]interface{}) error { return nil } // DeleteAssistant deletes an assistant func (m *Mongo) DeleteAssistant(assistantID string) error { return nil } // GetAssistants retrieves a list of assistants func (m *Mongo) GetAssistants(filter types.AssistantFilter, locale ...string) (*types.AssistantList, error) { return &types.AssistantList{}, nil } // GetAssistant retrieves a single assistant by ID func (m *Mongo) GetAssistant(assistantID string, locale ...string) (*types.AssistantModel, error) { return nil, nil } // DeleteAssistants deletes assistants based on filter conditions (not implemented) func (m *Mongo) DeleteAssistants(filter types.AssistantFilter) (int64, error) { return 0, nil } // GetAssistantTags retrieves all unique tags from assistants with filtering func (m *Mongo) GetAssistantTags(filter types.AssistantFilter, locale ...string) ([]types.Tag, error) { return []types.Tag{}, nil } // Close closes the store and releases any resources func (m *Mongo) Close() error { return nil }