Use HuggingFace OpenAI-compatible endpoint with model in request body
HF's /v1/chat/completions endpoint takes the model ID in the JSON body, not in the URL path. Switched from per-model URL routing to standard
Reorder AI settings tabs, rename Sales Agent Setup to AI Sales Agent Setup
- Provider Setup is now the first tab, Usage & Overview is last - Renamed "Sales Agent Setup" to "AI Sales Agent Setup" - Updated settings slideout nav and sett...
Fetch all provider models on edit, pre-populate active selections
- Fetch provider details with all models (active+inactive) when clicking Edit - Pre-populate editing.models with IDs of active models - Show full model list wit...
Add model count to provider list, switch HF to router endpoint
- Include modelCount in provider list GET response - Switch Hugging Face default base URL to router.huggingface.co - Support both api-inference and router URL f...
Support enabling/disabling models via PUT /api/ai/providers/{id}
When the frontend sends a 'models' array of model IDs in the provider update request, models in the array are set active and models not in the array (belonging ...
Adaugă căutareByProviderId interogare la AiModelRepository pentru model activ/dezactivabil
Wire up end-to-end chat messaging with loading states
- Add POST handler to messages API route - Fix message type mismatches between input, context, and messages component - Show user message immediately, display l...
Add POST **************** endpoint for sending chat messages
Receives user message, sends to AI provider via ChatOrchestrationService, returns complete response. Supports REST-based chat flow.
Return full decrypted API key in provider responses
Users need to see and edit the full key, not a masked version.
Stay in edit mode after creating provider, show test and model buttons
- After creating a new provider, stay in edit mode with the returned ID so user can immediately test connection and add models - Fix id checks from === undefi...
Add Hugging Face as dedicated provider type with custom adapter
- HuggingFaceAdapter handles HF's URL structure **************** - Model discovery via HF API (warm text-generation models) - Registered in ProviderAdapterFacto...
Auto-grow input to 11 lines when maximized, Enter sends, Alt+Enter newline, fix sidebar detection
- Input grows up to 11 lines (220px) when window is maximized, 6 lines otherwise - Enter submits message, Alt+Enter inserts newline (was Shift+Enter) - Use Resi...
Add manual model creation UI and POST /api/ai/models route
- Add "Add model manually" form in Provider Setup edit view - Add POST handler to /api/ai/models API route - Users can specify model ID and display name for cus...
Add manual model creation, handle 410/404 in test, use discovered model for CUSTOM providers
- POST /api/ai/models endpoint for manually adding models - DELETE /api/ai/models/{id} endpoint - CUSTOM providers use first discovered model for chat test inst...
Normalize base URL to prevent /v1/v1 duplication
Strips trailing /v1 from base URL before appending /v1/chat/completions, so users can enter base URLs with or without the /v1 suffix.
Restructure test connection to discover models first, handle rate limits gracefully
- Model discovery (lightweight GET) runs before chat test (POST) - Rate limit (429) errors show user-friendly warning instead of failing - Auth errors (401/403)...
Implement model auto-discovery on provider test connection
Each provider adapter discovers available models from the provider API. Models are automatically saved to the database when Test Connection succeeds.
Add detailed help tips, update provider types, improve model display
- Replace placeholder help tips with user-friendly explanations for all AI settings tabs (Usage, Providers, MCP, Security, Sales Agents) - Update PROVIDER_TYP...
Move message to Junk folder when reporting as spam
After flagging a message as spam via spamApi, also call batchApi.move to move it to Junk (or back to INBOX when marking as not spam). Applies to both single and...
Use provider-specific test model instead of hardcoded gpt-4o-mini
Each provider type now uses an appropriate model for connection testing
Show configured providers in AI chat model selector dropdown
Fetches both models and providers. Shows providers as selectable options alongside any configured models, so users can pick a provider even when specific models...
Switch AI chat from WebSocket to REST mode until WS proxy is available
Reports as 'connected' so the UI is usable. Messages sent via REST POST to **************** instead of WebSocket.
Remove duplicate minimize/maximize/close buttons from AI chat header
The tool window shell already provides these controls.
Switch AI chat tool from dark theme to light theme matching other tools
Uses light backgrounds, var(--color-primary) accents, and org theme colors consistent with Calculator, Softphone, and other tool windows.
Serialize entity IDs as strings to prevent JavaScript precision loss
CockroachDB unique_rowid() generates INT8 values that exceed JavaScript's Number.MAX_SAFE_INTEGER, causing ID corruption in the frontend.
Extend email content to full width of detail panel
Remove max-w-4xl constraint so the email body, attachments, and quick reply fill 100% of the available panel width.
Add OTK authentication support matching SecurityService pattern
- Add OTKPreAuthFilter to validate X-OTK header and resolve to *** session - Update SessionHelper to read from request attributes set by filter - Update all con...
Add Sales Agent Setup tab, update settings nav slideout, fix subtitle
- Add Sales Agent Setup tab to AI settings (placeholder) - Add Artificial Intelligence section to settings slideout panel - Fix My Account nav links (Relationsh...
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.