From 8c8dc1e6a268d982a5e6165e7991d6820e88f657 Mon Sep 17 00:00:00 2001 From: Joanna Ren <101223@smsassist.com> Date: Thu, 26 Dec 2024 21:56:25 -0600 Subject: [PATCH] update sql button render --- .../Handlers/RouteToAgentRoutingHandler.cs | 2 +- .../Hooks/SqlDriverPlanningHook.cs | 51 ++++++++++--------- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/src/Infrastructure/BotSharp.Core/Routing/Handlers/RouteToAgentRoutingHandler.cs b/src/Infrastructure/BotSharp.Core/Routing/Handlers/RouteToAgentRoutingHandler.cs index c26174a1..f79c6719 100644 --- a/src/Infrastructure/BotSharp.Core/Routing/Handlers/RouteToAgentRoutingHandler.cs +++ b/src/Infrastructure/BotSharp.Core/Routing/Handlers/RouteToAgentRoutingHandler.cs @@ -31,7 +31,7 @@ public class RouteToAgentRoutingHandler : RoutingHandlerBase, IRoutingHandler type: "boolean", required: true), new ParameterPropertyDef("is_new_task", - "whether the user is requesting a new task that is different from the previous topic.", + "whether the user is requesting a new task that is different from the previous topic. Set the first round of conversation to false.", type: "boolean") }; diff --git a/src/Plugins/BotSharp.Plugin.SqlDriver/Hooks/SqlDriverPlanningHook.cs b/src/Plugins/BotSharp.Plugin.SqlDriver/Hooks/SqlDriverPlanningHook.cs index 224f8fd6..bb008319 100644 --- a/src/Plugins/BotSharp.Plugin.SqlDriver/Hooks/SqlDriverPlanningHook.cs +++ b/src/Plugins/BotSharp.Plugin.SqlDriver/Hooks/SqlDriverPlanningHook.cs @@ -23,9 +23,9 @@ public class SqlDriverPlanningHook : IPlanningHook public async Task OnSourceCodeGenerated(string planner, RoleDialogModel msg, string language) { // envoke validate - if (language != "sql") - { - return; + if (language != "sql") + { + return; } var routing = _services.GetRequiredService(); @@ -42,7 +42,7 @@ public class SqlDriverPlanningHook : IPlanningHook var conversationStateService = _services.GetRequiredService(); var conversationId = conversationStateService.GetConversationId(); msg.PostbackFunctionName = "execute_sql"; - msg.RichContent = BuildRunQueryButton(planner, msg.Content); + msg.RichContent = BuildRunQueryButton(conversationId, msg.Content); msg.StopCompletion = true; return; } @@ -71,7 +71,7 @@ public class SqlDriverPlanningHook : IPlanningHook public async Task OnPlanningCompleted(string planner, RoleDialogModel msg) { - + } public async Task GetSummaryAdditionalRequirements(string planner, RoleDialogModel message) @@ -91,8 +91,27 @@ public class SqlDriverPlanningHook : IPlanningHook string pattern = @"```sql\s*([\s\S]*?)\s*```"; var sql = Regex.Match(text, pattern).Groups[1].Value; var state = _services.GetRequiredService(); - var deleteTable = state.GetState("tmp_table"); - var deleteSql = $"DROP TABLE IF EXISTS {deleteTable};"; + var tmpTable = state.GetState("tmp_table"); + + var elements = new List() { }; + elements.Add(new ElementButton + { + Type = "text", + Title = "Execute SQL Statement", + Payload = sql, + IsPrimary = true + }); + + if (tmpTable != string.Empty) + { + var deleteSql = $"DROP TABLE IF EXISTS {tmpTable};"; + elements.Add(new ElementButton + { + Type = "text", + Title = "Delete Temp Table", + Payload = deleteSql + }); + } return new RichContent { @@ -105,23 +124,9 @@ public class SqlDriverPlanningHook : IPlanningHook Message = new ButtonTemplateMessage { Text = text, - Buttons = new List - { - new ElementButton - { - Type = "text", - Title = "Execute the SQL Statement", - Payload = sql, - IsPrimary = true - }, - new ElementButton - { - Type = "text", - Title = "Purge Cache", - Payload = deleteSql - } - }.ToArray() + Buttons = elements.ToArray() } }; + } }