fix: expand local session results and reject unsafe search targets
This commit is contained in:
@@ -351,7 +351,7 @@ try
|
||||
case "session" when args[1] == "search":
|
||||
{
|
||||
var query = GetRequiredOption(args, "--query");
|
||||
var results = await WechatChatClient.SearchSessionsAsync(query, HasOption(args, "--exact"), cancellationToken);
|
||||
var results = await WechatChatClient.SearchSessionsAsync(query, HasOption(args, "--exact"), cancellationToken, GetOption(args, "--ui-output"));
|
||||
WriteJson(new { query, results });
|
||||
return 0;
|
||||
}
|
||||
@@ -362,7 +362,7 @@ try
|
||||
}
|
||||
case "session" when args[1] == "open":
|
||||
{
|
||||
WriteJson(await WechatChatClient.OpenSessionAsync(GetRequiredOption(args, "--name"), cancellationToken));
|
||||
WriteJson(await WechatChatClient.OpenSessionAsync(GetRequiredOption(args, "--name"), cancellationToken, GetOption(args, "--query")));
|
||||
return 0;
|
||||
}
|
||||
case "db" when args[1] == "scan":
|
||||
@@ -585,10 +585,10 @@ static int ValidateCommandLine(string[] values)
|
||||
ValidateOptions(values, 2, ["--timeout"], []);
|
||||
return 30;
|
||||
case "search":
|
||||
ValidateOptions(values, 2, ["--query", "--timeout"], ["--exact"]);
|
||||
ValidateOptions(values, 2, ["--query", "--ui-output", "--timeout"], ["--exact"]);
|
||||
return 30;
|
||||
case "open":
|
||||
ValidateOptions(values, 2, ["--name", "--timeout"], []);
|
||||
ValidateOptions(values, 2, ["--name", "--query", "--timeout"], []);
|
||||
return 30;
|
||||
default:
|
||||
throw new WxAgentException(WxAgentErrorCode.InvalidArgument, "Unknown session command. Run WxAgent.Host help.");
|
||||
@@ -742,9 +742,9 @@ WxAgent.Host commands:
|
||||
chat monitor [--seconds 60] [--session <name>] [--independent] [--state-file <path>] [--include-content] [--timeout <seconds>]
|
||||
chat listen [--seconds 30] [--include-content] [--timeout <seconds>]
|
||||
session list [--timeout 30]
|
||||
session search --query <text> [--exact] [--timeout 30]
|
||||
session search --query <text> [--exact] [--ui-output <path>] [--timeout 30]
|
||||
session current [--timeout 30]
|
||||
session open --name <session-name> [--timeout 30]
|
||||
session open --name <session-name> [--query <keyword>] [--timeout 30]
|
||||
db scan [--data-root <xwechat_files>] [--save] [--key-file <path>] [--timeout 120]
|
||||
db status [--key-file <path>] [--timeout 30]
|
||||
db query --account <fingerprint> --database <relative-path> [--key-file <path>] [--timeout 30]
|
||||
|
||||
Reference in New Issue
Block a user