import { LangGraphClient, LangGraphClientConfig, RenderMessage, SendMessageOptions } from "../LangGraphClient.js"; import { AssistantGraph, Message, Thread } from "@langchain/langgraph-sdk"; import { UnionTool } from "../tool/createTool.js"; import { RevertChatToOptions } from "../time-travel/index.js"; import { History, SessionInfo } from "../History.js"; import { InterruptData } from "../humanInTheLoop.js"; export declare const formatTime: (date: Date) => string; export declare const formatFullTime: (date: Date) => string; export declare const formatTokens: (tokens: number) => string; export declare const getMessageContent: (content: any) => string; export declare const getHistoryContent: (thread: Thread) => string | any[]; interface ChatStoreContext { showHistory?: boolean; showGraph?: boolean; fallbackToAvailableAssistants?: boolean; onInit?: (client: LangGraphClient) => void; /** 初始化时是否自动激活最近的历史会话(默认 false,创建新会话) */ autoRestoreLastSession?: boolean; /** 历史记录筛选的默认参数 */ historyFilter?: Partial; /** UI 更新的防抖时间(毫秒,默认 10) */ debounceTime?: number; } export interface HistoryPagination { page: number; pageSize: number; total: number; } export interface HistoryFilter { metadata: Record | null; status: "idle" | "busy" | "interrupted" | "error" | null; sortBy: "thread_id" | "status" | "created_at" | "updated_at"; sortOrder: "asc" | "desc"; } export declare const createChatStore: (initClientName: string, config: Partial, context?: ChatStoreContext) => { data: { artifacts: import("nanostores").PreinitializedWritableAtom & object; currentArtifactId: import("nanostores").PreinitializedWritableAtom<[string, string] | null> & object; showArtifact: import("nanostores").PreinitializedWritableAtom & object; client: import("nanostores").PreinitializedWritableAtom | null> & object; history: import("nanostores").PreinitializedWritableAtom & object; sessions: import("nanostores").PreinitializedWritableAtom & object; renderMessages: import("nanostores").PreinitializedWritableAtom & object; userInput: import("nanostores").PreinitializedWritableAtom & object; loading: import("nanostores").PreinitializedWritableAtom & object; inChatError: import("nanostores").PreinitializedWritableAtom & object; currentAgent: import("nanostores").PreinitializedWritableAtom & object; currentChatId: import("nanostores").PreinitializedWritableAtom & object; currentNodeName: import("nanostores").PreinitializedWritableAtom & object; currentStatus: import("nanostores").PreinitializedWritableAtom & object; interruptData: import("nanostores").PreinitializedWritableAtom & object; isInterrupted: import("nanostores").PreinitializedWritableAtom & object; tools: import("nanostores").PreinitializedWritableAtom[]> & object; collapsedTools: import("nanostores").PreinitializedWritableAtom & object; showGraph: import("nanostores").PreinitializedWritableAtom & object; graphVisualize: import("nanostores").PreinitializedWritableAtom & object; showHistory: import("nanostores").PreinitializedWritableAtom & object; historyList: import("nanostores").PreinitializedWritableAtom[]> & object; historyPagination: import("nanostores").PreinitializedWritableAtom & object; historyFilter: import("nanostores").PreinitializedWritableAtom & object; }; mutations: { setCurrentArtifactById: (id: string, tool_id: string) => void; setShowArtifact: (show: boolean) => void; initClient: () => Promise; getClient: () => LangGraphClient | null; getHistory: () => History | null; activateSession: (sessionId: string, mustResetStream?: boolean) => Promise; createNewSession: () => Promise; refreshSessionList: () => Promise; refreshHistoryList: () => Promise; sendMessage: (message?: Message[], options?: SendMessageOptions, withoutCheck?: boolean, isResume?: boolean) => Promise; stopGeneration: () => void; setUserInput: (input: string) => void; revertChatTo(messageId: string, resend?: boolean, sendOptions?: SendMessageOptions & RevertChatToOptions): Promise; refreshTools: () => Promise; setTools(new_tools: UnionTool[]): void; toggleToolCollapse: (toolId: string) => void; getToolUIRender: (tool_name: string) => ((message: RenderMessage) => Object) | null; isFELocking: () => boolean | undefined; toggleHistoryVisible: () => void; toggleGraphVisible(): void; refreshGraph: () => Promise; setCurrentAgent(agent: string): Promise; resumeFromInterrupt(data: any): Promise; addToHistory: (thread: Thread<{ messages: Message[]; }>) => void; createNewChat(metadata?: Record): Promise; toHistoryChat: (thread: Thread<{ messages: Message[]; }>) => Promise; deleteHistoryChat(thread: Thread<{ messages: Message[]; }>): Promise; setHistoryPage(page: number): void; setHistoryPageSize(pageSize: number): void; setHistoryFilter(filter: Partial): void; resetHistoryFilter(): void; }; }; export {};