Bot
Interfaces
Interfaces
ConfigureOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
reset | boolean | undefined | No | |
show | boolean | undefined | No | |
set | string | undefined | No |
DoctorOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
fix | boolean | undefined | No | |
verbose | boolean | undefined | No |
GatewayOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
port | string | undefined | No | |
host | string | undefined | No | |
force | boolean | undefined | No | |
verbose | boolean | undefined | No | |
daemon | boolean | undefined | No |
InstallOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
component | string | undefined | No | |
force | boolean | undefined | No | |
skip | string[] | undefined | No | |
dev | boolean | undefined | No | |
docker | boolean | undefined | No |
LogsOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
follow | boolean | undefined | No | |
lines | string | undefined | No | |
channel | string | undefined | No |
MessageOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
channel | string | undefined | No | |
group | string | undefined | No |
StatusOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
json | boolean | undefined | No | |
all | boolean | undefined | No | |
deep | boolean | undefined | No |
WizardOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
quick | boolean | undefined | No |
FlowStateBotConfig
Configuration Types
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
version | string | Yes | Configuration version |
server | ServerConfig | undefined | No | Server configuration |
auth | AuthConfig | undefined | No | Authentication configuration |
agents | AgentConfig | undefined | No | Agent configuration |
database | DatabaseConfig | undefined | No | Database configuration |
logging | LoggingConfig | undefined | No | Logging configuration |
channels | ChannelsConfig | undefined | No | Channel configurations |
ChannelsConfig
Channels configuration
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
signal | SignalChannelConfig | undefined | No | Signal messenger configuration |
SignalChannelConfig
Signal channel configuration
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
enabled | boolean | undefined | No | Enable Signal channel |
account | string | undefined | No | Signal account phone number (E.164 format) |
cliPath | string | undefined | No | Path to signal-cli executable |
httpUrl | string | undefined | No | HTTP URL if running signal-cli daemon externally |
autoStart | boolean | undefined | No | Auto-start signal-cli daemon |
httpHost | string | undefined | No | HTTP host for signal-cli daemon |
httpPort | number | undefined | No | HTTP port for signal-cli daemon |
dmPolicy | "open" | "pairing" | "allowlist" | undefined | No | DM policy: 'open' | 'pairing' | 'allowlist' |
groupPolicy | "open" | "allowlist" | "disabled" | undefined | No | Group policy: 'open' | 'allowlist' | 'disabled' |
allowFrom | string[] | undefined | No | Allowed senders (phone numbers or UUIDs) |
groupAllowFrom | string[] | undefined | No | Allowed group senders |
mediaMaxMb | number | undefined | No | Maximum media size in MB |
sendReadReceipts | boolean | undefined | No | Send read receipts |
ServerConfig
Server configuration
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
host | string | undefined | No | Server host |
port | number | undefined | No | Server port |
https | boolean | undefined | No | Enable HTTPS |
certPath | string | undefined | No | SSL certificate path |
keyPath | string | undefined | No | SSL key path |
AuthConfig
Authentication configuration
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
provider | string | undefined | No | Auth provider type |
jwtSecret | string | undefined | No | JWT secret (for JWT auth) |
tokenExpiry | string | undefined | No | Token expiration time |
oauth | OAuthConfig | undefined | No | OAuth configuration |
OAuthConfig
OAuth configuration
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
provider | string | undefined | No | OAuth provider |
clientId | string | undefined | No | Client ID |
clientSecret | string | undefined | No | Client secret |
redirectUri | string | undefined | No | Redirect URI |
AgentConfig
Agent configuration
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
enabled | boolean | undefined | No | Enable agents |
defaultModel | string | undefined | No | Default AI model |
apiKey | string | undefined | No | API key for AI provider |
maxTokens | number | undefined | No | Maximum tokens per request |
temperature | number | undefined | No | Temperature for AI responses |
DatabaseConfig
Database configuration
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "rxdb" | "surrealdb" | "sqlite" | undefined | No | Database type |
url | string | undefined | No | Connection URL |
name | string | undefined | No | Database name |
sync | boolean | undefined | No | Enable sync |
LoggingConfig
Logging configuration
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
level | "debug" | "info" | "warn" | "error" | undefined | No | Log level |
format | "text" | "json" | undefined | No | Log format |
filePath | string | undefined | No | Log file path |
GatewayConfig
Gateway configuration
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
host | string | undefined | No | Server host |
port | number | undefined | No | Server port |
httpEnabled | boolean | undefined | No | Enable HTTP API |
wsEnabled | boolean | undefined | No | Enable WebSocket |
channels | { signal?: SignalChannelConfig; } | undefined | No | Channels to enable |
agents | { enabled?: boolean; defaultModel?: string; } | undefined | No | Agent configuration |
GatewayState
Gateway state
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
running | boolean | Yes | Gateway is running |
startedAt | Date | undefined | No | Start time |
activeChannels | string[] | Yes | Active channels |
connectedClients | number | Yes | Connected clients |
messagesProcessed | number | Yes | Messages processed |
InboundMessage
Inbound message from any channel
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique message ID |
channel | "signal" | "telegram" | "discord" | "web" | Yes | Source channel |
sender | string | Yes | Sender identifier |
senderName | string | undefined | No | Sender display name |
text | string | undefined | No | Message text |
timestamp | number | Yes | Timestamp |
threadId | string | undefined | No | Thread/conversation ID |
group | { id: string; name?: string; } | undefined | No | Group info (for group messages) |
replyTo | string | undefined | No | Reply-to message ID |
attachments | { type: string; url?: string; data?: string; filename?: string; }[] | undefined | No | Attachments |
raw | unknown | No | Original raw message |
OutboundMessage
Outbound message to send
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
channel | "signal" | "telegram" | "discord" | "web" | Yes | Target channel |
recipient | string | Yes | Recipient identifier |
text | string | Yes | Message text |
replyTo | string | undefined | No | Reply-to message ID |
attachments | { type: string; data: string; filename?: string; }[] | undefined | No | Attachments |
AgentConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
model | string | undefined | No | AI model to use |
systemPrompt | string | undefined | No | System prompt |
enableMCPTools | boolean | undefined | No | Enable MCP tools |
enableCLITools | boolean | undefined | No | Enable CLI tools |
enableLLM | boolean | undefined | No | Enable LLM for responses |
maxResponseLength | number | undefined | No | Max response length |
apiKey | string | undefined | No | API key for LLM |
sessionStore | SessionStore | undefined | No | Session store for persistence (optional - creates default if not provided) |
sessionsDir | string | undefined | No | Sessions directory path |
AgentContext
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
history | LLMMessage[] | Yes | Conversation history |
user | { id: string; name?: string; } | Yes | User info |
channel | string | Yes | Channel info |
threadId | string | undefined | No | Thread/conversation ID |
CLICommandResult
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Yes | |
output | string | undefined | No | |
error | string | undefined | No | |
exitCode | number | Yes |
CLICommandOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
cwd | string | undefined | No | |
timeout | number | undefined | No | |
env | Record<string, string> | undefined | No |
Message
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
role | "user" | "assistant" | Yes | |
content | string | Yes |
LLMClientConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
apiKey | string | undefined | No | |
model | string | undefined | No | |
maxTokens | number | undefined | No | |
temperature | number | undefined | No | |
systemPrompt | string | undefined | No |
LLMResponse
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Yes | |
content | string | undefined | No | |
error | string | undefined | No | |
usage | { inputTokens: number; outputTokens: number; } | undefined | No | |
stopReason | string | undefined | No |
MCPToolCall
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
name | string | Yes | |
arguments | Record<string, unknown> | Yes |
MCPToolResult
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
success | boolean | Yes | |
content | unknown | No | |
error | string | undefined | No |
MCPClientConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
baseUrl | string | undefined | No | |
authToken | string | undefined | No | |
timeout | number | undefined | No |
HybridMergeParams
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
vector | VectorResult[] | Yes | |
keyword | KeywordResult[] | Yes | |
vectorWeight | number | Yes | |
textWeight | number | Yes | |
maxResults | number | undefined | No | |
minScore | number | undefined | No |
Chunk
Memory module types for hybrid search
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique hash of content |
path | string | Yes | Source file path |
startLine | number | Yes | Starting line number |
endLine | number | Yes | Ending line number |
content | string | Yes | Raw content |
snippet | string | Yes | Preview snippet |
embedding | number[] | undefined | No | Vector embedding (if computed) |
SearchResult
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Chunk ID |
path | string | Yes | Source file path |
startLine | number | Yes | Line range |
endLine | number | Yes | |
snippet | string | Yes | Content snippet |
score | number | Yes | Combined score (0-1) |
scores | { vector: number; text: number; } | Yes | Individual scores for debugging |
VectorResult
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
path | string | Yes | |
startLine | number | Yes | |
endLine | number | Yes | |
snippet | string | Yes | |
score | number | Yes |
KeywordResult
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
path | string | Yes | |
startLine | number | Yes | |
endLine | number | Yes | |
snippet | string | Yes | |
score | number | Yes |
MemoryManagerConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
workspaceDir | string | Yes | Workspace directory to index |
sources | ("memory" | "docs" | "sessions")[] | Yes | Sources to include |
dbPath | string | undefined | No | Database path |
embedding | { provider: "openai" | "local"; model?: string; apiKey?: string; cacheEnabled: boolean; } | Yes | Embedding configuration |
search | { vectorWeight: number; textWeight: number; maxResults: number; minScore: number; } | Yes | Search configuration |
IndexStats
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
totalChunks | number | Yes | |
totalFiles | number | Yes | |
embeddingsCached | number | Yes | |
lastIndexed | Date | null | Yes | |
sources | Record<string, number> | Yes |
BaseSessionEntry
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | SessionEntryType | Yes | |
id | string | Yes | |
timestamp | string | Yes |
UserEntry
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "user" | Yes | |
sender | string | Yes | |
senderName | string | undefined | No | |
text | string | Yes | |
attachments | { type: string; url?: string; path?: string; }[] | undefined | No |
AssistantEntry
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "assistant" | Yes | |
text | string | Yes | |
model | string | undefined | No | |
usage | { inputTokens?: number; outputTokens?: number; } | undefined | No |
ToolCallEntry
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "tool_call" | Yes | |
name | string | Yes | |
input | Record<string, unknown> | Yes |
ToolResultEntry
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "tool_result" | Yes | |
output | string | Yes | |
error | string | undefined | No |
SystemEntry
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "system" | Yes | |
event | string | Yes | |
data | Record<string, unknown> | undefined | No |
CompactionEntry
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "compaction" | Yes | |
summary | string | Yes | |
entriesCompacted | number | Yes | |
tokensEstimate | number | undefined | No |
SessionMetadata
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
sessionKey | string | Yes | |
channel | string | Yes | |
identifier | string | Yes | |
displayName | string | undefined | No | |
createdAt | string | Yes | |
lastActiveAt | string | Yes | |
messageCount | number | Yes | |
filePath | string | Yes |
SessionManifest
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
version | 1 | Yes | |
sessions | Record<string, SessionMetadata> | Yes |
Result
Common result type for async operations
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
ok | boolean | Yes | |
value | T | undefined | No | |
error | E | undefined | No |
LoadDotEnvOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
quiet | boolean | undefined | No | |
paths | string[] | undefined | No |
DiscordAgentConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
client | DiscordClient | Yes | Discord client instance |
discordConfig | DiscordConfig | Yes | Discord config |
sessionsDir | string | Yes | Base directory for session storage |
workspaceDir | string | Yes | Workspace directory for memory |
agent | { model?: string; maxTokens?: number; temperature?: number; apiKey?: string; systemPrompt?: string; } | Yes | Agent configuration |
memory | { enabled: boolean; contextChunks?: number; } | undefined | No | Memory configuration |
subAgents | { perChannel?: boolean; perThread?: boolean; maxConcurrent?: number; } | undefined | No | Sub-agent configuration |
DiscordSession
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Session ID (derived from channel/thread) |
channelId | string | Yes | Channel ID |
threadId | string | undefined | No | Thread ID (if in thread) |
guildId | string | undefined | No | Guild ID |
type | "dm" | "channel" | "thread" | Yes | Session type |
createdAt | Date | Yes | Created timestamp |
lastActivityAt | Date | Yes | Last activity |
messageCount | number | Yes | Message count |
tokensUsed | number | Yes | Token usage |
DiscordMessage
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
role | "user" | "assistant" | "system" | Yes | |
content | string | Yes | |
authorId | string | undefined | No | |
authorName | string | undefined | No | |
timestamp | Date | Yes | |
messageId | string | undefined | No |
DiscordGatewayConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
token | string | Yes | Discord bot token |
clientId | string | undefined | No | Application/Client ID |
dmPolicy | "open" | "allowlist" | "disabled" | undefined | No | DM policy |
dmAllowlist | string[] | undefined | No | Allowed user IDs for DMs |
guildPolicy | "open" | "allowlist" | "disabled" | undefined | No | Guild policy |
guildAllowlist | string[] | undefined | No | Allowed guild IDs |
triggers | { alwaysDm?: boolean; onMention?: boolean; prefix?: string; pattern?: RegExp; } | undefined | No | Trigger patterns (regex) for when to respond |
agent | { model?: string; maxTokens?: number; temperature?: number; apiKey?: string; systemPrompt?: string; } | Yes | Agent configuration |
memory | { enabled: boolean; contextChunks?: number; } | undefined | No | Memory configuration |
subAgents | { perChannel?: boolean; perThread?: boolean; maxConcurrent?: number; } | undefined | No | Sub-agent configuration |
sessionsDir | string | Yes | Sessions storage directory |
workspaceDir | string | Yes | Workspace directory |
showTyping | boolean | undefined | No | Typing indicator while processing |
processingReaction | string | undefined | No | Reaction to add when processing |
completeReaction | string | undefined | No | Reaction to add when complete |
DiscordGatewayState
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
connected | boolean | Yes | |
ready | boolean | Yes | |
botUser | { id: string; username: string; tag: string; } | undefined | No | |
guilds | number | Yes | |
activeSessions | number | Yes | |
messagesProcessed | number | Yes | |
startedAt | Date | undefined | No | |
uptime | number | undefined | No |
DiscordMonitorConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
client | DiscordClient | Yes | |
config | DiscordConfig | Yes | |
onMessage | ((message: DiscordInboundMessage) => void | Promise<void>) | undefined | No | |
onEvent | ((event: DiscordEvent) => void | Promise<void>) | undefined | No |
DiscordConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
token | string | Yes | Discord bot token |
clientId | string | undefined | No | Application/Client ID |
defaultGuildId | string | undefined | No | Default guild ID for commands |
intents | DiscordIntent[] | undefined | No | Intents to enable |
presence | DiscordPresence | undefined | No | Bot presence settings |
dmPolicy | "open" | "allowlist" | "disabled" | undefined | No | DM policy |
dmAllowlist | string[] | undefined | No | Allowed user IDs for DMs |
guildPolicy | "open" | "allowlist" | "disabled" | undefined | No | Guild policy |
guildAllowlist | string[] | undefined | No | Allowed guild IDs |
DiscordPresence
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
status | "online" | "idle" | "dnd" | "invisible" | undefined | No | |
activities | { name: string; type: "Playing" | "Streaming" | "Listening" | "Watching" | "Competing"; url?: string; }[] | undefined | No |
DiscordInboundMessage
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Message ID |
channelId | string | Yes | Channel ID |
guildId | string | null | Yes | Guild ID (null for DMs) |
author | { id: string; username: string; discriminator: string; bot: boolean; displayName?: string; } | Yes | Author info |
content | string | Yes | Message content |
timestamp | Date | Yes | Timestamp |
isDM | boolean | Yes | Whether this is a DM |
attachments | DiscordAttachment[] | Yes | Attachments |
embeds | DiscordEmbed[] | Yes | Embeds |
reference | { messageId: string; channelId: string; guildId?: string; } | undefined | No | Referenced message (if reply) |
raw | Message<boolean> | Yes | Raw discord.js Message object |
DiscordAttachment
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
url | string | Yes | |
filename | string | Yes | |
contentType | string | undefined | No | |
size | number | Yes |
DiscordEmbed
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
title | string | undefined | No | |
description | string | undefined | No | |
url | string | undefined | No | |
color | number | undefined | No | |
fields | { name: string; value: string; inline?: boolean; }[] | undefined | No | |
thumbnail | { url: string; } | undefined | No | |
image | { url: string; } | undefined | No | |
footer | { text: string; iconUrl?: string; } | undefined | No | |
author | { name: string; url?: string; iconUrl?: string; } | undefined | No |
DiscordSendOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
channelId | string | Yes | Channel ID to send to |
content | string | undefined | No | Message content |
embeds | DiscordEmbed[] | undefined | No | Embeds to include |
files | { name: string; data: Buffer | string; }[] | undefined | No | Files to attach |
replyTo | string | undefined | No | Message to reply to |
components | unknown[] | undefined | No | Components (buttons, selects) |
mentionRepliedUser | boolean | undefined | No | Whether to mention the replied user |
GuildInfo
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
name | string | Yes | |
icon | string | undefined | No | |
ownerId | string | Yes | |
memberCount | number | Yes | |
channels | ChannelInfo[] | Yes | |
roles | RoleInfo[] | Yes | |
emojis | EmojiInfo[] | Yes |
ChannelInfo
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
name | string | Yes | |
type | "text" | "voice" | "category" | "announcement" | "forum" | "stage" | "unknown" | Yes | |
parentId | string | undefined | No | |
position | number | Yes | |
topic | string | undefined | No |
RoleInfo
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
name | string | Yes | |
color | number | Yes | |
position | number | Yes | |
permissions | string | Yes | |
mentionable | boolean | Yes | |
managed | boolean | Yes | |
memberCount | number | undefined | No |
EmojiInfo
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
name | string | Yes | |
animated | boolean | Yes | |
available | boolean | Yes |
MemberInfo
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
username | string | Yes | |
displayName | string | Yes | |
nickname | string | undefined | No | |
roles | string[] | Yes | |
joinedAt | Date | undefined | No | |
avatar | string | undefined | No | |
bot | boolean | Yes |
CreateChannelOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
guildId | string | Yes | |
name | string | Yes | |
type | "text" | "voice" | "category" | "announcement" | "forum" | "stage" | Yes | |
parentId | string | undefined | No | |
topic | string | undefined | No | |
position | number | undefined | No | |
rateLimitPerUser | number | undefined | No | |
nsfw | boolean | undefined | No | |
permissionOverwrites | PermissionOverwrite[] | undefined | No |
PermissionOverwrite
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
type | "role" | "member" | Yes | |
allow | PermissionResolvable[] | Yes | |
deny | PermissionResolvable[] | Yes |
CreateRoleOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
guildId | string | Yes | |
name | string | Yes | |
color | string | number | undefined | No | |
permissions | PermissionResolvable[] | undefined | No | |
hoist | boolean | undefined | No | |
mentionable | boolean | undefined | No | |
position | number | undefined | No |
ModifyMemberOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
guildId | string | Yes | |
userId | string | Yes | |
nickname | string | undefined | No | |
roles | string[] | undefined | No | |
mute | boolean | undefined | No | |
deaf | boolean | undefined | No | |
channelId | string | null | undefined | No | |
communicationDisabledUntil | Date | null | undefined | No |
DiscordEvent
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | DiscordEventType | Yes | |
timestamp | Date | Yes | |
guildId | string | undefined | No | |
channelId | string | undefined | No | |
userId | string | undefined | No | |
data | unknown | Yes |
SlashCommand
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
name | string | Yes | |
description | string | Yes | |
options | SlashCommandOption[] | undefined | No | |
defaultMemberPermissions | PermissionResolvable | undefined | No | |
dmPermission | boolean | undefined | No |
SlashCommandOption
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
name | string | Yes | |
description | string | Yes | |
type | "string" | "number" | "boolean" | "user" | "channel" | "role" | "integer" | "mentionable" | "attachment" | Yes | |
required | boolean | undefined | No | |
choices | { name: string; value: string | number; }[] | undefined | No | |
autocomplete | boolean | undefined | No |
DiscordClientState
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
connected | boolean | Yes | |
ready | boolean | Yes | |
user | { id: string; username: string; tag: string; } | undefined | No | |
guilds | number | Yes | |
uptime | number | undefined | No | |
ping | number | undefined | No |
SignalClientOptions
Signal RPC client options
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
baseUrl | string | Yes | |
timeoutMs | number | undefined | No |
SignalDaemonOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
cliPath | string | undefined | No | Path to signal-cli executable |
httpHost | string | undefined | No | HTTP host to bind to |
httpPort | number | undefined | No | HTTP port to bind to |
account | string | undefined | No | Account to use |
startupTimeoutMs | number | undefined | No | Startup timeout in milliseconds |
onExit | ((code: number | null, signal: string | null) => void) | undefined | No | Callback when daemon exits |
SignalMonitorOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
config | SignalChannelConfig | Yes | |
onMessage | (message: SignalInboundMessage) => void | Promise<void> | Yes | |
onTyping | ((sender: string, isTyping: boolean, groupId?: string) => void) | undefined | No | |
onReceipt | ((sender: string, timestamps: number[], type: string) => void) | undefined | No | |
onError | ((error: Error) => void) | undefined | No |
SendMessageOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
account | string | Yes | Signal account to send from |
chunkMessages | boolean | undefined | No | Chunk long messages |
chunkLimit | number | undefined | No | Maximum characters per chunk |
SignalChannelConfig
Signal Channel Types
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
enabled | boolean | undefined | No | Enable Signal channel |
account | string | Yes | Signal account phone number (E.164 format) |
cliPath | string | undefined | No | Path to signal-cli executable |
httpUrl | string | undefined | No | HTTP URL if running signal-cli daemon externally |
autoStart | boolean | undefined | No | Auto-start signal-cli daemon |
startupTimeoutMs | number | undefined | No | Startup timeout in milliseconds |
httpHost | string | undefined | No | HTTP host for signal-cli daemon |
httpPort | number | undefined | No | HTTP port for signal-cli daemon |
dmPolicy | "open" | "pairing" | "allowlist" | undefined | No | DM policy: 'open' | 'pairing' | 'allowlist' |
groupPolicy | "open" | "allowlist" | "disabled" | undefined | No | Group policy: 'open' | 'allowlist' | 'disabled' |
allowFrom | string[] | undefined | No | Allowed senders (phone numbers or UUIDs) |
groupAllowFrom | string[] | undefined | No | Allowed group senders |
mediaMaxMb | number | undefined | No | Maximum media size in MB |
textChunkLimit | number | undefined | No | Text chunk limit |
ignoreAttachments | boolean | undefined | No | Ignore attachments |
sendReadReceipts | boolean | undefined | No | Send read receipts |
historyLimit | number | undefined | No | History limit for group context |
SignalRpcError
Signal RPC error
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
code | number | undefined | No | |
message | string | undefined | No | |
data | unknown | No |
SignalRpcResponse
Signal RPC response
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
jsonrpc | string | undefined | No | |
result | T | undefined | No | |
error | SignalRpcError | undefined | No | |
id | string | number | null | undefined | No |
SignalSseEvent
Signal SSE event
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
event | string | undefined | No | |
data | string | undefined | No | |
id | string | undefined | No |
SignalEnvelope
Signal message envelope
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
source | string | undefined | No | |
sourceNumber | string | undefined | No | |
sourceUuid | string | undefined | No | |
sourceName | string | undefined | No | |
sourceDevice | number | undefined | No | |
timestamp | number | undefined | No | |
dataMessage | SignalDataMessage | undefined | No | |
syncMessage | SignalSyncMessage | undefined | No | |
typingMessage | SignalTypingMessage | undefined | No | |
receiptMessage | SignalReceiptMessage | undefined | No |
SignalDataMessage
Signal data message
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
timestamp | number | undefined | No | |
message | string | undefined | No | |
expiresInSeconds | number | undefined | No | |
viewOnce | boolean | undefined | No | |
groupInfo | SignalGroupInfo | undefined | No | |
attachments | SignalAttachment[] | undefined | No | |
quote | SignalQuote | undefined | No | |
reaction | SignalReaction | undefined | No | |
mentions | SignalMention[] | undefined | No |
SignalSyncMessage
Signal sync message
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
sentMessage | (SignalDataMessage & { destination?: string; destinationNumber?: string; destinationUuid?: string; }) | undefined | No |
SignalTypingMessage
Signal typing message
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
action | "STARTED" | "STOPPED" | undefined | No | |
timestamp | number | undefined | No | |
groupId | string | undefined | No |
SignalReceiptMessage
Signal receipt message
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "DELIVERY" | "READ" | "VIEWED" | undefined | No | |
timestamps | number[] | undefined | No |
SignalGroupInfo
Signal group info
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
groupId | string | undefined | No | |
groupName | string | undefined | No | |
type | "UPDATE" | "DELIVER" | "QUIT" | undefined | No | |
members | string[] | undefined | No |
SignalAttachment
Signal attachment
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | undefined | No | |
contentType | string | undefined | No | |
filename | string | undefined | No | |
size | number | undefined | No | |
width | number | undefined | No | |
height | number | undefined | No | |
caption | string | undefined | No |
SignalQuote
Signal quote (reply)
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | number | undefined | No | |
author | string | undefined | No | |
authorUuid | string | undefined | No | |
text | string | undefined | No | |
attachments | SignalAttachment[] | undefined | No |
SignalReaction
Signal reaction
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
emoji | string | undefined | No | |
targetAuthor | string | undefined | No | |
targetAuthorUuid | string | undefined | No | |
targetSentTimestamp | number | undefined | No | |
isRemove | boolean | undefined | No |
SignalMention
Signal mention
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
start | number | undefined | No | |
length | number | undefined | No | |
uuid | string | undefined | No |
SignalInboundMessage
Normalized inbound message
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Message ID (timestamp) |
sender | string | Yes | Sender phone number |
senderUuid | string | undefined | No | Sender UUID |
senderName | string | undefined | No | Sender display name |
text | string | undefined | No | Message text |
timestamp | number | Yes | Timestamp |
group | { id: string; name?: string; } | undefined | No | Group info if group message |
attachments | SignalAttachment[] | undefined | No | Attachments |
isReaction | boolean | undefined | No | Is this a reaction |
reaction | SignalReaction | undefined | No | Reaction details |
quote | SignalQuote | undefined | No | Quote/reply info |
SignalSendOptions
Signal send options
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
recipient | string | Yes | Recipient phone number or group ID |
message | string | Yes | Message text |
attachments | string[] | undefined | No | Attachments to send |
quoteTimestamp | number | undefined | No | Quote a message |
quoteAuthor | string | undefined | No | |
quoteMessage | string | undefined | No | |
mentions | SignalMention[] | undefined | No | Mentions |
EmbeddingProvider
Embedding provider abstraction
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Provider name |
model | string | Yes | Model being used |
dimensions | number | Yes | Embedding dimensions |
EmbeddingProviderConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
provider | "openai" | "local" | Yes | |
model | string | undefined | No | |
apiKey | string | undefined | No | |
baseUrl | string | undefined | No |
ChunkerOptions
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
maxTokens | number | Yes | Maximum tokens per chunk (approximate) |
overlapTokens | number | Yes | Overlap tokens between chunks |
charsPerToken | number | Yes | Characters per token estimate |
SqliteStorageConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
dbPath | string | Yes | |
embeddingDimensions | number | undefined | No |