@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 T from "../traits.ts";
@@ -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,6 +114,7 @@ export interface BudgetListItem {
114
114
  max_budget?: number | null;
115
115
  rpm_limit?: number | null;
116
116
  soft_budget?: number | null;
117
+ tpd_limit?: number | null;
117
118
  tpm_limit?: number | null;
118
119
  updated_at: string;
119
120
  }
@@ -126,6 +127,7 @@ export const BudgetListItem = /*@__PURE__*/ S.suspend(() =>
126
127
  max_budget: S.optional(S.NullOr(S.Number)),
127
128
  rpm_limit: S.optional(S.NullOr(S.Number)),
128
129
  soft_budget: S.optional(S.NullOr(S.Number)),
130
+ tpd_limit: S.optional(S.NullOr(S.Number)),
129
131
  tpm_limit: S.optional(S.NullOr(S.Number)),
130
132
  updated_at: S.String,
131
133
  }),
@@ -253,6 +255,8 @@ export interface PostNewBudgetBudgetNewRequest {
253
255
  rpm_limit?: number | null;
254
256
  /** Requests will NOT fail if this is exceeded. Will fire alerting though. */
255
257
  soft_budget?: number | null;
258
+ /** Max tokens per day, charged by batch submissions, allowed for this budget id. */
259
+ tpd_limit?: number | null;
256
260
  /** Max tokens per minute, allowed for this budget id. */
257
261
  tpm_limit?: number | null;
258
262
  }
@@ -268,6 +272,7 @@ export const PostNewBudgetBudgetNewRequest = /*@__PURE__*/ S.suspend(() =>
268
272
  ),
269
273
  rpm_limit: S.optional(S.NullOr(S.Number)),
270
274
  soft_budget: S.optional(S.NullOr(S.Number)),
275
+ tpd_limit: S.optional(S.NullOr(S.Number)),
271
276
  tpm_limit: S.optional(S.NullOr(S.Number)),
272
277
  }).pipe(T.Http({ method: "POST", uri: "/budget/new", code: 200 })),
273
278
  ).annotate({
@@ -311,6 +316,8 @@ export interface UpdateBudgetBudgetUpdatePostRequest {
311
316
  rpm_limit?: number | null;
312
317
  /** Requests will NOT fail if this is exceeded. Will fire alerting though. */
313
318
  soft_budget?: number | null;
319
+ /** Max tokens per day, charged by batch submissions, allowed for this budget id. */
320
+ tpd_limit?: number | null;
314
321
  /** Max tokens per minute, allowed for this budget id. */
315
322
  tpm_limit?: number | null;
316
323
  }
@@ -326,6 +333,7 @@ export const UpdateBudgetBudgetUpdatePostRequest = /*@__PURE__*/ S.suspend(() =>
326
333
  ),
327
334
  rpm_limit: S.optional(S.NullOr(S.Number)),
328
335
  soft_budget: S.optional(S.NullOr(S.Number)),
336
+ tpd_limit: S.optional(S.NullOr(S.Number)),
329
337
  tpm_limit: S.optional(S.NullOr(S.Number)),
330
338
  }).pipe(T.Http({ method: "POST", uri: "/budget/update", code: 200 })),
331
339
  ).annotate({
@@ -396,7 +404,7 @@ export const listBudgetBudgetListGet: API.OperationMethod<
396
404
  }));
397
405
 
398
406
  export type ListBudgetsManagementV1BudgetsGetError = LitellmOpError;
399
- /** List Budgets The budgets defined on this proxy, paged, sortable and filterable, for the Budgets page. Readable by a proxy admin or an admin viewer; anyone else is refused 403. The older `/budget/list` answers with the whole table as a bare array and has no way to page, sort or filter it. `sort` takes a comma-separated list of `budget_id`, `max_budget`, `tpm_limit`, `rpm_limit` or `created_at`, each optionally prefixed with `-` for descending, and defaults to `-created_at`. `budget_id` is appended to every sort as the tiebreaker. `q` is a case-insensitive substring match on `budget_id`. `page_size` defaults to 50 and is capped at 100. Filters are `filter[budget_duration][in|is_null]`, `filter[max_budget][gte|lte|is_null]` and `filter[created_at][gte|lte]`. Example curl: ``` curl --location --globoff 'http://0.0.0.0:4000/management/v1/budgets?sort=-max_budget&filter[budget_duration][in]=7d,30d&page_size=25' --header 'Authorization: Bearer sk-1234' ``` */
407
+ /** List Budgets The budgets defined on this proxy, paged, sortable and filterable, for the Budgets page. Readable by a proxy admin or an admin viewer; anyone else is refused 403. The older `/budget/list` answers with the whole table as a bare array and has no way to page, sort or filter it. `sort` takes a comma-separated list of `budget_id`, `max_budget`, `tpm_limit`, `rpm_limit`, `tpd_limit` or `created_at`, each optionally prefixed with `-` for descending, and defaults to `-created_at`. `budget_id` is appended to every sort as the tiebreaker. `q` is a case-insensitive substring match on `budget_id`. `page_size` defaults to 50 and is capped at 100. Filters are `filter[budget_duration][in|is_null]`, `filter[max_budget][gte|lte|is_null]` and `filter[created_at][gte|lte]`. Example curl: ``` curl --location --globoff 'http://0.0.0.0:4000/management/v1/budgets?sort=-max_budget&filter[budget_duration][in]=7d,30d&page_size=25' --header 'Authorization: Bearer sk-1234' ``` */
400
408
  export const listBudgetsManagementV1BudgetsGet: API.OperationMethod<
