@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";
@@ -506,9 +506,17 @@ export const HandlerMultipartUploadV1ContainersContainerIdFilesPostResponse =
506
506
  "HandlerMultipartUploadV1ContainersContainerIdFilesPostResponse",
507
507
  }) as any as S.Schema<HandlerMultipartUploadV1ContainersContainerIdFilesPostResponse>;
508
508
 
509
- export interface ListContainersContainersGetRequest {}
509
+ export interface ListContainersContainersGetRequest {
510
+ after?: string;
511
+ limit?: number;
512
+ order?: string;
513
+ }
510
514
  export const ListContainersContainersGetRequest = /*@__PURE__*/ S.suspend(() =>
511
- S.Struct({}).pipe(T.Http({ method: "GET", uri: "/containers", code: 200 })),
515
+ S.Struct({
516
+ after: S.optional(S.String.pipe(T.Query())),
517
+ limit: S.optional(S.Number.pipe(T.Query())),
518
+ order: S.optional(S.String.pipe(T.Query())),
519
+ }).pipe(T.Http({ method: "GET", uri: "/containers", code: 200 })),
512
520
  ).annotate({
513
521
  identifier: "ListContainersContainersGetRequest",
514
522
  }) as any as S.Schema<ListContainersContainersGetRequest>;
@@ -524,12 +532,18 @@ export const ListContainersContainersGetResponse = /*@__PURE__*/ S.suspend(() =>
524
532
  identifier: "ListContainersContainersGetResponse",
525
533
  }) as any as S.Schema<ListContainersContainersGetResponse>;
526
534
 
527
- export interface ListContainersV1ContainersGetRequest {}
535
+ export interface ListContainersV1ContainersGetRequest {
536
+ after?: string;
537
+ limit?: number;
538
+ order?: string;
539
+ }
528
540
  export const ListContainersV1ContainersGetRequest = /*@__PURE__*/ S.suspend(
529
541
  () =>
530
- S.Struct({}).pipe(
531
- T.Http({ method: "GET", uri: "/v1/containers", code: 200 }),
532
- ),
542
+ S.Struct({
543
+ after: S.optional(S.String.pipe(T.Query())),
544
+ limit: S.optional(S.Number.pipe(T.Query())),
545
+ order: S.optional(S.String.pipe(T.Query())),
546
+ }).pipe(T.Http({ method: "GET", uri: "/v1/containers", code: 200 })),
533
547
  ).annotate({
534
548
  identifier: "ListContainersV1ContainersGetRequest",
535
549
  }) as any as S.Schema<ListContainersV1ContainersGetRequest>;
@@ -817,7 +831,9 @@ export const handlerMultipartUploadV1ContainersContainerIdFilesPost: API.Operati
817
831
  retry: Retry.Retry,
818
832
  }));
819
833
 
820
- export type ListContainersContainersGetError = LitellmOpError;
834
+ export type ListContainersContainersGetError =
835
+ | UnprocessableEntity
836
+ | LitellmOpError;
821
837
  /** List Containers Container list endpoint for retrieving a list of containers. Follows the OpenAI Containers API spec: https://platform.openai.com/docs/api-reference/containers Example: ```bash curl -X GET "http://localhost:4000/v1/containers?limit=20&order=desc" -H "Authorization: Bearer sk-1234" ``` Or specify provider via header or query param: ```bash curl -X GET "http://localhost:4000/v1/containers?custom_llm_provider=azure" -H "Authorization: Bearer sk-1234" ``` */
822
838
  export const listContainersContainersGet: API.OperationMethod<
823
839
  ListContainersContainersGetRequest,
@@ -827,12 +843,14 @@ export const listContainersContainersGet: API.OperationMethod<
827
843
  > = /*@__PURE__*/ API.make(() => ({
828
844
  input: ListContainersContainersGetRequest,
829
845
  output: ListContainersContainersGetResponse,
830
- errors: [],
846
+ errors: [UnprocessableEntity],
831
847
  protocol: LitellmProtocol,
832
848
  retry: Retry.Retry,
833
849
  }));
834
850
 
835
- export type ListContainersV1ContainersGetError = LitellmOpError;
851
+ export type ListContainersV1ContainersGetError =
852
+ | UnprocessableEntity
853
+ | LitellmOpError;
836
854
  /** List Containers Container list endpoint for retrieving a list of containers. Follows the OpenAI Containers API spec: https://platform.openai.com/docs/api-reference/containers Example: ```bash curl -X GET "http://localhost:4000/v1/containers?limit=20&order=desc" -H "Authorization: Bearer sk-1234" ``` Or specify provider via header or query param: ```bash curl -X GET "http://localhost:4000/v1/containers?custom_llm_provider=azure" -H "Authorization: Bearer sk-1234" ``` */
837
855
  export const listContainersV1ContainersGet: API.OperationMethod<
838
856
  ListContainersV1ContainersGetRequest,
@@ -842,7 +860,7 @@ export const listContainersV1ContainersGet: API.OperationMethod<
842
860
  > = /*@__PURE__*/ API.make(() => ({
843
861
  input: ListContainersV1ContainersGetRequest,
844
862
  output: ListContainersV1ContainersGetResponse,
845
- errors: [],
863
+ errors: [UnprocessableEntity],
846
864
  protocol: LitellmProtocol,
847
865
  retry: Retry.Retry,
848
866
  }));
@@ -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";
@@ -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";
@@ -92,6 +92,10 @@ export const GetCostMarginConfigConfigCostMarginConfigGetResponse =
92
92
  }) as any as S.Schema<GetCostMarginConfigConfigCostMarginConfigGetResponse>;
93
93
 
