feat(signal): add reaction notifications

This commit is contained in:
Peter Steinberger
2026-01-09 23:53:28 +01:00
parent 90d6a55e05
commit 89dc6ebb8b
7 changed files with 266 additions and 17 deletions

View File

@@ -520,6 +520,12 @@ export type SlackChannelConfig = {
systemPrompt?: string;
};
export type SignalReactionNotificationMode =
| "off"
| "own"
| "all"
| "allowlist";
export type SlackReactionNotificationMode = "off" | "own" | "all" | "allowlist";
export type SlackActionConfig = {
@@ -625,6 +631,10 @@ export type SignalAccountConfig = {
/** Merge streamed block replies before sending. */
blockStreamingCoalesce?: BlockStreamingCoalesceConfig;
mediaMaxMb?: number;
/** Reaction notification mode (off|own|all|allowlist). Default: own. */
reactionNotifications?: SignalReactionNotificationMode;
/** Allowlist for reaction notifications when mode is allowlist. */
reactionAllowlist?: Array<string | number>;
};
export type SignalConfig = {

View File

@@ -413,6 +413,8 @@ const SignalAccountSchemaBase = z.object({
blockStreaming: z.boolean().optional(),
blockStreamingCoalesce: BlockStreamingCoalesceSchema.optional(),
mediaMaxMb: z.number().int().positive().optional(),
reactionNotifications: z.enum(["off", "own", "all", "allowlist"]).optional(),
reactionAllowlist: z.array(z.union([z.string(), z.number()])).optional(),
});
const SignalAccountSchema = SignalAccountSchemaBase.superRefine(