401
409
  ListBudgetsManagementV1BudgetsGetRequest,
402
410
  ListResponseBudgetListItem,
@@ -432,7 +440,7 @@ export type PostNewBudgetBudgetNewError =
432
440
  | BadRequest
433
441
  | UnprocessableEntity
434
442
  | LitellmOpError;
435
- /** New Budget Create a new budget object. Can apply this to teams, orgs, end-users, keys. Parameters: - budget_duration: Optional[str] - Budget reset period ("30d", "1h", etc.) - budget_id: Optional[str] - The id of the budget. If not provided, a new id will be generated. - max_budget: Optional[float] - The max budget for the budget. - soft_budget: Optional[float] - The soft budget for the budget. - max_parallel_requests: Optional[int] - The max number of parallel requests for the budget. - tpm_limit: Optional[int] - The tokens per minute limit for the budget. - rpm_limit: Optional[int] - The requests per minute limit for the budget. - model_max_budget: Optional[dict] - Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d", "tpm_limit": 100000, "rpm_limit": 100000}} - budget_reset_at: Optional[datetime] - Datetime when the initial budget is reset. Default is now. */
443
+ /** New Budget Create a new budget object. Can apply this to teams, orgs, end-users, keys. Parameters: - budget_duration: Optional[str] - Budget reset period ("30d", "1h", etc.) - budget_id: Optional[str] - The id of the budget. If not provided, a new id will be generated. - max_budget: Optional[float] - The max budget for the budget. - soft_budget: Optional[float] - The soft budget for the budget. - max_parallel_requests: Optional[int] - The max number of parallel requests for the budget. - tpm_limit: Optional[int] - The tokens per minute limit for the budget. - rpm_limit: Optional[int] - The requests per minute limit for the budget. - tpd_limit: Optional[int] - The tokens per day limit for the budget. Charged by batch submissions instead of tpm_limit/rpm_limit. - model_max_budget: Optional[dict] - Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d", "tpm_limit": 100000, "rpm_limit": 100000}} - budget_reset_at: Optional[datetime] - Datetime when the initial budget is reset. Default is now. */
436
444
  export const postNewBudgetBudgetNew: API.OperationMethod<
437
445
  PostNewBudgetBudgetNewRequest,
438
446
  PostNewBudgetBudgetNewResponse,
@@ -450,7 +458,7 @@ export type UpdateBudgetBudgetUpdatePostError =
450
458
  | BadRequest
451
459
  | UnprocessableEntity
452
460
  | LitellmOpError;
453
- /** Update Budget Update an existing budget object. Parameters: - budget_duration: Optional[str] - Budget reset period ("30d", "1h", etc.) - budget_id: Optional[str] - The id of the budget. If not provided, a new id will be generated. - max_budget: Optional[float] - The max budget for the budget. - soft_budget: Optional[float] - The soft budget for the budget. - max_parallel_requests: Optional[int] - The max number of parallel requests for the budget. - tpm_limit: Optional[int] - The tokens per minute limit for the budget. - rpm_limit: Optional[int] - The requests per minute limit for the budget. - model_max_budget: Optional[dict] - Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d", "tpm_limit": 100000, "rpm_limit": 100000}} - budget_reset_at: Optional[datetime] - Update the Datetime when the budget was last reset. */
461
+ /** Update Budget Update an existing budget object. Parameters: - budget_duration: Optional[str] - Budget reset period ("30d", "1h", etc.) - budget_id: Optional[str] - The id of the budget. If not provided, a new id will be generated. - max_budget: Optional[float] - The max budget for the budget. - soft_budget: Optional[float] - The soft budget for the budget. - max_parallel_requests: Optional[int] - The max number of parallel requests for the budget. - tpm_limit: Optional[int] - The tokens per minute limit for the budget. - rpm_limit: Optional[int] - The requests per minute limit for the budget. - tpd_limit: Optional[int] - The tokens per day limit for the budget. Charged by batch submissions instead of tpm_limit/rpm_limit. - model_max_budget: Optional[dict] - Specify max budget for a given model. Example: {"openai/gpt-4o-mini": {"max_budget": 100.0, "budget_duration": "1d", "tpm_limit": 100000, "rpm_limit": 100000}} - budget_reset_at: Optional[datetime] - Update the Datetime when the budget was last reset. */
454
462
  export const updateBudgetBudgetUpdatePost: API.OperationMethod<
455
463
  UpdateBudgetBudgetUpdatePostRequest,
456
464
  UpdateBudgetBudgetUpdatePostResponse,
@@ -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 Redacted from "effect/Redacted";
4
4
  import * as API from "@distilled.cloud/core/api";