94
94
  export interface PostEstimateCostCostEstimateRequest {
95
+ /** Input tokens written to the prompt cache; counted within input_tokens */
96
+ cache_creation_input_tokens?: number;
97
+ /** Input tokens read from the prompt cache; counted within input_tokens */
98
+ cache_read_input_tokens?: number;
95
99
  /** Expected input tokens per request */
96
100
  input_tokens: number;
97
101
  /** Model name (from /model_group/info) */
@@ -102,14 +106,19 @@ export interface PostEstimateCostCostEstimateRequest {
102
106
  num_requests_per_month?: number | null;
103
107
  /** Expected output tokens per request */
104
108
  output_tokens: number;
109
+ /** Reasoning tokens the model emits; counted within output_tokens */
110
+ reasoning_tokens?: number;
105
111
  }
106
112
  export const PostEstimateCostCostEstimateRequest = /*@__PURE__*/ S.suspend(() =>
107
113
  S.Struct({
114
+ cache_creation_input_tokens: S.optional(S.Number),
115
+ cache_read_input_tokens: S.optional(S.Number),
108
116
  input_tokens: S.Number,
109
117
  model: S.String,
110
118
  num_requests_per_day: S.optional(S.NullOr(S.Number)),
111
119
  num_requests_per_month: S.optional(S.NullOr(S.Number)),
112
120
  output_tokens: S.Number,
121
+ reasoning_tokens: S.optional(S.Number),
113
122
  }).pipe(T.Http({ method: "POST", uri: "/cost/estimate", code: 200 })),
114
123
  ).annotate({
115
124
  identifier: "PostEstimateCostCostEstimateRequest",
@@ -117,8 +126,22 @@ export const PostEstimateCostCostEstimateRequest = /*@__PURE__*/ S.suspend(() =>
117
126
 
118
127
  /** Response body for /cost/estimate endpoint. */
119
128
  export interface CostEstimateResponse {
129
+ /** Cache-write share of input_cost_per_request */
130
+ cache_creation_cost_per_request?: number;
131
+ /** Rate billed per cache-write token */
132
+ cache_creation_input_token_cost?: number | null;
133
+ cache_creation_input_tokens?: number;
134
+ /** Cache-read share of input_cost_per_request */
135
+ cache_read_cost_per_request?: number;
136
+ /** Rate billed per cache-read token */
137
+ cache_read_input_token_cost?: number | null;
138
+ cache_read_input_tokens?: number;
120
139
  /** Total cost per request (includes margin) */
121
140
  cost_per_request: number;
141
+ /** Cache-write share of daily_input_cost */
142
+ daily_cache_creation_cost?: number | null;
143
+ /** Cache-read share of daily_input_cost */
144
+ daily_cache_read_cost?: number | null;
122
145
  /** Total daily cost (includes margin) */
123
146
  daily_cost?: number | null;
124
147
  /** Daily input token cost */
@@ -127,13 +150,20 @@ export interface CostEstimateResponse {
127
150
  daily_margin_cost?: number | null;
128
151
  /** Daily output token cost */
129
152
  daily_output_cost?: number | null;
153
+ /** Reasoning share of daily_output_cost */
154
+ daily_reasoning_cost?: number | null;
130
155
  /** Input token cost per request (before margin) */
131
156
  input_cost_per_request: number;
157
+ /** Rate billed per input token */
132
158
  input_cost_per_token?: number | null;
133
159
  input_tokens: number;
134
160
  /** Margin/fee added per request */
135
161
  margin_cost_per_request?: number;
136
162
  model: string;
163
+ /** Cache-write share of monthly_input_cost */
164
+ monthly_cache_creation_cost?: number | null;
165
+ /** Cache-read share of monthly_input_cost */
166
+ monthly_cache_read_cost?: number | null;
137
167
  /** Total monthly cost (includes margin) */
138
168
  monthly_cost?: number | null;
139
169
  /** Monthly input token cost */
@@ -142,41 +172,190 @@ export interface CostEstimateResponse {
142
172
  monthly_margin_cost?: number | null;
143
173
  /** Monthly output token cost */
144
174
  monthly_output_cost?: number | null;
175
+ /** Reasoning share of monthly_output_cost */
176
+ monthly_reasoning_cost?: number | null;
145
177
  num_requests_per_day?: number | null;
146
178
  num_requests_per_month?: number | null;
179
+ /** Rate billed per reasoning token */
180
+ output_cost_per_reasoning_token?: number | null;
147
181
  /** Output token cost per request (before margin) */
148
182
  output_cost_per_request: number;
183
+ /** Rate billed per output token */
149
184
  output_cost_per_token?: number | null;
150
185
  output_tokens: number;
151
186
  provider?: string | null;
187
+ /** Reasoning share of output_cost_per_request */
188
+ reasoning_cost_per_request?: number;
189
+ reasoning_tokens?: number;
152
190
  }
153
191
  export const CostEstimateResponse = /*@__PURE__*/ S.suspend(() =>
154
192
  S.Struct({
193
+ cache_creation_cost_per_request: S.optional(S.Number),
194
+ cache_creation_input_token_cost: S.optional(S.NullOr(S.Number)),
195
+ cache_creation_input_tokens: S.optional(S.Number),
196
+ cache_read_cost_per_request: S.optional(S.Number),
197
+ cache_read_input_token_cost: S.optional(S.NullOr(S.Number)),
198
+ cache_read_input_tokens: S.optional(S.Number),
155
199
  cost_per_request: S.Number,
200
+ daily_cache_creation_cost: S.optional(S.NullOr(S.Number)),
201
+ daily_cache_read_cost: S.optional(S.NullOr(S.Number)),
156
202
  daily_cost: S.optional(S.NullOr(S.Number)),
157
203
  daily_input_cost: S.optional(S.NullOr(S.Number)),
158
204
  daily_margin_cost: S.optional(S.NullOr(S.Number)),
159
205
  daily_output_cost: S.optional(S.NullOr(S.Number)),
206
+ daily_reasoning_cost: S.optional(S.NullOr(S.Number)),
160
207
  input_cost_per_request: S.Number,
161
208
  input_cost_per_token: S.optional(S.NullOr(S.Number)),
162
209
  input_tokens: S.Number,
163
210
  margin_cost_per_request: S.optional(S.Number),
164
211
  model: S.String,
212
+ monthly_cache_creation_cost: S.optional(S.NullOr(S.Number)),
213
+ monthly_cache_read_cost: S.optional(S.NullOr(S.Number)),
165
214
  monthly_cost: S.optional(S.NullOr(S.Number)),
166
215
  monthly_input_cost: S.optional(S.NullOr(S.Number)),
167
216
  monthly_margin_cost: S.optional(S.NullOr(S.Number)),
168
217
  monthly_output_cost: S.optional(S.NullOr(S.Number)),
218
+ monthly_reasoning_cost: S.optional(S.NullOr(S.Number)),
169
219
  num_requests_per_day: S.optional(S.NullOr(S.Number)),
170
220
  num_requests_per_month: S.optional(S.NullOr(S.Number)),
221
+ output_cost_per_reasoning_token: S.optional(S.NullOr(S.Number)),
171
222
  output_cost_per_request: S.Number,
172
223
  output_cost_per_token: S.optional(S.NullOr(S.Number)),
173
224
  output_tokens: S.Number,
174
225
  provider: S.optional(S.NullOr(S.String)),
226
+ reasoning_cost_per_request: S.optional(S.Number),
227
+ reasoning_tokens: S.optional(S.Number),
175
228
  }),
176
229
  ).annotate({
177
230
  identifier: "CostEstimateResponse",
178
231
  }) as any as S.Schema<CostEstimateResponse>;
179
232
 
233
+ export type PostPredictCacheCostCostPredictCacheRequestRequestMap = {
234
+ [key: string]: unknown | undefined;
235
+ };
236
+ export const PostPredictCacheCostCostPredictCacheRequestRequestMap =
237
+ /*@__PURE__*/ S.Record(
238
+ S.String,
239
+ S.Unknown,
240
+ ) as any as S.Schema<PostPredictCacheCostCostPredictCacheRequestRequestMap>;
241
+
242
+ export interface PostPredictCacheCostCostPredictCacheRequest {
243
+ candidate_deployment_id: string;
244
+ current_deployment_id: string;
245
+ request: PostPredictCacheCostCostPredictCacheRequestRequestMap;
246
+ }
247
+ export const PostPredictCacheCostCostPredictCacheRequest =
248
+ /*@__PURE__*/ S.suspend(() =>
249
+ S.Struct({
250
+ candidate_deployment_id: S.String,
251
+ current_deployment_id: S.String,
252
+ request: PostPredictCacheCostCostPredictCacheRequestRequestMap,
253
+ }).pipe(T.Http({ method: "POST", uri: "/cost/predict-cache", code: 200 })),
254
+ ).annotate({
255
+ identifier: "PostPredictCacheCostCostPredictCacheRequest",
256
+ }) as any as S.Schema<PostPredictCacheCostCostPredictCacheRequest>;
257
+
258
+ export type CachePredictionArmCacheState =
259
+ | "warm"
260
+ | "partial"
261
+ | "stale"
262
+ | "unknown"
263
+ | "disabled";
264
+ export const CachePredictionArmCacheState = S.String;
265
+
266
+ export interface CacheTokenBuckets {
267
+ cache_creation_1h_input_tokens?: number;
268
+ cache_creation_5m_input_tokens?: number;
269
+ cache_read_input_tokens?: number;
270
+ uncached_input_tokens?: number;
271
+ }
272
+ export const CacheTokenBuckets = /*@__PURE__*/ S.suspend(() =>
273
+ S.Struct({
274
+ cache_creation_1h_input_tokens: S.optional(S.Number),
275
+ cache_creation_5m_input_tokens: S.optional(S.Number),
276
+ cache_read_input_tokens: S.optional(S.Number),
277
+ uncached_input_tokens: S.optional(S.Number),
278
+ }),
279
+ ).annotate({
280
+ identifier: "CacheTokenBuckets",
281
+ }) as any as S.Schema<CacheTokenBuckets>;
282
+
283
+ export interface CacheCostScenario {
284
+ input_cost: number;
285
+ tokens: CacheTokenBuckets;
286
+ }
287
+ export const CacheCostScenario = /*@__PURE__*/ S.suspend(() =>
288
+ S.Struct({
289
+ input_cost: S.Number,
290
+ tokens: CacheTokenBuckets,
291
+ }),
292
+ ).annotate({
293
+ identifier: "CacheCostScenario",
294
+ }) as any as S.Schema<CacheCostScenario>;
295
+
296
+ export interface CacheEvidence {
297
+ confidence?: string;
298
+ expires_at: number;
299
+ observed_at: number;
300
+ source?: string;
301
+ }
302
+ export const CacheEvidence = /*@__PURE__*/ S.suspend(() =>
303
+ S.Struct({
304
+ confidence: S.optional(S.String),
305
+ expires_at: S.Number,
306
+ observed_at: S.Number,
307
+ source: S.optional(S.String),
308
+ }),
309
+ ).annotate({ identifier: "CacheEvidence" }) as any as S.Schema<CacheEvidence>;
310
+
311
+ export interface CachePredictionArm {
312
+ cache_state?: CachePredictionArmCacheState;
313
+ cold?: CacheCostScenario | null;
314
+ deployment_id: string;
315
+ estimate?: CacheCostScenario | null;
316
+ evidence?: CacheEvidence | null;
317
+ model?: string | null;
318
+ reason?: string | null;
319
+ token_count_source?: string | null;
320
+ warm?: CacheCostScenario | null;
321
+ }
322
+ export const CachePredictionArm = /*@__PURE__*/ S.suspend(() =>
323
+ S.Struct({
324
+ cache_state: S.optional(CachePredictionArmCacheState),
325
+ cold: S.optional(S.NullOr(CacheCostScenario)),
326
+ deployment_id: S.String,
327
+ estimate: S.optional(S.NullOr(CacheCostScenario)),
328
+ evidence: S.optional(S.NullOr(CacheEvidence)),
329
+ model: S.optional(S.NullOr(S.String)),
330
+ reason: S.optional(S.NullOr(S.String)),
331
+ token_count_source: S.optional(S.NullOr(S.String)),
332
+ warm: S.optional(S.NullOr(CacheCostScenario)),
333
+ }),
334
+ ).annotate({
335
+ identifier: "CachePredictionArm",
336
+ }) as any as S.Schema<CachePredictionArm>;
337
+
338
+ export interface CachePredictionResponse {
339
+ cache_guarantee?: boolean;
340
+ cache_rebuild_penalty: number | null;
341
+ pricing_basis?: string;
342
+ stay: CachePredictionArm;
343
+ switch: CachePredictionArm;
344
+ switch_delta: number | null;
345
+ }
346
+ export const CachePredictionResponse = /*@__PURE__*/ S.suspend(() =>
347
+ S.Struct({
348
+ cache_guarantee: S.optional(S.Boolean),
349
+ cache_rebuild_penalty: S.NullOr(S.Number),
350
+ pricing_basis: S.optional(S.String),
351
+ stay: CachePredictionArm,
352
+ switch: CachePredictionArm,
353
+ switch_delta: S.NullOr(S.Number),
354
+ }),
355
+ ).annotate({
356
+ identifier: "CachePredictionResponse",
357
+ }) as any as S.Schema<CachePredictionResponse>;
358
+
180
359
  export interface UpdateBlockRequestsForModelsWithoutPricingConfigBlockRequestsForModelsWithoutPricingPatchRequest {
181
360
  enabled: boolean;
182
361
  }
@@ -340,7 +519,7 @@ export const getCostMarginConfigConfigCostMarginConfigGet: API.OperationMethod<
340
519
  export type PostEstimateCostCostEstimateError =
341
520
  | UnprocessableEntity
342
521
  | LitellmOpError;
343
- /** Estimate Cost Estimate cost for a given model and token counts. This endpoint uses the same cost calculation logic as actual requests, including any configured margins and discounts. Parameters: - model: Model name (e.g., "gpt-4", "claude-3-opus") - input_tokens: Expected input tokens per request - output_tokens: Expected output tokens per request - num_requests_per_day: Number of requests per day (optional) - num_requests_per_month: Number of requests per month (optional) Returns cost breakdown including: - Per-request costs (input, output, margin) - Daily costs (if num_requests_per_day provided) - Monthly costs (if num_requests_per_month provided) Example: ```json { "model": "gpt-4", "input_tokens": 1000, "output_tokens": 500, "num_requests_per_day": 100, "num_requests_per_month": 3000 } ``` */
522
+ /** Estimate Cost Estimate cost for a given model and token counts. This endpoint uses the same cost calculation logic as actual requests, including any configured margins and discounts. Parameters: - model: Model name (e.g., "gpt-4", "claude-3-opus") - input_tokens: Expected input tokens per request - output_tokens: Expected output tokens per request - cache_read_input_tokens: Cache-read tokens per request, counted within input_tokens (optional) - cache_creation_input_tokens: Cache-write tokens per request, counted within input_tokens (optional) - reasoning_tokens: Reasoning tokens per request, counted within output_tokens (optional) - num_requests_per_day: Number of requests per day (optional) - num_requests_per_month: Number of requests per month (optional) Returns cost breakdown including: - Per-request costs (input, output, margin, plus the cache-read, cache-write and reasoning shares) - Daily costs (if num_requests_per_day provided) - Monthly costs (if num_requests_per_month provided) Example: ```json { "model": "gpt-4", "input_tokens": 1000, "cache_read_input_tokens": 800, "output_tokens": 500, "reasoning_tokens": 200, "num_requests_per_day": 100, "num_requests_per_month": 3000 } ``` */
344
523
  export const postEstimateCostCostEstimate: API.OperationMethod<
345
524
  PostEstimateCostCostEstimateRequest,
346
525
  CostEstimateResponse,
@@ -354,6 +533,23 @@ export const postEstimateCostCostEstimate: API.OperationMethod<
354
533
  retry: Retry.Retry,
355
534
  }));
356
535
 
536
+ export type PostPredictCacheCostCostPredictCacheError =
537
+ | UnprocessableEntity
538
+ | LitellmOpError;
539
+ /** Predict Cache Cost Compare the next native Anthropic request on two configured deployment IDs. Estimates use provider token counting and recent successful cache telemetry for this key. Unknown cache state uses the cold scenario when prices/counts are available. Cache observations do not guarantee retention. v0 supports one message-content breakpoint, text and client tools; system/tool-only breakpoints, thinking, images, nondefault Anthropic versions, beta headers and request transforms are unknown. Each provider count consumes one RPM unit and holds concurrency capacity; a comparison uses up to four counts. The legacy rate limiter returns unknown without contacting the provider. This endpoint does not generate tokens, prewarm caches, choose a model or alter routing. */
540
+ export const postPredictCacheCostCostPredictCache: API.OperationMethod<
541
+ PostPredictCacheCostCostPredictCacheRequest,
542
+ CachePredictionResponse,
543
+ PostPredictCacheCostCostPredictCacheError,
544
+ LitellmOpContext
545
+ > = /*@__PURE__*/ API.make(() => ({
546
+ input: PostPredictCacheCostCostPredictCacheRequest,
547
+ output: CachePredictionResponse,
548
+ errors: [UnprocessableEntity],
549
+ protocol: LitellmProtocol,
550
+ retry: Retry.Retry,
551
+ }));
552
+
357
553
  export type UpdateBlockRequestsForModelsWithoutPricingConfigBlockRequestsForModelsWithoutPricingPatchError =
358
554
  | UnprocessableEntity
359
555
  | LitellmOpError;
@@ -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";
@@ -269,7 +269,8 @@ export interface UpdateCredentialCredentialsCredentialNamePatchRequest {
269
269
  /** The credential name, percent-decoded; may contain slashes */
270
270
  credential_name: string;
271
271
  credential_info: UpdateCredentialCredentialsCredentialNamePatchRequestCredentialInfoMap;
272
- credential_values: UpdateCredentialCredentialsCredentialNamePatchRequestCredentialValuesMap;
272
+ credential_values?: UpdateCredentialCredentialsCredentialNamePatchRequestCredentialValuesMap | null;
273
+ model_id?: string | null;
273
274
  }
274
275
  export const UpdateCredentialCredentialsCredentialNamePatchRequest =
275
276
  /*@__PURE__*/ S.suspend(() =>
@@ -277,8 +278,12 @@ export const UpdateCredentialCredentialsCredentialNamePatchRequest =
277
278
  credential_name: S.String.pipe(T.Label()),
278
279
  credential_info:
279
280
  UpdateCredentialCredentialsCredentialNamePatchRequestCredentialInfoMap,
280
- credential_values:
281
- UpdateCredentialCredentialsCredentialNamePatchRequestCredentialValuesMap,
281
+ credential_values: S.optional(
282
+ S.NullOr(
283
+ UpdateCredentialCredentialsCredentialNamePatchRequestCredentialValuesMap,
284
+ ),
285
+ ),
286
+ model_id: S.optional(S.NullOr(S.String)),
282
287
  }).pipe(
283
288
  T.Http({
284
289
  method: "PATCH",
@@ -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";
@@ -114,8 +114,10 @@ export interface DailySpendMetadata {
114
114
  total_pages?: number;
115
115
  total_prompt_caching_savings_spend?: number;
116
116
  total_prompt_tokens?: number;
117
+ total_response_time_ms?: number;
117
118
  total_spend?: number;
118
119
  total_successful_requests?: number;
120
+ total_timed_requests?: number;
119
121
  total_tokens?: number;
120
122
  }
121
123
  export const DailySpendMetadata = /*@__PURE__*/ S.suspend(() =>
@@ -135,8 +137,10 @@ export const DailySpendMetadata = /*@__PURE__*/ S.suspend(() =>
135
137
  total_pages: S.optional(S.Number),
136
138
  total_prompt_caching_savings_spend: S.optional(S.Number),
137
139
  total_prompt_tokens: S.optional(S.Number),
140
+ total_response_time_ms: S.optional(S.Number),
138
141
  total_spend: S.optional(S.Number),
139
142
  total_successful_requests: S.optional(S.Number),
143
+ total_timed_requests: S.optional(S.Number),
140
144
  total_tokens: S.optional(S.Number),
141
145
  }),
142
146
  ).annotate({
@@ -146,12 +150,18 @@ export const DailySpendMetadata = /*@__PURE__*/ S.suspend(() =>
146
150
  /** Metadata for a key */
147
151
  export interface KeyMetadata {
148
152
  key_alias?: string | null;
153
+ key_exists?: boolean | null;
149
154
  team_id?: string | null;
155
+ user_email?: string | null;
156
+ user_id?: string | null;
150
157
  }
151
158
  export const KeyMetadata = /*@__PURE__*/ S.suspend(() =>
152
159
  S.Struct({
153
160
  key_alias: S.optional(S.NullOr(S.String)),
161
+ key_exists: S.optional(S.NullOr(S.Boolean)),
154
162
  team_id: S.optional(S.NullOr(S.String)),
163
+ user_email: S.optional(S.NullOr(S.String)),
164
+ user_id: S.optional(S.NullOr(S.String)),
155
165
  }),
156
166
  ).annotate({ identifier: "KeyMetadata" }) as any as S.Schema<KeyMetadata>;
157
167
 
@@ -170,6 +180,8 @@ export interface SpendMetrics {
170
180
  prompt_tokens?: number;
171
181
  spend?: number;
172
182
  successful_requests?: number;
183
+ timed_requests?: number;
184
+ total_response_time_ms?: number;
173
185
  total_tokens?: number;
174
186
  }
175
187
  export const SpendMetrics = /*@__PURE__*/ S.suspend(() =>
@@ -188,6 +200,8 @@ export const SpendMetrics = /*@__PURE__*/ S.suspend(() =>
188
200
  prompt_tokens: S.optional(S.Number),
189
201
  spend: S.optional(S.Number),
190
202
  successful_requests: S.optional(S.Number),
203
+ timed_requests: S.optional(S.Number),
204
+ total_response_time_ms: S.optional(S.Number),
191
205
  total_tokens: S.optional(S.Number),
192
206
  }),
193
207
  ).annotate({ identifier: "SpendMetrics" }) as any as S.Schema<SpendMetrics>;
@@ -428,6 +442,9 @@ export interface LiteLLMBudgetTableFull {
428
442
  model_max_budget?: LiteLLMBudgetTableFullModelMaxBudgetMap | null;
429
443
  rpm_limit?: number | null;
430
444
  soft_budget?: number | null;
445
+ temp_budget_expiry?: string | null;
446
+ temp_budget_increase?: number | null;
447
+ tpd_limit?: number | null;
431
448
  tpm_limit?: number | null;
432
449
  }
433
450
  export const LiteLLMBudgetTableFull = /*@__PURE__*/ S.suspend(() =>
@@ -446,6 +463,9 @@ export const LiteLLMBudgetTableFull = /*@__PURE__*/ S.suspend(() =>
446
463
  ),
447
464
  rpm_limit: S.optional(S.NullOr(S.Number)),
448
465
  soft_budget: S.optional(S.NullOr(S.Number)),
466
+ temp_budget_expiry: S.optional(S.NullOr(S.String)),
467
+ temp_budget_increase: S.optional(S.NullOr(S.Number)),
468
+ tpd_limit: S.optional(S.NullOr(S.Number)),
449
469
  tpm_limit: S.optional(S.NullOr(S.Number)),
450
470
  }),
451
471
  ).annotate({
@@ -515,6 +535,11 @@ export const LiteLLMObjectPermissionTableSearchToolsList =
515
535
  S.String,
516
536
  ) as any as S.Schema<LiteLLMObjectPermissionTableSearchToolsList>;
517
537
 
538
+ export type LiteLLMObjectPermissionTableSkillsList = Array<string>;
539
+ export const LiteLLMObjectPermissionTableSkillsList = /*@__PURE__*/ S.Array(
540
+ S.String,
541
+ ) as any as S.Schema<LiteLLMObjectPermissionTableSkillsList>;
542
+
518
543
  export type LiteLLMObjectPermissionTableVectorStoresList = Array<string>;
519
544
  export const LiteLLMObjectPermissionTableVectorStoresList =
520
545
  /*@__PURE__*/ S.Array(
@@ -534,6 +559,7 @@ export interface LiteLLMObjectPermissionTable {
534
559
  models?: LiteLLMObjectPermissionTableModelsList | null;
535
560
  object_permission_id: string;
536
561
  search_tools?: LiteLLMObjectPermissionTableSearchToolsList | null;
562
+ skills?: LiteLLMObjectPermissionTableSkillsList | null;
537
563
  vector_stores?: LiteLLMObjectPermissionTableVectorStoresList | null;
538
564
  }
539
565
  export const LiteLLMObjectPermissionTable = /*@__PURE__*/ S.suspend(() =>
@@ -563,6 +589,7 @@ export const LiteLLMObjectPermissionTable = /*@__PURE__*/ S.suspend(() =>
563
589
  search_tools: S.optional(
564
590
  S.NullOr(LiteLLMObjectPermissionTableSearchToolsList),
565
591
  ),
592
+ skills: S.optional(S.NullOr(LiteLLMObjectPermissionTableSkillsList)),
566
593
  vector_stores: S.optional(
567
594
  S.NullOr(LiteLLMObjectPermissionTableVectorStoresList),
568
595
  ),
@@ -709,6 +736,9 @@ export interface LiteLLMBudgetTable {
709
736
  model_max_budget?: LiteLLMBudgetTableModelMaxBudgetMap | null;
710
737
  rpm_limit?: number | null;
711
738
  soft_budget?: number | null;
739
+ temp_budget_expiry?: string | null;
740
+ temp_budget_increase?: number | null;
741
+ tpd_limit?: number | null;
712
742
  tpm_limit?: number | null;
713
743
  }
714
744
  export const LiteLLMBudgetTable = /*@__PURE__*/ S.suspend(() =>
@@ -721,6 +751,9 @@ export const LiteLLMBudgetTable = /*@__PURE__*/ S.suspend(() =>
721
751
  model_max_budget: S.optional(S.NullOr(LiteLLMBudgetTableModelMaxBudgetMap)),
722
752
  rpm_limit: S.optional(S.NullOr(S.Number)),
723
753
  soft_budget: S.optional(S.NullOr(S.Number)),
754
+ temp_budget_expiry: S.optional(S.NullOr(S.String)),
755
+ temp_budget_increase: S.optional(S.NullOr(S.Number)),
756
+ tpd_limit: S.optional(S.NullOr(S.Number)),
724
757
  tpm_limit: S.optional(S.NullOr(S.Number)),
725
758
  }),
726
759
  ).annotate({
@@ -890,6 +923,11 @@ export const LiteLLMObjectPermissionBaseSearchToolsList = /*@__PURE__*/ S.Array(
890
923
  S.String,
891
924
  ) as any as S.Schema<LiteLLMObjectPermissionBaseSearchToolsList>;
892
925
 
926
+ export type LiteLLMObjectPermissionBaseSkillsList = Array<string>;
927
+ export const LiteLLMObjectPermissionBaseSkillsList = /*@__PURE__*/ S.Array(
928
+ S.String,
929
+ ) as any as S.Schema<LiteLLMObjectPermissionBaseSkillsList>;
930
+
893
931
  export type LiteLLMObjectPermissionBaseVectorStoresList = Array<string>;
894
932
  export const LiteLLMObjectPermissionBaseVectorStoresList =
895
933
  /*@__PURE__*/ S.Array(
@@ -907,6 +945,7 @@ export interface LiteLLMObjectPermissionBase {
907
945
  mcp_toolsets?: LiteLLMObjectPermissionBaseMcpToolsetsList | null;
908
946
  models?: LiteLLMObjectPermissionBaseModelsList | null;
909
947
  search_tools?: LiteLLMObjectPermissionBaseSearchToolsList | null;
948
+ skills?: LiteLLMObjectPermissionBaseSkillsList | null;
910
949
  vector_stores?: LiteLLMObjectPermissionBaseVectorStoresList | null;
911
950
  }
912
951
  export const LiteLLMObjectPermissionBase = /*@__PURE__*/ S.suspend(() =>
@@ -935,6 +974,7 @@ export const LiteLLMObjectPermissionBase = /*@__PURE__*/ S.suspend(() =>
935
974
  search_tools: S.optional(
936
975
  S.NullOr(LiteLLMObjectPermissionBaseSearchToolsList),
937
976
  ),
977
+ skills: S.optional(S.NullOr(LiteLLMObjectPermissionBaseSkillsList)),
938
978
  vector_stores: S.optional(
939
979
  S.NullOr(LiteLLMObjectPermissionBaseVectorStoresList),
940
980
  ),
@@ -968,6 +1008,8 @@ export interface PostNewEndUserCustomerNewRequest {
968
1008
  /** Requests will NOT fail if this is exceeded. Will fire alerting though. */
969
1009
  soft_budget?: number | null;
970
1010
  spend?: number | null;
1011
+ /** Max tokens per day, charged by batch submissions, allowed for this budget id. */
1012
+ tpd_limit?: number | null;
971
1013
  /** Max tokens per minute, allowed for this budget id. */
972
1014
  tpm_limit?: number | null;
973
1015
  user_id: string;
@@ -992,6 +1034,7 @@ export const PostNewEndUserCustomerNewRequest = /*@__PURE__*/ S.suspend(() =>
992
1034
  rpm_limit: S.optional(S.NullOr(S.Number)),
993
1035
  soft_budget: S.optional(S.NullOr(S.Number)),
994
1036
  spend: S.optional(S.NullOr(S.Number)),
1037
+ tpd_limit: S.optional(S.NullOr(S.Number)),
995
1038
  tpm_limit: S.optional(S.NullOr(S.Number)),
996
1039
  user_id: S.String,
997
1040
  }).pipe(T.Http({ method: "POST", uri: "/customer/new", code: 200 })),
@@ -1036,6 +1079,8 @@ export interface PostNewEndUserEndUserNewRequest {
1036
1079
  /** Requests will NOT fail if this is exceeded. Will fire alerting though. */
1037
1080
  soft_budget?: number | null;
1038
1081
  spend?: number | null;
1082
+ /** Max tokens per day, charged by batch submissions, allowed for this budget id. */
1083
+ tpd_limit?: number | null;
1039
1084
  /** Max tokens per minute, allowed for this budget id. */
1040
1085
  tpm_limit?: number | null;
1041
1086
  user_id: string;
@@ -1060,6 +1105,7 @@ export const PostNewEndUserEndUserNewRequest = /*@__PURE__*/ S.suspend(() =>
1060
1105
  rpm_limit: S.optional(S.NullOr(S.Number)),
1061
1106
  soft_budget: S.optional(S.NullOr(S.Number)),
1062
1107
  spend: S.optional(S.NullOr(S.Number)),
1108
+ tpd_limit: S.optional(S.NullOr(S.Number)),
1063
1109
  tpm_limit: S.optional(S.NullOr(S.Number)),
1064
1110
  user_id: S.String,
1065
1111
  }).pipe(T.Http({ method: "POST", uri: "/end_user/new", code: 200 })),
@@ -1375,7 +1421,7 @@ export const postBlockUserEndUserBlock: API.OperationMethod<
1375
1421
  export type PostNewEndUserCustomerNewError =
1376
1422
  | UnprocessableEntity
1377
1423
  | LitellmOpError;
1378
- /** New End User Allow creating a new Customer Parameters: - user_id: str - The unique identifier for the user. - alias: Optional[str] - A human-friendly alias for the user. - blocked: bool - Flag to allow or disallow requests for this end-user. Default is False. - max_budget: Optional[float] - The maximum budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. - budget_id: Optional[str] - The identifier for an existing budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. - allowed_model_region: Optional[Union[Literal["eu"], Literal["us"]]] - Require all user requests to use models in this specific region. - default_model: Optional[str] - If no equivalent model in the allowed region, default all requests to this model. - metadata: Optional[dict] = Metadata for customer, store information for customer. Example metadata = {"data_training_opt_out": True} - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - tpm_limit: Optional[int] - [Not Implemented Yet] Specify tpm limit for a given customer (Tokens per minute) - rpm_limit: Optional[int] - [Not Implemented Yet] Specify rpm limit for a given customer (Requests per minute) - model_max_budget: Optional[dict] - [Not Implemented Yet] Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d"}} - max_parallel_requests: Optional[int] - [Not Implemented Yet] Specify max parallel requests for a given customer. - soft_budget: Optional[float] - [Not Implemented Yet] Get alerts when customer crosses given budget, doesn't block requests. - spend: Optional[float] - Specify initial spend for a given customer. - budget_reset_at: Optional[str] - Specify the date and time when the budget should be reset. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Customer-specific object permissions to control access to resources. Supported fields: * mcp_servers: List[str] - List of allowed MCP server IDs * mcp_access_groups: List[str] - List of MCP access group names * mcp_tool_permissions: Dict[str, List[str]] - Map of server ID to allowed tool names (e.g., {"server_1": ["tool_a", "tool_b"]}) * vector_stores: List[str] - List of allowed vector store IDs * agents: List[str] - List of allowed agent IDs * agent_access_groups: List[str] - List of agent access group names Example: {"mcp_servers": ["server_1", "server_2"], "vector_stores": ["vector_store_1"], "agents": ["agent_1"]} IF null or {} then no object-level restrictions apply. - Allow specifying allowed regions - Allow specifying default model Example curl: ``` curl --location 'http://0.0.0.0:4000/customer/new' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "user_id" : "ishaan-jaff-3", "allowed_region": "eu", "budget_id": "free_tier", "default_model": "azure/gpt-3.5-turbo-eu" }' # With object permissions curl -L -X POST 'http://localhost:4000/customer/new' -H 'Authorization: Bearer sk-1234' -H 'Content-Type: application/json' -d '{ "user_id": "user_1", "object_permission": { "mcp_servers": ["server_1"], "mcp_access_groups": ["public_group"], "vector_stores": ["vector_store_1"] } }' # return end-user object ``` NOTE: This used to be called `/end_user/new`, we will still be maintaining compatibility for /end_user/XXX for these endpoints */
1424
+ /** New End User Allow creating a new Customer Parameters: - user_id: str - The unique identifier for the user. - alias: Optional[str] - A human-friendly alias for the user. - blocked: bool - Flag to allow or disallow requests for this end-user. Default is False. - max_budget: Optional[float] - The maximum budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. - budget_id: Optional[str] - The identifier for an existing budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. - allowed_model_region: Optional[Union[Literal["eu"], Literal["us"]]] - Require all user requests to use models in this specific region. - default_model: Optional[str] - If no equivalent model in the allowed region, default all requests to this model. - metadata: Optional[dict] = Metadata for customer, store information for customer. Example metadata = {"data_training_opt_out": True} - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - tpm_limit: Optional[int] - [Not Implemented Yet] Specify tpm limit for a given customer (Tokens per minute) - rpm_limit: Optional[int] - [Not Implemented Yet] Specify rpm limit for a given customer (Requests per minute) - tpd_limit: Optional[int] - Specify tpd limit for a given customer (Tokens per day). Batch submissions are charged against it instead of tpm_limit/rpm_limit - model_max_budget: Optional[dict] - [Not Implemented Yet] Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d"}} - max_parallel_requests: Optional[int] - [Not Implemented Yet] Specify max parallel requests for a given customer. - soft_budget: Optional[float] - [Not Implemented Yet] Get alerts when customer crosses given budget, doesn't block requests. - spend: Optional[float] - Specify initial spend for a given customer. - budget_reset_at: Optional[str] - Specify the date and time when the budget should be reset. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Customer-specific object permissions to control access to resources. Supported fields: * mcp_servers: List[str] - List of allowed MCP server IDs * mcp_access_groups: List[str] - List of MCP access group names * mcp_tool_permissions: Dict[str, List[str]] - Map of server ID to allowed tool names (e.g., {"server_1": ["tool_a", "tool_b"]}) * vector_stores: List[str] - List of allowed vector store IDs * agents: List[str] - List of allowed agent IDs * agent_access_groups: List[str] - List of agent access group names Example: {"mcp_servers": ["server_1", "server_2"], "vector_stores": ["vector_store_1"], "agents": ["agent_1"]} IF null or {} then no object-level restrictions apply. - Allow specifying allowed regions - Allow specifying default model Example curl: ``` curl --location 'http://0.0.0.0:4000/customer/new' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "user_id" : "ishaan-jaff-3", "allowed_region": "eu", "budget_id": "free_tier", "default_model": "azure/gpt-3.5-turbo-eu" }' # With object permissions curl -L -X POST 'http://localhost:4000/customer/new' -H 'Authorization: Bearer sk-1234' -H 'Content-Type: application/json' -d '{ "user_id": "user_1", "object_permission": { "mcp_servers": ["server_1"], "mcp_access_groups": ["public_group"], "vector_stores": ["vector_store_1"] } }' # return end-user object ``` NOTE: This used to be called `/end_user/new`, we will still be maintaining compatibility for /end_user/XXX for these endpoints */
1379
1425
  export const postNewEndUserCustomerNew: API.OperationMethod<
1380
1426
  PostNewEndUserCustomerNewRequest,
1381
1427
  CustomerResponse,
@@ -1392,7 +1438,7 @@ export const postNewEndUserCustomerNew: API.OperationMethod<
1392
1438
  export type PostNewEndUserEndUserNewError =
1393
1439
  | UnprocessableEntity
1394
1440
  | LitellmOpError;
1395
- /** New End User Allow creating a new Customer Parameters: - user_id: str - The unique identifier for the user. - alias: Optional[str] - A human-friendly alias for the user. - blocked: bool - Flag to allow or disallow requests for this end-user. Default is False. - max_budget: Optional[float] - The maximum budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. - budget_id: Optional[str] - The identifier for an existing budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. - allowed_model_region: Optional[Union[Literal["eu"], Literal["us"]]] - Require all user requests to use models in this specific region. - default_model: Optional[str] - If no equivalent model in the allowed region, default all requests to this model. - metadata: Optional[dict] = Metadata for customer, store information for customer. Example metadata = {"data_training_opt_out": True} - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - tpm_limit: Optional[int] - [Not Implemented Yet] Specify tpm limit for a given customer (Tokens per minute) - rpm_limit: Optional[int] - [Not Implemented Yet] Specify rpm limit for a given customer (Requests per minute) - model_max_budget: Optional[dict] - [Not Implemented Yet] Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d"}} - max_parallel_requests: Optional[int] - [Not Implemented Yet] Specify max parallel requests for a given customer. - soft_budget: Optional[float] - [Not Implemented Yet] Get alerts when customer crosses given budget, doesn't block requests. - spend: Optional[float] - Specify initial spend for a given customer. - budget_reset_at: Optional[str] - Specify the date and time when the budget should be reset. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Customer-specific object permissions to control access to resources. Supported fields: * mcp_servers: List[str] - List of allowed MCP server IDs * mcp_access_groups: List[str] - List of MCP access group names * mcp_tool_permissions: Dict[str, List[str]] - Map of server ID to allowed tool names (e.g., {"server_1": ["tool_a", "tool_b"]}) * vector_stores: List[str] - List of allowed vector store IDs * agents: List[str] - List of allowed agent IDs * agent_access_groups: List[str] - List of agent access group names Example: {"mcp_servers": ["server_1", "server_2"], "vector_stores": ["vector_store_1"], "agents": ["agent_1"]} IF null or {} then no object-level restrictions apply. - Allow specifying allowed regions - Allow specifying default model Example curl: ``` curl --location 'http://0.0.0.0:4000/customer/new' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "user_id" : "ishaan-jaff-3", "allowed_region": "eu", "budget_id": "free_tier", "default_model": "azure/gpt-3.5-turbo-eu" }' # With object permissions curl -L -X POST 'http://localhost:4000/customer/new' -H 'Authorization: Bearer sk-1234' -H 'Content-Type: application/json' -d '{ "user_id": "user_1", "object_permission": { "mcp_servers": ["server_1"], "mcp_access_groups": ["public_group"], "vector_stores": ["vector_store_1"] } }' # return end-user object ``` NOTE: This used to be called `/end_user/new`, we will still be maintaining compatibility for /end_user/XXX for these endpoints */
1441
+ /** New End User Allow creating a new Customer Parameters: - user_id: str - The unique identifier for the user. - alias: Optional[str] - A human-friendly alias for the user. - blocked: bool - Flag to allow or disallow requests for this end-user. Default is False. - max_budget: Optional[float] - The maximum budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. - budget_id: Optional[str] - The identifier for an existing budget allocated to the user. Either 'max_budget' or 'budget_id' should be provided, not both. - allowed_model_region: Optional[Union[Literal["eu"], Literal["us"]]] - Require all user requests to use models in this specific region. - default_model: Optional[str] - If no equivalent model in the allowed region, default all requests to this model. - metadata: Optional[dict] = Metadata for customer, store information for customer. Example metadata = {"data_training_opt_out": True} - budget_duration: Optional[str] - Budget is reset at the end of specified duration. If not set, budget is never reset. You can set duration as seconds ("30s"), minutes ("30m"), hours ("30h"), days ("30d"). - tpm_limit: Optional[int] - [Not Implemented Yet] Specify tpm limit for a given customer (Tokens per minute) - rpm_limit: Optional[int] - [Not Implemented Yet] Specify rpm limit for a given customer (Requests per minute) - tpd_limit: Optional[int] - Specify tpd limit for a given customer (Tokens per day). Batch submissions are charged against it instead of tpm_limit/rpm_limit - model_max_budget: Optional[dict] - [Not Implemented Yet] Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d"}} - max_parallel_requests: Optional[int] - [Not Implemented Yet] Specify max parallel requests for a given customer. - soft_budget: Optional[float] - [Not Implemented Yet] Get alerts when customer crosses given budget, doesn't block requests. - spend: Optional[float] - Specify initial spend for a given customer. - budget_reset_at: Optional[str] - Specify the date and time when the budget should be reset. - object_permission: Optional[LiteLLM_ObjectPermissionBase] - Customer-specific object permissions to control access to resources. Supported fields: * mcp_servers: List[str] - List of allowed MCP server IDs * mcp_access_groups: List[str] - List of MCP access group names * mcp_tool_permissions: Dict[str, List[str]] - Map of server ID to allowed tool names (e.g., {"server_1": ["tool_a", "tool_b"]}) * vector_stores: List[str] - List of allowed vector store IDs * agents: List[str] - List of allowed agent IDs * agent_access_groups: List[str] - List of agent access group names Example: {"mcp_servers": ["server_1", "server_2"], "vector_stores": ["vector_store_1"], "agents": ["agent_1"]} IF null or {} then no object-level restrictions apply. - Allow specifying allowed regions - Allow specifying default model Example curl: ``` curl --location 'http://0.0.0.0:4000/customer/new' --header 'Authorization: Bearer sk-1234' --header 'Content-Type: application/json' --data '{ "user_id" : "ishaan-jaff-3", "allowed_region": "eu", "budget_id": "free_tier", "default_model": "azure/gpt-3.5-turbo-eu" }' # With object permissions curl -L -X POST 'http://localhost:4000/customer/new' -H 'Authorization: Bearer sk-1234' -H 'Content-Type: application/json' -d '{ "user_id": "user_1", "object_permission": { "mcp_servers": ["server_1"], "mcp_access_groups": ["public_group"], "vector_stores": ["vector_store_1"] } }' # return end-user object ``` NOTE: This used to be called `/end_user/new`, we will still be maintaining compatibility for /end_user/XXX for these endpoints */
1396
1442
  export const postNewEndUserEndUserNew: API.OperationMethod<
1397
1443
  PostNewEndUserEndUserNewRequest,
1398
1444
  CustomerResponse,