118 lines
4.7 KiB
C#
118 lines
4.7 KiB
C#
using BeWo.Data.Access;
|
|
using BeWo.Data.Entities;
|
|
using BeWo.Data.Security;
|
|
using BeWo.Service.BusinessLogic;
|
|
using BeWo.Service.Plugins;
|
|
using BeWo.Service.ServiceContracts.Enhanced;
|
|
using BS.Shared;
|
|
using BS.Shared.Core;
|
|
using BS.Shared.DataContracts.Feature.AI;
|
|
using BS.Shared.DataContracts.Feature.AI.Functions.ServiceRecords;
|
|
using DevExpress.DataAccess.Native.Sql;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ServiceModel;
|
|
|
|
namespace BeWo.Service.ServiceImplementations.Enhanced
|
|
{
|
|
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Single)]
|
|
public class AiEnhancedServiceImp : IAiEnhancedService
|
|
{
|
|
#region General AI
|
|
public AiConfigDC GetAiConfig()
|
|
=> GetAiService().GetAiConfig();
|
|
|
|
public AiConfigDC UpdateAiConfig(AiConfigDC toUpdate)
|
|
=> GetAiService().UpdateAiConfig(toUpdate);
|
|
|
|
public IEnumerable<AiModelDC> GetAiModels()
|
|
=> GetAiService().GetAiModels();
|
|
|
|
public IEnumerable<AiConversationDC> GetAiConversations(AiActionType actionType, long? oid)
|
|
=> GetAiService().GetAiConversations(actionType, oid);
|
|
|
|
public AiConversationDC CreateAiConversation(AiConversationDC conversation, AiViewContextDC view_context)
|
|
=> GetAiService().CreateAiConversation(conversation, view_context);
|
|
public AiConversationDC CreateAiConversationWithMessage(AiConversationDC conversation, AiViewContextDC view_context, string message)
|
|
=> GetAiService().CreateAiConversationWithMessage(conversation, view_context, message);
|
|
|
|
public AiConversationDC CloneAiConversation(long conversation_oid, long? last_message_oid)
|
|
=> GetAiService().CloneAiConversation(conversation_oid, last_message_oid);
|
|
|
|
public long UpdateAiConversationDisplayname(long oid, long version, string displayname)
|
|
=> GetAiService().UpdateAiConversationDisplayname(oid, version, displayname);
|
|
|
|
public void DeleteAiConversation(long conversation_oid)
|
|
=> GetAiService().DeleteAiConversation(conversation_oid);
|
|
|
|
public AiConversationMessageDC[] SendNewMessage(long conversation, string message)
|
|
=> GetAiService().SendNewMessage(conversation, message);
|
|
|
|
public AiConversationMessageDC[] ExecuteAiConversationWithMessage(long conversation, AiViewContextDC view_context, long routine, int step)
|
|
=> GetAiService().ExecuteAiConversationWithMessage(conversation, view_context, routine, step);
|
|
|
|
public bool CheckContextSize(AiActionType actionType, AiViewContextDC view_context)
|
|
=> GetAiService().CheckContextSize(actionType, view_context);
|
|
|
|
public AiUserSettingDC GetUserSetting()
|
|
=> GetAiService().GetUserSetting();
|
|
|
|
public AiUserSettingDC UpdateUserSetting(AiUserSettingDC aiUserSettingDC)
|
|
=> GetAiService().UpdateUserSetting(aiUserSettingDC);
|
|
|
|
private AiService2 GetAiService()
|
|
{
|
|
var plugin = PluginLoader.FindClass<AiService2>();
|
|
return plugin;
|
|
}
|
|
#endregion
|
|
|
|
#region Promptbausteine
|
|
public IEnumerable<AiPromptbausteinFolderDC> GetAiPromptbausteinFolder(AiActionType aiActionType)
|
|
=> GetAiPromptbausteineService().GetAiPromptbausteinFolder(aiActionType);
|
|
|
|
private AiPromptbausteineService GetAiPromptbausteineService()
|
|
{
|
|
return new AiPromptbausteineService();
|
|
|
|
//var plugin = PluginLoader.FindClass<AiPromptbausteineService>();
|
|
//return plugin;
|
|
}
|
|
|
|
public AiPromptbausteinFolderDC InsertAiPromptbausteinFolder(AiPromptbausteinFolderDC folder)
|
|
=> GetFolderLogic().Insert(folder);
|
|
|
|
public AiPromptbausteinPromptDC InsertAiPromptbausteinPrompt(AiPromptbausteinPromptDC prompt)
|
|
=> GetPromptLogic().Insert(prompt);
|
|
|
|
public AiPromptbausteinRoutineDC InsertAiPromptbausteinRoutine(AiPromptbausteinRoutineDC routine)
|
|
=> GetRoutineLogic().Insert(routine);
|
|
|
|
public AiPromptbausteinFolderDC UpdateAiPromptbausteinFolder(AiPromptbausteinFolderDC folder)
|
|
=> GetFolderLogic().Update(folder);
|
|
|
|
public AiPromptbausteinPromptDC UpdateAiPromptbausteinPrompt(AiPromptbausteinPromptDC prompt)
|
|
=> GetPromptLogic().Update(prompt);
|
|
|
|
public AiPromptbausteinRoutineDC UpdateAiPromptbausteinRoutine(AiPromptbausteinRoutineDC routine)
|
|
=> GetRoutineLogic().Update(routine);
|
|
|
|
public void DeleteAiPromptbausteinFolder(AiPromptbausteinFolderDC folder)
|
|
=> GetFolderLogic().Deactivate(folder, GetPromptLogic());
|
|
|
|
public void DeleteAiPromptbausteinPrompt(AiPromptbausteinPromptDC prompt)
|
|
=> GetPromptLogic().Deactivate(prompt);
|
|
|
|
public void DeleteAiPromptbausteinRoutine(AiPromptbausteinRoutineDC routine)
|
|
=> GetRoutineLogic().Deactivate(routine);
|
|
|
|
private AiPromptbausteinFolderLogic GetFolderLogic()
|
|
=> new AiPromptbausteinFolderLogic();
|
|
private AiPromptbausteinPromptLogic GetPromptLogic()
|
|
=> new AiPromptbausteinPromptLogic();
|
|
private AiPromptbausteinRoutineLogic GetRoutineLogic()
|
|
=> new AiPromptbausteinRoutineLogic();
|
|
#endregion
|
|
}
|
|
}
|