@@ -742,7 +742,7 @@ export interface GetGlobalSpendReportGlobalSpendReportGetRequest {
742
742
  group_by?:
743
743
  | GetGlobalSpendReportGlobalSpendReportGetRequestGroupBy
744
744
  | (string & {});
745
- /** View spend for a specific api_key. Example api_key='sk-1234 */
745
+ /** View spend for a specific api_key. Pass the key's sha256 hash so the raw key stays out of URLs and access logs. Example api_key='d5345c0ecc68ae6295c69f91926b2bd379e25481a40c34b5884d157a9f65d8fa' */
746
746
  api_key?: string;
747
747
  /** View spend for a specific internal_user_id. Example internal_user_id='1234 */
748
748
  internal_user_id?: string;
@@ -852,7 +852,7 @@ export interface GetKeySpendReportKeySpendReportGetRequest {
852
852
  start_date?: string;
853
853
  /** Time till which to view spend (YYYY-MM-DD) */
854
854
  end_date?: string;
855
- /** View spend for a specific api_key. Proxy admin only; other callers are scoped to their own key. */
855
+ /** View spend for a specific api_key. Proxy admin only; other callers are scoped to their own key. Pass the key's sha256 hash so the raw key stays out of URLs and access logs. Example api_key='d5345c0ecc68ae6295c69f91926b2bd379e25481a40c34b5884d157a9f65d8fa' */
856
856
  api_key?: string;
857
857
  }
858
858
  export const GetKeySpendReportKeySpendReportGetRequest =
@@ -1151,6 +1151,12 @@ export interface GetUiViewSpendLogsSpendLogsUiRequest {
1151
1151
  sort_order?: string;
1152
1152
  /** Exclude LiteLLM internal health check requests from results */
1153
1153
  exclude_internal_health_checks?: boolean;
1154
+ /** Paginate over sessions instead of raw logs: one representative row per session, total counts sessions */
1155
+ group_by_session?: boolean;
1156
+ /** Keyset cursor '<last_activity>|<api_key>|<session_key>' from a previous group_by_session page. UI route only, honored when sorting by startTime */
1157
+ session_cursor?: string;
1158
+ /** Match a log whose request_id, api_key (hash), team_id, user, end_user, session_id, or model_id equals this value. request_id matches across all time; the other columns match inside start_date/end_date, which stay required */
1159
+ search?: string;
1154
1160
  }
1155
1161
  export const GetUiViewSpendLogsSpendLogsUiRequest = /*@__PURE__*/ S.suspend(
1156
1162
  () =>
@@ -1178,6 +1184,9 @@ export const GetUiViewSpendLogsSpendLogsUiRequest = /*@__PURE__*/ S.suspend(
1178
1184
  sort_by: S.optional(S.String.pipe(T.Query())),
1179
1185
  sort_order: S.optional(S.String.pipe(T.Query())),
1180
1186
  exclude_internal_health_checks: S.optional(S.Boolean.pipe(T.Query())),
1187
+ group_by_session: S.optional(S.Boolean.pipe(T.Query())),
1188
+ session_cursor: S.optional(S.String.pipe(T.Query())),
1189
+ search: S.optional(S.String.pipe(T.Query())),
1181
1190
  }).pipe(T.Http({ method: "GET", uri: "/spend/logs/ui", code: 200 })),
1182
1191
  ).annotate({
1183
1192
  identifier: "GetUiViewSpendLogsSpendLogsUiRequest",
@@ -1249,6 +1258,12 @@ export interface GetUiViewSpendLogsSpendLogsV2Request {
1249
1258
  sort_order?: string;
1250
1259
  /** Exclude LiteLLM internal health check requests from results */
1251
1260
  exclude_internal_health_checks?: boolean;
1261
+ /** Paginate over sessions instead of raw logs: one representative row per session, total counts sessions */
1262
+ group_by_session?: boolean;
1263
+ /** Keyset cursor '<last_activity>|<api_key>|<session_key>' from a previous group_by_session page. UI route only, honored when sorting by startTime */
1264
+ session_cursor?: string;
1265
+ /** Match a log whose request_id, api_key (hash), team_id, user, end_user, session_id, or model_id equals this value. request_id matches across all time; the other columns match inside start_date/end_date, which stay required */
1266
+ search?: string;
1252
1267
  }
1253
1268
  export const GetUiViewSpendLogsSpendLogsV2Request = /*@__PURE__*/ S.suspend(
1254
1269
  () =>
@@ -1276,6 +1291,9 @@ export const GetUiViewSpendLogsSpendLogsV2Request = /*@__PURE__*/ S.suspend(
1276
1291
  sort_by: S.optional(S.String.pipe(T.Query())),
1277
1292
  sort_order: S.optional(S.String.pipe(T.Query())),
1278
1293
  exclude_internal_health_checks: S.optional(S.Boolean.pipe(T.Query())),
1294
+ group_by_session: S.optional(S.Boolean.pipe(T.Query())),
1295
+ session_cursor: S.optional(S.String.pipe(T.Query())),
1296
+ search: S.optional(S.String.pipe(T.Query())),
1279
1297
  }).pipe(T.Http({ method: "GET", uri: "/spend/logs/v2", code: 200 })),
1280
1298
  ).annotate({
1281
1299
  identifier: "GetUiViewSpendLogsSpendLogsV2Request",
@@ -1356,8 +1374,10 @@ export interface DailySpendMetadata {
1356
1374
  total_pages?: number;
1357
1375
  total_prompt_caching_savings_spend?: number;
1358
1376
  total_prompt_tokens?: number;
1377
+ total_response_time_ms?: number;
1359
1378
  total_spend?: number;
1360
1379
  total_successful_requests?: number;
1380
+ total_timed_requests?: number;
1361
1381
  total_tokens?: number;
1362
1382
  }
1363
1383
  export const DailySpendMetadata = /*@__PURE__*/ S.suspend(() =>
@@ -1377,8 +1397,10 @@ export const DailySpendMetadata = /*@__PURE__*/ S.suspend(() =>
1377
1397
  total_pages: S.optional(S.Number),
1378
1398
  total_prompt_caching_savings_spend: S.optional(S.Number),
1379
1399
  total_prompt_tokens: S.optional(S.Number),
1400
+ total_response_time_ms: S.optional(S.Number),
1380
1401
  total_spend: S.optional(S.Number),
1381
1402
  total_successful_requests: S.optional(S.Number),
1403
+ total_timed_requests: S.optional(S.Number),
1382
1404
  total_tokens: S.optional(S.Number),
1383
1405
  }),
1384
1406
  ).annotate({
@@ -1388,12 +1410,18 @@ export const DailySpendMetadata = /*@__PURE__*/ S.suspend(() =>
1388
1410
  /** Metadata for a key */
1389
1411
  export interface KeyMetadata {
1390
1412
  key_alias?: string | null;
1413
+ key_exists?: boolean | null;
1391
1414
  team_id?: string | null;
1415
+ user_email?: string | null;
1416
+ user_id?: string | null;
1392
1417
  }
1393
1418
  export const KeyMetadata = /*@__PURE__*/ S.suspend(() =>
1394
1419
  S.Struct({
1395
1420
  key_alias: S.optional(S.NullOr(S.String)),
1421
+ key_exists: S.optional(S.NullOr(S.Boolean)),
1396
1422
  team_id: S.optional(S.NullOr(S.String)),
1423
+ user_email: S.optional(S.NullOr(S.String)),
1424
+ user_id: S.optional(S.NullOr(S.String)),
1397
1425
  }),
1398
1426
  ).annotate({ identifier: "KeyMetadata" }) as any as S.Schema<KeyMetadata>;
1399
1427
 
@@ -1412,6 +1440,8 @@ export interface SpendMetrics {
1412
1440
  prompt_tokens?: number;
1413
1441
  spend?: number;
1414
1442
  successful_requests?: number;
1443
+ timed_requests?: number;
1444
+ total_response_time_ms?: number;
1415
1445
  total_tokens?: number;
1416
1446
  }
1417
1447
  export const SpendMetrics = /*@__PURE__*/ S.suspend(() =>
@@ -1430,6 +1460,8 @@ export const SpendMetrics = /*@__PURE__*/ S.suspend(() =>
1430
1460
  prompt_tokens: S.optional(S.Number),
1431
1461
  spend: S.optional(S.Number),
1432
1462
  successful_requests: S.optional(S.Number),
1463
+ timed_requests: S.optional(S.Number),
1464
+ total_response_time_ms: S.optional(S.Number),
1433
1465
  total_tokens: S.optional(S.Number),
1434
1466
  }),
1435
1467
  ).annotate({ identifier: "SpendMetrics" }) as any as S.Schema<SpendMetrics>;
@@ -2474,7 +2506,7 @@ export const getUiViewSpendLogsSpendLogsV2: API.OperationMethod<
2474
2506
  export type GetUserDailyActivityAggregatedUserDailyActivityAggregatedGetError =
2475
2507
  | UnprocessableEntity
2476
2508
  | LitellmOpError;
2477
- /** Get User Daily Activity Aggregated Aggregated analytics for a user's daily activity without pagination. Returns the same response shape as the paginated endpoint with page metadata set to single-page. */
2509
+ /** Get User Daily Activity Aggregated Aggregated analytics for a user's daily activity without pagination. Returns the same response shape as the paginated endpoint with page metadata set to single-page. Reads daily spend records that only ever accumulate and are never affected by budget resets. Their total can legitimately exceed the `spend` field returned by `/v2/user/info`, which is a running budget counter that every budget reset sets back to zero (or to the overage above `max_budget` when `budget_rollover` is enabled). */
2478
2510
  export const getUserDailyActivityAggregatedUserDailyActivityAggregatedGet: API.OperationMethod<
2479
2511
  GetUserDailyActivityAggregatedUserDailyActivityAggregatedGetRequest,
2480
2512
  SpendAnalyticsPaginatedResponse,
@@ -2491,7 +2523,7 @@ export const getUserDailyActivityAggregatedUserDailyActivityAggregatedGet: API.O
2491
2523
  export type GetUserDailyActivityUserDailyActivityGetError =
2492
2524
  | UnprocessableEntity
2493
2525
  | LitellmOpError;
2494
- /** Get User Daily Activity [BETA] This is a beta endpoint. It will change. Meant to optimize querying spend data for analytics for a user. Returns: (by date) - spend - prompt_tokens - completion_tokens - cache_read_input_tokens - cache_creation_input_tokens - total_tokens - api_requests - breakdown by model, api_key, provider */
2526
+ /** Get User Daily Activity [BETA] This is a beta endpoint. It will change. Meant to optimize querying spend data for analytics for a user. Reads daily spend records that only ever accumulate and are never affected by budget resets. Their total can legitimately exceed the `spend` field returned by `/v2/user/info`, which is a running budget counter that every budget reset sets back to zero (or to the overage above `max_budget` when `budget_rollover` is enabled). Returns: (by date) - spend - prompt_tokens - completion_tokens - cache_read_input_tokens - cache_creation_input_tokens - total_tokens - api_requests - breakdown by model, api_key, provider */
2495
2527
  export const getUserDailyActivityUserDailyActivityGet: API.OperationMethod<
2496
2528
  GetUserDailyActivityUserDailyActivityGetRequest,
2497
2529
  SpendAnalyticsPaginatedResponse,
@@ -2525,7 +2557,7 @@ export const getUserSpendReportUserSpendReportGet: API.OperationMethod<
2525
2557
  export type GetViewSpendLogsSpendLogError =
2526
2558
  | UnprocessableEntity
2527
2559
  | LitellmOpError;
2528
- /** View Spend Logs [DEPRECATED] This endpoint is not paginated and can cause performance issues. Please use `/spend/logs/v2` instead for paginated access to spend logs. Row results are capped at 10,000 most recent entries per response. View all spend logs, if request_id is provided, only logs for that request_id will be returned When start_date and end_date are provided: - summarize=true (default): Returns aggregated spend data grouped by date (maintains backward compatibility) - summarize=false: Returns filtered individual log entries within the date range Example Request for all logs ``` curl -X GET "http://0.0.0.0:8000/spend/logs" -H "Authorization: Bearer sk-1234" ``` Example Request for specific request_id ``` curl -X GET "http://0.0.0.0:8000/spend/logs?request_id=chatcmpl-6dcb2540-d3d7-4e49-bb27-291f863f112e" -H "Authorization: Bearer sk-1234" ``` Example Request for specific api_key ``` curl -X GET "http://0.0.0.0:8000/spend/logs?api_key=sk-test-example-key-123" -H "Authorization: Bearer sk-1234" ``` Example Request for specific user_id ``` curl -X GET "http://0.0.0.0:8000/spend/logs?user_id=ishaan@berri.ai" -H "Authorization: Bearer sk-1234" ``` Example Request for date range with individual logs (unsummarized) ``` curl -X GET "http://0.0.0.0:8000/spend/logs?start_date=2024-01-01&end_date=2024-01-02&summarize=false" -H "Authorization: Bearer sk-1234" ``` */
2560
+ /** View Spend Logs [DEPRECATED] This endpoint is not paginated and can cause performance issues. Please use `/spend/logs/v2` instead for paginated access to spend logs. Row results are capped at 10,000 most recent entries per response. View all spend logs, if request_id is provided, only logs for that request_id will be returned When start_date and end_date are provided: - summarize=true (default): Returns aggregated spend data grouped by date (maintains backward compatibility) - summarize=false: Returns filtered individual log entries within the date range Example Request for all logs ``` curl -X GET "http://0.0.0.0:8000/spend/logs" -H "Authorization: Bearer sk-1234" ``` Example Request for specific request_id ``` curl -X GET "http://0.0.0.0:8000/spend/logs?request_id=chatcmpl-6dcb2540-d3d7-4e49-bb27-291f863f112e" -H "Authorization: Bearer sk-1234" ``` Example Request for specific api_key ``` curl -X GET "http://0.0.0.0:8000/spend/logs?api_key=d5345c0ecc68ae6295c69f91926b2bd379e25481a40c34b5884d157a9f65d8fa" -H "Authorization: Bearer sk-1234" ``` Example Request for specific user_id ``` curl -X GET "http://0.0.0.0:8000/spend/logs?user_id=ishaan@berri.ai" -H "Authorization: Bearer sk-1234" ``` Example Request for date range with individual logs (unsummarized) ``` curl -X GET "http://0.0.0.0:8000/spend/logs?start_date=2024-01-01&end_date=2024-01-02&summarize=false" -H "Authorization: Bearer sk-1234" ``` */
2529
2561
  export const getViewSpendLogsSpendLog: API.OperationMethod<
2530
2562
  GetViewSpendLogsSpendLogRequest,
2531
2563
  GetViewSpendLogsSpendLogResponse,
@@ -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 T from "../traits.ts";
@@ -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";
@@ -111,10 +111,14 @@ export const EnablePluginClaudeCodePluginsPluginNameEnablePostResponse =
111
111
  identifier: "EnablePluginClaudeCodePluginsPluginNameEnablePostResponse",
112
112
  }) as any as S.Schema<EnablePluginClaudeCodePluginsPluginNameEnablePostResponse>;
113
113
 
114
- export interface GetMarketplaceClaudeCodeMarketplaceJsonGetRequest {}
114
+ export interface GetMarketplaceClaudeCodeMarketplaceJsonGetRequest {
115
+ key?: string;
116
+ }
115
117
  export const GetMarketplaceClaudeCodeMarketplaceJsonGetRequest =
116
118
  /*@__PURE__*/ S.suspend(() =>
117
- S.Struct({}).pipe(
119
+ S.Struct({
120
+ key: S.optional(S.String.pipe(T.Query())),
121
+ }).pipe(
118
122
  T.Http({
119
123
  method: "GET",
120
124
  uri: "/claude-code/marketplace.json",
@@ -266,7 +270,7 @@ export const RegisterPluginClaudeCodePluginsPostRequestKeywordsList =
266
270
  S.String,
267
271
  ) as any as S.Schema<RegisterPluginClaudeCodePluginsPostRequestKeywordsList>;
268
272
 
269
- /** Git source reference. Supported formats: - GitHub: {'source': 'github', 'repo': 'org/repo'} - Git URL: {'source': 'url', 'url': 'https://github.com/org/repo.git'} - Git Subdir: {'source': 'git-subdir', 'url': 'https://github.com/org/repo.git', 'path': 'plugins/plugin-name'} */
273
+ /** Plugin source reference. Supported formats: - GitHub: {'source': 'github', 'repo': 'org/repo'} - Git URL: {'source': 'url', 'url': 'https://github.com/org/repo.git'} - Git Subdir: {'source': 'git-subdir', 'url': 'https://github.com/org/repo.git', 'path': 'plugins/plugin-name'} - Zip archive on any https host (e.g. S3): {'source': 'archive', 'url': 'https://bucket.s3.amazonaws.com/plugin.zip', 'sha256': '<optional hex digest>'} */
270
274
  export type RegisterPluginClaudeCodePluginsPostRequestSourceMap = {
271
275
  [key: string]: string | undefined;
272
276
  };
@@ -293,7 +297,7 @@ export interface RegisterPluginClaudeCodePluginsPostRequest {
293
297
  name: string;
294
298
  /** Skill namespace within domain (e.g., 'workflows') */
295
299
  namespace?: string | null;
296
- /** Git source reference. Supported formats: - GitHub: {'source': 'github', 'repo': 'org/repo'} - Git URL: {'source': 'url', 'url': 'https://github.com/org/repo.git'} - Git Subdir: {'source': 'git-subdir', 'url': 'https://github.com/org/repo.git', 'path': 'plugins/plugin-name'} */
300
+ /** Plugin source reference. Supported formats: - GitHub: {'source': 'github', 'repo': 'org/repo'} - Git URL: {'source': 'url', 'url': 'https://github.com/org/repo.git'} - Git Subdir: {'source': 'git-subdir', 'url': 'https://github.com/org/repo.git', 'path': 'plugins/plugin-name'} - Zip archive on any https host (e.g. S3): {'source': 'archive', 'url': 'https://bucket.s3.amazonaws.com/plugin.zip', 'sha256': '<optional hex digest>'} */
297
301
  source: RegisterPluginClaudeCodePluginsPostRequestSourceMap;
298
302
  /** Semantic version */
299
303
  version?: string | null;
@@ -318,7 +322,7 @@ export const RegisterPluginClaudeCodePluginsPostRequest =
318
322
  identifier: "RegisterPluginClaudeCodePluginsPostRequest",
319
323
  }) as any as S.Schema<RegisterPluginClaudeCodePluginsPostRequest>;
320
324
 
321
- /** Git source reference */
325
+ /** Plugin source reference */
322
326
  export type PluginResponseSourceMap = { [key: string]: string | undefined };
323
327
  export const PluginResponseSourceMap = /*@__PURE__*/ S.Record(
324
328
  S.String,
@@ -335,7 +339,7 @@ export interface PluginResponse {
335
339
  id: string;
336
340
  /** Plugin name */
337
341
  name: string;
338
- /** Git source reference */
342
+ /** Plugin source reference */
339
343
  source: PluginResponseSourceMap;
340
344
  /** Plugin version */
341
345
  version?: string | null;
@@ -377,7 +381,7 @@ export const UpdatePluginClaudeCodePluginsPluginNamePutRequestKeywordsList =
377
381
  S.String,
378
382
  ) as any as S.Schema<UpdatePluginClaudeCodePluginsPluginNamePutRequestKeywordsList>;
379
383
 
380
- /** Git source reference. Supported formats: - GitHub: {'source': 'github', 'repo': 'org/repo'} - Git URL: {'source': 'url', 'url': 'https://github.com/org/repo.git'} - Git Subdir: {'source': 'git-subdir', 'url': 'https://github.com/org/repo.git', 'path': 'plugins/plugin-name'} */
384
+ /** Plugin source reference. Supported formats: - GitHub: {'source': 'github', 'repo': 'org/repo'} - Git URL: {'source': 'url', 'url': 'https://github.com/org/repo.git'} - Git Subdir: {'source': 'git-subdir', 'url': 'https://github.com/org/repo.git', 'path': 'plugins/plugin-name'} - Zip archive on any https host (e.g. S3): {'source': 'archive', 'url': 'https://bucket.s3.amazonaws.com/plugin.zip', 'sha256': '<optional hex digest>'} */
381
385
  export type UpdatePluginClaudeCodePluginsPluginNamePutRequestSourceMap = {
382
386
  [key: string]: string | undefined;
383
387
  };
@@ -403,7 +407,7 @@ export interface UpdatePluginClaudeCodePluginsPluginNamePutRequest {
403
407
  keywords?: UpdatePluginClaudeCodePluginsPluginNamePutRequestKeywordsList | null;
404
408
  /** Skill namespace within domain (e.g., 'workflows') */
405
409
  namespace?: string | null;
406
- /** Git source reference. Supported formats: - GitHub: {'source': 'github', 'repo': 'org/repo'} - Git URL: {'source': 'url', 'url': 'https://github.com/org/repo.git'} - Git Subdir: {'source': 'git-subdir', 'url': 'https://github.com/org/repo.git', 'path': 'plugins/plugin-name'} */
410
+ /** Plugin source reference. Supported formats: - GitHub: {'source': 'github', 'repo': 'org/repo'} - Git URL: {'source': 'url', 'url': 'https://github.com/org/repo.git'} - Git Subdir: {'source': 'git-subdir', 'url': 'https://github.com/org/repo.git', 'path': 'plugins/plugin-name'} - Zip archive on any https host (e.g. S3): {'source': 'archive', 'url': 'https://bucket.s3.amazonaws.com/plugin.zip', 'sha256': '<optional hex digest>'} */
407
411
  source: UpdatePluginClaudeCodePluginsPluginNamePutRequestSourceMap;
408
412
  /** Semantic version; cleared if omitted */
409
413
  version?: string | null;
@@ -485,8 +489,10 @@ export const enablePluginClaudeCodePluginsPluginNameEnablePost: API.OperationMet
485
489
  retry: Retry.Retry,
486
490
  }));
487
491
 
488
- export type GetMarketplaceClaudeCodeMarketplaceJsonGetError = LitellmOpError;
489
- /** Get Marketplace Serve marketplace.json for Claude Code plugin discovery. This endpoint is accessed by Claude Code CLI when users run: - claude plugin marketplace add <url> - claude plugin install <name>@<marketplace> Returns: Marketplace catalog with list of available plugins and their git sources. Example: ```bash claude plugin marketplace add http://localhost:4000/claude-code/marketplace.json claude plugin install my-plugin@litellm ``` */
492
+ export type GetMarketplaceClaudeCodeMarketplaceJsonGetError =
493
+ | UnprocessableEntity
494
+ | LitellmOpError;
495
+ /** Get Marketplace Serve marketplace.json for Claude Code plugin discovery. This endpoint is accessed by Claude Code CLI when users run: - claude plugin marketplace add <url> - claude plugin install <name>@<marketplace> Without `key` the catalog holds the enabled (public) plugins. With `?key=sk-...` the key is authenticated and the catalog also holds the disabled plugins granted to it through `object_permission.skills` on the key or its team. Returns: Marketplace catalog with list of available plugins and their git sources. Example: ```bash claude plugin marketplace add http://localhost:4000/claude-code/marketplace.json claude plugin marketplace add "http://localhost:4000/claude-code/marketplace.json?key=sk-..." claude plugin install my-plugin@litellm ``` */
490
496
  export const getMarketplaceClaudeCodeMarketplaceJsonGet: API.OperationMethod<
491
497
  GetMarketplaceClaudeCodeMarketplaceJsonGetRequest,
492
498
  GetMarketplaceClaudeCodeMarketplaceJsonGetResponse,
@@ -495,7 +501,7 @@ export const getMarketplaceClaudeCodeMarketplaceJsonGet: API.OperationMethod<
495
501
  > = /*@__PURE__*/ API.make(() => ({
496
502
  input: GetMarketplaceClaudeCodeMarketplaceJsonGetRequest,
497
503
  output: GetMarketplaceClaudeCodeMarketplaceJsonGetResponse,
498
- errors: [],
504
+ errors: [UnprocessableEntity],
499
505
  protocol: LitellmProtocol,
500
506
  retry: Retry.Retry,
501
507
  }));
@@ -537,7 +543,7 @@ export const listPluginsClaudeCodePluginsGet: API.OperationMethod<
537
543
  export type RegisterPluginClaudeCodePluginsPostError =
538
544
  | UnprocessableEntity
539
545
  | LitellmOpError;
540
- /** Register Plugin Register a new plugin in the LiteLLM marketplace. LiteLLM acts as a registry/discovery layer. Plugins are hosted on GitHub/GitLab/Bitbucket. Claude Code will clone from the git source when users install. This endpoint is create-only and never overwrites. If a plugin with the same name already exists it returns 409 Conflict; use PUT /claude-code/plugins/{plugin_name} to update an existing plugin. Requires a proxy admin API key. Parameters: - name: Plugin name (kebab-case) - source: Git source reference (github, url, or git-subdir format) - version: Semantic version (optional) - description: Plugin description (optional) - author: Author information (optional) - homepage: Plugin homepage URL (optional) - keywords: Search keywords (optional) - category: Plugin category (optional) Returns: Registration status (action is always "created") and plugin information. Example: ```bash curl -X POST http://localhost:4000/claude-code/plugins \ -H "Authorization: Bearer sk-..." \ -H "Content-Type: application/json" \ -d '{ "name": "my-plugin", "source": {"source": "github", "repo": "org/my-plugin"}, "version": "1.0.0", "description": "My awesome plugin" }' ``` */
546
+ /** Register Plugin Register a new plugin in the LiteLLM marketplace. LiteLLM acts as a registry/discovery layer. Plugins are hosted on GitHub/GitLab/Bitbucket or as a zip archive on any https host (e.g. S3). Claude Code clones the git source or downloads the archive when users install. This endpoint is create-only and never overwrites. If a plugin with the same name already exists it returns 409 Conflict; use PUT /claude-code/plugins/{plugin_name} to update an existing plugin. Requires a proxy admin API key. Parameters: - name: Plugin name (kebab-case) - source: Plugin source reference (github, url, git-subdir, or archive format) - version: Semantic version (optional) - description: Plugin description (optional) - author: Author information (optional) - homepage: Plugin homepage URL (optional) - keywords: Search keywords (optional) - category: Plugin category (optional) Returns: Registration status (action is always "created") and plugin information. Example: ```bash curl -X POST http://localhost:4000/claude-code/plugins \ -H "Authorization: Bearer sk-..." \ -H "Content-Type: application/json" \ -d '{ "name": "my-plugin", "source": {"source": "github", "repo": "org/my-plugin"}, "version": "1.0.0", "description": "My awesome plugin" }' ``` */
541
547
  export const registerPluginClaudeCodePluginsPost: API.OperationMethod<
542
548
  RegisterPluginClaudeCodePluginsPostRequest,
543
549
  RegisterPluginResponse,
@@ -554,7 +560,7 @@ export const registerPluginClaudeCodePluginsPost: API.OperationMethod<
554
560
  export type UpdatePluginClaudeCodePluginsPluginNamePutError =
555
561
  | UnprocessableEntity
556
562
  | LitellmOpError;
557
- /** Update Plugin Update an existing plugin in the LiteLLM marketplace. The plugin is identified by its name in the path, which is the resource identity and cannot be changed here. This is a full replace, not a merge: the manifest is rebuilt from the request body, so any optional field left out is reset to its default (e.g. an omitted version is cleared, not kept). Send the full desired state. Returns 404 if no plugin with the given name exists; use POST /claude-code/plugins to create a new plugin. Requires a proxy admin API key. Parameters: - plugin_name: Name of the plugin to update (path parameter) - source: Git source reference (github, url, or git-subdir format) - version: Semantic version (optional) - description: Plugin description (optional) - author: Author information (optional) - homepage: Plugin homepage URL (optional) - keywords: Search keywords (optional) - category: Plugin category (optional) Returns: Update status (action is always "updated") and plugin information. Example: ```bash curl -X PUT http://localhost:4000/claude-code/plugins/my-plugin \ -H "Authorization: Bearer sk-..." \ -H "Content-Type: application/json" \ -d '{ "source": {"source": "github", "repo": "org/my-plugin"}, "version": "2.0.0", "description": "My awesome plugin" }' ``` */
563
+ /** Update Plugin Update an existing plugin in the LiteLLM marketplace. The plugin is identified by its name in the path, which is the resource identity and cannot be changed here. This is a full replace, not a merge: the manifest is rebuilt from the request body, so any optional field left out is reset to its default (e.g. an omitted version is cleared, not kept). Send the full desired state. Returns 404 if no plugin with the given name exists; use POST /claude-code/plugins to create a new plugin. Requires a proxy admin API key. Parameters: - plugin_name: Name of the plugin to update (path parameter) - source: Plugin source reference (github, url, git-subdir, or archive format) - version: Semantic version (optional) - description: Plugin description (optional) - author: Author information (optional) - homepage: Plugin homepage URL (optional) - keywords: Search keywords (optional) - category: Plugin category (optional) Returns: Update status (action is always "updated") and plugin information. Example: ```bash curl -X PUT http://localhost:4000/claude-code/plugins/my-plugin \ -H "Authorization: Bearer sk-..." \ -H "Content-Type: application/json" \ -d '{ "source": {"source": "github", "repo": "org/my-plugin"}, "version": "2.0.0", "description": "My awesome plugin" }' ``` */
558
564
  export const updatePluginClaudeCodePluginsPluginNamePut: API.OperationMethod<
559
565
  UpdatePluginClaudeCodePluginsPluginNamePutRequest,
560
566
  RegisterPluginResponse,
@@ -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 Redacted from "effect/Redacted";
4
4
  import * as API from "@distilled.cloud/core/api";
@@ -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";
@@ -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";
@@ -283,12 +283,16 @@ export interface UpdateHashicorpVaultConfigConfigOverridesHashicorpVaultPostRequ
283
283
  vault_addr?: string | null;
284
284
  /** Certificate role name for TLS cert authentication */
285
285
  vault_cert_role?: string | null;
286
+ /** Namespace for AppRole and TLS cert login (X-Vault-Namespace header); falls back to vault_namespace */
287
+ vault_login_namespace?: string | null;
286
288
  /** KV engine mount name (default: secret) */
287
289
  vault_mount_name?: string | null;
288
- /** Vault namespace (for multi-tenant Vault, sent as X-Vault-Namespace header) */
290
+ /** Vault namespace used for both login and secret operations unless overridden below */
289
291
  vault_namespace?: string | null;
290
292
  /** Optional path prefix for secrets (e.g., myapp -> secret/data/myapp/{secret_name}) */
291
293
  vault_path_prefix?: string | null;
294
+ /** Namespace for secret reads and writes (URL path segment); falls back to vault_namespace */
295
+ vault_secret_namespace?: string | null;
292
296
  /** Token for Vault token-based authentication */
293
297
  vault_token?: string | null;
294
298
  }
@@ -302,9 +306,11 @@ export const UpdateHashicorpVaultConfigConfigOverridesHashicorpVaultPostRequest
302
306
  client_key: S.optional(S.NullOr(S.String)),
303
307
  vault_addr: S.optional(S.NullOr(S.String)),
304
308
  vault_cert_role: S.optional(S.NullOr(S.String)),
309
+ vault_login_namespace: S.optional(S.NullOr(S.String)),
305
310
  vault_mount_name: S.optional(S.NullOr(S.String)),
306
311
  vault_namespace: S.optional(S.NullOr(S.String)),
307
312
  vault_path_prefix: S.optional(S.NullOr(S.String)),
313
+ vault_secret_namespace: S.optional(S.NullOr(S.String)),
308
314
  vault_token: S.optional(S.NullOr(S.String)),
309
315
  }).pipe(
310
316
  T.Http({