fix(discord): validate agentComponents config

This commit is contained in:
Shadow
2026-03-07 21:08:23 -06:00
parent 7d2b146d8d
commit d902bae554
2 changed files with 66 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
import { describe, expect, it } from "vitest";
import { validateConfigObject } from "./config.js";
describe("discord agentComponents config", () => {
it("accepts channels.discord.agentComponents.enabled", () => {
const res = validateConfigObject({
channels: {
discord: {
agentComponents: {
enabled: true,
},
},
},
});
expect(res.ok).toBe(true);
});
it("accepts channels.discord.accounts.<id>.agentComponents.enabled", () => {
const res = validateConfigObject({
channels: {
discord: {
accounts: {
work: {
agentComponents: {
enabled: false,
},
},
},
},
},
});
expect(res.ok).toBe(true);
});
it("rejects unknown fields under channels.discord.agentComponents", () => {
const res = validateConfigObject({
channels: {
discord: {
agentComponents: {
enabled: true,
invalidField: true,
},
},
},
});
expect(res.ok).toBe(false);
if (!res.ok) {
expect(
res.issues.some(
(issue) =>
issue.path === "channels.discord.agentComponents" &&
issue.message.toLowerCase().includes("unrecognized"),
),
).toBe(true);
}
});
});

View File

@@ -491,6 +491,12 @@ export const DiscordAccountSchema = z
})
.strict()
.optional(),
agentComponents: z
.object({
enabled: z.boolean().optional(),
})
.strict()
.optional(),
ui: DiscordUiSchema,
slashCommand: z
.object({