























@@ -10,6 +10,7 @@ import {
1010getVerboseFlag,
1111hasHelpOrVersion,
1212hasFlag,
13+isHelpOrVersionInvocation,
1314isRootHelpInvocation,
1415isRootVersionInvocation,
1516shouldMigrateState,
@@ -67,6 +68,71 @@ describe("argv helpers", () => {
6768expect(hasHelpOrVersion(argv)).toBe(expected);
6869});
697071+it.each([
72+{
73+name: "root help command",
74+argv: ["node", "openclaw", "help"],
75+expected: true,
76+},
77+{
78+name: "root help command with target",
79+argv: ["node", "openclaw", "help", "matrix"],
80+expected: true,
81+},
82+{
83+name: "nested help command",
84+argv: ["node", "openclaw", "matrix", "encryption", "help"],
85+expected: true,
86+},
87+{
88+name: "known subcommand root help command",
89+argv: ["node", "openclaw", "config", "help"],
90+expected: true,
91+},
92+{
93+name: "known leaf command positional help",
94+argv: ["node", "openclaw", "docs", "help"],
95+expected: false,
96+},
97+{
98+name: "known subcommand leaf positional help",
99+argv: ["node", "openclaw", "config", "set", "some.path", "help"],
100+expected: false,
101+},
102+{
103+name: "unknown plugin command help",
104+argv: ["node", "openclaw", "external-plugin", "tools", "help"],
105+expected: true,
106+},
107+{
108+name: "help flag",
109+argv: ["node", "openclaw", "matrix", "encryption", "--help"],
110+expected: true,
111+},
112+{
113+name: "help as option value",
114+argv: ["node", "openclaw", "agent", "--message", "help"],
115+expected: false,
116+},
117+{
118+name: "help after terminator",
119+argv: ["node", "openclaw", "nodes", "invoke", "--", "help"],
120+expected: false,
121+},
122+{
123+name: "help flag after terminator",
124+argv: ["node", "openclaw", "nodes", "invoke", "--", "--help"],
125+expected: false,
126+},
127+{
128+name: "version flag after terminator",
129+argv: ["node", "openclaw", "nodes", "invoke", "--", "--version"],
130+expected: false,
131+},
132+])("detects help/version invocations: $name", ({ argv, expected }) => {
133+expect(isHelpOrVersionInvocation(argv)).toBe(expected);
134+});
135+70136it.each([
71137{
72138name: "root --version",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。