mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-15 03:50:40 +00:00
77 lines
1.7 KiB
TypeScript
77 lines
1.7 KiB
TypeScript
export type HookMappingMatch = {
|
|
path?: string;
|
|
source?: string;
|
|
};
|
|
|
|
export type HookMappingTransform = {
|
|
module: string;
|
|
export?: string;
|
|
};
|
|
|
|
export type HookMappingConfig = {
|
|
id?: string;
|
|
match?: HookMappingMatch;
|
|
action?: "wake" | "agent";
|
|
wakeMode?: "now" | "next-heartbeat";
|
|
name?: string;
|
|
sessionKey?: string;
|
|
messageTemplate?: string;
|
|
textTemplate?: string;
|
|
deliver?: boolean;
|
|
channel?:
|
|
| "last"
|
|
| "whatsapp"
|
|
| "telegram"
|
|
| "discord"
|
|
| "slack"
|
|
| "signal"
|
|
| "imessage"
|
|
| "msteams";
|
|
to?: string;
|
|
/** Override model for this hook (provider/model or alias). */
|
|
model?: string;
|
|
thinking?: string;
|
|
timeoutSeconds?: number;
|
|
transform?: HookMappingTransform;
|
|
};
|
|
|
|
export type HooksGmailTailscaleMode = "off" | "serve" | "funnel";
|
|
|
|
export type HooksGmailConfig = {
|
|
account?: string;
|
|
label?: string;
|
|
topic?: string;
|
|
subscription?: string;
|
|
pushToken?: string;
|
|
hookUrl?: string;
|
|
includeBody?: boolean;
|
|
maxBytes?: number;
|
|
renewEveryMinutes?: number;
|
|
serve?: {
|
|
bind?: string;
|
|
port?: number;
|
|
path?: string;
|
|
};
|
|
tailscale?: {
|
|
mode?: HooksGmailTailscaleMode;
|
|
path?: string;
|
|
/** Optional tailscale serve/funnel target (port, host:port, or full URL). */
|
|
target?: string;
|
|
};
|
|
/** Optional model override for Gmail hook processing (provider/model or alias). */
|
|
model?: string;
|
|
/** Optional thinking level override for Gmail hook processing. */
|
|
thinking?: "off" | "minimal" | "low" | "medium" | "high";
|
|
};
|
|
|
|
export type HooksConfig = {
|
|
enabled?: boolean;
|
|
path?: string;
|
|
token?: string;
|
|
maxBodyBytes?: number;
|
|
presets?: string[];
|
|
transformsDir?: string;
|
|
mappings?: HookMappingConfig[];
|
|
gmail?: HooksGmailConfig;
|
|
};
|