Replaces CarbonTools and related Carbon icons with Lucide equivalents throughout the UI, updating imports and usage in Svelte components. Updates Hugging Face organization avatar URLs to the new /api/avatars/{org} endpoint in both frontend and backend code. Adds new models to dev and prod YAML configs, and improves the models page layout and filtering. Also updates dependencies to include @iconify-json/lucide and the latest @sinclair/typebox.
Removes the conversion of empty string values to undefined when updating billingOrganization in settings. This allows empty strings to be stored explicitly.
fix: update billing organization link to point to the correct overview page
* Add billing organization selection
Introduces support for selecting a billing organization for inference requests in HuggingChat. Adds a new billing section in application settings, updates user settings and API to store and validate the selected organization, and ensures requests are billed to the chosen organization by sending the X-HF-Bill-To header. Also updates environment and chart files to include the new OpenID scope required for billing.
* Update +page.svelte
* Remove billingOrganization from default settings
* Fix user settings creation and update test for findUser
The test for updateUser now passes a URL to findUser to match the updated function signature. Also, the updateUser function now inserts the full DEFAULT_SETTINGS object when creating default user settings, ensuring billingOrganization is included.
* Update ServerCard.svelte
feat(mcp): add Model Context Protocol integration with tool support
Improve MCP tools caching and server selection logic
Replaces single-entry MCP tools cache with a multi-keyed cache based on server configuration, improving cache accuracy for different server sets. Refactors server selection logic in runMcpFlow to better handle custom server lists and selected server names. Removes MCP flow from generate.ts, streamlining text generation logic.
* Add OAuth authentication for MCP servers
Introduces browser-based OAuth flow for MCP servers, including new auth helpers, localStorage management, and UI actions for authentication and sign-out. Server cards now support authentication, and enabled servers include persisted auth headers for API requests. Adds callback handler and route for OAuth completion.
* Add server authentication status and UI indicators
Introduces an 'authRequired' property to MCPServer and health check responses to indicate when authenti…
Introduces a 'Refresh models' button for admins in the application settings page. The button triggers a model refresh, displays a loading state, and shows a summary message with refresh results upon completion.
* Upgrade dep
* link to provider's page on the Hub
* add rounding
* Update ChatMessage.svelte
* Update provider type to InferenceProvider
Replaces the provider type from string to InferenceProvider in endpoint and message update types for improved type safety and consistency with @huggingface/inference.
* Remove model author avatar from chat message link
Eliminated the model author avatar image from the chat message model link and adjusted the link's padding for consistency. Also fixed the Hugging Face organization link to use curly braces for variable interpolation.
* Switch provider logos to dynamic avatars from Hugging Face
Replaces static SVG provider logos with dynamic avatars fetched from Hugging Face organization API. Removes all local SVG assets for provider logos and updates the settings page to use the new avatar URLs, improving maintainability and ensuring up-to-date branding.
* Remove unused variable and fix type in settings page
Deleted an unused 'modelAuthor' c…
Update inference providers section with settings link
Renamed the section to 'Inference Providers' and updated the description to include a link to manage provider settings on Hugging Face. This improves clarity and user guidance.
Changed the label and tooltip text from 'Supports image inputs (multimodal)' to 'Multimodal support (image inputs)' in settings layout and model page for improved clarity and consistency.
Disable multimodal override for HuggingChat models
Prevents users from overriding multimodal capability for models when using HuggingChat, as this is now controlled by the endpoint. Updates both the server logic and the settings UI to reflect this behavior, displaying the model's capability status instead of a toggle.
Improve theme toggle button layout and responsiveness
Updated the theme toggle button group to enhance alignment, centering, and responsiveness. Added 'justify-center' and 'text-center' classes to buttons, and adjusted container classes for better layout on small screens.
Introduced an initValue method to the settings store for initializing nested settings keys only if undefined. Refactored the settings page to use this method for initializing customPrompts, multimodalOverrides, and hidePromptExamples, improving consistency and preventing unnecessary overwrites.
Update title generation prompt and add GitHub link
Refines the chat thread title generation by limiting titles to 2–4 words, reducing max tokens to 24, and setting temperature to 0 for more deterministic output. Also adds a link to the HuggingChat GitHub repository in the application settings page when HuggingChat is enabled.
* refactor: remove tokenizer-related functionality and dependencies
- Removed tokenizer dependencies from package.json.
- Deleted TokensCounter component and its usages across the application.
- Updated model configurations to exclude tokenizer properties.
- Refactored model processing logic to support only OpenAI-compatible endpoints.
- Adjusted API responses to omit tokenizer information.
- Cleaned up related utility functions and imports.
* Remove web search functionality and related components
- Deleted endpoints for various web search APIs (serpApi, serpStack, serper, webLocal, youApi).
- Removed generateQuery function and its usage in search.
- Eliminated web search related types and interfaces from the codebase.
- Updated Assistant and Conversation types to remove references to web search and embedding models.
- Cleaned up related utility functions and message updates for web search.
- Adjusted API routes and components to reflect the removal of web search features.
- Updated…
* feat(API): refactor API with Elysia
* feat: initial elysia setup
* feat: replace conv/[id] load function with universal
* fix: delete v1 catchall
* wip
* fix: response type
* fix: add cors
* feat: more routes in tools & assistants
* refacto: use normal svelte fetch in `/assistant/[assistantId]`
* refacto: use normal svelte fetch in `conversation/[id]`
* feat: use universal load function for `tools/[toolId]`
* wip: removing more server load function stuff
* feat: more routes to universal load functions
* feat: more routes to universal
* refactor: move tools loading to API endpoint
* refactor(api): implement tools search API endpoint and move load function
* fix: types on tool search
* refactor: update assistant route and remove redundant page load function
* refactor(api): move assistants page load function to api call
* refactor(settings): remove waterfall loading
* refactor: main load function
* fix: types
* feat: improve fetchJSON to handle empty responses
* …
Revert "refactor: new API & universal load functions (#1743)"
* feat(API): refactor API with Elysia
* feat: initial elysia setup
* feat: replace conv/[id] load function with universal
* fix: delete v1 catchall
* wip
* fix: response type
* fix: add cors
* feat: more routes in tools & assistants
* refacto: use normal svelte fetch in `/assistant/[assistantId]`
* refacto: use normal svelte fetch in `conversation/[id]`
* feat: use universal load function for `tools/[toolId]`
* wip: removing more server load function stuff
* feat: more routes to universal load functions
* feat: more routes to universal
* refactor: move tools loading to API endpoint
* refactor(api): implement tools search API endpoint and move load function
* fix: types on tool search
* refactor: update assistant route and remove redundant page load function
* refactor(api): move assistants page load function to api call
* refactor(settings): remove waterfall loading
* refactor: main load function
* fix: types
* feat: improve fetchJSON to handle empty responses
* …
* feat(config): wip, make config controllable from DB, public side for now
* fix: build
* feat(config): add config manager env var toggle
* wip: make backend config use config manager
* fix: typechecks
* fix: circular import
* refactor: init hook sveltekit
* fix: disable config manager during tests
* refactor: use enum for semaphore, move delete from auto after 60s to separate `deleteAt` field
* feat: config manager checks for updates on requests
* fix: config script exit
* fix: remove top-level awaits
* fix: script await
* feat: filter config keys based on public environment variables for more security
* fix: change import to type for public environment variables
* feat: implement admin token management and CLI login functionality
- Added `ADMIN_CLI_LOGIN` and `ADMIN_TOKEN` to the environment configuration.
- Introduced `AdminTokenManager` for handling admin sessions and token validation.
- Updated user session handling to include admin status.
- Enhanced API routes to utilize admin checks based on the new token management.
- Modified frontend components to reflect admin status correctly.
- Added a new endpoint for validating admin tokens.
* fix: remove token after validation
fix(settings): prevent unnecessary redirect on desktop
* feat: move reporting functionality to API for assistants and tools
* feat: add review API endpoints for assistants and tools
* feat(api): setup delete API endpoints for assistants and tools
* fix: show toast error if endpoint throws error
* feat(api): add subscribe/unsubscribe API endpoints for assistants
* fix: lint
* refactor: use API endpoints for assistant creation/edit
* feat: delete tool forms
* feat: use API endpoints for tool creation/edit
feat(api): replace all conv deletion form by API endpoint (#1695)
* chores(svelte): migration to svelte 5
* chores(svelte5): remove preventDefault & stopPropagation legacy handlers
* chores(deps): version bumps
* fix: closing modal works properly
* fix: messagte loading reactivity
* fix: loading indicator
* fix: conversation list reactivity
* fix: bug on tool logo rendering
* fix: infinite loading circular dep
* feat: hide new chat button on new chats
* fix: move apply directive to main.css
* fix: remove legacy syntax in `TokensCounter.svelte`
* fix: replace legacy `run` with Svelte 5 `$effect` in NavMenu
* fix: replace legacy `run` with Svelte 5 `$effect` in ScrollToPreviousBtn
* fix: migrate `settings/[modelId]` page to Svelte 5 syntax
* fix: replace legacy `run` with Svelte 5 `$effect` in ToolUpdate component
* fix: migrate ToolEdit component to Svelte 5 syntax
* fix: simplify login required handling in ChatInput
Added currentDate variable to Dynamic Prompt (#1648)
evalstate+1: nsarrazin
Unverified signature
b1b3d86
* Added ability to include the current date in the assistant dynamic prompt
* feat: rename tag to {{today}}
---------
Co-authored-by: Nathan Sarrazin <sarrazin.nathan@gmail.com>
add option to send user message as part of request body in assistant … (#1322)
ethayu+2: Ethan Yu, nsarrazin
Unverified signature
2fb4284
* add option to send user message as part of request body in assistant invokations
* test
* finish
* fix linting problem
* fix: add support for legacy url param
* fix: remove code to send POST requests on the frontend
---------
Co-authored-by: Ethan Yu <etyu@tesla.com>
Co-authored-by: Nathan Sarrazin <sarrazin.nathan@gmail.com>