@langgraph-js/sdk
Version:
The UI SDK for LangGraph - seamlessly integrate your AI agents with frontend interfaces
84 lines (83 loc) • 5.11 kB
TypeScript
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;
}
export declare const createChatStore: (initClientName: string, config: Partial<LangGraphClientConfig>, context?: ChatStoreContext) => {
data: {
artifacts: import("nanostores").PreinitializedWritableAtom<import("../artifacts/index.js").ComposedArtifact[]> & object;
currentArtifactId: import("nanostores").PreinitializedWritableAtom<[string, string] | null> & object;
showArtifact: import("nanostores").PreinitializedWritableAtom<boolean> & object;
client: import("nanostores").PreinitializedWritableAtom<LangGraphClient<unknown> | null> & object;
history: import("nanostores").PreinitializedWritableAtom<History | null> & object;
sessions: import("nanostores").PreinitializedWritableAtom<SessionInfo[]> & object;
renderMessages: import("nanostores").PreinitializedWritableAtom<RenderMessage[]> & object;
userInput: import("nanostores").PreinitializedWritableAtom<string> & object;
loading: import("nanostores").PreinitializedWritableAtom<boolean> & object;
inChatError: import("nanostores").PreinitializedWritableAtom<string | null> & object;
currentAgent: import("nanostores").PreinitializedWritableAtom<string> & object;
currentChatId: import("nanostores").PreinitializedWritableAtom<string | null> & object;
currentNodeName: import("nanostores").PreinitializedWritableAtom<string> & object;
currentStatus: import("nanostores").PreinitializedWritableAtom<string> & object;
interruptData: import("nanostores").PreinitializedWritableAtom<InterruptData | null> & object;
isInterrupted: import("nanostores").PreinitializedWritableAtom<boolean> & object;
tools: import("nanostores").PreinitializedWritableAtom<UnionTool<any, Object, any>[]> & object;
collapsedTools: import("nanostores").PreinitializedWritableAtom<string[]> & object;
showGraph: import("nanostores").PreinitializedWritableAtom<boolean> & object;
graphVisualize: import("nanostores").PreinitializedWritableAtom<AssistantGraph | null> & object;
showHistory: import("nanostores").PreinitializedWritableAtom<boolean> & object;
historyList: import("nanostores").PreinitializedWritableAtom<Thread<{
messages: Message[];
}>[]> & object;
};
mutations: {
setCurrentArtifactById: (id: string, tool_id: string) => void;
setShowArtifact: (show: boolean) => void;
initClient: () => Promise<History>;
getClient: () => LangGraphClient<unknown> | null;
getHistory: () => History | null;
activateSession: (sessionId: string, mustResetStream?: boolean) => Promise<void>;
createNewSession: () => Promise<void>;
refreshSessionList: () => Promise<void>;
refreshHistoryList: () => Promise<void>;
sendMessage: (message?: Message[], extraData?: SendMessageOptions, withoutCheck?: boolean, isResume?: boolean) => Promise<void>;
stopGeneration: () => void;
setUserInput: (input: string) => void;
revertChatTo(messageId: string, resend?: boolean, sendOptions?: SendMessageOptions & RevertChatToOptions): Promise<void>;
refreshTools: () => Promise<void>;
setTools(new_tools: UnionTool<any>[]): void;
toggleToolCollapse: (toolId: string) => void;
getToolUIRender: (tool_name: string) => ((message: RenderMessage) => Object) | null;
isFELocking: () => boolean | undefined;
toggleHistoryVisible: () => void;
toggleGraphVisible(): void;
refreshGraph: () => Promise<void>;
setCurrentAgent(agent: string): Promise<History>;
resumeFromInterrupt(data: any): Promise<void>;
addToHistory: (thread: Thread<{
messages: Message[];
}>) => void;
createNewChat: () => Promise<void>;
toHistoryChat: (thread: Thread<{
messages: Message[];
}>) => Promise<void>;
deleteHistoryChat(thread: Thread<{
messages: Message[];
}>): Promise<void>;
};
};
export {};