Commit graph

42355 commits

Author SHA1 Message Date
yuneng-jiang
2242dd171b updating poetry lock 2026-03-18 14:09:46 -07:00
yuneng-jiang
7aa673a137 adding build 2026-03-18 14:07:43 -07:00
yuneng-jiang
f88e51e1b9 bump: version 0.4.57 → 0.4.58 2026-03-18 14:07:22 -07:00
Alexey
71b687e00a fix(proxy): sync normalized call_type into model_call_details for proxy-only errors 2026-03-18 23:49:07 +03:00
jyeros
7fac4d48ac Update docs 2026-03-18 15:48:59 -05:00
jyeros
2b6a32e0cd Add tests 2026-03-18 15:48:59 -05:00
jyeros
bb628e974a Add otel ignore_context_propagation as opt in 2026-03-18 15:48:59 -05:00
github-actions[bot]
b00096f2a0
chore: regenerate poetry.lock to match pyproject.toml (#2)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-18 20:33:09 +00:00
Emerson Gomes
845ad04291 Address router generic API review feedback 2026-03-18 15:25:44 -05:00
Emerson Gomes
98311e0f0a Preserve router model_group in generic API logs 2026-03-18 15:14:09 -05:00
yuneng-jiang
51f78b7d72 address greptile review feedback (greploop iteration 4)
- Add guard assertion before non-null click on custom code switch
- Use await act(async ...) for timer advancement to avoid act warnings
- Pin locale in date range assertion for CI determinism

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:09:17 -07:00
yuneng-jiang
eb7efa36da Add missing permission options to PERMISSION_OPTIONS list
Adds /key/info, /key/list, /key/aliases, and /team/daily/activity
to the hardcoded PERMISSION_OPTIONS in TeamSSOSettings.tsx.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 13:05:53 -07:00
Avik Kumar
fcea560682 fix(langsmith): populate usage_metadata in outputs for Cost column
LangSmith reads the Cost column from outputs.usage_metadata.total_cost,
but LangsmithLogger._prepare_log_data never wrote to that key. The
response_cost was already computed in StandardLoggingPayload but was
not forwarded to the outputs dict.

Inject usage_metadata with input_tokens, output_tokens, total_tokens,
and total_cost into the outputs dict so LangSmith can display cost.

Fixes #24001

Made-with: Cursor
2026-03-18 15:58:13 -04:00
yuneng-jiang
b75266d254 merge origin/main, resolve test file conflicts
Resolved conflicts in ScoreChart.test.tsx and HelpLink.test.tsx by
preferring origin/main's renderWithProviders pattern and merging
unique tests from both branches.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:57:31 -07:00
Krish Dholakia
af8363a77f
Merge pull request #24023 from Arindam200/v0-docs
docs: Revamp documentation site with new navigation, landing pages, and styling
2026-03-18 12:52:59 -07:00
yuneng-jiang
bbc120095e address greptile review feedback (greploop iteration 3)
- Remove Ant Design CSS class selector coupling in ExportFormatSelector test
- Lift mock fns out of TestTable component body to enable callback assertions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:48:01 -07:00
yuneng-jiang
56ed8379e2 address greptile review feedback (greploop iteration 2)
- Add explicit vi import to ScoreChart.test.tsx
- Use custom matcher for I/O modes to avoid cross-element text issues
- Use version-agnostic regex for Save button assertion
- Add comments noting placeholder data in GuardrailConfig tests

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:42:19 -07:00
yuneng-jiang
7714d1be0b address greptile review feedback (greploop iteration 3)
Add typeof string guards to all array element returns in resolveMode
to prevent non-string values from sneaking through via any-widening.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:40:56 -07:00
yuneng-jiang
6902355f5b address greptile review feedback (greploop iteration 2)
Replace unsafe `as string[]` cast in modeMatches with runtime type
check via `.some()`.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:34:03 -07:00
yuneng-jiang
40721ab18f address greptile review feedback (greploop iteration 1)
- Move vi.useRealTimers() to afterEach for proper cleanup
- Use label-based DOM queries instead of fragile positional indexes
- Remove leftover debug console.log from AgentHubTableColumns.tsx

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:31:25 -07:00
yuneng-jiang
1c8b5f77c9 address greptile review feedback (greploop iteration 1)
Add modeMatches() helper so array guardrail_mode values (e.g.
["pre_call", "post_call"]) place the entry in all matching timeline
buckets, not just the first. Updated test to verify both buckets.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:29:57 -07:00
Arindam200
4da2730607 Refactor TOC component to use Docusaurus Link for navigation 2026-03-19 00:59:56 +05:30
yuneng-jiang
20c1d984a6 [Test] UI: Add unit tests for 10 previously untested components
Add Vitest + RTL tests covering DebugWarningBanner, HelpLink, ExportFormatSelector, ExportSummary, ExportTypeSelector, UsageExportHeader, MetricCard, ScoreChart, GuardrailConfig, and AgentHubTableColumns. 73 tests total.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:18:42 -07:00
yuneng-jiang
b13a7c6790 Fix guardrail_mode.replace crash when backend returns non-string value
The backend type for guardrail_mode is Optional[Union[str, List[str], Dict]]
but the UI typed it as just string, causing a crash when .replace() was
called on null/object/array values.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 12:17:19 -07:00
yuneng-jiang
441f768abd Merge remote-tracking branch 'origin' into litellm_yj_march_17_2026 2026-03-18 12:07:50 -07:00
yuneng-jiang
dcc0c70936 [Refactor] Extract _convert_teams_to_response_models to fix PLR0915
list_team_v2 had 51 statements (limit 50). Extract the team-to-response-model
conversion loop into a helper function to satisfy ruff PLR0915.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:59:44 -07:00
Krish Dholakia
244bdffd1b
Merge pull request #23509 from michelligabriele/fix/pass-through-duplicate-failure-logs
fix(proxy): prevent duplicate callback logs for pass-through endpoint failures
2026-03-18 11:57:50 -07:00
Arindam200
6d12161627 Enhance navigation and sorting functionality in Docusaurus config 2026-03-18 21:45:43 +05:30
Arindam200
06901143aa Update release notes section 2026-03-18 21:25:08 +05:30
Krish Dholakia
0d7425a437
Merge pull request #23774 from michelligabriele/fix/model-level-guardrails-non-streaming-postcall
fix(proxy): model-level guardrails not executing for non-streaming post_call
2026-03-18 08:26:02 -07:00
Arindam200
9ad52b1bf3 update: authors image url & linkedin url 2026-03-18 20:42:29 +05:30
Arindam Majumder
643bfdd042
Update docs/my-website/docs/proxy/docker_quick_start.md
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-03-18 20:36:56 +05:30
Arindam200
4bedb6439e update sidebar 2026-03-18 20:13:56 +05:30
Arindam200
ca71028798 merge: update sidebars for mcp docs
Made-with: Cursor
2026-03-18 20:05:07 +05:30
Arindam200
40c7873166 chore(docs): add mcp_zero_trust sidebar entry
Made-with: Cursor
2026-03-18 20:04:41 +05:30
Krish Dholakia
b4a5e51668
Merge pull request #23820 from joereyna/release-notes/v1.82.3-v2 2026-03-18 07:10:24 -07:00
Sameer Kankute
ea80a19a39 Fix greptile review 2026-03-18 18:07:25 +05:30
Sameer Kankute
b56fdf188e Fix greptile review 2026-03-18 17:57:27 +05:30
Sameer Kankute
8e943929a2 docs(sidebar): add vertex PayGo tutorial under Spend Tracking
Made-with: Cursor
2026-03-18 17:52:51 +05:30
Sameer Kankute
17efd96e61 docs(vertex): add concise PayGo/Priority guide with cost-tracking flow
Document how to send Vertex Priority PayGo headers and explain how trafficType maps to service-tier pricing in LiteLLM, including an embedded flow diagram for quick understanding.

Made-with: Cursor
2026-03-18 17:49:03 +05:30
Alexandros Solanos
3759d1c82f
Merge branch 'main' into improve-llm-repeated-message-detection-performance 2026-03-18 12:55:36 +01:00
Mr. Ånand
76c8b388f6
Merge pull request #5 from Astrodevil/v0-docs
docs: Learn page updates, card links, integrations, sidebar changes
2026-03-18 17:20:31 +05:30
Mr. Ånand
143cd66fa0 docs: Learn page updates, card links, integrations, sidebar changes
- Remove Explore section from Learn page
- Common Tasks: Stream Responses → core_request_response_patterns, Use Tools → tools_integrations, Add Routing → routing-load-balancing
- Rename Router & Fallbacks card to Routing & Load Balancing on docs index
- Fix Agent & MCP Gateway cards, add letta to Agent SDKs sidebar
- Gateway quickstart: Make LLM Requests card first, rename from Connect SDKs
- Integrations: fix View all links (observability_integrations, guardrail_providers)
- SDK quickstart: remove Use Gateway card, keep When To Use Gateway section

Made-with: Cursor
2026-03-18 17:19:27 +05:30
Sameer Kankute
f29b4981a0 fix(prompting): preserve separator for assistant(tc)->assistant edge case
When scanning backward over counted messages, preserve old behavior for
adjacent assistant turns by inserting user_continue if the immediate
previous raw message is assistant. This handles malformed
assistant(tool_calls)->assistant(no-tool-calls) inputs without splitting
valid assistant(tool_calls)->tool chains.

Made-with: Cursor
2026-03-18 17:13:42 +05:30
Sameer Kankute
021540b2e2 fix: prevent double prompt management in async path, preserve optional params
- aresponses() now pops prompt_id from kwargs after the async hook runs
  and passes merged_optional_params via _async_prompt_merged_params.
  responses() checks for this internal kwarg first and skips the sync
  hook entirely when present — eliminating double-merge of template
  messages.
- merged_optional_params from async_get_chat_completion_prompt is no
  longer discarded (_); it flows through to local_vars in responses().
- Async tests now assert get_chat_completion_prompt.assert_not_called()
  to directly detect any double-execution regression.

Made-with: Cursor
2026-03-18 17:09:28 +05:30
Andrzej Pomirski
cf8d1ac521 fix: streaming container_id and consistent Pydantic types in output
- Populate container_id on streaming code_interpreter_results by
  re-emitting at message_delta when container info arrives
- Reconstruct Pydantic OutputCodeInterpreterCall objects from plain
  dicts in _extract_tool_result_output_items so responses_output
  has uniform types across streaming and non-streaming paths
2026-03-18 12:37:13 +01:00
Andrzej Pomirski
d10007cef4 test: add non-bash skip test and mock end-to-end streaming integration test
- test_non_bash_tool_result_skipped: verifies text_editor results produce
  zero code_interpreter_call items
- test_end_to_end_streaming_chunks_to_code_interpreter_output: exercises
  full path from Anthropic SSE chunks through ModelResponseIterator,
  stream_chunk_builder, and _extract_tool_result_output_items without
  a live server
2026-03-18 12:37:13 +01:00
Andrzej Pomirski
8f60117228 fix: guard code_interpreter conversion to bash_code_execution results only
Skip non-bash tool result types (e.g. text_editor_code_execution_tool_result)
to avoid producing empty code_interpreter_call items in Responses API output.
2026-03-18 12:37:13 +01:00
Andrzej Pomirski
3962fbc33a fix: non-dict tool result content falls back to outputs=None
Replace str(content) fallback with empty string so non-dict content
(e.g. list-shaped text_editor results) produces outputs=None instead
of raw Python object representations in logs.
2026-03-18 12:37:13 +01:00
Andrzej Pomirski
5b3e84f383 fix: address remaining review feedback
- Empty stdout/stderr now produces outputs=None (matching OpenAI parity)
  instead of outputs=[{logs:""}], in both streaming and non-streaming paths
- Fix test fixture to use real Anthropic type "bash_code_execution_tool_result"
  instead of "code_execution_tool_result"
- Add test for empty-output → outputs=None behavior
- Add unit tests for _extract_tool_result_output_items: Pydantic objects,
  plain dicts (post-model_dump), empty/missing provider_specific_fields,
  and in-place substitution preserving output ordering
2026-03-18 12:37:13 +01:00