import { ToolCallResult } from "../extensions"; export declare const MESSAGE_TABLE = "yesimbot.message"; export declare const MEMORY_TABLE = "yesimbot.memory_block"; export declare const INTERACTION_TABLE = "yesimbot.interaction"; export declare const LAST_REPLY_TABLE = "yesimbot.last_reply"; export declare const IMAGE_TABLE = "yesimbot.image"; declare module "koishi" { interface Tables { [MESSAGE_TABLE]: ChatMessage; [MEMORY_TABLE]: MemoryBlockData; [INTERACTION_TABLE]: Interaction; [LAST_REPLY_TABLE]: { channelId: string; timestamp: Date; }; [IMAGE_TABLE]: ImageData; } } export interface ChatMessage { messageId: string; sender: { id: string; name: string; nick: string; }; channel: { id: string; type: "private" | "guild" | "sandbox"; }; timestamp: Date; content: string; } export interface Interaction { id: string; type: "tool_call" | "tool_result"; emitter: string; emitter_channel_id: string; functionName: string; toolParams?: Record; toolResult?: ToolCallResult; life: number; timestamp: Date; } export interface ImageData { id: string; mimeType: string; base64?: string; summary: string; desc?: string; size: number; timestamp: Date; } export interface MemoryBlockData { id: string; label: string; content: string[]; limit: number; }