@homeflare/distilled-litellm 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/README.md +41 -12
  2. package/dist/services/a2a.js +1 -1
  3. package/dist/services/a2a_registration.js +1 -1
  4. package/dist/services/access_groups.d.ts +18 -0
  5. package/dist/services/access_groups.d.ts.map +1 -1
  6. package/dist/services/access_groups.js +15 -1
  7. package/dist/services/access_groups.js.map +1 -1
  8. package/dist/services/adaptive_router.js +1 -1
  9. package/dist/services/agents.d.ts +10 -0
  10. package/dist/services/agents.d.ts.map +1 -1
  11. package/dist/services/agents.js +10 -1
  12. package/dist/services/agents.js.map +1 -1
  13. package/dist/services/alerting.js +1 -1
  14. package/dist/services/anthropic_passthrough.js +1 -1
  15. package/dist/services/anthropic_skills.d.ts +7 -1
  16. package/dist/services/anthropic_skills.d.ts.map +1 -1
  17. package/dist/services/anthropic_skills.js +6 -2
  18. package/dist/services/anthropic_skills.js.map +1 -1
  19. package/dist/services/assistants.js +1 -1
  20. package/dist/services/audio.js +1 -1
  21. package/dist/services/audit_logging.d.ts +2 -0
  22. package/dist/services/audit_logging.d.ts.map +1 -1
  23. package/dist/services/audit_logging.js +2 -1
  24. package/dist/services/audit_logging.js.map +1 -1
  25. package/dist/services/auto_router.d.ts +162 -62
  26. package/dist/services/auto_router.d.ts.map +1 -1
  27. package/dist/services/auto_router.js +92 -31
  28. package/dist/services/auto_router.js.map +1 -1
  29. package/dist/services/batch.js +1 -1
  30. package/dist/services/beta_agents.js +1 -1
  31. package/dist/services/beta_mcp.js +1 -1
  32. package/dist/services/budget_management.d.ts +8 -3
  33. package/dist/services/budget_management.d.ts.map +1 -1
  34. package/dist/services/budget_management.js +7 -4
  35. package/dist/services/budget_management.js.map +1 -1
  36. package/dist/services/budget_spend_tracking.d.ts +24 -5
  37. package/dist/services/budget_spend_tracking.d.ts.map +1 -1
  38. package/dist/services/budget_spend_tracking.js +17 -4
  39. package/dist/services/budget_spend_tracking.js.map +1 -1
  40. package/dist/services/cache_settings.js +1 -1
  41. package/dist/services/caching.js +1 -1
  42. package/dist/services/chat_completions.js +1 -1
  43. package/dist/services/claude_code_marketplace.d.ts +11 -10
  44. package/dist/services/claude_code_marketplace.d.ts.map +1 -1
  45. package/dist/services/claude_code_marketplace.js +8 -6
  46. package/dist/services/claude_code_marketplace.js.map +1 -1
  47. package/dist/services/cloudzero.js +1 -1
  48. package/dist/services/completions.js +1 -1
  49. package/dist/services/compliance.js +1 -1
  50. package/dist/services/config_overrides.d.ts +5 -1
  51. package/dist/services/config_overrides.d.ts.map +1 -1
  52. package/dist/services/config_overrides.js +3 -1
  53. package/dist/services/config_overrides.js.map +1 -1
  54. package/dist/services/config_yaml.d.ts +120 -6
  55. package/dist/services/config_yaml.d.ts.map +1 -1
  56. package/dist/services/config_yaml.js +67 -1
  57. package/dist/services/config_yaml.js.map +1 -1
  58. package/dist/services/containers.d.ts +8 -2
  59. package/dist/services/containers.d.ts.map +1 -1
  60. package/dist/services/containers.js +13 -5
  61. package/dist/services/containers.js.map +1 -1
  62. package/dist/services/coordination_redis_settings.js +1 -1
  63. package/dist/services/cost_tracking.d.ts +91 -1
  64. package/dist/services/cost_tracking.d.ts.map +1 -1
  65. package/dist/services/cost_tracking.js +82 -2
  66. package/dist/services/cost_tracking.js.map +1 -1
  67. package/dist/services/credential_management.d.ts +2 -1
  68. package/dist/services/credential_management.d.ts.map +1 -1
  69. package/dist/services/credential_management.js +3 -2
  70. package/dist/services/credential_management.js.map +1 -1
  71. package/dist/services/customer_management.d.ts +25 -2
  72. package/dist/services/customer_management.d.ts.map +1 -1
  73. package/dist/services/customer_management.js +22 -3
  74. package/dist/services/customer_management.js.map +1 -1
  75. package/dist/services/email_management.js +1 -1
  76. package/dist/services/embeddings.js +1 -1
  77. package/dist/services/evals.js +1 -1
  78. package/dist/services/experimental.js +1 -1
  79. package/dist/services/fallback_management.js +1 -1
  80. package/dist/services/files.js +1 -1
  81. package/dist/services/fine_tuning.js +1 -1
  82. package/dist/services/gemini_agents.js +1 -1
  83. package/dist/services/google_genai_endpoints.js +1 -1
  84. package/dist/services/guardrails.d.ts +80 -7
  85. package/dist/services/guardrails.d.ts.map +1 -1
  86. package/dist/services/guardrails.js +37 -1
  87. package/dist/services/guardrails.js.map +1 -1
  88. package/dist/services/health.d.ts +2 -2
  89. package/dist/services/health.d.ts.map +1 -1
  90. package/dist/services/health.js +2 -2
  91. package/dist/services/health.js.map +1 -1
  92. package/dist/services/images.js +1 -1
  93. package/dist/services/index.d.ts +1 -15
  94. package/dist/services/index.d.ts.map +1 -1
  95. package/dist/services/index.js +1 -15
  96. package/dist/services/index.js.map +1 -1
  97. package/dist/services/internal_user_management.d.ts +227 -39
  98. package/dist/services/internal_user_management.d.ts.map +1 -1
  99. package/dist/services/internal_user_management.js +194 -37
  100. package/dist/services/internal_user_management.js.map +1 -1
  101. package/dist/services/invite_links.js +1 -1
  102. package/dist/services/jwt_mappings.d.ts +3 -0
  103. package/dist/services/jwt_mappings.d.ts.map +1 -1
  104. package/dist/services/jwt_mappings.js +4 -1
  105. package/dist/services/jwt_mappings.js.map +1 -1
  106. package/dist/services/key_management.d.ts +93 -49
  107. package/dist/services/key_management.d.ts.map +1 -1
  108. package/dist/services/key_management.js +75 -39
  109. package/dist/services/key_management.js.map +1 -1
  110. package/dist/services/langfuse_passthrough.js +1 -1
  111. package/dist/services/llm_passthrough.d.ts +1199 -0
  112. package/dist/services/llm_passthrough.d.ts.map +1 -0
  113. package/dist/services/llm_passthrough.js +2150 -0
  114. package/dist/services/llm_passthrough.js.map +1 -0
  115. package/dist/services/llm_utils.js +1 -1
  116. package/dist/services/logging_callbacks.js +1 -1
  117. package/dist/services/mcp_byok_oauth.d.ts +18 -11
  118. package/dist/services/mcp_byok_oauth.d.ts.map +1 -1
  119. package/dist/services/mcp_byok_oauth.js +27 -24
  120. package/dist/services/mcp_byok_oauth.js.map +1 -1
  121. package/dist/services/mcp_discoverable.d.ts +34 -0
  122. package/dist/services/mcp_discoverable.d.ts.map +1 -1
  123. package/dist/services/mcp_discoverable.js +51 -1
  124. package/dist/services/mcp_discoverable.js.map +1 -1
  125. package/dist/services/mcp_management.d.ts +90 -2
  126. package/dist/services/mcp_management.d.ts.map +1 -1
  127. package/dist/services/mcp_management.js +115 -3
  128. package/dist/services/mcp_management.js.map +1 -1
  129. package/dist/services/mcp_rest.d.ts +13 -0
  130. package/dist/services/mcp_rest.d.ts.map +1 -1
  131. package/dist/services/mcp_rest.js +10 -2
  132. package/dist/services/mcp_rest.js.map +1 -1
  133. package/dist/services/memory_management.d.ts +2 -0
  134. package/dist/services/memory_management.d.ts.map +1 -1
  135. package/dist/services/memory_management.js +2 -1
  136. package/dist/services/memory_management.js.map +1 -1
  137. package/dist/services/misc.d.ts +86 -1
  138. package/dist/services/misc.d.ts.map +1 -1
  139. package/dist/services/misc.js +126 -2
  140. package/dist/services/misc.js.map +1 -1
  141. package/dist/services/model_management.d.ts +310 -19
  142. package/dist/services/model_management.d.ts.map +1 -1
  143. package/dist/services/model_management.js +240 -7
  144. package/dist/services/model_management.js.map +1 -1
  145. package/dist/services/moderations.js +1 -1
  146. package/dist/services/ocr.js +1 -1
  147. package/dist/services/open_ai_pass_through.d.ts +35 -90
  148. package/dist/services/open_ai_pass_through.d.ts.map +1 -1
  149. package/dist/services/open_ai_pass_through.js +41 -139
  150. package/dist/services/open_ai_pass_through.js.map +1 -1
  151. package/dist/services/organization_management.d.ts +21 -1
  152. package/dist/services/organization_management.d.ts.map +1 -1
  153. package/dist/services/organization_management.js +20 -2
  154. package/dist/services/organization_management.js.map +1 -1
  155. package/dist/services/plugins.js +1 -1
  156. package/dist/services/policies.d.ts +2 -0
  157. package/dist/services/policies.d.ts.map +1 -1
  158. package/dist/services/policies.js +3 -1
  159. package/dist/services/policies.js.map +1 -1
  160. package/dist/services/policy_engine.d.ts +6 -0
  161. package/dist/services/policy_engine.d.ts.map +1 -1
  162. package/dist/services/policy_engine.js +4 -1
  163. package/dist/services/policy_engine.js.map +1 -1
  164. package/dist/services/project_management.d.ts +15 -0
  165. package/dist/services/project_management.d.ts.map +1 -1
  166. package/dist/services/project_management.js +14 -1
  167. package/dist/services/project_management.js.map +1 -1
  168. package/dist/services/prompts.js +1 -1
  169. package/dist/services/public.d.ts +124 -0
  170. package/dist/services/public.d.ts.map +1 -1
  171. package/dist/services/public.js +158 -1
  172. package/dist/services/public.js.map +1 -1
  173. package/dist/services/rag.js +1 -1
  174. package/dist/services/realtime.d.ts +4 -26
  175. package/dist/services/realtime.d.ts.map +1 -1
  176. package/dist/services/realtime.js +7 -57
  177. package/dist/services/realtime.js.map +1 -1
  178. package/dist/services/rerank.d.ts +72 -0
  179. package/dist/services/rerank.d.ts.map +1 -1
  180. package/dist/services/rerank.js +61 -4
  181. package/dist/services/rerank.js.map +1 -1
  182. package/dist/services/responses.d.ts +30 -0
  183. package/dist/services/responses.d.ts.map +1 -1
  184. package/dist/services/responses.js +59 -1
  185. package/dist/services/responses.js.map +1 -1
  186. package/dist/services/router_settings.js +1 -1
  187. package/dist/services/rust_control_plane.js +1 -1
  188. package/dist/services/scim.d.ts +41 -1
  189. package/dist/services/scim.d.ts.map +1 -1
  190. package/dist/services/scim.js +60 -2
  191. package/dist/services/scim.js.map +1 -1
  192. package/dist/services/search.js +1 -1
  193. package/dist/services/search_tools.js +1 -1
  194. package/dist/services/settings.d.ts +88 -0
  195. package/dist/services/settings.d.ts.map +1 -1
  196. package/dist/services/settings.js +113 -1
  197. package/dist/services/settings.js.map +1 -1
  198. package/dist/services/sso_settings.d.ts +1 -1
  199. package/dist/services/sso_settings.d.ts.map +1 -1
  200. package/dist/services/sso_settings.js +1 -1
  201. package/dist/services/sso_settings.js.map +1 -1
  202. package/dist/services/tag_management.d.ts +7 -0
  203. package/dist/services/tag_management.d.ts.map +1 -1
  204. package/dist/services/tag_management.js +8 -1
  205. package/dist/services/tag_management.js.map +1 -1
  206. package/dist/services/team_management.d.ts +265 -17
  207. package/dist/services/team_management.d.ts.map +1 -1
  208. package/dist/services/team_management.js +247 -12
  209. package/dist/services/team_management.js.map +1 -1
  210. package/dist/services/tools.js +1 -1
  211. package/dist/services/ui_settings.js +1 -1
  212. package/dist/services/ui_theme_settings.js +1 -1
  213. package/dist/services/usage_ai.js +1 -1
  214. package/dist/services/vantage.js +1 -1
  215. package/dist/services/vector_store_management.js +1 -1
  216. package/dist/services/vector_stores.js +1 -1
  217. package/dist/services/videos.js +1 -1
  218. package/dist/services/web_socket.d.ts +0 -18
  219. package/dist/services/web_socket.d.ts.map +1 -1
  220. package/dist/services/web_socket.js +1 -33
  221. package/dist/services/web_socket.js.map +1 -1
  222. package/dist/services/workflow_management.js +1 -1
  223. package/package.json +1 -1
  224. package/src/services/a2a.ts +1 -1
  225. package/src/services/a2a_registration.ts +1 -1
  226. package/src/services/access_groups.ts +44 -1
  227. package/src/services/adaptive_router.ts +1 -1
  228. package/src/services/agents.ts +22 -1
  229. package/src/services/alerting.ts +1 -1
  230. package/src/services/anthropic_passthrough.ts +1 -1
  231. package/src/services/anthropic_skills.ts +12 -2
  232. package/src/services/assistants.ts +1 -1
  233. package/src/services/audio.ts +1 -1
  234. package/src/services/audit_logging.ts +4 -1
  235. package/src/services/auto_router.ts +303 -93
  236. package/src/services/batch.ts +1 -1
  237. package/src/services/beta_agents.ts +1 -1
  238. package/src/services/beta_mcp.ts +1 -1
  239. package/src/services/budget_management.ts +12 -4
  240. package/src/services/budget_spend_tracking.ts +38 -6
  241. package/src/services/cache_settings.ts +1 -1
  242. package/src/services/caching.ts +1 -1
  243. package/src/services/chat_completions.ts +1 -1
  244. package/src/services/claude_code_marketplace.ts +20 -14
  245. package/src/services/cloudzero.ts +1 -1
  246. package/src/services/completions.ts +1 -1
  247. package/src/services/compliance.ts +1 -1
  248. package/src/services/config_overrides.ts +8 -2
  249. package/src/services/config_yaml.ts +251 -6
  250. package/src/services/containers.ts +29 -11
  251. package/src/services/coordination_redis_settings.ts +1 -1
  252. package/src/services/cost_tracking.ts +198 -2
  253. package/src/services/credential_management.ts +9 -4
  254. package/src/services/customer_management.ts +49 -3
  255. package/src/services/email_management.ts +1 -1
  256. package/src/services/embeddings.ts +1 -1
  257. package/src/services/evals.ts +1 -1
  258. package/src/services/experimental.ts +1 -1
  259. package/src/services/fallback_management.ts +1 -1
  260. package/src/services/files.ts +1 -1
  261. package/src/services/fine_tuning.ts +1 -1
  262. package/src/services/gemini_agents.ts +1 -1
  263. package/src/services/google_genai_endpoints.ts +1 -1
  264. package/src/services/guardrails.ts +198 -8
  265. package/src/services/health.ts +3 -2
  266. package/src/services/images.ts +1 -1
  267. package/src/services/index.ts +1 -15
  268. package/src/services/internal_user_management.ts +565 -103
  269. package/src/services/invite_links.ts +1 -1
  270. package/src/services/jwt_mappings.ts +7 -1
  271. package/src/services/key_management.ts +229 -126
  272. package/src/services/langfuse_passthrough.ts +1 -1
  273. package/src/services/llm_passthrough.ts +4542 -0
  274. package/src/services/llm_utils.ts +1 -1
  275. package/src/services/logging_callbacks.ts +1 -1
  276. package/src/services/mcp_byok_oauth.ts +65 -45
  277. package/src/services/mcp_discoverable.ts +109 -1
  278. package/src/services/mcp_management.ts +258 -3
  279. package/src/services/mcp_rest.ts +30 -5
  280. package/src/services/memory_management.ts +4 -1
  281. package/src/services/misc.ts +269 -2
  282. package/src/services/model_management.ts +666 -21
  283. package/src/services/moderations.ts +1 -1
  284. package/src/services/ocr.ts +1 -1
  285. package/src/services/open_ai_pass_through.ts +81 -286
  286. package/src/services/organization_management.ts +44 -2
  287. package/src/services/plugins.ts +1 -1
  288. package/src/services/policies.ts +5 -1
  289. package/src/services/policy_engine.ts +10 -1
  290. package/src/services/project_management.ts +33 -1
  291. package/src/services/prompts.ts +1 -1
  292. package/src/services/public.ts +356 -1
  293. package/src/services/rag.ts +1 -1
  294. package/src/services/realtime.ts +11 -111
  295. package/src/services/rerank.ts +187 -7
  296. package/src/services/responses.ts +117 -1
  297. package/src/services/router_settings.ts +1 -1
  298. package/src/services/rust_control_plane.ts +1 -1
  299. package/src/services/scim.ts +134 -3
  300. package/src/services/search.ts +1 -1
  301. package/src/services/search_tools.ts +1 -1
  302. package/src/services/settings.ts +278 -1
  303. package/src/services/sso_settings.ts +2 -1
  304. package/src/services/tag_management.ts +15 -1
  305. package/src/services/team_management.ts +676 -37
  306. package/src/services/tools.ts +1 -1
  307. package/src/services/ui_settings.ts +1 -1
  308. package/src/services/ui_theme_settings.ts +1 -1
  309. package/src/services/usage_ai.ts +1 -1
  310. package/src/services/vantage.ts +1 -1
  311. package/src/services/vector_store_management.ts +1 -1
  312. package/src/services/vector_stores.ts +1 -1
  313. package/src/services/videos.ts +1 -1
  314. package/src/services/web_socket.ts +1 -61
  315. package/src/services/workflow_management.ts +1 -1
  316. package/dist/services/anthropic_pass_through.d.ts +0 -70
  317. package/dist/services/anthropic_pass_through.d.ts.map +0 -1
  318. package/dist/services/anthropic_pass_through.js +0 -114
  319. package/dist/services/anthropic_pass_through.js.map +0 -1
  320. package/dist/services/assembly_ai_eu_pass_through.d.ts +0 -70
  321. package/dist/services/assembly_ai_eu_pass_through.d.ts.map +0 -1
  322. package/dist/services/assembly_ai_eu_pass_through.js +0 -114
  323. package/dist/services/assembly_ai_eu_pass_through.js.map +0 -1
  324. package/dist/services/assembly_ai_pass_through.d.ts +0 -70
  325. package/dist/services/assembly_ai_pass_through.d.ts.map +0 -1
  326. package/dist/services/assembly_ai_pass_through.js +0 -114
  327. package/dist/services/assembly_ai_pass_through.js.map +0 -1
  328. package/dist/services/aws_comprehend_medical_pass_through.d.ts +0 -36
  329. package/dist/services/aws_comprehend_medical_pass_through.d.ts.map +0 -1
  330. package/dist/services/aws_comprehend_medical_pass_through.js +0 -56
  331. package/dist/services/aws_comprehend_medical_pass_through.js.map +0 -1
  332. package/dist/services/azure_ai_pass_through.d.ts +0 -70
  333. package/dist/services/azure_ai_pass_through.d.ts.map +0 -1
  334. package/dist/services/azure_ai_pass_through.js +0 -112
  335. package/dist/services/azure_ai_pass_through.js.map +0 -1
  336. package/dist/services/azure_pass_through.d.ts +0 -70
  337. package/dist/services/azure_pass_through.d.ts.map +0 -1
  338. package/dist/services/azure_pass_through.js +0 -107
  339. package/dist/services/azure_pass_through.js.map +0 -1
  340. package/dist/services/bedrock_pass_through.d.ts +0 -70
  341. package/dist/services/bedrock_pass_through.d.ts.map +0 -1
  342. package/dist/services/bedrock_pass_through.js +0 -114
  343. package/dist/services/bedrock_pass_through.js.map +0 -1
  344. package/dist/services/cohere_pass_through.d.ts +0 -70
  345. package/dist/services/cohere_pass_through.d.ts.map +0 -1
  346. package/dist/services/cohere_pass_through.js +0 -112
  347. package/dist/services/cohere_pass_through.js.map +0 -1
  348. package/dist/services/cursor_pass_through.d.ts +0 -70
  349. package/dist/services/cursor_pass_through.d.ts.map +0 -1
  350. package/dist/services/cursor_pass_through.js +0 -112
  351. package/dist/services/cursor_pass_through.js.map +0 -1
  352. package/dist/services/google_ai_studio_pass_through.d.ts +0 -70
  353. package/dist/services/google_ai_studio_pass_through.d.ts.map +0 -1
  354. package/dist/services/google_ai_studio_pass_through.js +0 -112
  355. package/dist/services/google_ai_studio_pass_through.js.map +0 -1
  356. package/dist/services/milvus_pass_through.d.ts +0 -70
  357. package/dist/services/milvus_pass_through.d.ts.map +0 -1
  358. package/dist/services/milvus_pass_through.js +0 -112
  359. package/dist/services/milvus_pass_through.js.map +0 -1
  360. package/dist/services/mistral_pass_through.d.ts +0 -70
  361. package/dist/services/mistral_pass_through.d.ts.map +0 -1
  362. package/dist/services/mistral_pass_through.js +0 -114
  363. package/dist/services/mistral_pass_through.js.map +0 -1
  364. package/dist/services/vertex_ai_pass_through.d.ts +0 -180
  365. package/dist/services/vertex_ai_pass_through.d.ts.map +0 -1
  366. package/dist/services/vertex_ai_pass_through.js +0 -334
  367. package/dist/services/vertex_ai_pass_through.js.map +0 -1
  368. package/dist/services/vllm_pass_through.d.ts +0 -70
  369. package/dist/services/vllm_pass_through.d.ts.map +0 -1
  370. package/dist/services/vllm_pass_through.js +0 -104
  371. package/dist/services/vllm_pass_through.js.map +0 -1
  372. package/dist/services/watsonx_pass_through.d.ts +0 -70
  373. package/dist/services/watsonx_pass_through.d.ts.map +0 -1
  374. package/dist/services/watsonx_pass_through.js +0 -114
  375. package/dist/services/watsonx_pass_through.js.map +0 -1
  376. package/src/services/anthropic_pass_through.ts +0 -233
  377. package/src/services/assembly_ai_eu_pass_through.ts +0 -237
  378. package/src/services/assembly_ai_pass_through.ts +0 -237
  379. package/src/services/aws_comprehend_medical_pass_through.ts +0 -109
  380. package/src/services/azure_ai_pass_through.ts +0 -231
  381. package/src/services/azure_pass_through.ts +0 -227
  382. package/src/services/bedrock_pass_through.ts +0 -229
  383. package/src/services/cohere_pass_through.ts +0 -227
  384. package/src/services/cursor_pass_through.ts +0 -227
  385. package/src/services/google_ai_studio_pass_through.ts +0 -227
  386. package/src/services/milvus_pass_through.ts +0 -227
  387. package/src/services/mistral_pass_through.ts +0 -229
  388. package/src/services/vertex_ai_pass_through.ts +0 -684
  389. package/src/services/vllm_pass_through.ts +0 -227
  390. package/src/services/watsonx_pass_through.ts +0 -229
