Slack: accept slash command names with or without leading slash

Closes #798
This commit is contained in:
Shadow
2026-01-12 21:26:44 -06:00
parent 67d0ab3030
commit 68569afb4b
3 changed files with 37 additions and 3 deletions

View File

@@ -1,6 +1,10 @@
import { describe, expect, it } from "vitest";
import { isSlackRoomAllowedByPolicy, resolveSlackThreadTs } from "./monitor.js";
import {
buildSlackSlashCommandMatcher,
isSlackRoomAllowedByPolicy,
resolveSlackThreadTs,
} from "./monitor.js";
describe("slack groupPolicy gating", () => {
it("allows when policy is open", () => {
@@ -152,3 +156,19 @@ describe("resolveSlackThreadTs", () => {
});
});
});
describe("buildSlackSlashCommandMatcher", () => {
it("matches with or without a leading slash", () => {
const matcher = buildSlackSlashCommandMatcher("clawd");
expect(matcher.test("clawd")).toBe(true);
expect(matcher.test("/clawd")).toBe(true);
});
it("does not match similar names", () => {
const matcher = buildSlackSlashCommandMatcher("clawd");
expect(matcher.test("/clawd-bot")).toBe(false);
expect(matcher.test("clawd-bot")).toBe(false);
});
});