* feat(tasks): use tools for web search query if available
* feat(websearch): improve query generation with error handling and logging
* feat(tools): implement generic tool output extraction utility
This commit adds a new `getToolOutput` utility to standardize tool interaction across different tasks like title generation, reasoning summary, and web search query generation. The utility supports extracting tool outputs using a consistent approach, with fallback mechanisms and error handling.
fix: move FinalAnswer outside of reasoning processing blocks (#1717)
brians1196+1: bstieber
Unverified signature
21e1e7d
Co-authored-by: BRIAN M. STIEBER <bstieber@toyon.com>
fix: handle no beginToken for token based reasoning models (#1713)
* feat: add `deepseek-ai/DeepSeek-R1-Distill-Qwen-32B` to HuggingChat config
* feat: hide reasoning modal when its empty
* fix: put r1 model higher in list
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>
feat(websearch): skip pages that dont return success (#1639)
* support anthropic PDF beta
* upstream merge, remove commented out console log line
* Fixing type errors.
the anthropic API does not yet include a "DocumentBlock" for
support PDFs, so an extended type has been added to the endpoint.
* changed document processor to async (matching image processor)
* use the beta api types rather than custom extension
* rudimentary tool testing
* interim commit (tool re-passing, file handling)
* remove merge error
* tidy up, isolate beta classes to utils
* anthropic tool calling support.
* improve handling of directlyAnswer tool
* fix streaming
* slight tidy up to tools flow handling
* fix: dont pass tools in final generation, instead deduce tools from tool results
---------
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>
Add support for Amazon Nova (#1629)
Tarek Becker+1: nsarrazin
Unverified signature
d965f78
* Add support for Amazon Nova
* fix linting issue
* fix: replace model.id check with `isNova` flag and remove debug logs
---------
Co-authored-by: Nathan Sarrazin <sarrazin.nathan@gmail.com>
fix: disable caching on OpenAI-compatible endpoint type
* feat: new tool UI
* wip community tools support
* fix: community tools support
* fix: line heights
* fix: MIME types
* fix: remove debug logs
* fix: make sure file upload is always last
* fix: always enable document parser when a pdf is present in the conversation
* fix: use correct icon for document upload
* fix: make sure community tools use their custom icons correctly
* feat: add button to browse community tools
* tweak buttons
* add some tooltips
* fix: bug in file upload tooltips
* fix: lint
---------
Co-authored-by: Victor Mustar <victor.mustar@gmail.com>
feat: explicit config of id token alg (#1567) (#1568)
drewtoto+2: dt-ati, nsarrazin
Unverified signature
854a666
* feat: explicit config of id token alg (#1567)
- support to configure `id_token_signed_response_alg` field in the
configuration object passed to `issuer.Client` in
`src/lib/server/auth.ts`.
- allow `id_token_signed_response_alg` to be set from environment
variable `OIDConfig.ID_TOKEN_SIGNED_RESPONSE_ALG` or obtained via
OP metadata during issuer discovery when `RS256` is not included.
* fix: refacto a bit, narrow types and add zod validation
---------
Co-authored-by: Drew Toto <drew_toto@alliedtelesis.com>
Co-authored-by: Nathan Sarrazin <sarrazin.nathan@gmail.com>
feat(openai): added support for o1 reasoning models (#1618)
* fix(openai): systemRoleSupported model configuration for openai endpoints
* feat(openai): max_completion_tokens now used over max_tokens for chat_completeions endpoint.
* fix: lint
* feat(docs): add o1 example
* fix: make parameter default to false and fix type checks
---------
Co-authored-by: Nathan Sarrazin <sarrazin.nathan@gmail.com>
* fix: clean up tool calling
more inline with latest changes in transformers lib and adds tool calling to qwen 2.5 72b
* fix: add more field name options
* fix: make tool calls a bit more robust
* feat: add a reasoning dropdown for CoT models
* feat: add status updates
* fix: various cleanups
- pass content & status to result dropdown
- dont store streaming updates in db
- make status generation non blocking
* fix: make sure not to push reasoning token stream to db
* feat: add time indicator and make the ui match websearch
* fix: change in status update & prompt
Anthropic PDF Beta Support (#1571)
evalstate+1: nsarrazin
Unverified signature
63c93cf
* support anthropic PDF beta
* upstream merge, remove commented out console log line
* Fixing type errors.
the anthropic API does not yet include a "DocumentBlock" for
support PDFs, so an extended type has been added to the endpoint.
* changed document processor to async (matching image processor)
* use the beta api types rather than custom extension
---------
Co-authored-by: Nathan Sarrazin <sarrazin.nathan@gmail.com>
fix: default auth not properly treated if undefined
* feat(migrations): clean up empty conversations from db
* fix(tests): better test coverage, fix bug with sessions
* feat: better migration
* fix: stop test server after running tests
* fix: migration code
* fix: refactor to take into account large size of session collection
Fix/oai parameters 1552 (#1557)
evalstate
Unverified signature
52dfa8c
* support temperature between 0 and 2
* added parsing of presence_penalty from model parameters. OAI endpoint now correctly uses (frequency penalty=parameters.repetition penalty) and (presence penalty=parameters.presence_penalty) for both chat and completion paths.
* added parsing of presence_penalty from model parameters. OAI endpoint now correctly uses (frequency penalty=parameters.repetition penalty) and (presence penalty=parameters.presence_penalty) for both chat and completion paths.
* feat: paste long context as a file
* fix: anim sources
* fix: animations
* feat: actually inject plaintext files in the prompt
* filter out files that are plain text
* feat: use custom MIME type for clipboard content
* feat: add better UI affordance for pasting
* fix: cleanup animations
feat: Add a model config option to disable system prompts (#1539)