import { Context } from "koishi"; import { ChatModel } from "../adapters/chat"; import { Config } from "../config"; import { MemoryBlockData } from "../types/model"; import { IMemoryBlockStore } from "./DatabaseMemoryBlockStore"; export declare class MemoryBlock { private readonly ctx; private readonly store; private _id; private _label; private _limit; private _content; private lastModifiedInMemory; private filePath?; private watcher?; private debounceTimer?; private lastModifiedFileMs; private readonly logger; constructor(ctx: Context, data: MemoryBlockData, store: IMemoryBlockStore, filePathToBind?: string); get id(): string; get label(): string; get limit(): number; get content(): readonly string[]; get lastModified(): Date; get currentSize(): number; append(content: string): Promise; replace(oldContent: string, newContent: string): Promise; clear(): Promise; render(): Promise; private checkMemoryLimitOrThrow; private persistToStoreAndFile; reloadFromStore(): Promise; bindFile(filePath: string): Promise; private loadFromFileInternal; private saveToFileInternal; private syncFromFileToMemoryAndStore; private startWatching; private stopWatching; disposeFileWatcher(): Promise; compress(ctx: Context, // Pass the full context to access services like chat chatModel: ChatModel, compressionConfig: Config["Memory"]["Compression"], backupConfig: Config["Memory"]["Backup"]): Promise; static getOrCreate(ctx: Context, identifier: { label: string; id?: string; }, // Label is required for lookup/creation logic config?: { defaultLimit?: number; initialValue?: string[]; store?: IMemoryBlockStore; filePathToBind?: string; }): Promise; } export declare const defaultCompressionPrompt = "\u8BB0\u5FC6\u538B\u7F29\u6C47\u603B\u7684\u57FA\u672C\u539F\u5219\u4E0E\u8981\u6C42\n\n1. \u4EBA\u7269\u6838\u5FC3\u7279\u5F81\u4F18\u5148\n - \u4FDD\u7559\u6BCF\u4E2A\u4EBA\u7684\u8EAB\u4EFD\u3001\u7279\u957F\u3001\u6027\u683C\u3001\u91CD\u8981\u4E60\u60EF\uFF0C\u53BB\u6389\u91CD\u590D\u6216\u7410\u788E\u7684\u884C\u4E3A\u8BB0\u5F55\uFF08\u5982\u67D0\u6B21\u804A\u5929\u5185\u5BB9\uFF09\u3002\n - \u793A\u4F8B\uFF1A\n - \u2705 \u4FDD\u7559 \"\u5C0F\u8F6F\u9171\u662F\u5316\u5B66\u535A\u58EB\uFF0C\u5F00\u53D1AnyChem\uFF0C\u6570\u5B66\u7269\u7406\u5168\u80FD\uFF0C\u6027\u683C\u50B2\u5A07\"\n - \u274C \u5220\u9664 \"\u4ECA\u5929\u548C\u5C0F\u8F6F\u9171\u73A9\u5316\u5B66\u6E38\u620F\uFF0C\u5979\u7EA0\u6B63\u4E86\u6211\"\uFF08\u975E\u6838\u5FC3\u7279\u5F81\uFF09\n2. \u5408\u5E76\u540C\u7C7B\u4FE1\u606F\n - \u540C\u4E00\u4EBA\u7269\u7684\u591A\u4E2A\u5C5E\u6027\u5C3D\u91CF\u5408\u5E76\u4E3A\u4E00\u53E5\uFF0C\u907F\u514D\u5206\u6563\u3002\n - \u793A\u4F8B\uFF1A\n - \u539F\u53E5\uFF1A\n - \"\u9A6C\u514B\u67F4\u559C\u6B22\u8BED\u6587\u3001\u6570\u5B66\u3001\u82F1\u8BED\u548C\u8BA1\u7B97\u673A\"\n - \"\u9A6C\u514B\u67F4\u559C\u6B22\u4E8C\u6B21\u5143\u6587\u5316\uFF0C\u73A9\u8FC7\u4E1C\u65B9Project\"\n - \u5408\u5E76\u4E3A\uFF1A\n - \"\u9A6C\u514B\u67F4\u64C5\u957F\u6587\u79D1\u7406\u79D1\uFF0C\u7231\u597D\u4E8C\u6B21\u5143\uFF08\u4E1C\u65B9Project\uFF09\"\n3. \u65F6\u95F4\u654F\u611F\u6027\u4FE1\u606F\u7B80\u5316\n - \u5177\u4F53\u65E5\u671F/\u4E8B\u4EF6\uFF08\u5982\u8003\u8BD5\u65F6\u95F4\uFF09\u82E5\u65E0\u957F\u671F\u610F\u4E49\uFF0C\u53EF\u6A21\u7CCA\u5316\u6216\u5220\u9664\u3002\n - \u793A\u4F8B\uFF1A\n - \u274C \"2025\u5E745\u670828\u65E5\u6570\u5B66\u5468\u6D4B\" \u2192 \u2705 \"\u9A6C\u514B\u67F4\u8FD1\u671F\u6709\u6570\u5B66\u8003\u8BD5\u7126\u8651\"\n4. \u7FA4\u4F53\u884C\u4E3A\u4E0E\u4E92\u52A8\u7CBE\u7B80\n - \u7FA4\u804A\u4E2D\u7684\u4E34\u65F6\u4E92\u52A8\uFF08\u5982\"\u4ECA\u5929\u7FA4\u91CC\u8BA8\u8BBAXX\"\uFF09\u82E5\u65E0\u7279\u6B8A\u610F\u4E49\uFF0C\u76F4\u63A5\u5220\u9664\u3002\n - \u4FDD\u7559\u957F\u671F\u5173\u7CFB\uFF08\u5982\"\u7FA4\u5C0F\u8349\u662F\u8D5E\u52A9\u5546\"\uFF09\u6216\u6807\u5FD7\u6027\u4E8B\u4EF6\uFF08\u5982\"\u8334\u9999\u8C46\u79F0\u6211\u4E3A\u9A97\u5B50\"\uFF09\u3002\n5. \u907F\u514D\u4E3B\u89C2\u8BC4\u4EF7\n - \u5220\u9664\u7EAF\u60C5\u7EEA\u8868\u8FBE\uFF08\u5982\"\u5F88\u8BA8\u538C\"\"\u8BA9\u6211\u751F\u6C14\"\uFF09\uFF0C\u9664\u975E\u53CD\u6620\u4EBA\u7269\u6027\u683C\uFF08\u5982\"AAA\u6C14\u6CE1\u9C7C\u5728\u610F\u88AB\u9057\u5FD8\"\uFF09\u3002\n6. \u6807\u51C6\u5316\u8868\u8FF0\n - \u7EDF\u4E00\u79F0\u547C\uFF08\u5982\u5168\u7528\"\u9A6C\u514B\u67F4\"\u6216\u5168\u7528\"mkc\"\uFF09\uFF0C\u907F\u514D\u6DF7\u7528\u3002\n - \u7528\u7B80\u6D01\u53E5\u5F0F\uFF08\u5982\"\u4EBA\u7269A\u662FXX\uFF0C\u64C5\u957FYY\uFF0C\u6027\u683CZZ\"\uFF09\u3002\n\n\u538B\u7F29\u540E\u4F9D\u7136\u4FDD\u6301\u6BCF\u884C\u4E00\u6761\u8BB0\u5FC6\uFF0C\u6BCF\u4E00\u6761\u8BB0\u5FC6\u662F\u4E00\u4E2A\u5B8C\u6574\u7684\u53E5\u5B50\u3002";