namespace BotSharp.Plugin.WebDriver.Functions; public class InputUserPasswordFn : IFunctionCallback { public string Name => "input_user_password"; private readonly IServiceProvider _services; private readonly IWebBrowser _browser; public InputUserPasswordFn(IServiceProvider services, IWebBrowser browser) { _services = services; _browser = browser; } public async Task Execute(RoleDialogModel message) { var args = JsonSerializer.Deserialize(message.FunctionArgs); var agentService = _services.GetRequiredService(); var agent = await agentService.LoadAgent(message.CurrentAgentId); var result = await _browser.InputUserPassword(new BrowserActionParams(agent, args, message.MessageId)); message.Content = result ? "Input password successfully" : "Failed"; var webDriverService = _services.GetRequiredService(); var path = webDriverService.GetScreenshotFilePath(message.MessageId); message.Data = await _browser.ScreenshotAsync(path); return true; } }