
























@@ -14,6 +14,7 @@ import {
1414isRootHelpInvocation,
1515isRootVersionInvocation,
1616normalizeGeneratedHelpCommandArgv,
17+normalizeRootHelpTargetArgv,
1718shouldMigrateState,
1819shouldMigrateStateFromPath,
1920} from "./argv.js";
@@ -124,6 +125,36 @@ describe("argv helpers", () => {
124125expect(normalizeGeneratedHelpCommandArgv(argv)).toEqual(expected);
125126});
126127128+it.each([
129+{
130+name: "root help target",
131+argv: ["node", "openclaw", "help", "plugins"],
132+expected: ["node", "openclaw", "plugins", "--help"],
133+},
134+{
135+name: "root help target with help flag",
136+argv: ["node", "openclaw", "help", "plugins", "--help"],
137+expected: ["node", "openclaw", "plugins", "--help"],
138+},
139+{
140+name: "root option before help target",
141+argv: ["node", "openclaw", "--profile", "work", "help", "memory"],
142+expected: ["node", "openclaw", "--profile", "work", "memory", "--help"],
143+},
144+{
145+name: "bare root help remains untouched",
146+argv: ["node", "openclaw", "help"],
147+expected: ["node", "openclaw", "help"],
148+},
149+{
150+name: "root help self-help remains untouched",
151+argv: ["node", "openclaw", "help", "--help"],
152+expected: ["node", "openclaw", "help", "--help"],
153+},
154+])("normalizes root help targets: $name", ({ argv, expected }) => {
155+expect(normalizeRootHelpTargetArgv(argv)).toEqual(expected);
156+});
157+127158it.each([
128159{
129160name: "root help command",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。