@@ -1,4 +1,4 @@
1
- // AUTO-GENERATED by scripts/generate.ts from .generated-specs (pinned litellm-openapi @ 1.100.0 — see README). Do not edit.
1
+ // AUTO-GENERATED by scripts/generate.ts from .generated-specs (pinned litellm-openapi @ 1.103.0 — see README). Do not edit.
2
2
  import * as S from "@distilled.cloud/core/schema";
3
3
  import * as API from "@distilled.cloud/core/api";
4
4
  import * as C from "@distilled.cloud/core/category";
@@ -85,14 +85,26 @@ export const GetConfigGeneralSettingsConfigFieldInfoGetRequest =
85
85
  identifier: "GetConfigGeneralSettingsConfigFieldInfoGetRequest",
86
86
  }) as any as S.Schema<GetConfigGeneralSettingsConfigFieldInfoGetRequest>;
87
87
 
88
+ export type ConfigFieldInfoSource =
89
+ | "config"
90
+ | "db"
91
+ | "env"
92
+ | "default"
93
+ | "unset";
94
+ export const ConfigFieldInfoSource = S.String;
95
+
88
96
  export interface ConfigFieldInfo {
97
+ editable?: boolean;
89
98
  field_name: string;
90
99
  field_value: unknown;
100
+ source?: ConfigFieldInfoSource;
91
101
  }
