From 71e17741b5674766b1a677db31184f06c99207e4 Mon Sep 17 00:00:00 2001 From: Haiping Chen <101423@smsassist.com> Date: Sat, 10 Feb 2024 11:36:43 -0600 Subject: [PATCH] ReplaceToken --- .../PlaywrightWebDriver.LaunchBrowser.cs | 3 +++ .../WebDriverService.AssembleMarkup.cs | 2 -- .../Services/WebDriverService.ReplaceToken.cs | 24 +++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 src/Plugins/BotSharp.Plugin.WebDriver/Services/WebDriverService.ReplaceToken.cs diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.LaunchBrowser.cs b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.LaunchBrowser.cs index 3e92618d..f91e2741 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.LaunchBrowser.cs +++ b/src/Plugins/BotSharp.Plugin.WebDriver/Drivers/PlaywrightDriver/PlaywrightWebDriver.LaunchBrowser.cs @@ -16,6 +16,9 @@ public partial class PlaywrightWebDriver if (!string.IsNullOrEmpty(url)) { + var webDriverService = _services.GetRequiredService(); + url = webDriverService.ReplaceToken(url); + var response = await page.GotoAsync(url, new PageGotoOptions { Timeout = 15 * 1000 diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/Services/WebDriverService.AssembleMarkup.cs b/src/Plugins/BotSharp.Plugin.WebDriver/Services/WebDriverService.AssembleMarkup.cs index e59cf1df..ef9dc795 100644 --- a/src/Plugins/BotSharp.Plugin.WebDriver/Services/WebDriverService.AssembleMarkup.cs +++ b/src/Plugins/BotSharp.Plugin.WebDriver/Services/WebDriverService.AssembleMarkup.cs @@ -1,5 +1,3 @@ -using BotSharp.Plugin.WebDriver.LlmContexts; - namespace BotSharp.Plugin.WebDriver.Services; public partial class WebDriverService diff --git a/src/Plugins/BotSharp.Plugin.WebDriver/Services/WebDriverService.ReplaceToken.cs b/src/Plugins/BotSharp.Plugin.WebDriver/Services/WebDriverService.ReplaceToken.cs new file mode 100644 index 00000000..df4b1070 --- /dev/null +++ b/src/Plugins/BotSharp.Plugin.WebDriver/Services/WebDriverService.ReplaceToken.cs @@ -0,0 +1,24 @@ +using System.Text.RegularExpressions; + +namespace BotSharp.Plugin.WebDriver.Services; + +public partial class WebDriverService +{ + /// + /// Replace token started @ with settings. + /// + /// + /// + public string ReplaceToken(string text) + { + var config = _services.GetRequiredService(); + var token = Regex.Match(text, "@[a-zA-Z0-9._]+"); + if (token.Success) + { + var key = token.Value.Replace("@", "").Replace(".", ":"); + var value = config.GetValue(key); + return text.Replace(token.Value, value); + } + return text; + } +}