Files
BeWoPlaner/Service/ServiceContracts/IAiEnhancedService.cs
2025-11-24 15:47:45 +01:00

93 lines
3.4 KiB
C#

using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.Attributes;
using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.DataContracts.Feature.AI.Functions.ServiceRecords;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Service.ServiceContracts
{
[ServiceContract]
public interface IAiEnhancedService : IService
{
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleView, UserRightType.AiModuleView2)]
AiConfigDC GetAiConfig();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleViewSetting)]
AiConfigDC UpdateAiConfig(AiConfigDC toUpdate);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleView, UserRightType.AiModuleView2)]
IEnumerable<AiModelDC> GetAiModels();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleView, UserRightType.AiModuleView2)]
IEnumerable<AiConversationDC> GetAiConversations(AiContextType uicontext, long? oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleChatAdd)]
AiConversationDC CreateAiConversation(AiConversationDC conversation, long modell_oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleChatAdd)]
AiConversationDC CreateAiConversationWithMessage(AiConversationDC conversation, long modell_oid, string message);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleChatClone)]
AiConversationDC CloneAiConversation(long conversation_oid, long? message_oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleChatEdit)]
long UpdateAiConversationDisplayname(long oid, long version, string displayname);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleChatDelete)]
void DeleteAiConversation(long conversation_oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModuleChatAdd)]
AiConversationMessageDC[] SendNewMessage(long conversation, string message);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModulePromptbausteineView)]
IEnumerable<AiPromptbausteinTreeDC> GetAiPromptbausteine();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModulePromptbausteineAdd)]
IEnumerable<AiPromptbausteinTreeDC> CreateAiPromptbausteine(IEnumerable<AiPromptbausteinTreeDC> aiPromptbausteinDC);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModulePromptbausteineEdit)]
Dictionary<long, long> UpdateAiPromptbausteine(IEnumerable<AiPromptbausteinTreeDC> aiPromptbausteinDCs);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModulePromptbausteineRemove)]
void DeleteAiPromptbausteine(Dictionary<long, long> oid2version);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequirePermission(UserRightType.AiModulePromptbausteineView)]
AiFunctionDocResponse ExecuteAiFunctionServiceRecordDocumentation(AiFunctionDocRequest request);
}
}