import { Computed, Schema } from "koishi"; import { ModelSetting, Provider } from "./adapters/config"; import { ToolManagerConfig } from "./extensions"; import { PromptBuilderConfig } from "./prompt/PromptBuilder"; import { MultimodalConfig } from "./services/scenario/Scenario"; interface BlockConfig { Limit?: number; FilePathToBind: string; } export interface Config { Memory: { Block: Record; UseModel?: [number, number]; Compression: { CompressionWhen?: "Lines" | "Characters" | "IntervalMessages" | "IntervalMinutes"; Lines?: number; Characters?: number; IntervalMessages?: number; IntervalMinutes?: number; CustomPrompt?: string; CompressibleBlocks?: string[]; }; Backup: { Enabled: boolean; BackupPath: string; }; }; MemorySlot: { SlotContains: string[][]; SlotSize: number; AtReactPossibility?: number | Computed; IncreaseWillingnessOn: { Message: number; At: number; }; Threshold: number; MessageWaitTime: number; SameUserThreshold: number; }; Provider: Provider[]; ModelSetting: ModelSetting; Chat: { UseModel: [number, number][]; MaxHeartbeat: number; WordsPerSecond: number; }; ImageViewer: { UseModel?: [number, number]; CustomPrompt?: string; }; ToolManagerConfig: ToolManagerConfig; ToolCall: { MaxRetry: number; Life: number; }; Task: {}; Multimodal: MultimodalConfig; PromptTemplate: PromptBuilderConfig; Debug: { EnableDebug: boolean; UploadDump: boolean; TestMode: boolean; }; } export declare const Config: Schema; export {};