Skip to content

Commit db1f99d

Browse files
author
Jicheng Lu
committed
refine
1 parent ef56e7b commit db1f99d

4 files changed

Lines changed: 23 additions & 17 deletions

File tree

src/Infrastructure/BotSharp.Abstraction/Repositories/IBotSharpRepository.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ Task<List<string>> GetAgentResponses(string agentId, string prefix, string inten
8888
=> throw new NotImplementedException();
8989
Task<string> GetAgentTemplate(string agentId, string templateName)
9090
=> throw new NotImplementedException();
91-
Task<AgentTemplate> GetAgentTemplateDetail(string agentId, string templateName)
91+
Task<AgentTemplate?> GetAgentTemplateDetail(string agentId, string templateName)
9292
=> throw new NotImplementedException();
9393
Task<bool> PatchAgentTemplate(string agentId, AgentTemplate template)
9494
=> throw new NotImplementedException();

src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.GetAgents.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ private void AddDefaultInstruction(Agent agent, string instruction)
116116
return template;
117117
}
118118

119-
if (template.LlmConfig == null)
119+
if (template.LlmConfig == null || !template.LlmConfig.IsValid)
120120
{
121121
var agent = await _db.GetAgent(agentId);
122122
if (!string.IsNullOrEmpty(agent?.LlmConfig?.Provider)

src/Infrastructure/BotSharp.Core/Repository/FileRepository/FileRepository.Agent.cs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -723,23 +723,22 @@ public async Task<string> GetAgentTemplate(string agentId, string templateName)
723723
return string.Empty;
724724
}
725725

726-
public async Task<AgentTemplate> GetAgentTemplateDetail(string agentId, string templateName)
726+
public async Task<AgentTemplate?> GetAgentTemplateDetail(string agentId, string templateName)
727727
{
728-
var template = new AgentTemplate { Name = templateName };
729-
730728
if (string.IsNullOrWhiteSpace(agentId)
731729
|| string.IsNullOrWhiteSpace(templateName))
732730
{
733-
return template;
731+
return null;
734732
}
735733

736734
var baseDir = Path.Combine(_dbSettings.FileRepository, _agentSettings.DataDir, agentId);
737735
var dir = Path.Combine(baseDir, AGENT_TEMPLATES_FOLDER);
738736
if (!Directory.Exists(dir))
739737
{
740-
return template;
738+
return null;
741739
}
742740

741+
AgentTemplate? template = null;
743742
// Get template content
744743
foreach (var file in Directory.EnumerateFiles(dir))
745744
{
@@ -749,19 +748,26 @@ public async Task<AgentTemplate> GetAgentTemplateDetail(string agentId, string t
749748
var extension = fileName.Substring(splitIdx + 1);
750749
if (name.IsEqualTo(templateName) && extension.IsEqualTo(_agentSettings.TemplateFormat))
751750
{
752-
template.Content = await File.ReadAllTextAsync(file);
751+
template = new AgentTemplate
752+
{
753+
Name = templateName,
754+
Content = await File.ReadAllTextAsync(file)
755+
};
753756
break;
754757
}
755758
}
756759

757760
// Get template configs
758-
var (configs, _) = GetAgentTemplateConfigs(baseDir);
759-
var configFile = Path.Combine(baseDir, AGENT_TEMPLATE_CONFIG_FILE);
760-
var found = configs?.FirstOrDefault(x => x.Name.IsEqualTo(templateName));
761-
if (found != null)
761+
if (template != null)
762762
{
763-
template.ResponseFormat = found.ResponseFormat;
764-
template.LlmConfig = found.LlmConfig;
763+
var (configs, _) = GetAgentTemplateConfigs(baseDir);
764+
var configFile = Path.Combine(baseDir, AGENT_TEMPLATE_CONFIG_FILE);
765+
var found = configs?.FirstOrDefault(x => x.Name.IsEqualTo(templateName));
766+
if (found != null)
767+
{
768+
template.ResponseFormat = found.ResponseFormat;
769+
template.LlmConfig = found.LlmConfig;
770+
}
765771
}
766772

767773
return template;

src/Plugins/BotSharp.Plugin.MongoStorage/Repository/MongoRepository.Agent.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -553,19 +553,19 @@ public async Task<string> GetAgentTemplate(string agentId, string templateName)
553553
return agent.Templates?.FirstOrDefault(x => x.Name.IsEqualTo(templateName))?.Content ?? string.Empty;
554554
}
555555

556-
public async Task<AgentTemplate> GetAgentTemplateDetail(string agentId, string templateName)
556+
public async Task<AgentTemplate?> GetAgentTemplateDetail(string agentId, string templateName)
557557
{
558558
var filter = Builders<AgentDocument>.Filter.Eq(x => x.Id, agentId);
559559
var agent = await _dc.Agents.Find(filter).FirstOrDefaultAsync();
560560
if (agent == null)
561561
{
562-
return new AgentTemplate { Name = templateName };
562+
return null;
563563
}
564564

565565
var foundTemplate = agent.Templates?.FirstOrDefault(x => x.Name.IsEqualTo(templateName));
566566
if (foundTemplate == null)
567567
{
568-
return new AgentTemplate { Name = templateName };
568+
return null;
569569
}
570570

571571
return AgentTemplateMongoElement.ToDomainElement(foundTemplate);

0 commit comments

Comments
 (0)