* initialize
* expand tool result text limit | add syntax highlighting and json formatting to tool result rendering
* fix onError jsdoc
* lint
* fix unread icon
* route protection
* improve form handling for NewJobModal
* safeJsonParse
* remove unneeded comments
* remove trycatch
* add truncateText helper
* add explicit fallback value tos safeJsonParse
* add shared cron constant and helpers
* reduce frontend indirection
* use isLight to compute syntax highlighting theme
* remove dead code
* remove forJob and make job limit to 50
* create recomputeNextRunAt helper method
* add comment about nextRunAt recomputation
* add job queue and concurrency control to scheduled jobs
* use p-queue
* change default max concurrent value to 1
* add comment explaining internal scheduling system
* add recomputeNextRunAt on boot
* add generated documents to run details
* Modify toolsOverride functionality where no tools selected means no tools are given to the agent
add a select all/deselect all toggle button for easily selecting all
tools in the cerate job form
* create usePolling hook
* add polling to scheduled jobs and scheduled job runs pages
* add cron generation feature in job form
* remove cron generation feature | add cron builder feature | add max active scheduled jobs limit
* set MAX_ACTIVE to null
* replace hour and minute input fields with input with type time
* simplify
* organize components
* move components to bottom of page component
* change Generated Documents to Generated Files
* add i18n to cronstrue
* add i18n
* add type="button" to button elements
* refactor fileSource retrieval logic
* one scheduled job run can have status "running"
* add protection of file retrieveal from scheduled job in multiuser mode
* fix comments
* make job status default to queued
* add queued status
* fix bug with result trace rendering
* store timeout ref and clearTimeout once race settles
* remove unneeded handlerPromise tracking
* move imports to top level
* refactor hardcoded paths to path resolve functions
* implement new job form design
* simplify
* fix button styles
* fix runJob bug
* implement styles for scheduled jobs page
* apply dark mode figma styles
* delete unused translation key
* implement light mode for new new job modal, run history, and run details
* lint
* fix light mode scroll bar in tool call card
* adjust table header contrast
* fix type in subtitle
* kill workers when job is in-flight before deleting job
* add border-none to buttons
* change locale time to iso string
* import BackgroundService module level | instatiate backgroundService singltone once and reuse across handlers
* add p-queue, @breejs/later and cron-validate as core deps
* parse cron expression to a builder state once
* add theme to day buttons in cron builder
* fix stale tools selection caption
* flip popover when popover clips screen height
* make ScheduleJob.trigger() await the run insertion | disable run now button if job is in flight
* regen table
* refactor generated file card
* refactor frontend
* remove logs
* major refactor for tool picking, fix bree/later bug
* combine action endpoints, move contine to method
* fix unoptimized query with include + take + order
* fix dangerous use, refactor job to utils
* add copy content to text response
* improve notification system subscription for browser
* remove unused translations
* prevent gen-file cleanup job from deleting active job file generated references
* rich text copy
* Scheduled Jobs: Translations (#5482)
* add locales for scheduled jobs
* i18n
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* add config flag with UI notice
* update README
* telemetry datapoints
* Always use UTC on backend, convert to local in frontend
* fix tz render
* Add job killing
* cleanup thinking text in job notifications and break out reasoning in response text.
Also hide zero metrics since that is useless
* Port generatedFile schema to the normalized workspace chat `outputs` file format so porting to thread is simple and implem between chats <> jobs is 1:1
* what the fuck
* compiled bug
* fixed thinking oddity in complied frontend
* supress multi-toast
* fix duration call
* Revert "fix duration call"
This reverts commit 0491bc71f4223e65ea4046561b15b268fefb8da2.
* revert and reapply fix
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* feat: adds name field to api keys
* remove extra toasts
* prune and norm translations
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* add ask to run prompt for tools
* border-none on buttons
* translations
* linting
* i18n (#5263)
* extend approve/deny requests to telegram
* break up handler
* Beta Intelligent Tooling
todo: Agent Skill banner warning when tool # is high or % of content window?
* forgot files
* add UI controls and maxToolCallStack setting
* update docs link
* ISS i18n (#5237)
i18n
* Add automatic chat mode with native tool calling support
Introduces a new automatic chat mode (now the default) that automatically invokes tools when the provider supports native tool calling. Conditionally shows/hides the @agent command based on whether native tooling is available.
- Add supportsNativeToolCalling() to AI providers (OpenAI, Anthropic, Azure always support; others opt-in via ENV)
- Update all locale translations with new mode descriptions
- Enhance translator to preserve Trans component tags
- Remove deprecated ability tags UI
* rebase translations
* WIP on image attachments. Supports initial image attachment + subsequent attachments
* persist images
* Image attachments and updates for providers
* desktop pre-change
* always show command on failure
* add back gemini streaming detection
* move provider native tooling flag to Provider func
* whoops - forgot to delete
* strip "@agent" from prompts to prevent weird replies
* translations for automatic-mode (#5145)
* translations for automatic-mode
* rebase
* translations
* lint
* fix dead translations
* change default for now to chat mode just for rollout
* remove pfp for workspace
* passthrough workspace for showAgentCommand detection and rendering
* Agent API automatic mode support
* ephemeral attachments passthrough
* support reading of pinned documents in agent context
* add document counts to non-embedded and embedded documents
* Update logic to not count search filtered documents
* refactor how count is done and rendered
* translations
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* New chat history layout with chat bubbles (#4985)
* new chat history layout, remove message alignment setting
* remove orphaned chat alignment hook and MessageDirection
* remove workspace profile picture setting and fetch
* clean up unnecessary changes
* add light mode colors to chat ui and main page backgrounds
* update chat message and action icon colors for light mode
* update thinking and agent ui, layout, sizing
* update user message uploaded images ui
* update thought, agent containers to use new colors
* add truncatable content with gradient to user chat messages
* fix citations margin
* implement new edit message UI with save and submit actions
* add translations for TruncatableContent subcomponent
* remove unused props
* fix text colors for default mode chats, agent, thoughts container
* Normalize translations for new chat history layout (#5022)
* normalize translations
* update translations with DMR
* lint
* fix mismatched home container colors
* fix: add password character validation to onboarding single-user setup (#5037)
* fix single user mode password bug
* share const
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* Native Tool calling (#5071)
* checkpoint
* test MCP and flows
* add native tool call detection back to LMStudio
* add native tool call loops for Ollama
* Add ablity detection to DMR (regex parse)
* bedrock and generic openai with ENV flag
* deepseek native tool calling
* localAI native function
* groq support
* linting, add litellm and OR native tool calling via flag
* fix: resolve Gemini agent 400 error on tool call responses (#5054)
* add gtc__ prefix to tool call names in Gemini agent message formatting
* resolve Gemini agent 400 error on tool call responses
* add comments explaining geminis thought signatures
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* fix: prevent CMD/CTRL+Arrow scroll from overriding textarea cursor movement (#5053)
prevent CMD/CTRL+Arrow scroll from overriding textarea cursor movement
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* linting, assistant speaker spacing and order, copy/edit order
---------
Co-authored-by: Marcello Fitton <106866560+angelplusultra@users.noreply.github.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* Implement new citations UI (#5038)
* new chat history layout, remove message alignment setting
* remove orphaned chat alignment hook and MessageDirection
* remove workspace profile picture setting and fetch
* clean up unnecessary changes
* add light mode colors to chat ui and main page backgrounds
* update chat message and action icon colors for light mode
* update thinking and agent ui, layout, sizing
* update user message uploaded images ui
* update thought, agent containers to use new colors
* add truncatable content with gradient to user chat messages
* fix citations margin
* implement new edit message UI with save and submit actions
* add translations for TruncatableContent subcomponent
* remove unused props
* fix text colors for default mode chats, agent, thoughts container
* Normalize translations for new chat history layout (#5022)
* normalize translations
* update translations with DMR
* lint
* fix mismatched home container colors
* implement new citations ui with sources sidebar
* bottom sheet for mobile citations
* convert mobile citations bottom sheet to new modal design
* add score, border separators for mobile citations modal
* push down sources sidebar in password/multiuser mode
* fix animation gap, simplify sources sidebar by splitting state to persist data on animation
* add english translations
* fix spacing from citations sidebar when user has auth
* Normalize translations for new citation UI (#5087)
* normalize translations
* update translations using DMR
* fix pluralize to use i18n native solution
change reset to immediate clear
fix spacing for TTS when showing or not to not have space
* proper pluralize
* hide metrics on mobile, fix last message padding on mobile
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* New prompt input ui/tools menu (#5070)
* wip new prompt input ui/tools menu
* fix colors for prompt input
* redesign workspace llm selector, extract text size + model picker to components
* refactor ToolsMenu component
* fix colors/refactor WorkspaceModelPicker
* fix spacing in ws model picker, change order of tools menu tabs
* fix slash commands showing /reset instead of /exit during active agent session
* refactor ToolsMenu to be much simpler
* cleanup, fix behavior of setupup provider in WorkspaceModelPicker
* simplify AgentSkillsTab toggle logic
* add english translations for new components
* remove legacy slash command/agent popups, add ToolsMenu keyboard nav
* fix spacing of workspace model picker text
* fix SourcesSidebar and TextSizeMenu positioning after merge
* fix keyboard nav in ToolsMenu when clicking on tools button to open
* typo
* only auto pop up tools menu when prompt input is empty with /
* fix z index for tools menu on citation
* fix behavior of / in prompt input
* move global window agent session state to module level variable
* fix prompt input not clearing on /reset
* missing translations
* revert translating slash command
* fix STT auto-submit not working on home page
* Normalize translations for new prompt input/tools menu UI (#5130)
* normalize translations
* update translations using DMR script
* normalize translations
* update translations using DMR script
* remove slash_exit
* fix skills.js import after merge
* fix tooltip z-index rendering behind citations
* patch translation prune script to not remove special cases
* updates to tools input
* factory translations
* use safeJsonParse in clearPromptInputDraft
* normalize translations
* disable agent skill toggles during active agent sessions + show tooltip on disabled
* normalize translations
* handle enter key behavior when tools menu is open
* fix unfocusable modal for slash command edit/new
* fix sending prompt when editing/creating slash commands
* hide/show agent skills in tools menu based on role
* container borders for dark/light mode compliance to designs
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* update how tooltip works for agent menu
* update prompt input to show agent button with CTA in agent panel for user clarify
update agent session start prompt button in input
* translations
* translations + move regex for slash commands to constants
* fix open sidebar ux
* fix tools menu to always open to slash commands, dismiss auto pop up
* fix sidebar open/close button overlapping with ws model picker
---------
Co-authored-by: Sean Hatfield <seanhatfield5@gmail.com>
Co-authored-by: Marcello Fitton <106866560+angelplusultra@users.noreply.github.com>
Introduces a new automatic chat mode (now the default) that automatically invokes tools when the provider supports native tool calling. Conditionally shows/hides the @agent command based on whether native tooling is available.
- Add supportsNativeToolCalling() to AI providers (OpenAI, Anthropic, Azure always support; others opt-in via ENV)
- Update all locale translations with new mode descriptions
- Enhance translator to preserve Trans component tags
- Remove deprecated ability tags UI
* remove legacy home page components, update home page to new layout
* update PromptInput component styles to match new designs, make quick action buttons functional
* home page chat creates new thread in last used workspace
* fix slash commands and agent popup on home page
* disable llm workspace selector action in home page
* add drag and drop file support to home page
* fix behavior of drag and drop on home page
* handle pasting attachments in home page
* update empty state of workspace chat to use new ui
* update empty workspace ui to match home page design, fix flickering loading states
* convert quick action buttons to component, add to empty state ws chat
* fix hover state light mode in quick actions
* add suggested messages subcomponent to empty ws/thread
* adjust width, rounded edges of prompt input
* only show quick actions for admin/manager role
* fix hover states for quick actions and suggested messages component
* make upload document quick action trigger parsed document upload
* fix mic behavior in homepage, ws chat, ws thread chat
* fix margin between prompt input and quick actions
* Simplify message presets by removing heading input (#4915)
* Remove heading input from message presets, merge legacy headings on edit
* filter out empty messages from state after saving
* mark form as dirty on input change
* styling
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* convert SuggestedMessages to component, render SuggestedMessages in home page to target ws
* fix broken handleMessageChange reference
* add translations for QuickActions
* lint
* fix home page chat submission broken by PromptInput onChange removal
* fix prompt input remount race condition, home page suggested message flicker
* remove unused handleSendSuggestedMessage from ChatHistory
* add greeting text to main-page translations, remove defaults
* fix file deletion in parsed files menu on home page
* add virtual thread sidebar state and workspace indicator on home page
* show workspace llm selector on home page when workspace exists
* show home page for all user roles with rbac quick actions
* fix positioning of agent and slash command popups
* remove workspace indicator from home page, match empty state spacing
* Normalize translations for home page redesign (#4986)
* normalize translations
* update translations with DMR
* accidentally changed es translation
* normalize translations for main-page.greeting
* update translations with DMR
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* update translations
* create new workspace in native language
Cleanup workspace page from empty state handling
* update quick action show logic
* fix send button
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* wip new home page multiuser auth
* implement new login page designs for single and multiuser auth
* fix scroll overflow on mobile
* rounded custom logos
* fix up translation entry to use var
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* Implement Unix username standard validations on username creation and updating.
* Remove leading underscore permissibility | Replace hardcoded username rules with a centralized USERNAME_REQUIREMENTS_TEXT for better maintainability.
* Add username requirements translations for invite and admin user creation | Replace hardcoded username requirements with localized strings in user modals
* Refactor username requirements localization
* Remove unneeded comment | Move Regex comment to validator fn
* Remove username validation utility function to keep validation responsibilities on the server | Allow onboarding flow multi-user mode username creation step to send pre-validated credentials to server.
* Enhance error handling in system endpoints by returning a JSON response with error details instead of a plain status for internal server errors.
* Update username requirement localization in AccountModal and UserSetup components to use centralized translation key.
* test enforcements
allow users to keep existing usernames without collision
* Normalize Translations (#4861)
* normalize translations
* add translations
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* Refactor Azure OpenAI integration to use OpenAI SDK and the v1 API | Enable streaming for Azure Open AI basic inference provider
* Add info tooltip to inform user about 'Model Type' form field
* Add 'model_type_tooltip' key to multiple language translations
* Validate AZURE_OPENAI_ENDPOINT in provider construction
* remove unused import, update error handler, rescope URL utils
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* Added bypassSSL parameter to constructor and implemented SSL bypass logic in fetchConfluenceData method
* Updated generateChunkSource function to include bypassSSL in the encrypted payload
* Updated the request body to include bypassSSL in the JSON payload sent to the backend
* Updated form submission to include bypassSSL parameter from the checkbox
* Added bypass_ssl: "Bypass SSL Certificate Validation" translation
* passed these parameters to fetchconfluencepage function for proper resync functionality
* allow ignore of SSL cert for Confluence
* add translations
---------
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
* Refactor DefaultChat component to display a simple welcome message instead of mock chat interface onboarding text
* Add last visited workspace functionality
- Implemented localStorage management for the last visited workspace in DefaultChat and WorkspaceChat components.
- Updated UserButton to clear last visited workspace on logout.
- Refactored workspace navigation to prioritize last visited workspace if available.
* Refactor workspace fetching & last visited workspace logic into one useEffect
* Enhance loading state in DefaultChat component with skeleton UI elements for improved user experience
* minor UI spacing changes
* refactor order for guard clauses for early exit conditions
* move last known to end of getWorkspace loader
* languages for PR #4542 (#4550)
* languages for PR #4542
* Drop welcome message keys from translations
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* Update Security UI to match all other Settings
* Normalizing translations
* Running yarn lint
* Set back all the null values
* fix spacing + lint
* remap name
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* WIP on embedder selection
TODO: apply splitting and query prefixes (if applicable)
* wip on upsert
* Support base model
support nomic-text-embed-v1
support multilingual-e5-small
Add prefixing for both embedding and query for RAG tasks
Add chunking prefix to all vector dbs to apply prefix when possible
Show dropdown and auto-pull on new selection
* norm translations
* move supported models to constants
handle null seelction or invalid selection on dropdown
update comments
* dev
* patch text splitter maximums for now
* normalize translations
* add tests for splitter functionality
* normalize
---------
Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
* add hint for chats in query mode
* add and normalize translations
* improve semantic HTML for linking
* use existing util
* linting
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>
* Enable UI/UX for model swapping in chat window
* forgot component
* patch useGetProviders hook to set loading on change of provider
* dev build
* normalize translations
* patch how model default is provided
---------
Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
* wip create skeleton for new embed chat ui/ux
* update ui for embed chats
* lint
* update sidebar/paths
* remove old embed pages
* patch broken link
* add created timestamp to differentiate embeds
update translation key to lowercase
add created at translation key
* update text colors
---------
Co-authored-by: timothycarambat <rambat1010@gmail.com>