diff --git a/extensions/bluebubbles/src/config-schema.ts b/extensions/bluebubbles/src/config-schema.ts index acbd05768ef..bd565a70b28 100644 --- a/extensions/bluebubbles/src/config-schema.ts +++ b/extensions/bluebubbles/src/config-schema.ts @@ -37,6 +37,7 @@ const bluebubblesAccountSchema = z name: z.string().optional(), enabled: z.boolean().optional(), markdown: MarkdownConfigSchema, + actions: bluebubblesActionSchema, serverUrl: z.string().optional(), password: buildSecretInputSchema().optional(), webhookPath: z.string().optional(), diff --git a/extensions/bluebubbles/src/types.ts b/extensions/bluebubbles/src/types.ts index 0c0777cc557..e3b22c1164c 100644 --- a/extensions/bluebubbles/src/types.ts +++ b/extensions/bluebubbles/src/types.ts @@ -18,6 +18,8 @@ export type BlueBubblesAccountConfig = { capabilities?: string[]; /** Allow channel-initiated config writes (default: true). */ configWrites?: boolean; + /** Per-action tool gating (default: true for all). */ + actions?: BlueBubblesActionConfig; /** If false, do not start this BlueBubbles account. Default: true. */ enabled?: boolean; /** Base URL for the BlueBubbles API. */ @@ -74,6 +76,7 @@ export type BlueBubblesActionConfig = { reply?: boolean; sendWithEffect?: boolean; renameGroup?: boolean; + setGroupIcon?: boolean; addParticipant?: boolean; removeParticipant?: boolean; leaveGroup?: boolean;