* feat(team_info.tsx): allow user to reassign team to another org
* style(team_info.tsx): fix org id styling
* feat(team_endpoints.py): add validation check before migrating team to another org
ensure model access, budgets and membership is respected
* fix(team_endpoints.py): update model migration validation to check if org has 'all-proxy-models' access
* fix(organization_view.tsx): show teams belonging to org
* feat(team_endpoints.py): handle wildcard model check on org migration
* fix(team_endpoints.py): nest router check
* test: update testing - use model with higher quota
* build: update poetry lock
* refactor KB implementation to use central registry
* allow passing tools when making KB calls
* test fixes
* linting fix
* fix kb tests
* QA for KB stored in DB
* fix, use litellm_credential_name when adding KB on litellm UI
* QA list endpoint vector stores
* allow using UI creds with KBs
* feat(provider_specific_fields.tsx): Use correct form instance
Fixes https://github.com/BerriAI/litellm/issues/10115
* Fix broken pagination by correctly passing page and pageSize to keyListCall (#10498)
* [Organization] Include litellm_budget_table in /organization/list response (#10488)
* join litellm_budget_table in /organization/list endpoint
* update test
---------
Co-authored-by: tanjiro <56165694+NANDINI-star@users.noreply.github.com>
Fixes: GH-9641
This is a Cursor-generated fix for the following warning from pytest:
```
litellm/caching/llm_caching_handler.py:17
/Users/abramowi/Code/OpenSource/litellm/litellm/caching/llm_caching_handler.py:17: DeprecationWarning: There is no current event loop
event_loop = asyncio.get_event_loop()
```
Cursor prompt:
Fix this pytest warning
```
litellm/caching/llm_caching_handler.py:17
/Users/abramowi/Code/OpenSource/litellm/litellm/caching/llm_caching_handler.py:17: DeprecationWarning: There is no current event loop
event_loop = asyncio.get_event_loop()
```
Fixes https://github.com/BerriAI/litellm/issues/9641
* ensure vector store results are logged in SLP
* fix tests
* fix tests with vector_store_request_metadata
* fix linting
* track duration of vector store, only log content when user opts into it
* working vector store viewer
* fix custom llm provider - Vector Store Requests
* fix vector store viewer
* fix logging redacted vector searches
* testing for storing KB queries in DB
* only apply cost if response includes annotations for url/file
* only apply cost if response includes annotations for url/file
* testing fix tool cost tracking
* fix response_includes_annotation_type
* fix slack alerting with webhooks
* emit correct event group/entity on webhooks
* refactor to use a common class of alerts with abc methods
* fixes for tests
* refactor to use a common class of alerts with abc methods
* Send a budget alert on slack or webhook
* unit test slack alerting
* fix code qa
* added tests
messages_with_counts: Made tolerance explicit for each test. But they match the new implementation(which beats the old)
* new token counter impl
* compare old and new implementation in test
* delete old token counter
* moved tests to /tests/litellm/litellm_core_utils
* use existing types
* docstrings
* warn about using default params on unknown model.
* created type for the token_counter_function
* check key == "content"
* throw error on invalid detail-type, ignore type-warning.
* fix imports
* Move mypy.ini to litellm folder
because that's where GH Actions runs mypy
* Add annotation-unchecked to disable_error_code
so we don't get a zillion of these warnings when running mypy:
```
note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs [annotation-unchecked]
```
* fix(vertex_and_google_ai_studio.py): fix finish reason to be 'tool_calls' when tool call returned
Vertex returns 'Stop', openai format is 'tool calls'
* test(base_llm_unit_tests.py): bump test to assert tool calls in finish reason
documentation includes outdated example of configuration of realtime
model that does not comply with current healthcheck:
https://github.com/BerriAI/litellm/pull/7453. Provide proper model info
mode in example
* Update docs for OpenAI compatible providers, add Llamafile docs, include Llamafile in the sidebar
* Add Llamafile as an LlmProviders enum
* Add llamafile as a OpenAI compatible provider (in the list of compatible providers)
* Add Llamafile chat config and tests
* Wire up Llamafile
Co-authored-by: Peter Wilson <peter@mozilla.ai>
* fix(all_keys_table.tsx): fix filtering on key alias across multiple pages
* fix(key_management_endpoints.py): enable global sorting on `/key/list`
* feat(all_keys_table.tsx): support sorting on keys table
* feat(all_keys_table.tsx): enable global sorting
* ci(config.yml): add requests mock
* fix(exception_mapping_utils.py): correctly pass through 504 status code
openai also raises a 504 status code
* build(model_prices_and_context_window.json): add gpt-4o-mini-tts to model cost map
Fixes https://github.com/BerriAI/litellm/issues/9591
* fix(cost_calculator.py): fix input cost calculation for gpt-4o-mini-tts
Fixes https://github.com/BerriAI/litellm/issues/9591
* test: testing updates