mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2026-07-23 11:10:55 -05:00
* feat: Add shimmer text animation for processing state indicators * feat: Redesign CollapsibleContentBlock component with improved UX * feat: Add conditional setting display support with dependsOn field * feat: Add showAgenticTurnStats setting for per-turn statistics * feat: Update ChatMessageAgenticContent with improved UI and new features * feat: Enhance file read tool UI/UX * feat: Refine styling of collapsible content and code preview blocks * feat: add terminal variant to CollapsibleContentBlock * feat: add built-in tools UI registry * feat: extract ChatMessageReasoningBlock and ChatMessageToolCallBlock * refactor: simplify ChatMessageAgenticContent to use extracted blocks * fix: correct markdown content block margin spacing * fix: reorganize SettingsChatFields layout and reset button positioning * fix: use direct map access in agentic store session methods * refactor: remove reasoning preview/throttle system from CollapsibleContentBlock * feat: add auto-scroll to reasoning block and remove showThoughtInProgress * feat: add ChatMessageToolCallDateTime component and support for new tool types * feat: improve auto-scroll reliability in reasoning block with RAF coalescing and MutationObserver * feat: show MCP server favicon for tools without a built-in icon * feat: add search-results parsing utilities and tests * feat: add ChatMessageToolCallSearchResults component * feat: integrate search results rendering into ChatMessageAgenticContent * feat: display tool call input alongside output in ChatMessageToolCallBlock * style: use muted foreground color in reasoning block content * chore: Format * feat: Refine reasoning block layout and make pending thoughts display configurable * feat: Stream tool call code blocks with auto-scroll and handle partial JSON * feat: add streaming permission gate infrastructure * feat: wire permission gate into the agentic loop * fix: bail out on abort and skip already-approved tool calls * fix: clear partial tool calls on abort and savePartialResponse * test: cover partial tool call cleanup end-to-end * refactor: Remove streaming permission gate logic * fix: Correct autoscroll and streaming gates for tool calls and reasoning blocks * refactor: Chat Message Assistant componentization * fix: Show health metadata for disabled MCP servers and promote connections on enable * fix: Inherit global enabled state for missing MCP per-chat overrides * refactor: Cleanup * refactor: Split ChatMessageToolCallBlock into dedicated components * feat: Add live streaming and auto-scroll for tool execution output * feat: Add line numbers and change markers to file edit diffs * chore: Formatting * feat: Add type definitions and utilities for recommended MCP servers * feat: Add recommended MCP servers configuration and storage key * feat: Add McpServerCardCompact component for recommended servers * feat: Add recommended servers section to Add New Server dialog * feat: Update McpServerForm to support authorization requirements * feat: Add select-none classes for text selection prevention * feat: Add recommended MCP server icon assets * refactor: Store dismissed MCP recommendations as a boolean flag * feat: Render tool results as JSON or Markdown based on detected content type * feat: UI improvement * feat: Render search block early and update heading to show execution state * fix: Prevent non-web-search tools from triggering the search UI block * refactor: Cleanup * refactor: Extract hardcoded icon size classes into shared constants * refactor: Extract hardcoded tool result separator into a shared constant * refactor: Tool Calls UI/logic * refactor: Cleanup * refactor: Cleanup * refactor: Cleanup
75 lines
2.7 KiB
TypeScript
75 lines
2.7 KiB
TypeScript
/**
|
|
* Settings key constants for ChatSettings configuration.
|
|
*
|
|
* These keys correspond to properties in SettingsConfigType and are used
|
|
* in settings field configurations to ensure consistency.
|
|
*/
|
|
export const SETTINGS_KEYS = {
|
|
// General
|
|
THEME: 'theme',
|
|
API_KEY: 'apiKey',
|
|
SYSTEM_MESSAGE: 'systemMessage',
|
|
PASTE_LONG_TEXT_TO_FILE_LEN: 'pasteLongTextToFileLen',
|
|
COPY_TEXT_ATTACHMENTS_AS_PLAIN_TEXT: 'copyTextAttachmentsAsPlainText',
|
|
SEND_ON_ENTER: 'sendOnEnter',
|
|
ENABLE_CONTINUE_GENERATION: 'enableContinueGeneration',
|
|
PDF_AS_IMAGE: 'pdfAsImage',
|
|
ASK_FOR_TITLE_CONFIRMATION: 'askForTitleConfirmation',
|
|
TITLE_GENERATION_USE_FIRST_LINE: 'titleGenerationUseFirstLine',
|
|
TITLE_GENERATION_USE_LLM: 'titleGenerationUseLLM',
|
|
TITLE_GENERATION_PROMPT: 'titleGenerationPrompt',
|
|
MAX_IMAGE_RESOLUTION: 'maxImageMPixels',
|
|
// Display
|
|
SHOW_MESSAGE_STATS: 'showMessageStats',
|
|
SHOW_AGENTIC_TURN_STATS: 'showAgenticTurnStats',
|
|
SHOW_THOUGHT_IN_PROGRESS: 'showThoughtInProgress',
|
|
AUTO_MIC_ON_EMPTY: 'autoMicOnEmpty',
|
|
RENDER_USER_CONTENT_AS_MARKDOWN: 'renderUserContentAsMarkdown',
|
|
DISABLE_AUTO_SCROLL: 'disableAutoScroll',
|
|
ALWAYS_SHOW_SIDEBAR_ON_DESKTOP: 'alwaysShowSidebarOnDesktop',
|
|
FULL_HEIGHT_CODE_BLOCKS: 'fullHeightCodeBlocks',
|
|
SHOW_RAW_MODEL_NAMES: 'showRawModelNames',
|
|
SHOW_MODEL_QUANTIZATION: 'showModelQuantization',
|
|
SHOW_MODEL_TAGS: 'showModelTags',
|
|
SHOW_BUILD_VERSION: 'showBuildVersion',
|
|
SHOW_SYSTEM_MESSAGE: 'showSystemMessage',
|
|
RENDER_THINKING_AS_MARKDOWN: 'renderThinkingAsMarkdown',
|
|
// Sampling
|
|
TEMPERATURE: 'temperature',
|
|
DYNATEMP_RANGE: 'dynatemp_range',
|
|
DYNATEMP_EXPONENT: 'dynatemp_exponent',
|
|
TOP_K: 'top_k',
|
|
TOP_P: 'top_p',
|
|
MIN_P: 'min_p',
|
|
XTC_PROBABILITY: 'xtc_probability',
|
|
XTC_THRESHOLD: 'xtc_threshold',
|
|
TYP_P: 'typ_p',
|
|
MAX_TOKENS: 'max_tokens',
|
|
SAMPLERS: 'samplers',
|
|
BACKEND_SAMPLING: 'backend_sampling',
|
|
// Penalties
|
|
REPEAT_LAST_N: 'repeat_last_n',
|
|
REPEAT_PENALTY: 'repeat_penalty',
|
|
PRESENCE_PENALTY: 'presence_penalty',
|
|
FREQUENCY_PENALTY: 'frequency_penalty',
|
|
DRY_MULTIPLIER: 'dry_multiplier',
|
|
DRY_BASE: 'dry_base',
|
|
DRY_ALLOWED_LENGTH: 'dry_allowed_length',
|
|
DRY_PENALTY_LAST_N: 'dry_penalty_last_n',
|
|
// MCP
|
|
MCP_SERVERS: 'mcpServers',
|
|
MCP_REQUEST_TIMEOUT_SECONDS: 'mcpRequestTimeoutSeconds',
|
|
AGENTIC_MAX_TURNS: 'agenticMaxTurns',
|
|
SHOW_TOOL_CALL_IN_PROGRESS: 'showToolCallInProgress',
|
|
// Performance
|
|
PRE_ENCODE_CONVERSATION: 'preEncodeConversation',
|
|
// Developer
|
|
DISABLE_REASONING_PARSING: 'disableReasoningParsing',
|
|
EXCLUDE_REASONING_FROM_CONTEXT: 'excludeReasoningFromContext',
|
|
SHOW_RAW_OUTPUT_SWITCH: 'showRawOutputSwitch',
|
|
// PY_INTERPRETER_ENABLED: 'pyInterpreterEnabled',
|
|
JS_SANDBOX_ENABLED: 'jsSandboxEnabled',
|
|
CUSTOM_JSON: 'customJson',
|
|
CUSTOM_CSS: 'customCss'
|
|
} as const;
|