merlyn/frontend
Timothy Carambat d6f0d305ab
Enable real-time agent tool call streaming for all providers (#4279)
* WIP agentic tool call streaming
- OpenAI
- Anthropic
- Azure OpenAI

* WIP rest of providers EXCLUDES Bedrock and GenericOpenAI

* patch untooled complete/streaming to use chatCallback provider from provider class and not assume OpenAI client struct
example: Ollama

* modify ollama to function with its own overrides
normalize completion/stream outputs across providers/untooled

* dev build

* fix message sanization for anthropic agent streaming

* wip fix anthropic agentic streaming sanitization

* patch gemini, webgenui, generic aibitat providers + disable providers unable to test

* refactor anthropic aibitat provider for empty message and tool call formatting

* Add frontend missing prop check
update Azure for streaming support
update Gemini to streamting support on gemini-* models
generic OpenAI disable streaming
verify localAI support
verify NVIDIA Nim support

* DPAIS, remove temp from call, support streaming'

* remove 0 temp to remove possibility of bad temp error/500s/400s

* Patch condition where model is non-streamable and no tools are present or called resulting in the provider `handleFunctionCallChat` being called - which returns a string.

This would then fail in Untooled.complete since response would be a string and not the expected `response.choices?.[0]?.message`

Modified this line to handle both conditions for stream/non-streaming and tool presence or lack thereof

* Allow generic Openai to be streamable since using untooled it should work fine
honor disabled streaming for provider where that concern may apply for regular chats

* rename function and more gemini-specific function to gemini provider

* add comments for readability
.complete on azure should be non-streaming as this is the sync response

* migrate CometAPI, but disable as we cannot test

---------

Co-authored-by: shatfield4 <seanhatfield5@gmail.com>
2025-10-01 10:17:18 -07:00
..
public Update embed (#3728) 2025-04-27 16:46:57 -07:00
scripts Enable editing and setting of meta-tag information (#1892) 2024-07-19 15:58:43 -07:00
src Enable real-time agent tool call streaming for all providers (#4279) 2025-10-01 10:17:18 -07:00
.env.example chore: rename Github to GitHub (#3199) 2025-02-13 10:45:43 -08:00
.gitignore Icon Button Tooltips (#1451) 2024-05-18 23:29:23 -05:00
.nvmrc bump node version requirement 2023-06-08 10:29:17 -07:00
index.html Update references to new domain (#1916) 2024-07-22 11:05:34 -07:00
jsconfig.json [FEAT] Agent skills UI redesign (#1565) 2024-06-12 10:52:32 -07:00
package.json Mobile sync support (#4173) 2025-07-31 12:28:03 -07:00
postcss.config.js inital commit 2023-06-03 19:28:07 -07:00
tailwind.config.js Publish system prompts to hub (#3976) 2025-06-16 09:59:38 -07:00
vite.config.js Add piperTTS in-browser text-to-speech (#2052) 2024-08-07 11:09:51 -07:00
yarn.lock Mobile sync support (#4173) 2025-07-31 12:28:03 -07:00