@gguf/claw
Version:
Multi-channel AI gateway with extensible messaging integrations
965 lines (964 loc) • 108 kB
TypeScript
import { z } from "zod";
export * from "./zod-schema.providers-core.js";
export * from "./zod-schema.providers-whatsapp.js";
export { ChannelHeartbeatVisibilitySchema } from "./zod-schema.channels.js";
export declare const ChannelsSchema: z.ZodOptional<z.ZodObject<{
defaults: z.ZodOptional<z.ZodObject<{
groupPolicy: z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>;
heartbeat: z.ZodOptional<z.ZodObject<{
showOk: z.ZodOptional<z.ZodBoolean>;
showAlerts: z.ZodOptional<z.ZodBoolean>;
useIndicator: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
}, z.core.$strict>>;
modelByChannel: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>;
whatsapp: z.ZodOptional<z.ZodObject<{
capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
markdown: z.ZodOptional<z.ZodObject<{
tables: z.ZodOptional<z.ZodEnum<{
off: "off";
bullets: "bullets";
code: "code";
}>>;
}, z.core.$strict>>;
configWrites: z.ZodOptional<z.ZodBoolean>;
sendReadReceipts: z.ZodOptional<z.ZodBoolean>;
messagePrefix: z.ZodOptional<z.ZodString>;
responsePrefix: z.ZodOptional<z.ZodString>;
dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
pairing: "pairing";
}>>>;
selfChatMode: z.ZodOptional<z.ZodBoolean>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
defaultTo: z.ZodOptional<z.ZodString>;
groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>>;
historyLimit: z.ZodOptional<z.ZodNumber>;
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
historyLimit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>>>;
textChunkLimit: z.ZodOptional<z.ZodNumber>;
chunkMode: z.ZodOptional<z.ZodEnum<{
newline: "newline";
length: "length";
}>>;
blockStreaming: z.ZodOptional<z.ZodBoolean>;
blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
minChars: z.ZodOptional<z.ZodNumber>;
maxChars: z.ZodOptional<z.ZodNumber>;
idleMs: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
requireMention: z.ZodOptional<z.ZodBoolean>;
tools: z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>;
toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>>>;
}, z.core.$strict>>>>;
ackReaction: z.ZodOptional<z.ZodObject<{
emoji: z.ZodOptional<z.ZodString>;
direct: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
group: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
never: "never";
always: "always";
mentions: "mentions";
}>>>;
}, z.core.$strict>>;
debounceMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
heartbeat: z.ZodOptional<z.ZodObject<{
showOk: z.ZodOptional<z.ZodBoolean>;
showAlerts: z.ZodOptional<z.ZodBoolean>;
useIndicator: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
markdown: z.ZodOptional<z.ZodObject<{
tables: z.ZodOptional<z.ZodEnum<{
off: "off";
bullets: "bullets";
code: "code";
}>>;
}, z.core.$strict>>;
configWrites: z.ZodOptional<z.ZodBoolean>;
sendReadReceipts: z.ZodOptional<z.ZodBoolean>;
messagePrefix: z.ZodOptional<z.ZodString>;
responsePrefix: z.ZodOptional<z.ZodString>;
dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
pairing: "pairing";
}>>>;
selfChatMode: z.ZodOptional<z.ZodBoolean>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
defaultTo: z.ZodOptional<z.ZodString>;
groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>>;
historyLimit: z.ZodOptional<z.ZodNumber>;
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
historyLimit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>>>;
textChunkLimit: z.ZodOptional<z.ZodNumber>;
chunkMode: z.ZodOptional<z.ZodEnum<{
newline: "newline";
length: "length";
}>>;
blockStreaming: z.ZodOptional<z.ZodBoolean>;
blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
minChars: z.ZodOptional<z.ZodNumber>;
maxChars: z.ZodOptional<z.ZodNumber>;
idleMs: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
requireMention: z.ZodOptional<z.ZodBoolean>;
tools: z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>;
toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>>>;
}, z.core.$strict>>>>;
ackReaction: z.ZodOptional<z.ZodObject<{
emoji: z.ZodOptional<z.ZodString>;
direct: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
group: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
never: "never";
always: "always";
mentions: "mentions";
}>>>;
}, z.core.$strict>>;
debounceMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
heartbeat: z.ZodOptional<z.ZodObject<{
showOk: z.ZodOptional<z.ZodBoolean>;
showAlerts: z.ZodOptional<z.ZodBoolean>;
useIndicator: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
name: z.ZodOptional<z.ZodString>;
enabled: z.ZodOptional<z.ZodBoolean>;
authDir: z.ZodOptional<z.ZodString>;
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>>>;
mediaMaxMb: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
actions: z.ZodOptional<z.ZodObject<{
reactions: z.ZodOptional<z.ZodBoolean>;
sendMessage: z.ZodOptional<z.ZodBoolean>;
polls: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
}, z.core.$strict>>;
telegram: z.ZodOptional<z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
capabilities: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
inlineButtons: z.ZodOptional<z.ZodEnum<{
group: "group";
dm: "dm";
off: "off";
all: "all";
allowlist: "allowlist";
}>>;
}, z.core.$strict>]>>;
markdown: z.ZodOptional<z.ZodObject<{
tables: z.ZodOptional<z.ZodEnum<{
off: "off";
bullets: "bullets";
code: "code";
}>>;
}, z.core.$strict>>;
enabled: z.ZodOptional<z.ZodBoolean>;
commands: z.ZodOptional<z.ZodObject<{
native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
}, z.core.$strict>>;
customCommands: z.ZodOptional<z.ZodArray<z.ZodObject<{
command: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
}, z.core.$strict>>>;
configWrites: z.ZodOptional<z.ZodBoolean>;
dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
pairing: "pairing";
}>>>;
botToken: z.ZodOptional<z.ZodString>;
tokenFile: z.ZodOptional<z.ZodString>;
replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
requireMention: z.ZodOptional<z.ZodBoolean>;
groupPolicy: z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>;
tools: z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>;
toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>>>;
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
enabled: z.ZodOptional<z.ZodBoolean>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
systemPrompt: z.ZodOptional<z.ZodString>;
topics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
requireMention: z.ZodOptional<z.ZodBoolean>;
groupPolicy: z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>;
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
enabled: z.ZodOptional<z.ZodBoolean>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
systemPrompt: z.ZodOptional<z.ZodString>;
}, z.core.$strict>>>>;
}, z.core.$strict>>>>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
defaultTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>>;
historyLimit: z.ZodOptional<z.ZodNumber>;
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
historyLimit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>>>;
textChunkLimit: z.ZodOptional<z.ZodNumber>;
chunkMode: z.ZodOptional<z.ZodEnum<{
newline: "newline";
length: "length";
}>>;
blockStreaming: z.ZodOptional<z.ZodBoolean>;
draftChunk: z.ZodOptional<z.ZodObject<{
minChars: z.ZodOptional<z.ZodNumber>;
maxChars: z.ZodOptional<z.ZodNumber>;
breakPreference: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"paragraph">, z.ZodLiteral<"newline">, z.ZodLiteral<"sentence">]>>;
}, z.core.$strict>>;
blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
minChars: z.ZodOptional<z.ZodNumber>;
maxChars: z.ZodOptional<z.ZodNumber>;
idleMs: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
streamMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
off: "off";
partial: "partial";
block: "block";
}>>>;
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
retry: z.ZodOptional<z.ZodObject<{
attempts: z.ZodOptional<z.ZodNumber>;
minDelayMs: z.ZodOptional<z.ZodNumber>;
maxDelayMs: z.ZodOptional<z.ZodNumber>;
jitter: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
network: z.ZodOptional<z.ZodObject<{
autoSelectFamily: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
proxy: z.ZodOptional<z.ZodString>;
webhookUrl: z.ZodOptional<z.ZodString>;
webhookSecret: z.ZodOptional<z.ZodString>;
webhookPath: z.ZodOptional<z.ZodString>;
webhookHost: z.ZodOptional<z.ZodString>;
actions: z.ZodOptional<z.ZodObject<{
reactions: z.ZodOptional<z.ZodBoolean>;
sendMessage: z.ZodOptional<z.ZodBoolean>;
deleteMessage: z.ZodOptional<z.ZodBoolean>;
sticker: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
reactionNotifications: z.ZodOptional<z.ZodEnum<{
off: "off";
all: "all";
own: "own";
}>>;
reactionLevel: z.ZodOptional<z.ZodEnum<{
off: "off";
minimal: "minimal";
ack: "ack";
extensive: "extensive";
}>>;
heartbeat: z.ZodOptional<z.ZodObject<{
showOk: z.ZodOptional<z.ZodBoolean>;
showAlerts: z.ZodOptional<z.ZodBoolean>;
useIndicator: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
linkPreview: z.ZodOptional<z.ZodBoolean>;
responsePrefix: z.ZodOptional<z.ZodString>;
ackReaction: z.ZodOptional<z.ZodString>;
accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
capabilities: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodObject<{
inlineButtons: z.ZodOptional<z.ZodEnum<{
group: "group";
dm: "dm";
off: "off";
all: "all";
allowlist: "allowlist";
}>>;
}, z.core.$strict>]>>;
markdown: z.ZodOptional<z.ZodObject<{
tables: z.ZodOptional<z.ZodEnum<{
off: "off";
bullets: "bullets";
code: "code";
}>>;
}, z.core.$strict>>;
enabled: z.ZodOptional<z.ZodBoolean>;
commands: z.ZodOptional<z.ZodObject<{
native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
}, z.core.$strict>>;
customCommands: z.ZodOptional<z.ZodArray<z.ZodObject<{
command: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
}, z.core.$strict>>>;
configWrites: z.ZodOptional<z.ZodBoolean>;
dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
pairing: "pairing";
}>>>;
botToken: z.ZodOptional<z.ZodString>;
tokenFile: z.ZodOptional<z.ZodString>;
replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
groups: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
requireMention: z.ZodOptional<z.ZodBoolean>;
groupPolicy: z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>;
tools: z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>;
toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>>>;
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
enabled: z.ZodOptional<z.ZodBoolean>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
systemPrompt: z.ZodOptional<z.ZodString>;
topics: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
requireMention: z.ZodOptional<z.ZodBoolean>;
groupPolicy: z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>;
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
enabled: z.ZodOptional<z.ZodBoolean>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
systemPrompt: z.ZodOptional<z.ZodString>;
}, z.core.$strict>>>>;
}, z.core.$strict>>>>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
defaultTo: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>>;
historyLimit: z.ZodOptional<z.ZodNumber>;
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
historyLimit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>>>;
textChunkLimit: z.ZodOptional<z.ZodNumber>;
chunkMode: z.ZodOptional<z.ZodEnum<{
newline: "newline";
length: "length";
}>>;
blockStreaming: z.ZodOptional<z.ZodBoolean>;
draftChunk: z.ZodOptional<z.ZodObject<{
minChars: z.ZodOptional<z.ZodNumber>;
maxChars: z.ZodOptional<z.ZodNumber>;
breakPreference: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"paragraph">, z.ZodLiteral<"newline">, z.ZodLiteral<"sentence">]>>;
}, z.core.$strict>>;
blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
minChars: z.ZodOptional<z.ZodNumber>;
maxChars: z.ZodOptional<z.ZodNumber>;
idleMs: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
streamMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
off: "off";
partial: "partial";
block: "block";
}>>>;
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
retry: z.ZodOptional<z.ZodObject<{
attempts: z.ZodOptional<z.ZodNumber>;
minDelayMs: z.ZodOptional<z.ZodNumber>;
maxDelayMs: z.ZodOptional<z.ZodNumber>;
jitter: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
network: z.ZodOptional<z.ZodObject<{
autoSelectFamily: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
proxy: z.ZodOptional<z.ZodString>;
webhookUrl: z.ZodOptional<z.ZodString>;
webhookSecret: z.ZodOptional<z.ZodString>;
webhookPath: z.ZodOptional<z.ZodString>;
webhookHost: z.ZodOptional<z.ZodString>;
actions: z.ZodOptional<z.ZodObject<{
reactions: z.ZodOptional<z.ZodBoolean>;
sendMessage: z.ZodOptional<z.ZodBoolean>;
deleteMessage: z.ZodOptional<z.ZodBoolean>;
sticker: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
reactionNotifications: z.ZodOptional<z.ZodEnum<{
off: "off";
all: "all";
own: "own";
}>>;
reactionLevel: z.ZodOptional<z.ZodEnum<{
off: "off";
minimal: "minimal";
ack: "ack";
extensive: "extensive";
}>>;
heartbeat: z.ZodOptional<z.ZodObject<{
showOk: z.ZodOptional<z.ZodBoolean>;
showAlerts: z.ZodOptional<z.ZodBoolean>;
useIndicator: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
linkPreview: z.ZodOptional<z.ZodBoolean>;
responsePrefix: z.ZodOptional<z.ZodString>;
ackReaction: z.ZodOptional<z.ZodString>;
}, z.core.$strict>>>>;
}, z.core.$strict>>;
discord: z.ZodOptional<z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
markdown: z.ZodOptional<z.ZodObject<{
tables: z.ZodOptional<z.ZodEnum<{
off: "off";
bullets: "bullets";
code: "code";
}>>;
}, z.core.$strict>>;
enabled: z.ZodOptional<z.ZodBoolean>;
commands: z.ZodOptional<z.ZodObject<{
native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
}, z.core.$strict>>;
configWrites: z.ZodOptional<z.ZodBoolean>;
token: z.ZodOptional<z.ZodString>;
proxy: z.ZodOptional<z.ZodString>;
allowBots: z.ZodOptional<z.ZodBoolean>;
groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>>;
historyLimit: z.ZodOptional<z.ZodNumber>;
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
historyLimit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>>>;
textChunkLimit: z.ZodOptional<z.ZodNumber>;
chunkMode: z.ZodOptional<z.ZodEnum<{
newline: "newline";
length: "length";
}>>;
blockStreaming: z.ZodOptional<z.ZodBoolean>;
blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
minChars: z.ZodOptional<z.ZodNumber>;
maxChars: z.ZodOptional<z.ZodNumber>;
idleMs: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
streamMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
off: "off";
partial: "partial";
block: "block";
}>>>;
draftChunk: z.ZodOptional<z.ZodObject<{
minChars: z.ZodOptional<z.ZodNumber>;
maxChars: z.ZodOptional<z.ZodNumber>;
breakPreference: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"paragraph">, z.ZodLiteral<"newline">, z.ZodLiteral<"sentence">]>>;
}, z.core.$strict>>;
maxLinesPerMessage: z.ZodOptional<z.ZodNumber>;
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
retry: z.ZodOptional<z.ZodObject<{
attempts: z.ZodOptional<z.ZodNumber>;
minDelayMs: z.ZodOptional<z.ZodNumber>;
maxDelayMs: z.ZodOptional<z.ZodNumber>;
jitter: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
actions: z.ZodOptional<z.ZodObject<{
reactions: z.ZodOptional<z.ZodBoolean>;
stickers: z.ZodOptional<z.ZodBoolean>;
emojiUploads: z.ZodOptional<z.ZodBoolean>;
stickerUploads: z.ZodOptional<z.ZodBoolean>;
polls: z.ZodOptional<z.ZodBoolean>;
permissions: z.ZodOptional<z.ZodBoolean>;
messages: z.ZodOptional<z.ZodBoolean>;
threads: z.ZodOptional<z.ZodBoolean>;
pins: z.ZodOptional<z.ZodBoolean>;
search: z.ZodOptional<z.ZodBoolean>;
memberInfo: z.ZodOptional<z.ZodBoolean>;
roleInfo: z.ZodOptional<z.ZodBoolean>;
roles: z.ZodOptional<z.ZodBoolean>;
channelInfo: z.ZodOptional<z.ZodBoolean>;
voiceStatus: z.ZodOptional<z.ZodBoolean>;
events: z.ZodOptional<z.ZodBoolean>;
moderation: z.ZodOptional<z.ZodBoolean>;
channels: z.ZodOptional<z.ZodBoolean>;
presence: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
dmPolicy: z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
pairing: "pairing";
}>>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
defaultTo: z.ZodOptional<z.ZodString>;
dm: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
policy: z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
pairing: "pairing";
}>>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
groupEnabled: z.ZodOptional<z.ZodBoolean>;
groupChannels: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
}, z.core.$strict>>;
guilds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
slug: z.ZodOptional<z.ZodString>;
requireMention: z.ZodOptional<z.ZodBoolean>;
tools: z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>;
toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>>>;
reactionNotifications: z.ZodOptional<z.ZodEnum<{
off: "off";
all: "all";
allowlist: "allowlist";
own: "own";
}>>;
users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
channels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodBoolean>;
requireMention: z.ZodOptional<z.ZodBoolean>;
tools: z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>;
toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>>>;
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
enabled: z.ZodOptional<z.ZodBoolean>;
users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
systemPrompt: z.ZodOptional<z.ZodString>;
includeThreadStarter: z.ZodOptional<z.ZodBoolean>;
autoThread: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>>>;
}, z.core.$strict>>>>;
heartbeat: z.ZodOptional<z.ZodObject<{
showOk: z.ZodOptional<z.ZodBoolean>;
showAlerts: z.ZodOptional<z.ZodBoolean>;
useIndicator: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
execApprovals: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
approvers: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
agentFilter: z.ZodOptional<z.ZodArray<z.ZodString>>;
sessionFilter: z.ZodOptional<z.ZodArray<z.ZodString>>;
cleanupAfterResolve: z.ZodOptional<z.ZodBoolean>;
target: z.ZodOptional<z.ZodEnum<{
channel: "channel";
dm: "dm";
both: "both";
}>>;
}, z.core.$strict>>;
ui: z.ZodOptional<z.ZodObject<{
components: z.ZodOptional<z.ZodObject<{
accentColor: z.ZodOptional<z.ZodString>;
}, z.core.$strict>>;
}, z.core.$strict>>;
slashCommand: z.ZodOptional<z.ZodObject<{
ephemeral: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
intents: z.ZodOptional<z.ZodObject<{
presence: z.ZodOptional<z.ZodBoolean>;
guildMembers: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
voice: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
autoJoin: z.ZodOptional<z.ZodArray<z.ZodObject<{
guildId: z.ZodString;
channelId: z.ZodString;
}, z.core.$strict>>>;
tts: z.ZodOptional<z.ZodOptional<z.ZodObject<{
auto: z.ZodOptional<z.ZodEnum<{
off: "off";
always: "always";
inbound: "inbound";
tagged: "tagged";
}>>;
enabled: z.ZodOptional<z.ZodBoolean>;
mode: z.ZodOptional<z.ZodEnum<{
all: "all";
final: "final";
}>>;
provider: z.ZodOptional<z.ZodEnum<{
openai: "openai";
elevenlabs: "elevenlabs";
edge: "edge";
}>>;
summaryModel: z.ZodOptional<z.ZodString>;
modelOverrides: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
allowText: z.ZodOptional<z.ZodBoolean>;
allowProvider: z.ZodOptional<z.ZodBoolean>;
allowVoice: z.ZodOptional<z.ZodBoolean>;
allowModelId: z.ZodOptional<z.ZodBoolean>;
allowVoiceSettings: z.ZodOptional<z.ZodBoolean>;
allowNormalization: z.ZodOptional<z.ZodBoolean>;
allowSeed: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
elevenlabs: z.ZodOptional<z.ZodObject<{
apiKey: z.ZodOptional<z.ZodString>;
baseUrl: z.ZodOptional<z.ZodString>;
voiceId: z.ZodOptional<z.ZodString>;
modelId: z.ZodOptional<z.ZodString>;
seed: z.ZodOptional<z.ZodNumber>;
applyTextNormalization: z.ZodOptional<z.ZodEnum<{
off: "off";
auto: "auto";
on: "on";
}>>;
languageCode: z.ZodOptional<z.ZodString>;
voiceSettings: z.ZodOptional<z.ZodObject<{
stability: z.ZodOptional<z.ZodNumber>;
similarityBoost: z.ZodOptional<z.ZodNumber>;
style: z.ZodOptional<z.ZodNumber>;
useSpeakerBoost: z.ZodOptional<z.ZodBoolean>;
speed: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
}, z.core.$strict>>;
openai: z.ZodOptional<z.ZodObject<{
apiKey: z.ZodOptional<z.ZodString>;
model: z.ZodOptional<z.ZodString>;
voice: z.ZodOptional<z.ZodString>;
}, z.core.$strict>>;
edge: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
voice: z.ZodOptional<z.ZodString>;
lang: z.ZodOptional<z.ZodString>;
outputFormat: z.ZodOptional<z.ZodString>;
pitch: z.ZodOptional<z.ZodString>;
rate: z.ZodOptional<z.ZodString>;
volume: z.ZodOptional<z.ZodString>;
saveSubtitles: z.ZodOptional<z.ZodBoolean>;
proxy: z.ZodOptional<z.ZodString>;
timeoutMs: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
prefsPath: z.ZodOptional<z.ZodString>;
maxTextLength: z.ZodOptional<z.ZodNumber>;
timeoutMs: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>>;
}, z.core.$strict>>;
pluralkit: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
token: z.ZodOptional<z.ZodString>;
}, z.core.$strict>>;
responsePrefix: z.ZodOptional<z.ZodString>;
ackReaction: z.ZodOptional<z.ZodString>;
activity: z.ZodOptional<z.ZodString>;
status: z.ZodOptional<z.ZodEnum<{
idle: "idle";
online: "online";
dnd: "dnd";
invisible: "invisible";
}>>;
activityType: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>>;
activityUrl: z.ZodOptional<z.ZodString>;
accounts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
capabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
markdown: z.ZodOptional<z.ZodObject<{
tables: z.ZodOptional<z.ZodEnum<{
off: "off";
bullets: "bullets";
code: "code";
}>>;
}, z.core.$strict>>;
enabled: z.ZodOptional<z.ZodBoolean>;
commands: z.ZodOptional<z.ZodObject<{
native: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
nativeSkills: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
}, z.core.$strict>>;
configWrites: z.ZodOptional<z.ZodBoolean>;
token: z.ZodOptional<z.ZodString>;
proxy: z.ZodOptional<z.ZodString>;
allowBots: z.ZodOptional<z.ZodBoolean>;
groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
}>>>;
historyLimit: z.ZodOptional<z.ZodNumber>;
dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
dms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
historyLimit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>>>;
textChunkLimit: z.ZodOptional<z.ZodNumber>;
chunkMode: z.ZodOptional<z.ZodEnum<{
newline: "newline";
length: "length";
}>>;
blockStreaming: z.ZodOptional<z.ZodBoolean>;
blockStreamingCoalesce: z.ZodOptional<z.ZodObject<{
minChars: z.ZodOptional<z.ZodNumber>;
maxChars: z.ZodOptional<z.ZodNumber>;
idleMs: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
streamMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
off: "off";
partial: "partial";
block: "block";
}>>>;
draftChunk: z.ZodOptional<z.ZodObject<{
minChars: z.ZodOptional<z.ZodNumber>;
maxChars: z.ZodOptional<z.ZodNumber>;
breakPreference: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"paragraph">, z.ZodLiteral<"newline">, z.ZodLiteral<"sentence">]>>;
}, z.core.$strict>>;
maxLinesPerMessage: z.ZodOptional<z.ZodNumber>;
mediaMaxMb: z.ZodOptional<z.ZodNumber>;
retry: z.ZodOptional<z.ZodObject<{
attempts: z.ZodOptional<z.ZodNumber>;
minDelayMs: z.ZodOptional<z.ZodNumber>;
maxDelayMs: z.ZodOptional<z.ZodNumber>;
jitter: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
actions: z.ZodOptional<z.ZodObject<{
reactions: z.ZodOptional<z.ZodBoolean>;
stickers: z.ZodOptional<z.ZodBoolean>;
emojiUploads: z.ZodOptional<z.ZodBoolean>;
stickerUploads: z.ZodOptional<z.ZodBoolean>;
polls: z.ZodOptional<z.ZodBoolean>;
permissions: z.ZodOptional<z.ZodBoolean>;
messages: z.ZodOptional<z.ZodBoolean>;
threads: z.ZodOptional<z.ZodBoolean>;
pins: z.ZodOptional<z.ZodBoolean>;
search: z.ZodOptional<z.ZodBoolean>;
memberInfo: z.ZodOptional<z.ZodBoolean>;
roleInfo: z.ZodOptional<z.ZodBoolean>;
roles: z.ZodOptional<z.ZodBoolean>;
channelInfo: z.ZodOptional<z.ZodBoolean>;
voiceStatus: z.ZodOptional<z.ZodBoolean>;
events: z.ZodOptional<z.ZodBoolean>;
moderation: z.ZodOptional<z.ZodBoolean>;
channels: z.ZodOptional<z.ZodBoolean>;
presence: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
replyToMode: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"off">, z.ZodLiteral<"first">, z.ZodLiteral<"all">]>>;
dmPolicy: z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
pairing: "pairing";
}>>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
defaultTo: z.ZodOptional<z.ZodString>;
dm: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
policy: z.ZodOptional<z.ZodEnum<{
open: "open";
disabled: "disabled";
allowlist: "allowlist";
pairing: "pairing";
}>>;
allowFrom: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
groupEnabled: z.ZodOptional<z.ZodBoolean>;
groupChannels: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
}, z.core.$strict>>;
guilds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
slug: z.ZodOptional<z.ZodString>;
requireMention: z.ZodOptional<z.ZodBoolean>;
tools: z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>;
toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>>>;
reactionNotifications: z.ZodOptional<z.ZodEnum<{
off: "off";
all: "all";
allowlist: "allowlist";
own: "own";
}>>;
users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
channels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodBoolean>;
requireMention: z.ZodOptional<z.ZodBoolean>;
tools: z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>;
toolsBySender: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
allow: z.ZodOptional<z.ZodArray<z.ZodString>>;
alsoAllow: z.ZodOptional<z.ZodArray<z.ZodString>>;
deny: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>>>;
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
enabled: z.ZodOptional<z.ZodBoolean>;
users: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
systemPrompt: z.ZodOptional<z.ZodString>;
includeThreadStarter: z.ZodOptional<z.ZodBoolean>;
autoThread: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>>>;
}, z.core.$strict>>>>;
heartbeat: z.ZodOptional<z.ZodObject<{
showOk: z.ZodOptional<z.ZodBoolean>;
showAlerts: z.ZodOptional<z.ZodBoolean>;
useIndicator: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
execApprovals: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
approvers: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]> & z.ZodType<string, string | number, z.core.$ZodTypeInternals<string, string | number>>>>;
agentFilter: z.ZodOptional<z.ZodArray<z.ZodString>>;
sessionFilter: z.ZodOptional<z.ZodArray<z.ZodString>>;
cleanupAfterResolve: z.ZodOptional<z.ZodBoolean>;
target: z.ZodOptional<z.ZodEnum<{
channel: "channel";
dm: "dm";
both: "both";
}>>;
}, z.core.$strict>>;
ui: z.ZodOptional<z.ZodObject<{
components: z.ZodOptional<z.ZodObject<{
accentColor: z.ZodOptional<z.ZodString>;
}, z.core.$strict>>;
}, z.core.$strict>>;
slashCommand: z.ZodOptional<z.ZodObject<{
ephemeral: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
intents: z.ZodOptional<z.ZodObject<{
presence: z.ZodOptional<z.ZodBoolean>;
guildMembers: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
voice: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
autoJoin: z.ZodOptional<z.ZodArray<z.ZodObject<{
guildId: z.ZodString;
channelId: z.ZodString;
}, z.core.$strict>>>;
tts: z.ZodOptional<z.ZodOptional<z.ZodObject<{
auto: z.ZodOptional<z.ZodEnum<{
off: "off";
always: "always";
inbound: "inbound";
tagged: "tagged";
}>>;
enabled: z.ZodOptional<z.ZodBoolean>;
mode: z.ZodOptional<z.ZodEnum<{
all: "all";
final: "final";
}>>;
provider: z.ZodOptional<z.ZodEnum<{
openai: "openai";
elevenlabs: "elevenlabs";
edge: "edge";
}>>;
summaryModel: z.ZodOptional<z.ZodString>;
modelOverrides: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;
allowText: z.ZodOptional<z.ZodBoolean>;
allowProvider: z.ZodOptional<z.ZodBoolean>;
allowVoice: z.ZodOptional<z.ZodBoolean>;
allowModelId: z.ZodOptional<z.ZodBoolean>;
allowVoiceSettings: z.ZodOptional<z.ZodBoolean>;
allowNormalization: z.ZodOptional<z.ZodBoolean>;
allowSeed: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>>;
elevenlabs: z.ZodOptional<z.ZodObject<{
apiKey: z.ZodOptional<z.ZodString>;
baseUrl: z.ZodOptional<z.ZodString>;
voiceId: z.ZodOptional<z.ZodString>;
modelId: z.ZodOptional<z.ZodString>;
seed: z.ZodOptional<z.ZodNumber>;
applyTextNormalization: z.ZodOptional<z.ZodEnum<{
off: "off";
auto: "auto";
on: "on";
}>>;
languageCode: z.ZodOptional<z.ZodString>;
voiceSettings: z.ZodOptional<z.ZodObject<{
stability: z.ZodOptional<z.ZodNumber>;
similarityBoost: z.ZodOptional<z.ZodNumber>;
style: z.ZodOptional<z.ZodNumber>;
useSpeakerBoost: z.ZodOptional<z.ZodBoolean>;
speed: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>>;
}, z.core.$strict>>;
openai: z.ZodOptional<z.ZodObject<{
apiKey: z.ZodOptional<z.ZodString>;
model: z.ZodOptional<z.ZodString>;
voice: z.ZodOptional<z.ZodString>;
}, z.core.$strict>>;
edge: z.ZodOptional<z.ZodObject<{
enabled: z.ZodOptional<z.ZodBoolean>;