mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-19 09:50:15 +01:00
* wip: mcp select * refactor: Update useAvailableToolsQuery to support generic data types * feat: Enhance MCPSelect to dynamically load server options and improve MultiSelect component styling * WIP: ephemeral agents * wip: Add null check for MCPSelect and improve MultiSelect focus handling * feat: Pass conversationId prop to MCPSelect in BadgeRow to optimize badge rendering * feat: useApplyNewAgentTemplate hook to manage ephemeral agent upon conversation creation * WIP: eph. agent payload * refactor(OpenAIClient): streamline message processing by replacing content handling with parseTextParts function * feat: enhance applyAgentTemplate function to accept source conversation ID for improved template application * feat(parsers): add skipReasoning parameter to parseTextParts for conditional reasoning handling * WIP: first pass, ephemeral agent backend processing * chore: import order * feat: update loadEphemeralAgent and loadAgent functions to accept model_parameters for enhanced agent configuration * feat: add showMCPServers prop to BadgeRow for conditional rendering of MCPSelect, fix react rule violation * feat: enhance MCPSelect with localized placeholder and custom icon, add renderSelectedValues callback * feat: simplify message processing in AnthropicClient by replacing content handling with parseTextParts function * feat: implement useLocalStorage hook for managing MCP values and update MCPSelect to utilize it * chore: remove chatGPTBrowserSchema from endpoint schemas and update types for improved schema management * chore: remove compactChatGPTSchema from endpoint schemas and update types for better schema management * refactor: rename schemas for clarity and improve schema management * feat: extend model detection to include 'codestral' alongside 'mistral' * feat: add endpointType parameter to buildOptions and initializeClient functions * fix: update condition for handling completion in BaseClient to include agents client * refactor: simplify payload parsing logic in AgentClient and remove unused providerParsers * refactor: change useSetRecoilState to useRecoilState for better state management in MCPSelect component * refactor: streamline chat route handlers by consolidating middleware and improving endpoint structure * style: update MCPSelect and MultiSelect components for improved layout in mobile view * v0.7.790 * feat: add getMessageMapMethod to process message text and content in GoogleClient * chore: include LAST_MCP_ key prefix in clearLocalStorage function for proper teardown on logout
46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
import { LocalStorageKeys, TConversation } from 'librechat-data-provider';
|
|
|
|
export function getLocalStorageItems() {
|
|
const items = {
|
|
lastSelectedModel: localStorage.getItem(LocalStorageKeys.LAST_MODEL) ?? '',
|
|
lastSelectedTools: localStorage.getItem(LocalStorageKeys.LAST_TOOLS) ?? '',
|
|
lastConversationSetup: localStorage.getItem(LocalStorageKeys.LAST_CONVO_SETUP + '_0') ?? '',
|
|
};
|
|
|
|
const lastSelectedModel = items.lastSelectedModel
|
|
? (JSON.parse(items.lastSelectedModel) as Record<string, string | undefined> | null)
|
|
: {};
|
|
const lastSelectedTools = items.lastSelectedTools
|
|
? (JSON.parse(items.lastSelectedTools) as string[] | null)
|
|
: [];
|
|
const lastConversationSetup = items.lastConversationSetup
|
|
? (JSON.parse(items.lastConversationSetup) as Partial<TConversation> | null)
|
|
: {};
|
|
|
|
return {
|
|
lastSelectedModel,
|
|
lastSelectedTools,
|
|
lastConversationSetup,
|
|
};
|
|
}
|
|
|
|
export function clearLocalStorage(skipFirst?: boolean) {
|
|
const keys = Object.keys(localStorage);
|
|
keys.forEach((key) => {
|
|
if (skipFirst === true && key.endsWith('0')) {
|
|
return;
|
|
}
|
|
if (
|
|
key.startsWith(LocalStorageKeys.LAST_MCP_) ||
|
|
key.startsWith(LocalStorageKeys.ASST_ID_PREFIX) ||
|
|
key.startsWith(LocalStorageKeys.AGENT_ID_PREFIX) ||
|
|
key.startsWith(LocalStorageKeys.LAST_CONVO_SETUP) ||
|
|
key === LocalStorageKeys.LAST_SPEC ||
|
|
key === LocalStorageKeys.LAST_TOOLS ||
|
|
key === LocalStorageKeys.LAST_MODEL ||
|
|
key === LocalStorageKeys.FILES_TO_DELETE
|
|
) {
|
|
localStorage.removeItem(key);
|
|
}
|
|
});
|
|
}
|