92
102
  export const ConfigFieldInfo = /*@__PURE__*/ S.suspend(() =>
93
103
  S.Struct({
104
+ editable: S.optional(S.Boolean),
94
105
  field_name: S.String,
95
106
  field_value: S.Unknown,
107
+ source: S.optional(ConfigFieldInfoSource),
96
108
  }),
97
109
  ).annotate({
98
110
  identifier: "ConfigFieldInfo",
@@ -158,7 +170,11 @@ export const ConfigListNestedFieldsList = /*@__PURE__*/ S.Array(
158
170
  FieldDetail,
159
171
  ) as any as S.Schema<ConfigListNestedFieldsList>;
160
172
 
173
+ export type ConfigListSource = "config" | "db" | "env" | "default" | "unset";
174
+ export const ConfigListSource = S.String;
175
+
161
176
  export interface ConfigList {
177
+ editable?: boolean;
162
178
  field_default_value: unknown;
163
179
  field_description: string;
164
180
  field_name: string;
@@ -168,10 +184,12 @@ export interface ConfigList {
168
184
  field_value: unknown;
169
185
  nested_fields?: ConfigListNestedFieldsList | null;
170
186
  premium_field?: boolean;
187
+ source?: ConfigListSource;
171
188
  stored_in_db: boolean | null;
172
189
  }
173
190
  export const ConfigList = /*@__PURE__*/ S.suspend(() =>
174
191
  S.Struct({
192
+ editable: S.optional(S.Boolean),
175
193
  field_default_value: S.Unknown,
176
194
  field_description: S.String,
177
195
  field_name: S.String,
@@ -181,6 +199,7 @@ export const ConfigList = /*@__PURE__*/ S.suspend(() =>
181
199
  field_value: S.Unknown,
182
200
  nested_fields: S.optional(S.NullOr(ConfigListNestedFieldsList)),
183
201
  premium_field: S.optional(S.Boolean),
202
+ source: S.optional(ConfigListSource),
184
203
  stored_in_db: S.NullOr(S.Boolean),
185
204
  }),
186
205
  ).annotate({ identifier: "ConfigList" }) as any as S.Schema<ConfigList>;
@@ -226,6 +245,8 @@ export type AlertType =
226
245
  | "budget_alerts"
227
246
  | "spend_reports"
228
247
  | "failed_tracking_spend"
248
+ | "user_spend_thresholds"
249
+ | "user_spend_anomalies"
229
250
  | "db_exceptions"
230
251
  | "daily_reports"
231
252
  | "cooldown_deployment"
@@ -265,6 +286,12 @@ export const ConfigGeneralSettingsAlertingArgsMap = /*@__PURE__*/ S.Record(
265
286
  S.Unknown,
266
287
  ) as any as S.Schema<ConfigGeneralSettingsAlertingArgsMap>;
267
288
 
289
+ export type ConfigGeneralSettingsAllowedFileExtensionsList = Array<string>;
290
+ export const ConfigGeneralSettingsAllowedFileExtensionsList =
291
+ /*@__PURE__*/ S.Array(
292
+ S.String,
293
+ ) as any as S.Schema<ConfigGeneralSettingsAllowedFileExtensionsList>;
294
+
268
295
  export type ConfigGeneralSettingsAllowedRoutesList = Array<unknown>;
269
296
  export const ConfigGeneralSettingsAllowedRoutesList = /*@__PURE__*/ S.Array(
270
297
  S.Unknown,
@@ -277,6 +304,31 @@ export const ConfigGeneralSettingsBackgroundHealthCheckModelGroupsList =
277
304
  S.String,
278
305
  ) as any as S.Schema<ConfigGeneralSettingsBackgroundHealthCheckModelGroupsList>;
279
306
 
307
+ export type ConfigGeneralSettingsBlockedFileExtensionsList = Array<string>;
308
+ export const ConfigGeneralSettingsBlockedFileExtensionsList =
309
+ /*@__PURE__*/ S.Array(
310
+ S.String,
311
+ ) as any as S.Schema<ConfigGeneralSettingsBlockedFileExtensionsList>;
312
+
313
+ export type ConfigGeneralSettingsClaudeCodeGatewayManagedSettingsMap = {
314
+ [key: string]: unknown | undefined;
315
+ };
316
+ export const ConfigGeneralSettingsClaudeCodeGatewayManagedSettingsMap =
317
+ /*@__PURE__*/ S.Record(
318
+ S.String,
319
+ S.Unknown,
320
+ ) as any as S.Schema<ConfigGeneralSettingsClaudeCodeGatewayManagedSettingsMap>;
321
+
322
+ /** enable AWS ElastiCache IAM authentication */
323
+ export type CoordinationRedisParamsAwsIamAuth = boolean | string;
324
+ export const CoordinationRedisParamsAwsIamAuth =
325
+ S.Unknown as any as S.Schema<CoordinationRedisParamsAwsIamAuth>;
326
+
327
+ /** the ElastiCache cache is serverless rather than a self-designed cluster */
328
+ export type CoordinationRedisParamsAwsIamServerless = boolean | string;
329
+ export const CoordinationRedisParamsAwsIamServerless =
330
+ S.Unknown as any as S.Schema<CoordinationRedisParamsAwsIamServerless>;
331
+
280
332
  export type CoordinationRedisParamsSentinelNodesItemItem = string | number;
281
333
  export const CoordinationRedisParamsSentinelNodesItemItem =
282
334
  S.Unknown as any as S.Schema<CoordinationRedisParamsSentinelNodesItemItem>;
@@ -318,6 +370,16 @@ export const CoordinationRedisParamsStartupNodesList = /*@__PURE__*/ S.Array(
318
370
 
319
371
  /** Connection params for the proxy's coordination Redis (cross-pod tpm/rpm rate limits, spend tracking, pod lock manager, shared health checks), configured independently of the response-cache backend in `litellm_settings.cache_params`. */
320
372
  export interface CoordinationRedisParams {
373
+ /** enable AWS ElastiCache IAM authentication */
374
+ aws_iam_auth?: CoordinationRedisParamsAwsIamAuth | null;
375
+ /** AWS ElastiCache cache name */
376
+ aws_iam_cache_name?: string | null;
377
+ /** AWS region for ElastiCache IAM authentication */
378
+ aws_iam_region?: string | null;
379
+ /** the ElastiCache cache is serverless rather than a self-designed cluster */
380
+ aws_iam_serverless?: CoordinationRedisParamsAwsIamServerless | null;
381
+ /** AWS ElastiCache IAM user name */
382
+ aws_iam_user_name?: string | null;
321
383
  /** Redis hostname */
322
384
  host?: string | null;
323
385
  /** Redis password */
@@ -341,6 +403,13 @@ export interface CoordinationRedisParams {
341
403
  }
342
404
  export const CoordinationRedisParams = /*@__PURE__*/ S.suspend(() =>
343
405
  S.Struct({
406
+ aws_iam_auth: S.optional(S.NullOr(CoordinationRedisParamsAwsIamAuth)),
407
+ aws_iam_cache_name: S.optional(S.NullOr(S.String)),
408
+ aws_iam_region: S.optional(S.NullOr(S.String)),
409
+ aws_iam_serverless: S.optional(
410
+ S.NullOr(CoordinationRedisParamsAwsIamServerless),
411
+ ),
412
+ aws_iam_user_name: S.optional(S.NullOr(S.String)),
344
413
  host: S.optional(S.NullOr(S.String)),
345
414
  password: S.optional(S.NullOr(S.String)),
346
415
  port: S.optional(S.NullOr(S.Number)),
@@ -434,6 +503,37 @@ export type KeyManagementSystem =
434
503
  | "custom";
435
504
  export const KeyManagementSystem = S.String;
436
505
 
506
+ export type ConfigGeneralSettingsMaxFailedLoginAttemptsPerSourceOverridesMap = {
507
+ [key: string]: number | undefined;
508
+ };
509
+ export const ConfigGeneralSettingsMaxFailedLoginAttemptsPerSourceOverridesMap =
510
+ /*@__PURE__*/ S.Record(
511
+ S.String,
512
+ S.Number,
513
+ ) as any as S.Schema<ConfigGeneralSettingsMaxFailedLoginAttemptsPerSourceOverridesMap>;
514
+
515
+ /** One entry of `general_settings.mcp_allowed_clients`. */
516
+ export interface MCPAllowedClient {
517
+ /** Human-readable name for this client application, shown in the dashboard and in gateway logs. */
518
+ alias: string;
519
+ /** Exact value of the JWT claim named in litellm_jwtauth.mcp_client_id_jwt_field, or of the mcp_client_id_header header, that identifies this client application. Matched case-sensitively. */
520
+ value: string;
521
+ }
522
+ export const MCPAllowedClient = /*@__PURE__*/ S.suspend(() =>
523
+ S.Struct({
524
+ alias: S.String,
525
+ value: S.String,
526
+ }),
527
+ ).annotate({
528
+ identifier: "MCPAllowedClient",
529
+ }) as any as S.Schema<MCPAllowedClient>;
530
+
531
+ export type ConfigGeneralSettingsMcpAllowedClientsList =
532
+ Array<MCPAllowedClient>;
533
+ export const ConfigGeneralSettingsMcpAllowedClientsList = /*@__PURE__*/ S.Array(
534
+ MCPAllowedClient,
535
+ ) as any as S.Schema<ConfigGeneralSettingsMcpAllowedClientsList>;
536
+
437
537
  export type ConfigGeneralSettingsMcpInternalIpRangesList = Array<string>;
438
538
  export const ConfigGeneralSettingsMcpInternalIpRangesList =
439
539
  /*@__PURE__*/ S.Array(
@@ -451,6 +551,12 @@ export const ConfigGeneralSettingsMcpTrustedProxyRangesList =
451
551
  S.String,
452
552
  ) as any as S.Schema<ConfigGeneralSettingsMcpTrustedProxyRangesList>;
453
553
 
554
+ export type ConfigGeneralSettingsMissingSessionId =
555
+ | "generate"
556
+ | "reject"
557
+ | "omit";
558
+ export const ConfigGeneralSettingsMissingSessionId = S.String;
559
+
454
560
  /** Key-value pairs of default query parameters to be sent with every request to this endpoint. These can be overridden by client-provided query parameters. For example: {'key': 'default_value', 'api_version': '2023-01'} */
455
561
  export type PassThroughGenericEndpointDefaultQueryParamsMap = {
456
562
  [key: string]: unknown | undefined;
@@ -643,7 +749,8 @@ export type SupportedDBObjectType =
643
749
  | "prompts"
644
750
  | "model_cost_map"
645
751
  | "tools"
646
- | "config_overrides";
752
+ | "config_overrides"
753
+ | "websearch_interception_settings";
647
754
  export const SupportedDBObjectType = S.String;
648
755
 
649
756
  export type ConfigGeneralSettingsSupportedDbObjectsList = Array<
@@ -654,6 +761,12 @@ export const ConfigGeneralSettingsSupportedDbObjectsList =
654
761
  SupportedDBObjectType,
655
762
  ) as any as S.Schema<ConfigGeneralSettingsSupportedDbObjectsList>;
656
763
 
764
+ export type ConfigGeneralSettingsTranscribeMediaBucketsList = Array<string>;
765
+ export const ConfigGeneralSettingsTranscribeMediaBucketsList =
766
+ /*@__PURE__*/ S.Array(
767
+ S.String,
768
+ ) as any as S.Schema<ConfigGeneralSettingsTranscribeMediaBucketsList>;
769
+
657
770
  export type ConfigGeneralSettingsTrustedProxyRangesList = Array<string>;
658
771
  export const ConfigGeneralSettingsTrustedProxyRangesList =
659
772
  /*@__PURE__*/ S.Array(
@@ -700,11 +813,13 @@ export const ConfigGeneralSettingsUserUrlAllowedHostsList =
700
813
 
701
814
  /** Documents all the fields supported by `general_settings` in config.yaml */
702
815
  export interface ConfigGeneralSettings {
816
+ /** maximum time a request waits for a worker slot */
817
+ admission_queue_timeout_seconds?: number;
703
818
  /** Mapping of alert type to webhook url. e.g. `alert_to_webhook_url: {'budget_alerts': 'https://nothooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'}` */
704
819
  alert_to_webhook_url?: ConfigGeneralSettingsAlertToWebhookUrlMap | null;
705
820
  /** List of alerting types. By default it is all alerts */
706
821
  alert_types?: ConfigGeneralSettingsAlertTypesList | null;
707
- /** List of alerting integrations. Today, just slack - `alerting: ['slack']` */
822
+ /** List of alerting integrations - e.g. `alerting: ['slack', 'webhook', 'email']`. 'slack' posts Slack-format messages to any Slack-compatible webhook (Slack, Rocket.Chat, Mattermost); 'webhook' posts structured JSON budget alerts to WEBHOOK_URL */
708
823
  alerting?: ConfigGeneralSettingsAlertingList | null;
709
824
  /** Controllable params for slack alerting - e.g. ttl in cache. */
710
825
  alerting_args?: ConfigGeneralSettingsAlertingArgsMap | null;
@@ -712,6 +827,10 @@ export interface ConfigGeneralSettings {
712
827
  alerting_threshold?: number | null;
713
828
  /** opt-in to RFC 8628 verification_uri_complete for the CLI SSO device flow, pre-filling the user_code in the browser. Off by default; intended for same-host clients where the device that starts the flow and the browser run on the same machine */
714
829
  allow_cli_sso_verification_uri_complete?: boolean | null;
830
+ /** If True, lets keys address Responses API ids that this proxy did not issue (raw provider ids, or ids issued before response-id encryption was configured). Such an id carries no owner, so no ownership check can run on it; ids this proxy did issue keep full ownership enforcement. Off by default, in which case an unrecognized response id is rejected with 403 */
831
+ allow_unmanaged_response_ids?: boolean | null;
832
+ /** the only file extensions (e.g. ['.jsonl', '.pdf', '.txt']) accepted on /v1/files uploads, for any purpose, matched case-insensitively against the uploaded filename. Files with any other extension, or none, are rejected. An empty list rejects every upload. Unset means no allowlist is applied */
833
+ allowed_file_extensions?: ConfigGeneralSettingsAllowedFileExtensionsList | null;
715
834
  /** Proxy API Endpoints you want users to be able to access */
716
835
  allowed_routes?: ConfigGeneralSettingsAllowedRoutesList | null;
717
836
  /** If True, a user's personal max_budget is enforced on every request they make, including requests made with a team-scoped key. Defaults to False, where a team-scoped key is governed only by the team and team-member budgets and the key owner's personal max_budget does not apply (see GitHub issue #12905). */
@@ -720,8 +839,12 @@ export interface ConfigGeneralSettings {
720
839
  background_health_check_model_groups?: ConfigGeneralSettingsBackgroundHealthCheckModelGroupsList | null;
721
840
  /** run health checks in background */
722
841
  background_health_checks?: boolean | null;
842
+ /** file extensions (e.g. ['.exe', '.sh']) rejected on /v1/files uploads, for any purpose, matched case-insensitively against the uploaded filename. Deprecated in favour of allowed_file_extensions; still enforced, after the allowlist, when set */
843
+ blocked_file_extensions?: ConfigGeneralSettingsBlockedFileExtensionsList | null;
723
844
  /** cancel the in-flight upstream LLM request (non-streaming) when the client disconnects, freeing backend capacity (e.g. a vLLM GPU slot); the request is logged as a 499 failure */
724
845
  cancel_on_disconnect?: boolean | null;
846
+ /** Claude Code managed-settings.json served verbatim at the gateway's /claude_code_gateway/managed/settings endpoint. When unset the endpoint returns 404 (no managed policy) */
847
+ claude_code_gateway_managed_settings?: ConfigGeneralSettingsClaudeCodeGatewayManagedSettingsMap | null;
725
848
  /** proxy level default model for all chat completion calls */
726
849
  completion_model?: string | null;
727
850
  /** Global Control Plane: URL of the control plane whose admin UI manages this instance. Enables /v3/login and /v3/login/exchange on this instance so that UI can authenticate against it cross-origin, and restricts the SSO return_to origin to that URL. No state is shared with the control plane */
@@ -742,7 +865,9 @@ export interface ConfigGeneralSettings {
742
865
  database_disable_prepared_statements?: boolean | null;
743
866
  /** Escape hatch: extra key/value pairs appended verbatim to the Prisma DATABASE_URL / DIRECT_URL query string (e.g. `sslmode`, `pgbouncer`, `statement_cache_size`). Keys here override any default LiteLLM sets. */
744
867
  database_extra_connection_params?: ConfigGeneralSettingsDatabaseExtraConnectionParamsMap | null;
745
- /** Prisma `socket_timeout` URL param (seconds). When set, an idle/slow connection that has not produced data within this window is closed. This is the main knob for capping idle DB connections from LiteLLM. */
868
+ /** Prisma `max_idle_connection_lifetime` URL param (seconds). A pooled connection idle longer than this is closed and replaced instead of being handed to the next request. Defaults to 60 so connections are recycled before common infra idle timeouts (AWS NLB / RDS Proxy ~350s, many LBs 60-350s) silently drop them and requests fail with `Error { kind: Closed }`. A value pinned on the DATABASE_URL or set via `database_extra_connection_params` takes precedence. */
869
+ database_max_idle_connection_lifetime?: number | null;
870
+ /** Prisma `socket_timeout` URL param (seconds). When set, an in-flight operation that has not produced data within this window is aborted. For capping how long idle pooled connections are kept, see `database_max_idle_connection_lifetime`. */
746
871
  database_socket_timeout?: number | null;
747
872
  /** to use dynamodb instead of postgres db */
748
873
  database_type?: string | null;
@@ -750,12 +875,26 @@ export interface ConfigGeneralSettings {
750
875
  database_url?: string | null;
751
876
  /** By default, the user calling /team/new is automatically added to the new team as a team admin. If True, proxy admins are no longer auto-added; members explicitly listed in members_with_roles are unaffected. Default is False. */
752
877
  disable_auto_add_proxy_admin_to_teams?: boolean | null;
753
- /** If True, disables the optimistic per-request budget reservation introduced in v1.84.0. WARNING: This weakens hard budget enforcement. Without the reservation, a burst of concurrent requests from a single key can each pass the read-time spend check before any of them is charged, allowing a configured budget to be exceeded under high concurrency. Budgets are still evaluated on every request at read time, so an already-exhausted budget is still rejected. Enable only if your deployment is experiencing phantom BudgetExceededError responses caused by leaked reservations (see GitHub issue #27639). A proxy-level WARNING is logged on every request while this flag is active as a reminder that hard enforcement is relaxed. */
878
+ /** If True, disables the optimistic per-request budget reservation introduced in v1.84.0. WARNING: This weakens hard budget enforcement. Without the reservation, a burst of concurrent requests from a single key can each pass the read-time spend check before any of them is charged, allowing a configured budget to be exceeded under high concurrency. Budgets are still evaluated on every request at read time, so an already-exhausted budget is still rejected. Enable only if your deployment is experiencing phantom BudgetExceededError responses caused by leaked reservations (see GitHub issue #27639). An INFO notice is logged once per worker at config load while this flag is active as a reminder that hard enforcement is relaxed. */
754
879
  disable_budget_reservation?: boolean | null;
880
+ /** If True, disables signing in to the Admin UI with the environment credentials: UI_USERNAME/UI_PASSWORD, or the master key when UI_PASSWORD is unset (that fallback means env-credential login is always live by default). Database users with passwords are unaffected. LOCKOUT RISK: create at least one proxy admin user with a password before enabling, or nobody can sign in to the UI. A locked-out admin can still administer the proxy over the API with the master key, and can unset this setting and restart the proxy to restore env-credential login. Default is False. */
881
+ disable_env_credential_login?: boolean | null;
882
+ /** If True and SSO is configured (MICROSOFT_CLIENT_ID, GOOGLE_CLIENT_ID, GENERIC_CLIENT_ID, or SAML_IDP_METADATA_URL/XML), disables username/password login on /login, /v2/login, and /v3/login so SSO is the only way to reach the Admin UI. An admin locked out of the UI can still administer the proxy over the API with the master key; unset this setting and restart the proxy to restore UI username/password login. Default is False. */
883
+ disable_password_login_when_sso_enabled?: boolean | null;
884
+ /** If True, disables ownership enforcement on Responses API ids. Keys may then retrieve, cancel, delete, and chain from any response id, including ids belonging to another user or team and ids this proxy never issued. WARNING: this removes tenant isolation on /v1/responses */
885
+ disable_responses_id_security?: boolean | null;
886
+ /** serve the Claude Code gateway protocol (https://code.claude.com/docs/en/claude-apps-gateway) under /claude_code_gateway: OAuth device-flow sign-in reusing proxy SSO, plus managed settings and OTLP telemetry ingestion. Off by default */
887
+ enable_claude_code_gateway?: boolean | null;
888
+ /** Serve the OpenAI pass-through WebSocket route, which relays frames to OpenAI under the proxy's own provider credential without reading them. Off by default. */
889
+ enable_openai_websocket_passthrough?: boolean | null;
755
890
  /** Public model hub for users to see what models they have access to, supported openai params, etc. */
756
891
  enable_public_model_hub?: boolean;
757
892
  /** If True, router fallbacks configured in router_settings are only attempted when the calling key (and its team and project) is allowed to call the fallback model; unauthorized fallback targets are skipped and the primary model's error is returned. Default is False. */
758
893
  enforce_fallback_model_access?: boolean | null;
894
+ /** How long a blocked source address, or source address and username, stays blocked. Every attempt from a blocked key, right or wrong, is refused with 429 before the password is checked; the block is not extended by refused attempts. Set under `general_settings` in config.yaml. Defaults to 300 */
895
+ failed_login_block_seconds?: number | null;
896
+ /** Fixed window in seconds over which failed Admin UI sign-in attempts are counted. The window starts at the first failure and is not extended by later ones. Set under `general_settings` in config.yaml. Defaults to 60 */
897
+ failed_login_window_seconds?: number | null;
759
898
  /** If True, forwards client headers (e.g. Authorization) to the LLM API. Required for Claude Code with Max subscription. */
760
899
  forward_client_headers_to_llm_api?: boolean | null;
761
900
  /** global max parallel requests to allow for a proxy instance. */
@@ -774,8 +913,18 @@ export interface ConfigGeneralSettings {
774
913
  master_key?: string | null;
775
914
  /** max batch input file size in MB for /v1/files uploads with purpose=batch, if a file is larger than this size it will be rejected before being forwarded to the provider */
776
915
  max_batch_file_size_mb?: number | null;
916
+ /** Failed Admin UI sign-in attempts allowed from one source address, across every username, within `failed_login_window_seconds`. One more blocks that address for `failed_login_block_seconds`. Half this value, rounded down but at least 1, is the allowance for one username from that address; one more blocks that address for that username only, and its further failures stop counting toward the address limit, so a script stuck on one account does not block everyone behind a shared address. The per-address limit is only enforced when `trusted_proxy_ranges` is set: to the proxies in front of LiteLLM, or to an empty list when clients connect directly. Left unset, the peer address may be a shared ingress and only the per-username half runs. IPv6 addresses are grouped by /64. Set under `general_settings` in config.yaml. Defaults to 10 */
917
+ max_failed_login_attempts_per_source?: number | null;
918
+ /** Per-address overrides of `max_failed_login_attempts_per_source`, keyed by IP address or CIDR range, e.g. {'1.2.3.4': 200, '5.6.0.0/24': 500}. The most specific matching range wins (between equivalent keys such as '1.2.3.4' and '1.2.3.4/32', an exemption wins, then the higher limit), and the per-username allowance for that address follows as half the override. A value of 0 exempts the address from both limits. Set under `general_settings` in config.yaml */
919
+ max_failed_login_attempts_per_source_overrides?: ConfigGeneralSettingsMaxFailedLoginAttemptsPerSourceOverridesMap | null;
920
+ /** max file size in MB for /v1/files uploads, for any purpose, if a file is larger than this size it will be rejected before being forwarded to the provider */
921
+ max_file_size_mb?: number | null;
922
+ /** maximum concurrent requests handled by each worker */
923
+ max_in_flight_requests_per_worker?: number | null;
777
924
  /** maximum parallel requests for each api key */
778
925
  max_parallel_requests?: number | null;
926
+ /** maximum requests waiting for a worker slot */
927
+ max_queued_requests_per_worker?: number | null;
779
928
  /** max request size in MB, if a request is larger than this size it will be rejected */
780
929
  max_request_size_mb?: number | null;
781
930
  /** max response size in MB, if a response is larger than this size it will be rejected */
@@ -794,6 +943,10 @@ export interface ConfigGeneralSettings {
794
943
  maximum_spend_logs_cleanup_run_budget?: string | null;
795
944
  /** Maximum retention period for spend logs (e.g., '7d' for 7 days). Logs older than this will be deleted. */
796
945
  maximum_spend_logs_retention_period?: string | null;
946
+ /** MCP client applications admitted by the gateway, each an {alias, value} pair where alias is the name shown in the dashboard and logs and value is the identity that must match exactly. When set, every MCP request must carry a client identity equal to one of the values: a JWT caller is identified by the claim named in litellm_jwtauth.mcp_client_id_jwt_field, any other caller by the header named in mcp_client_id_header. A request with no resolvable identity, or an unlisted one, is rejected with 403. Unset means every client is admitted. */
947
+ mcp_allowed_clients?: ConfigGeneralSettingsMcpAllowedClientsList | null;
948
+ /** Request header whose value names the calling MCP client application (for example 'x-mcp-client') for callers that did not authenticate with a JWT, used only while mcp_allowed_clients is set. The client picks this value itself, so it is a policy control rather than a security boundary; prefer litellm_jwtauth.mcp_client_id_jwt_field where callers use JWTs. */
949
+ mcp_client_id_header?: string | null;
797
950
  /** Custom CIDR ranges that define internal/private networks for MCP access control. When set, only these ranges are treated as internal. Defaults to RFC 1918 private ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 127.0.0.0/8). */
798
951
  mcp_internal_ip_ranges?: ConfigGeneralSettingsMcpInternalIpRangesList | null;
799
952
  /** List of MCP server fields that must be filled in for a submission to pass standards checks (e.g. ['description', 'source_url', 'alias']). */
@@ -802,6 +955,11 @@ export interface ConfigGeneralSettings {
802
955
  mcp_trusted_proxy_ranges?: ConfigGeneralSettingsMcpTrustedProxyRangesList | null;
803
956
  /** Number of trusted reverse proxies/load balancers in front of the gateway that append to X-Forwarded-For. When set (and mcp_trusted_proxy_ranges validates the direct peer), the client IP for MCP access control is read this many entries from the right of the chain instead of the spoofable leftmost value, defeating append-style X-Forwarded-For forgery. */
804
957
  mcp_xff_num_trusted_hops?: number | null;
958
+ /** What to do with LLM API requests that carry no session id (x-litellm-session-id header, metadata.session_id, etc.). 'generate' stamps one id into litellm_session_id, litellm_trace_id and metadata.session_id so SpendLogs and logging callbacks agree; 'reject' returns 400; 'omit' leaves SpendLogs.session_id null, matching callbacks such as Langfuse that only record a client-established metadata.session_id. Unset keeps the legacy behavior where SpendLogs falls back to the trace id while callbacks get no session id. */
959
+ missing_session_id?:
960
+ | ConfigGeneralSettingsMissingSessionId
961
+ | (string & {})
962
+ | null;
805
963
  /** When true, `/models`, `/v1/models/{id}` and `/model/info` hide models whose backing deployments are all unhealthy, for every caller, without needing `healthy_only=true` per request. Requires `background_health_checks: true`, and keeps deployment health state cached without turning on `enable_health_check_routing`, so routing is unaffected. With no health state nothing is hidden. Hiding is presentation-only, a hidden model can still be called. */
806
964
  model_list_healthy_only?: boolean | null;
807
965
  /** [BETA] OpenTelemetry support - this might change, use with caution. */
@@ -810,6 +968,16 @@ export interface ConfigGeneralSettings {
810
968
  pass_through_endpoints?: ConfigGeneralSettingsPassThroughEndpointsList | null;
811
969
  /** Default upstream request timeout in seconds for native and custom pass-through endpoints that use pass_through_request. Defaults to 600 when unset. */
812
970
  pass_through_request_timeout?: number | null;
971
+ /** Minimum length required for a locally-managed user's password. Default is 12; a value below 8 is floored to 8 rather than weakening the requirement further. */
972
+ password_policy_min_length?: number | null;
973
+ /** If True (default), a locally-managed user's password must contain a lowercase letter. */
974
+ password_policy_require_lowercase?: boolean | null;
975
+ /** If True (default), a locally-managed user's password must contain a number. */
976
+ password_policy_require_numbers?: boolean | null;
977
+ /** If True (default), a locally-managed user's password must contain a special (non-alphanumeric) character. */
978
+ password_policy_require_special_characters?: boolean | null;
979
+ /** If True (default), a locally-managed user's password must contain an uppercase letter. */
980
+ password_policy_require_uppercase?: boolean | null;
813
981
  /** external services registered as embeddable UI plugins */
814
982
  plugins?: ConfigGeneralSettingsPluginsList | null;
815
983
  /** Allowlist of hosts a request may redirect a provider call's destination URL to. */
@@ -826,7 +994,9 @@ export interface ConfigGeneralSettings {
826
994
  store_prompts_in_spend_logs?: boolean | null;
827
995
  /** Fine-grained control over which object types to load from the database when store_model_in_db is True. Available types: 'models', 'mcp', 'guardrails', 'vector_stores', 'pass_through_endpoints', 'prompts', 'model_cost_map', 'tools', 'config_overrides'. If not set, all objects are loaded (default behavior). */
828
996
  supported_db_objects?: ConfigGeneralSettingsSupportedDbObjectsList | null;
829
- /** CIDR ranges of trusted reverse proxies allowed to provide identity headers for header-based auth paths such as enable_oauth2_proxy_auth and custom_ui_sso_sign_in_handler. */
997
+ /** S3 bucket names that keys other than proxy admins may read media from and write transcripts to through the Amazon Transcribe pass-through. Unset means only proxy admins can start transcription jobs. */
998
+ transcribe_media_buckets?: ConfigGeneralSettingsTranscribeMediaBucketsList | null;
999
+ /** CIDR ranges of trusted reverse proxies allowed to provide identity headers for header-based auth paths such as enable_oauth2_proxy_auth and custom_ui_sso_sign_in_handler, and whose X-Forwarded-For is used to attribute Admin UI sign-in attempts to a source address. Set it to an empty list when clients connect directly, so the peer address is the source. Left unset, or containing an entry that is not an address or CIDR range, the per-source sign-in limit is off. */
830
1000
  trusted_proxy_ranges?: ConfigGeneralSettingsTrustedProxyRangesList | null;
831
1001
  /** Control access to the Proxy UI */
832
1002
  ui_access_mode?: ConfigGeneralSettingsUiAccessMode | (string & {}) | null;
@@ -836,6 +1006,8 @@ export interface ConfigGeneralSettings {
836
1006
  use_google_kms?: boolean | null;
837
1007
  /** If True and LiteLLM_SpendLogs has been converted to a range-partitioned table (db_scripts/partition_spend_logs.sql), retention cleanup drops expired partitions instead of deleting rows, and pre-creates upcoming partitions. Default is False. */
838
1008
  use_spend_logs_partitioning?: boolean | null;
1009
+ /** max number of entries (virtual keys, teams, users, end users, memberships, ...) each worker keeps in its in-memory auth cache. Defaults to 200. Raise this if you have more active keys than that or auth lookups keep hitting the DB */
1010
+ user_api_key_cache_max_size?: number | null;
839
1011
  user_header_mappings?: ConfigGeneralSettingsUserHeaderMappingsList | null;
840
1012
  /** [DEPRECATED] Use 'user_header_mappings' instead. When set, the header value is treated as the end user id unless overridden by user_header_mappings. */
841
1013
  user_header_name?: string | null;
@@ -851,6 +1023,7 @@ export interface ConfigGeneralSettings {
851
1023
  }
852
1024
  export const ConfigGeneralSettings = /*@__PURE__*/ S.suspend(() =>
853
1025
  S.Struct({
1026
+ admission_queue_timeout_seconds: S.optional(S.Number),
854
1027
  alert_to_webhook_url: S.optional(
855
1028
  S.NullOr(ConfigGeneralSettingsAlertToWebhookUrlMap),
856
1029
  ),
@@ -859,6 +1032,10 @@ export const ConfigGeneralSettings = /*@__PURE__*/ S.suspend(() =>
859
1032
  alerting_args: S.optional(S.NullOr(ConfigGeneralSettingsAlertingArgsMap)),
860
1033
  alerting_threshold: S.optional(S.NullOr(S.Number)),
861
1034
  allow_cli_sso_verification_uri_complete: S.optional(S.NullOr(S.Boolean)),
1035
+ allow_unmanaged_response_ids: S.optional(S.NullOr(S.Boolean)),
1036
+ allowed_file_extensions: S.optional(
1037
+ S.NullOr(ConfigGeneralSettingsAllowedFileExtensionsList),
1038
+ ),
862
1039
  allowed_routes: S.optional(
863
1040
  S.NullOr(ConfigGeneralSettingsAllowedRoutesList),
864
1041
  ),
@@ -867,7 +1044,13 @@ export const ConfigGeneralSettings = /*@__PURE__*/ S.suspend(() =>
867
1044
  S.NullOr(ConfigGeneralSettingsBackgroundHealthCheckModelGroupsList),
868
1045
  ),
869
1046
  background_health_checks: S.optional(S.NullOr(S.Boolean)),
1047
+ blocked_file_extensions: S.optional(
1048
+ S.NullOr(ConfigGeneralSettingsBlockedFileExtensionsList),
1049
+ ),
870
1050
  cancel_on_disconnect: S.optional(S.NullOr(S.Boolean)),
1051
+ claude_code_gateway_managed_settings: S.optional(
1052
+ S.NullOr(ConfigGeneralSettingsClaudeCodeGatewayManagedSettingsMap),
1053
+ ),
871
1054
  completion_model: S.optional(S.NullOr(S.String)),
872
1055
  control_plane_url: S.optional(S.NullOr(S.String)),
873
1056
  coordination_redis: S.optional(S.NullOr(CoordinationRedisParams)),
@@ -880,13 +1063,21 @@ export const ConfigGeneralSettings = /*@__PURE__*/ S.suspend(() =>
880
1063
  database_extra_connection_params: S.optional(
881
1064
  S.NullOr(ConfigGeneralSettingsDatabaseExtraConnectionParamsMap),
882
1065
  ),
1066
+ database_max_idle_connection_lifetime: S.optional(S.NullOr(S.Number)),
883
1067
  database_socket_timeout: S.optional(S.NullOr(S.Number)),
884
1068
  database_type: S.optional(S.NullOr(S.String)),
885
1069
  database_url: S.optional(S.NullOr(S.String)),
886
1070
  disable_auto_add_proxy_admin_to_teams: S.optional(S.NullOr(S.Boolean)),
887
1071
  disable_budget_reservation: S.optional(S.NullOr(S.Boolean)),
1072
+ disable_env_credential_login: S.optional(S.NullOr(S.Boolean)),
1073
+ disable_password_login_when_sso_enabled: S.optional(S.NullOr(S.Boolean)),
1074
+ disable_responses_id_security: S.optional(S.NullOr(S.Boolean)),
1075
+ enable_claude_code_gateway: S.optional(S.NullOr(S.Boolean)),
1076
+ enable_openai_websocket_passthrough: S.optional(S.NullOr(S.Boolean)),
888
1077
  enable_public_model_hub: S.optional(S.Boolean),
889
1078
  enforce_fallback_model_access: S.optional(S.NullOr(S.Boolean)),
1079
+ failed_login_block_seconds: S.optional(S.NullOr(S.Number)),
1080
+ failed_login_window_seconds: S.optional(S.NullOr(S.Number)),
890
1081
  forward_client_headers_to_llm_api: S.optional(S.NullOr(S.Boolean)),
891
1082
  global_max_parallel_requests: S.optional(S.NullOr(S.Number)),
892
1083
  health_check_concurrency: S.optional(S.NullOr(S.Number)),
@@ -896,7 +1087,16 @@ export const ConfigGeneralSettings = /*@__PURE__*/ S.suspend(() =>
896
1087
  key_management_system: S.optional(S.NullOr(KeyManagementSystem)),
897
1088
  master_key: S.optional(S.NullOr(S.String)),
898
1089
  max_batch_file_size_mb: S.optional(S.NullOr(S.Number)),
1090
+ max_failed_login_attempts_per_source: S.optional(S.NullOr(S.Number)),
1091
+ max_failed_login_attempts_per_source_overrides: S.optional(
1092
+ S.NullOr(
1093
+ ConfigGeneralSettingsMaxFailedLoginAttemptsPerSourceOverridesMap,
1094
+ ),
1095
+ ),
1096
+ max_file_size_mb: S.optional(S.NullOr(S.Number)),
1097
+ max_in_flight_requests_per_worker: S.optional(S.NullOr(S.Number)),
899
1098
  max_parallel_requests: S.optional(S.NullOr(S.Number)),
1099
+ max_queued_requests_per_worker: S.optional(S.NullOr(S.Number)),
900
1100
  max_request_size_mb: S.optional(S.NullOr(S.Number)),
901
1101
  max_response_size_mb: S.optional(S.NullOr(S.Number)),
902
1102
  maximum_autorouter_session_retention_period: S.optional(S.NullOr(S.String)),
@@ -906,6 +1106,10 @@ export const ConfigGeneralSettings = /*@__PURE__*/ S.suspend(() =>
906
1106
  maximum_spend_logs_cleanup_max_batches: S.optional(S.NullOr(S.Number)),
907
1107
  maximum_spend_logs_cleanup_run_budget: S.optional(S.NullOr(S.String)),
908
1108
  maximum_spend_logs_retention_period: S.optional(S.NullOr(S.String)),
1109
+ mcp_allowed_clients: S.optional(
1110
+ S.NullOr(ConfigGeneralSettingsMcpAllowedClientsList),
1111
+ ),
1112
+ mcp_client_id_header: S.optional(S.NullOr(S.String)),
909
1113
  mcp_internal_ip_ranges: S.optional(
910
1114
  S.NullOr(ConfigGeneralSettingsMcpInternalIpRangesList),
911
1115
  ),
@@ -916,12 +1120,20 @@ export const ConfigGeneralSettings = /*@__PURE__*/ S.suspend(() =>
916
1120
  S.NullOr(ConfigGeneralSettingsMcpTrustedProxyRangesList),
917
1121
  ),
918
1122
  mcp_xff_num_trusted_hops: S.optional(S.NullOr(S.Number)),
1123
+ missing_session_id: S.optional(
1124
+ S.NullOr(ConfigGeneralSettingsMissingSessionId),
1125
+ ),
919
1126
  model_list_healthy_only: S.optional(S.NullOr(S.Boolean)),
920
1127
  otel: S.optional(S.NullOr(S.Boolean)),
921
1128
  pass_through_endpoints: S.optional(
922
1129
  S.NullOr(ConfigGeneralSettingsPassThroughEndpointsList),
923
1130
  ),
924
1131
  pass_through_request_timeout: S.optional(S.NullOr(S.Number)),
1132
+ password_policy_min_length: S.optional(S.NullOr(S.Number)),
1133
+ password_policy_require_lowercase: S.optional(S.NullOr(S.Boolean)),
1134
+ password_policy_require_numbers: S.optional(S.NullOr(S.Boolean)),
1135
+ password_policy_require_special_characters: S.optional(S.NullOr(S.Boolean)),
1136
+ password_policy_require_uppercase: S.optional(S.NullOr(S.Boolean)),
925
1137
  plugins: S.optional(S.NullOr(ConfigGeneralSettingsPluginsList)),
926
1138
  provider_url_destination_allowed_hosts: S.optional(
927
1139
  S.NullOr(ConfigGeneralSettingsProviderUrlDestinationAllowedHostsList),
@@ -934,6 +1146,9 @@ export const ConfigGeneralSettings = /*@__PURE__*/ S.suspend(() =>
934
1146
  supported_db_objects: S.optional(
935
1147
  S.NullOr(ConfigGeneralSettingsSupportedDbObjectsList),
936
1148
  ),
1149
+ transcribe_media_buckets: S.optional(
1150
+ S.NullOr(ConfigGeneralSettingsTranscribeMediaBucketsList),
1151
+ ),
937
1152
  trusted_proxy_ranges: S.optional(
938
1153
  S.NullOr(ConfigGeneralSettingsTrustedProxyRangesList),
939
1154
  ),
@@ -941,6 +1156,7 @@ export const ConfigGeneralSettings = /*@__PURE__*/ S.suspend(() =>
941
1156
  use_azure_key_vault: S.optional(S.NullOr(S.Boolean)),
942
1157
  use_google_kms: S.optional(S.NullOr(S.Boolean)),
943
1158
  use_spend_logs_partitioning: S.optional(S.NullOr(S.Boolean)),
1159
+ user_api_key_cache_max_size: S.optional(S.NullOr(S.Number)),
944
1160
  user_header_mappings: S.optional(
945
1161
  S.NullOr(ConfigGeneralSettingsUserHeaderMappingsList),
946
1162
  ),
@@ -1105,8 +1321,10 @@ export interface RetryPolicy {
1105
1321
  AuthenticationErrorRetries?: number | null;
1106
1322
  BadRequestErrorRetries?: number | null;
1107
1323
  ContentPolicyViolationErrorRetries?: number | null;
1324
+ DefaultRetries?: number | null;
1108
1325
  InternalServerErrorRetries?: number | null;
1109
1326
  RateLimitErrorRetries?: number | null;
1327
+ ServiceUnavailableErrorRetries?: number | null;
1110
1328
  TimeoutErrorRetries?: number | null;
1111
1329
  }
1112
1330
  export const RetryPolicy = /*@__PURE__*/ S.suspend(() =>
@@ -1114,8 +1332,10 @@ export const RetryPolicy = /*@__PURE__*/ S.suspend(() =>
1114
1332
  AuthenticationErrorRetries: S.optional(S.NullOr(S.Number)),
1115
1333
  BadRequestErrorRetries: S.optional(S.NullOr(S.Number)),
1116
1334
  ContentPolicyViolationErrorRetries: S.optional(S.NullOr(S.Number)),
1335
+ DefaultRetries: S.optional(S.NullOr(S.Number)),
1117
1336
  InternalServerErrorRetries: S.optional(S.NullOr(S.Number)),
1118
1337
  RateLimitErrorRetries: S.optional(S.NullOr(S.Number)),
1338
+ ServiceUnavailableErrorRetries: S.optional(S.NullOr(S.Number)),
1119
1339
  TimeoutErrorRetries: S.optional(S.NullOr(S.Number)),
1120
1340
  }),
1121
1341
  ).annotate({ identifier: "RetryPolicy" }) as any as S.Schema<RetryPolicy>;
@@ -1129,6 +1349,25 @@ export const UpdateRouterConfigModelGroupRetryPolicyMap =
1129
1349
  RetryPolicy,
1130
1350
  ) as any as S.Schema<UpdateRouterConfigModelGroupRetryPolicyMap>;
1131
1351
 
1352
+ export type UpdateRouterConfigOptionalPreCallChecksItem =
1353
+ | "prompt_caching"
1354
+ | "router_budget_limiting"
1355
+ | "responses_api_deployment_check"
1356
+ | "deployment_affinity"
1357
+ | "session_affinity"
1358
+ | "forward_client_headers_by_model_group"
1359
+ | "enforce_model_rate_limits"
1360
+ | "encrypted_content_affinity";
1361
+ export const UpdateRouterConfigOptionalPreCallChecksItem = S.String;
1362
+
1363
+ export type UpdateRouterConfigOptionalPreCallChecksList = Array<
1364
+ UpdateRouterConfigOptionalPreCallChecksItem | (string & {})
1365
+ >;
1366
+ export const UpdateRouterConfigOptionalPreCallChecksList =
1367
+ /*@__PURE__*/ S.Array(
1368
+ UpdateRouterConfigOptionalPreCallChecksItem,
1369
+ ) as any as S.Schema<UpdateRouterConfigOptionalPreCallChecksList>;
1370
+
1132
1371
  export type RoutingGroupModelsList = Array<string>;
1133
1372
  export const RoutingGroupModelsList = /*@__PURE__*/ S.Array(
1134
1373
  S.String,
@@ -1185,6 +1424,7 @@ export interface UpdateRouterConfig {
1185
1424
  model_group_alias?: UpdateRouterConfigModelGroupAliasMap | null;
1186
1425
  model_group_retry_policy?: UpdateRouterConfigModelGroupRetryPolicyMap | null;
1187
1426
  num_retries?: number | null;
1427
+ optional_pre_call_checks?: UpdateRouterConfigOptionalPreCallChecksList | null;
1188
1428
  retry_after?: number | null;
1189
1429
  retry_policy?: RetryPolicy | null;
1190
1430
  routing_groups?: UpdateRouterConfigRoutingGroupsList | null;
@@ -1192,6 +1432,7 @@ export interface UpdateRouterConfig {
1192
1432
  routing_strategy_args?: UpdateRouterConfigRoutingStrategyArgsMap | null;
1193
1433
  tag_routing_prefix?: string | null;
1194
1434
  timeout?: number | null;
1435
+ weights?: unknown | null;
1195
1436
  }
1196
1437
  export const UpdateRouterConfig = /*@__PURE__*/ S.suspend(() =>
1197
1438
  S.Struct({
@@ -1213,6 +1454,9 @@ export const UpdateRouterConfig = /*@__PURE__*/ S.suspend(() =>
1213
1454
  S.NullOr(UpdateRouterConfigModelGroupRetryPolicyMap),
1214
1455
  ),
1215
1456
  num_retries: S.optional(S.NullOr(S.Number)),
1457
+ optional_pre_call_checks: S.optional(
1458
+ S.NullOr(UpdateRouterConfigOptionalPreCallChecksList),
1459
+ ),
1216
1460
  retry_after: S.optional(S.NullOr(S.Number)),
1217
1461
  retry_policy: S.optional(S.NullOr(RetryPolicy)),
1218
1462
  routing_groups: S.optional(S.NullOr(UpdateRouterConfigRoutingGroupsList)),
@@ -1222,6 +1466,7 @@ export const UpdateRouterConfig = /*@__PURE__*/ S.suspend(() =>
1222
1466
  ),
1223
1467
  tag_routing_prefix: S.optional(S.NullOr(S.String)),
1224
1468
  timeout: S.optional(S.NullOr(S.Number)),
1469
+ weights: S.optional(S.NullOr(S.Unknown)),
1225
1470
  }),
1226
1471
  ).annotate({
1227
1472
  identifier: "UpdateRouterConfig",