From 89768d456bf6606c1f66b8b166bd61215cc6ff0c Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sun, 21 Jun 2026 22:44:55 +0200 Subject: [PATCH] fix(scripts): reject short flag Discord smoke values --- scripts/dev/discord-acp-plain-language-smoke.ts | 2 +- test/scripts/dev-tooling-safety.test.ts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/dev/discord-acp-plain-language-smoke.ts b/scripts/dev/discord-acp-plain-language-smoke.ts index 5f0c4c082de5..85b2f8502f95 100644 --- a/scripts/dev/discord-acp-plain-language-smoke.ts +++ b/scripts/dev/discord-acp-plain-language-smoke.ts @@ -271,7 +271,7 @@ function resolveArg(flag: string, argv: string[]): string | undefined { return undefined; } const value = argv[idx + 1]; - if (!value || value.startsWith("--")) { + if (!value || value.startsWith("-")) { throw new CliArgumentError(`${flag} requires a value`); } return value; diff --git a/test/scripts/dev-tooling-safety.test.ts b/test/scripts/dev-tooling-safety.test.ts index d22fd1fedbdd..2963546624b0 100644 --- a/test/scripts/dev-tooling-safety.test.ts +++ b/test/scripts/dev-tooling-safety.test.ts @@ -190,6 +190,11 @@ describe("script-specific dev tooling hardening", () => { expect(() => discordSmokeTesting.parseArgs(["--channel", "--json"])).toThrow( "--channel requires a value", ); + for (const flag of ["--channel", "--token", "--timeout-ms", "--state-dir"]) { + expect(() => discordSmokeTesting.parseArgs([flag, "-h"])).toThrow( + `${flag} requires a value`, + ); + } }); it("redacts Discord webhook tokens from API paths", () => {