Commit Graph

53 Commits

Author SHA1 Message Date
Timothy Carambat
3dedcede34
Filesystem Agent Skill overhaul (#5260)
* wip

* collector parse fixes

* refactor for class and also operation for reading

* add skill management panel

* management panel + lint

* management panel + lint

* Hide skill in non-docker context

* add ask-prompt for edit tool calls

* fix dep

* fix execa pkg (unused in codebase)

* simplify search with ripgrep only and build deps

* Fs skill i18n (#5264)

i18n

* add copy file support

* fix translations
2026-03-26 14:07:46 -07:00
Timothy Carambat
7e9737dd86
add ask to run prompt for tool calls (demo) (#5261)
* add ask to run prompt for tools

* border-none on buttons

* translations

* linting

* i18n (#5263)

* extend approve/deny requests to telegram

* break up handler
2026-03-24 15:18:17 -07:00
Timothy Carambat
96965b3f30
Intelligent Skill Selection (#5236)
* 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
2026-03-19 10:06:37 -07:00
Timothy Carambat
f395083978
Automatic mode for workspace (Agent mode default) (#5143)
* 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
2026-03-18 12:35:43 -07:00
Kesku
409ac543bd
feat(agents): Add Perplexity Search API as web search provider (#5210)
* feat(agents): Add Perplexity Search API as web search provider

Adds Perplexity as a search provider for the agent web-browsing plugin,
using the Perplexity Search API (POST /search) which returns raw ranked
web results — distinct from the existing Perplexity LLM integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* chore: replace docs.perplexity.ai with console.perplexity.ai

* chore: replace docs.perplexity.ai with console.perplexity.ai

---------

Co-authored-by: kesku <kesku@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-03-17 14:16:20 -07:00
Timothy Carambat
334ce052f0 Fix SQL injection in SQL Agent plugin via parameterized queries
Replace string concatenation with parameterized queries in all database
connectors to prevent SQL injection through LLM-generated table names.

Changes:
- PostgreSQL: Use $1, $2 placeholders with pg client parameterization
- MySQL: Use ? placeholders with mysql2 execute() prepared statements
- MSSQL: Use @p0 placeholders with request.input() parameterization
- Update handlers to support parameterized query objects
- Add formatQueryForDisplay() for logging parameterized queries

Security: Mitigates potential SQL injection when LLM passes unsanitized
user input as table_name parameter to getTableSchemaSql/getTablesSql.
GHSA-jwjx-mw2p-5wc7
2026-03-12 21:56:57 -07:00
Timothy Carambat
c76576a9da
Report citations for Agent call stacks (#5199) 2026-03-12 14:49:44 -07:00
Timothy Carambat
15a84d5121
Support Agent stream metric reporting (#5197) 2026-03-12 12:50:02 -07:00
Marcello Fitton
4a4378ed99
chore: add ESLint to /server (#5126)
* add eslint config to server

* add break statements to switch case

* add support for browser globals and turn off empty catch blocks

* disable lines with useless try/catch wrappers

* format

* fix no-undef errors

* disbale lines violating no-unsafe-finally

* ignore syncStaticLists.mjs

* use proper null check for creatorId instead of unreachable nullish coalescing

* remove unneeded typescript eslint comment

* make no-unused-private-class-members a warning

* disable line for no-empty-objects

* add new lint script

* fix no-unused-vars violations

* make no-unsued-vars an error

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2026-03-05 16:32:45 -08:00
Timothy Carambat
1d8c488e97
Remove Google web-search Programmable SERP (#5156) 2026-03-05 14:49:32 -08:00
Timothy Carambat
92752a2a15
Improve MCP functionality (#4709)
* Improve MCP functionality

* apply ANSI strip path

* attempt ARM build

* improve dockerfile IO build time and migrate to ARM build

* fix comment

* add ability to disable MCP cooldown feature

* update devbuild name

* move chromium arm build patch to CDN
2025-12-05 11:01:20 -08:00
Alex Barron
2eb5384e27
Add SerpApi web search (#4623)
Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2025-11-20 15:12:15 -08:00
Timothy Carambat
cf3fbcbf0f
Improve URL handler for collector processes (#4504)
* Improve URL handler for collector processes

* dev build
2025-10-07 11:03:27 -07:00
Marcello Fitton
6855bbf695
Refactor Class Name Logging (#4426)
* Add className property to various LLM and embedder classes to fix logging bug after minification

* Fix bug with this.log method by applying the missing private field symbol
2025-09-25 15:34:19 -10:00
Neha Prasad
a230a44f5c
feat: Add Exa as a Search Provider (#4258)
* Added exa-search case to the search provider switch in web-browsing.js

* Added ExaSearchOptions component for API key input

* update

* Patch missing image crashing UI
Fix issue where ENV key did not exist or was saved on click
Update copy for provider
Add Docs for ENV keys for manual placements
update systemssettings for returning key saved to UI

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-08-11 09:46:50 -07:00
start-life
20468d7053
Update common.js Hebrew language update (#4241)
* Update common.js

Hebrew language update

* linting

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-08-05 09:55:08 -07:00
Roman Wu
78cbb06c57
Modify the PostgreSQL SQL connector to support querying tables from schemas other than the default public schema. (#4202)
* Add PostgreSQL schema support to SQL connector

- Add schema configuration option to PostgreSQL connector
- Update SQL queries to filter by specified schema
- Add schema input field to frontend connection modal (PostgreSQL only)
- Default to 'public' schema when no custom schema specified
- Add getQualifiedTableName() method for schema.table format

* Fix code formatting after linting

* Update Postgresql.js

* add back removal of ending curly brace

* Update Postgresql.js

* add back removal of ending curly brace (again?)

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-07-28 08:43:15 -07:00
Sean Hatfield
49ea545d7f
SQL preflight connection validation (#4150)
* wip sql connection string validation

* handle failed sql connections in frontend

* sql preflight connection validation on modal save

* revert unneeded be/fe changes

* linting, form updates

---------

Co-authored-by: timothycarambat <rambat1010@gmail.com>
2025-07-16 09:02:39 -07:00
Sean Hatfield
fe1dfb1fde
Add option to enable encryption on MSSQL Server db (#4134)
* add option to enable encryption on mssql server dbs

* add tests for ConnectionStringParser
2025-07-15 15:26:38 -07:00
timothycarambat
ae2fa8805c resolves #4040 2025-07-10 13:20:39 -07:00
leopardracer
1e1694fcd0
Fix Typos in Comments and Documentation (#4015)
* Update communityHub.js

* Update memory.js
2025-06-24 09:06:59 -07:00
Maxim Evtush
7cef25822c
Fix typos in blog post example and save-file-browser plugin (#4009)
* Update blog-post-coding.js

* Update save-file-browser.js

* Update blog-post-coding.js

---------

Co-authored-by: Timothy Carambat <rambat1010@gmail.com>
2025-06-16 09:19:44 -07:00
Timothy Carambat
699684e301
Disable Agent retry to prevent looping on crash (#3617) 2025-04-07 16:44:21 -07:00
Timothy Carambat
1c905b1105
Replace connectionString parser for sql-agent (#3560)
resolves #3551
2025-03-28 12:46:21 -07:00
Timothy Carambat
d90571fa33
Add improved logging and introspection to web-browsing (#3140) 2025-02-06 09:23:05 -08:00
Timothy Carambat
d35b37b6ec
wip agent ui animation (#2999)
* wip agent ui animation

* WIP agent ui revision

* linting

* simplify css

* memoize agent responses

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2025-01-22 11:10:02 -08:00
Timothy Carambat
ad01df8790
Reranker option for RAG (#2929)
* Reranker WIP

* add cacheing and singleton loading

* Add field to workspaces for vectorSearchMode
Add UI for lancedb to change mode
update all search endpoints to pass in reranker prop if provider can use it

* update hint text

* When reranking, swap score to rerank score

* update optchain
2025-01-02 14:27:52 -08:00
WinSun
e41a9beaae
Fix the problem of web-searching can not complete searching sessions when using bing search. (#2611)
Fix the problem of web-searching can not complete searching sessions.
2024-11-08 20:37:15 -08:00
Sean Hatfield
a2eced0b43
DuckDuckGo web search agent skill support (#2584)
* duckduckgo web search agent skill support

* move ddg to first option in dropdown menu

* lint

* add duckduckgo option stating no config required
2024-11-04 17:01:11 -08:00
Sean Hatfield
5ac6020480
Tavily search web search agent support (#2395)
* support tavily search web search agent

* lint

* remove unneeded comments
2024-10-01 14:52:57 -07:00
Timothy Carambat
b8b55b5899
Feature/add searchapi web browsing (#2224)
* Add SearchApi to web browsing

* UI modifications for SearchAPI

---------

Co-authored-by: Sebastjan Prachovskij <sebastjan.prachovskij@gmail.com>
2024-09-05 10:36:46 -07:00
Timothy Carambat
2de9e492ec
Enabled use of @agent (and skills) via dev API calls (#2161)
* Use `@agent` via dev API

* Move EphemeralEventListener to same file as agent
2024-08-22 13:12:09 -07:00
Timothy Carambat
99f2c25b1c
Agent Context window + context window refactor. (#2126)
* Enable agent context windows to be accurate per provider:model

* Refactor model mapping to external file
Add token count to document length instead of char-count
refernce promptWindowLimit from AIProvider in central location

* remove unused imports
2024-08-15 12:13:28 -07:00
Timothy Carambat
23de85a3bd
Revert odbc support (#1936)
* Revert "Patch ODBC support from missing binary/headers for node-odbc"

This reverts commit 9de6b1cc26.

* Revert "OBDC Support (#1933)"

This reverts commit cd597a361e.
2024-07-23 17:27:39 -07:00
Timothy Carambat
cd597a361e
OBDC Support (#1933)
* add possibility to connect to SQL Base by ODBC

---------

Co-authored-by: suchaudn <nicolas.suchaud@legrand.fr>
Co-authored-by: nicho2 <nicho2@laposte.net>
2024-07-23 12:42:53 -07:00
Timothy Carambat
3198718975
Update references to new domain (#1916) 2024-07-22 11:05:34 -07:00
timothycarambat
89538c3614 fix typo in agent debug logs 2024-07-03 14:02:33 -07:00
Timothy Carambat
7a78ad3960
Apply workspace topN to agent call (#1779)
resolves #1777
2024-06-27 17:58:28 -07:00
Timothy Carambat
8b1ceb30c1
Add support for searXNG search for agents (#1733)
resolves #1367
2024-06-20 14:08:00 -07:00
timothycarambat
4f15f95f53 hotfix: fix bad semantic HTML
feat: add /reset to bailout for agent session
fix: patch save-to-browser not enabling
2024-06-12 12:43:06 -07:00
timothycarambat
394b5aafb6 linting 2024-06-10 15:22:32 -07:00
Serply
7693240e21
1646-added serply (#1647)
* added serply search api

* undo remove of new line

---------

Co-authored-by: teampen <136991215+teampen@users.noreply.github.com>
2024-06-10 15:17:41 -07:00
Timothy Carambat
d470845931
feat: expand summarization to OSS LLM (#1648) 2024-06-10 14:31:39 -07:00
Sean Hatfield
c24b79c9d1
[FEAT] Bing Search API web search provider (#1519)
implement bing search engine for agents
2024-05-23 16:49:30 -07:00
timothycarambat
961630f7d5 fix example call param 2024-05-23 08:29:25 -07:00
Timothy Carambat
9ace0e67e6
Validate max_tokens is number (#1445) 2024-05-17 21:44:55 -07:00
Timothy Carambat
15cf921616
Support SQL Agent skill (#1411)
* Support SQL Agent skill

* add MSSQL agent connector

* Add frontend to agent skills
remove FAKE_DB mock
reset skills to pickup child-skill dynamically

* add prompt examples for tools on untooled

* add better logging on SQL agents

* Wipe toolruns on each chat relay so tools can be used within the same session

* update comments
2024-05-16 10:38:21 -07:00
Timothy Carambat
1b4559f57f
Add LMStudio agent support (generic) support (#1246)
* add LMStudio agent support (generic) support
"work" with non-tool callable LLMs, highly dependent on system specs

* add comments

* enable few-shot prompting per function for OSS models
2024-05-07 16:35:47 -07:00
Timothy Carambat
2e813846dc
Agent skill: chart generation (#1103)
* WIP agent support

* move agent folder

* wip frontend socket

* checkpoint

* fix schema

* Checkpoint for plugins and AgentHandler

* refactor plugins and agent arch

* agent error reporting and handling

* add frontend elements for agents in prompt input

* WIP integrations for agents

* enable web-search agent config from frontend

* persist chat history

* update alert

* update migration
remove console logs
update close state for agent invocations

* add examples to dockerignore
Extract statusResponse to its own component

* update close method

* wrap scraping rejections

* add RAG search as funciton

* Add telem and link highlight

* chat support

* patch memory

* Add rechart as a plugin option

* Toggles for abilites of default agent (system wide)
Validate values for agent skills
Enable dynamic loading of skills
UI for toggle of skills

* add UI for toggle of configs for agent

* toggle WS or WSS protocol

* update NGNIX proxy pass

* move components around and capture failed websocket creation

* fix name

* tmp docker image

* reset workflow

* safety mark functions

* telem on tool calls

* remove hardcode short circuit

* separate web-browser from scrape

* extract summarizer to util
add abort handlers and controller for langchain stuff so socket close kills process

* langchain summarize verbose when in dev

* chart styling improvements + add title to chart

* fix legend from being cutoff in chart downloads

* remove cursor blink

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2024-04-26 11:18:55 -07:00
Timothy Carambat
41978765bc
Improve document summarizer by being able to reference by direct name versus ID, which sometimes models fail to chain (#1121) 2024-04-17 14:34:58 -07:00