@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.
- package/README.md +41 -12
- package/dist/services/a2a.js +1 -1
- package/dist/services/a2a_registration.js +1 -1
- package/dist/services/access_groups.d.ts +18 -0
- package/dist/services/access_groups.d.ts.map +1 -1
- package/dist/services/access_groups.js +15 -1
- package/dist/services/access_groups.js.map +1 -1
- package/dist/services/adaptive_router.js +1 -1
- package/dist/services/agents.d.ts +10 -0
- package/dist/services/agents.d.ts.map +1 -1
- package/dist/services/agents.js +10 -1
- package/dist/services/agents.js.map +1 -1
- package/dist/services/alerting.js +1 -1
- package/dist/services/anthropic_passthrough.js +1 -1
- package/dist/services/anthropic_skills.d.ts +7 -1
- package/dist/services/anthropic_skills.d.ts.map +1 -1
- package/dist/services/anthropic_skills.js +6 -2
- package/dist/services/anthropic_skills.js.map +1 -1
- package/dist/services/assistants.js +1 -1
- package/dist/services/audio.js +1 -1
- package/dist/services/audit_logging.d.ts +2 -0
- package/dist/services/audit_logging.d.ts.map +1 -1
- package/dist/services/audit_logging.js +2 -1
- package/dist/services/audit_logging.js.map +1 -1
- package/dist/services/auto_router.d.ts +162 -62
- package/dist/services/auto_router.d.ts.map +1 -1
- package/dist/services/auto_router.js +92 -31
- package/dist/services/auto_router.js.map +1 -1
- package/dist/services/batch.js +1 -1
- package/dist/services/beta_agents.js +1 -1
- package/dist/services/beta_mcp.js +1 -1
- package/dist/services/budget_management.d.ts +8 -3
- package/dist/services/budget_management.d.ts.map +1 -1
- package/dist/services/budget_management.js +7 -4
- package/dist/services/budget_management.js.map +1 -1
- package/dist/services/budget_spend_tracking.d.ts +24 -5
- package/dist/services/budget_spend_tracking.d.ts.map +1 -1
- package/dist/services/budget_spend_tracking.js +17 -4
- package/dist/services/budget_spend_tracking.js.map +1 -1
- package/dist/services/cache_settings.js +1 -1
- package/dist/services/caching.js +1 -1
- package/dist/services/chat_completions.js +1 -1
- package/dist/services/claude_code_marketplace.d.ts +11 -10
- package/dist/services/claude_code_marketplace.d.ts.map +1 -1
- package/dist/services/claude_code_marketplace.js +8 -6
- package/dist/services/claude_code_marketplace.js.map +1 -1
- package/dist/services/cloudzero.js +1 -1
- package/dist/services/completions.js +1 -1
- package/dist/services/compliance.js +1 -1
- package/dist/services/config_overrides.d.ts +5 -1
- package/dist/services/config_overrides.d.ts.map +1 -1
- package/dist/services/config_overrides.js +3 -1
- package/dist/services/config_overrides.js.map +1 -1
- package/dist/services/config_yaml.d.ts +120 -6
- package/dist/services/config_yaml.d.ts.map +1 -1
- package/dist/services/config_yaml.js +67 -1
- package/dist/services/config_yaml.js.map +1 -1
- package/dist/services/containers.d.ts +8 -2
- package/dist/services/containers.d.ts.map +1 -1
- package/dist/services/containers.js +13 -5
- package/dist/services/containers.js.map +1 -1
- package/dist/services/coordination_redis_settings.js +1 -1
- package/dist/services/cost_tracking.d.ts +91 -1
- package/dist/services/cost_tracking.d.ts.map +1 -1
- package/dist/services/cost_tracking.js +82 -2
- package/dist/services/cost_tracking.js.map +1 -1
- package/dist/services/credential_management.d.ts +2 -1
- package/dist/services/credential_management.d.ts.map +1 -1
- package/dist/services/credential_management.js +3 -2
- package/dist/services/credential_management.js.map +1 -1
- package/dist/services/customer_management.d.ts +25 -2
- package/dist/services/customer_management.d.ts.map +1 -1
- package/dist/services/customer_management.js +22 -3
- package/dist/services/customer_management.js.map +1 -1
- package/dist/services/email_management.js +1 -1
- package/dist/services/embeddings.js +1 -1
- package/dist/services/evals.js +1 -1
- package/dist/services/experimental.js +1 -1
- package/dist/services/fallback_management.js +1 -1
- package/dist/services/files.js +1 -1
- package/dist/services/fine_tuning.js +1 -1
- package/dist/services/gemini_agents.js +1 -1
- package/dist/services/google_genai_endpoints.js +1 -1
- package/dist/services/guardrails.d.ts +80 -7
- package/dist/services/guardrails.d.ts.map +1 -1
- package/dist/services/guardrails.js +37 -1
- package/dist/services/guardrails.js.map +1 -1
- package/dist/services/health.d.ts +2 -2
- package/dist/services/health.d.ts.map +1 -1
- package/dist/services/health.js +2 -2
- package/dist/services/health.js.map +1 -1
- package/dist/services/images.js +1 -1
- package/dist/services/index.d.ts +1 -15
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -15
- package/dist/services/index.js.map +1 -1
- package/dist/services/internal_user_management.d.ts +227 -39
- package/dist/services/internal_user_management.d.ts.map +1 -1
- package/dist/services/internal_user_management.js +194 -37
- package/dist/services/internal_user_management.js.map +1 -1
- package/dist/services/invite_links.js +1 -1
- package/dist/services/jwt_mappings.d.ts +3 -0
- package/dist/services/jwt_mappings.d.ts.map +1 -1
- package/dist/services/jwt_mappings.js +4 -1
- package/dist/services/jwt_mappings.js.map +1 -1
- package/dist/services/key_management.d.ts +93 -49
- package/dist/services/key_management.d.ts.map +1 -1
- package/dist/services/key_management.js +75 -39
- package/dist/services/key_management.js.map +1 -1
- package/dist/services/langfuse_passthrough.js +1 -1
- package/dist/services/llm_passthrough.d.ts +1199 -0
- package/dist/services/llm_passthrough.d.ts.map +1 -0
- package/dist/services/llm_passthrough.js +2150 -0
- package/dist/services/llm_passthrough.js.map +1 -0
- package/dist/services/llm_utils.js +1 -1
- package/dist/services/logging_callbacks.js +1 -1
- package/dist/services/mcp_byok_oauth.d.ts +18 -11
- package/dist/services/mcp_byok_oauth.d.ts.map +1 -1
- package/dist/services/mcp_byok_oauth.js +27 -24
- package/dist/services/mcp_byok_oauth.js.map +1 -1
- package/dist/services/mcp_discoverable.d.ts +34 -0
- package/dist/services/mcp_discoverable.d.ts.map +1 -1
- package/dist/services/mcp_discoverable.js +51 -1
- package/dist/services/mcp_discoverable.js.map +1 -1
- package/dist/services/mcp_management.d.ts +90 -2
- package/dist/services/mcp_management.d.ts.map +1 -1
- package/dist/services/mcp_management.js +115 -3
- package/dist/services/mcp_management.js.map +1 -1
- package/dist/services/mcp_rest.d.ts +13 -0
- package/dist/services/mcp_rest.d.ts.map +1 -1
- package/dist/services/mcp_rest.js +10 -2
- package/dist/services/mcp_rest.js.map +1 -1
- package/dist/services/memory_management.d.ts +2 -0
- package/dist/services/memory_management.d.ts.map +1 -1
- package/dist/services/memory_management.js +2 -1
- package/dist/services/memory_management.js.map +1 -1
- package/dist/services/misc.d.ts +86 -1
- package/dist/services/misc.d.ts.map +1 -1
- package/dist/services/misc.js +126 -2
- package/dist/services/misc.js.map +1 -1
- package/dist/services/model_management.d.ts +310 -19
- package/dist/services/model_management.d.ts.map +1 -1
- package/dist/services/model_management.js +240 -7
- package/dist/services/model_management.js.map +1 -1
- package/dist/services/moderations.js +1 -1
- package/dist/services/ocr.js +1 -1
- package/dist/services/open_ai_pass_through.d.ts +35 -90
- package/dist/services/open_ai_pass_through.d.ts.map +1 -1
- package/dist/services/open_ai_pass_through.js +41 -139
- package/dist/services/open_ai_pass_through.js.map +1 -1
- package/dist/services/organization_management.d.ts +21 -1
- package/dist/services/organization_management.d.ts.map +1 -1
- package/dist/services/organization_management.js +20 -2
- package/dist/services/organization_management.js.map +1 -1
- package/dist/services/plugins.js +1 -1
- package/dist/services/policies.d.ts +2 -0
- package/dist/services/policies.d.ts.map +1 -1
- package/dist/services/policies.js +3 -1
- package/dist/services/policies.js.map +1 -1
- package/dist/services/policy_engine.d.ts +6 -0
- package/dist/services/policy_engine.d.ts.map +1 -1
- package/dist/services/policy_engine.js +4 -1
- package/dist/services/policy_engine.js.map +1 -1
- package/dist/services/project_management.d.ts +15 -0
- package/dist/services/project_management.d.ts.map +1 -1
- package/dist/services/project_management.js +14 -1
- package/dist/services/project_management.js.map +1 -1
- package/dist/services/prompts.js +1 -1
- package/dist/services/public.d.ts +124 -0
- package/dist/services/public.d.ts.map +1 -1
- package/dist/services/public.js +158 -1
- package/dist/services/public.js.map +1 -1
- package/dist/services/rag.js +1 -1
- package/dist/services/realtime.d.ts +4 -26
- package/dist/services/realtime.d.ts.map +1 -1
- package/dist/services/realtime.js +7 -57
- package/dist/services/realtime.js.map +1 -1
- package/dist/services/rerank.d.ts +72 -0
- package/dist/services/rerank.d.ts.map +1 -1
- package/dist/services/rerank.js +61 -4
- package/dist/services/rerank.js.map +1 -1
- package/dist/services/responses.d.ts +30 -0
- package/dist/services/responses.d.ts.map +1 -1
- package/dist/services/responses.js +59 -1
- package/dist/services/responses.js.map +1 -1
- package/dist/services/router_settings.js +1 -1
- package/dist/services/rust_control_plane.js +1 -1
- package/dist/services/scim.d.ts +41 -1
- package/dist/services/scim.d.ts.map +1 -1
- package/dist/services/scim.js +60 -2
- package/dist/services/scim.js.map +1 -1
- package/dist/services/search.js +1 -1
- package/dist/services/search_tools.js +1 -1
- package/dist/services/settings.d.ts +88 -0
- package/dist/services/settings.d.ts.map +1 -1
- package/dist/services/settings.js +113 -1
- package/dist/services/settings.js.map +1 -1
- package/dist/services/sso_settings.d.ts +1 -1
- package/dist/services/sso_settings.d.ts.map +1 -1
- package/dist/services/sso_settings.js +1 -1
- package/dist/services/sso_settings.js.map +1 -1
- package/dist/services/tag_management.d.ts +7 -0
- package/dist/services/tag_management.d.ts.map +1 -1
- package/dist/services/tag_management.js +8 -1
- package/dist/services/tag_management.js.map +1 -1
- package/dist/services/team_management.d.ts +265 -17
- package/dist/services/team_management.d.ts.map +1 -1
- package/dist/services/team_management.js +247 -12
- package/dist/services/team_management.js.map +1 -1
- package/dist/services/tools.js +1 -1
- package/dist/services/ui_settings.js +1 -1
- package/dist/services/ui_theme_settings.js +1 -1
- package/dist/services/usage_ai.js +1 -1
- package/dist/services/vantage.js +1 -1
- package/dist/services/vector_store_management.js +1 -1
- package/dist/services/vector_stores.js +1 -1
- package/dist/services/videos.js +1 -1
- package/dist/services/web_socket.d.ts +0 -18
- package/dist/services/web_socket.d.ts.map +1 -1
- package/dist/services/web_socket.js +1 -33
- package/dist/services/web_socket.js.map +1 -1
- package/dist/services/workflow_management.js +1 -1
- package/package.json +1 -1
- package/src/services/a2a.ts +1 -1
- package/src/services/a2a_registration.ts +1 -1
- package/src/services/access_groups.ts +44 -1
- package/src/services/adaptive_router.ts +1 -1
- package/src/services/agents.ts +22 -1
- package/src/services/alerting.ts +1 -1
- package/src/services/anthropic_passthrough.ts +1 -1
- package/src/services/anthropic_skills.ts +12 -2
- package/src/services/assistants.ts +1 -1
- package/src/services/audio.ts +1 -1
- package/src/services/audit_logging.ts +4 -1
- package/src/services/auto_router.ts +303 -93
- package/src/services/batch.ts +1 -1
- package/src/services/beta_agents.ts +1 -1
- package/src/services/beta_mcp.ts +1 -1
- package/src/services/budget_management.ts +12 -4
- package/src/services/budget_spend_tracking.ts +38 -6
- package/src/services/cache_settings.ts +1 -1
- package/src/services/caching.ts +1 -1
- package/src/services/chat_completions.ts +1 -1
- package/src/services/claude_code_marketplace.ts +20 -14
- package/src/services/cloudzero.ts +1 -1
- package/src/services/completions.ts +1 -1
- package/src/services/compliance.ts +1 -1
- package/src/services/config_overrides.ts +8 -2
- package/src/services/config_yaml.ts +251 -6
- package/src/services/containers.ts +29 -11
- package/src/services/coordination_redis_settings.ts +1 -1
- package/src/services/cost_tracking.ts +198 -2
- package/src/services/credential_management.ts +9 -4
- package/src/services/customer_management.ts +49 -3
- package/src/services/email_management.ts +1 -1
- package/src/services/embeddings.ts +1 -1
- package/src/services/evals.ts +1 -1
- package/src/services/experimental.ts +1 -1
- package/src/services/fallback_management.ts +1 -1
- package/src/services/files.ts +1 -1
- package/src/services/fine_tuning.ts +1 -1
- package/src/services/gemini_agents.ts +1 -1
- package/src/services/google_genai_endpoints.ts +1 -1
- package/src/services/guardrails.ts +198 -8
- package/src/services/health.ts +3 -2
- package/src/services/images.ts +1 -1
- package/src/services/index.ts +1 -15
- package/src/services/internal_user_management.ts +565 -103
- package/src/services/invite_links.ts +1 -1
- package/src/services/jwt_mappings.ts +7 -1
- package/src/services/key_management.ts +229 -126
- package/src/services/langfuse_passthrough.ts +1 -1
- package/src/services/llm_passthrough.ts +4542 -0
- package/src/services/llm_utils.ts +1 -1
- package/src/services/logging_callbacks.ts +1 -1
- package/src/services/mcp_byok_oauth.ts +65 -45
- package/src/services/mcp_discoverable.ts +109 -1
- package/src/services/mcp_management.ts +258 -3
- package/src/services/mcp_rest.ts +30 -5
- package/src/services/memory_management.ts +4 -1
- package/src/services/misc.ts +269 -2
- package/src/services/model_management.ts +666 -21
- package/src/services/moderations.ts +1 -1
- package/src/services/ocr.ts +1 -1
- package/src/services/open_ai_pass_through.ts +81 -286
- package/src/services/organization_management.ts +44 -2
- package/src/services/plugins.ts +1 -1
- package/src/services/policies.ts +5 -1
- package/src/services/policy_engine.ts +10 -1
- package/src/services/project_management.ts +33 -1
- package/src/services/prompts.ts +1 -1
- package/src/services/public.ts +356 -1
- package/src/services/rag.ts +1 -1
- package/src/services/realtime.ts +11 -111
- package/src/services/rerank.ts +187 -7
- package/src/services/responses.ts +117 -1
- package/src/services/router_settings.ts +1 -1
- package/src/services/rust_control_plane.ts +1 -1
- package/src/services/scim.ts +134 -3
- package/src/services/search.ts +1 -1
- package/src/services/search_tools.ts +1 -1
- package/src/services/settings.ts +278 -1
- package/src/services/sso_settings.ts +2 -1
- package/src/services/tag_management.ts +15 -1
- package/src/services/team_management.ts +676 -37
- package/src/services/tools.ts +1 -1
- package/src/services/ui_settings.ts +1 -1
- package/src/services/ui_theme_settings.ts +1 -1
- package/src/services/usage_ai.ts +1 -1
- package/src/services/vantage.ts +1 -1
- package/src/services/vector_store_management.ts +1 -1
- package/src/services/vector_stores.ts +1 -1
- package/src/services/videos.ts +1 -1
- package/src/services/web_socket.ts +1 -61
- package/src/services/workflow_management.ts +1 -1
- package/dist/services/anthropic_pass_through.d.ts +0 -70
- package/dist/services/anthropic_pass_through.d.ts.map +0 -1
- package/dist/services/anthropic_pass_through.js +0 -114
- package/dist/services/anthropic_pass_through.js.map +0 -1
- package/dist/services/assembly_ai_eu_pass_through.d.ts +0 -70
- package/dist/services/assembly_ai_eu_pass_through.d.ts.map +0 -1
- package/dist/services/assembly_ai_eu_pass_through.js +0 -114
- package/dist/services/assembly_ai_eu_pass_through.js.map +0 -1
- package/dist/services/assembly_ai_pass_through.d.ts +0 -70
- package/dist/services/assembly_ai_pass_through.d.ts.map +0 -1
- package/dist/services/assembly_ai_pass_through.js +0 -114
- package/dist/services/assembly_ai_pass_through.js.map +0 -1
- package/dist/services/aws_comprehend_medical_pass_through.d.ts +0 -36
- package/dist/services/aws_comprehend_medical_pass_through.d.ts.map +0 -1
- package/dist/services/aws_comprehend_medical_pass_through.js +0 -56
- package/dist/services/aws_comprehend_medical_pass_through.js.map +0 -1
- package/dist/services/azure_ai_pass_through.d.ts +0 -70
- package/dist/services/azure_ai_pass_through.d.ts.map +0 -1
- package/dist/services/azure_ai_pass_through.js +0 -112
- package/dist/services/azure_ai_pass_through.js.map +0 -1
- package/dist/services/azure_pass_through.d.ts +0 -70
- package/dist/services/azure_pass_through.d.ts.map +0 -1
- package/dist/services/azure_pass_through.js +0 -107
- package/dist/services/azure_pass_through.js.map +0 -1
- package/dist/services/bedrock_pass_through.d.ts +0 -70
- package/dist/services/bedrock_pass_through.d.ts.map +0 -1
- package/dist/services/bedrock_pass_through.js +0 -114
- package/dist/services/bedrock_pass_through.js.map +0 -1
- package/dist/services/cohere_pass_through.d.ts +0 -70
- package/dist/services/cohere_pass_through.d.ts.map +0 -1
- package/dist/services/cohere_pass_through.js +0 -112
- package/dist/services/cohere_pass_through.js.map +0 -1
- package/dist/services/cursor_pass_through.d.ts +0 -70
- package/dist/services/cursor_pass_through.d.ts.map +0 -1
- package/dist/services/cursor_pass_through.js +0 -112
- package/dist/services/cursor_pass_through.js.map +0 -1
- package/dist/services/google_ai_studio_pass_through.d.ts +0 -70
- package/dist/services/google_ai_studio_pass_through.d.ts.map +0 -1
- package/dist/services/google_ai_studio_pass_through.js +0 -112
- package/dist/services/google_ai_studio_pass_through.js.map +0 -1
- package/dist/services/milvus_pass_through.d.ts +0 -70
- package/dist/services/milvus_pass_through.d.ts.map +0 -1
- package/dist/services/milvus_pass_through.js +0 -112
- package/dist/services/milvus_pass_through.js.map +0 -1
- package/dist/services/mistral_pass_through.d.ts +0 -70
- package/dist/services/mistral_pass_through.d.ts.map +0 -1
- package/dist/services/mistral_pass_through.js +0 -114
- package/dist/services/mistral_pass_through.js.map +0 -1
- package/dist/services/vertex_ai_pass_through.d.ts +0 -180
- package/dist/services/vertex_ai_pass_through.d.ts.map +0 -1
- package/dist/services/vertex_ai_pass_through.js +0 -334
- package/dist/services/vertex_ai_pass_through.js.map +0 -1
- package/dist/services/vllm_pass_through.d.ts +0 -70
- package/dist/services/vllm_pass_through.d.ts.map +0 -1
- package/dist/services/vllm_pass_through.js +0 -104
- package/dist/services/vllm_pass_through.js.map +0 -1
- package/dist/services/watsonx_pass_through.d.ts +0 -70
- package/dist/services/watsonx_pass_through.d.ts.map +0 -1
- package/dist/services/watsonx_pass_through.js +0 -114
- package/dist/services/watsonx_pass_through.js.map +0 -1
- package/src/services/anthropic_pass_through.ts +0 -233
- package/src/services/assembly_ai_eu_pass_through.ts +0 -237
- package/src/services/assembly_ai_pass_through.ts +0 -237
- package/src/services/aws_comprehend_medical_pass_through.ts +0 -109
- package/src/services/azure_ai_pass_through.ts +0 -231
- package/src/services/azure_pass_through.ts +0 -227
- package/src/services/bedrock_pass_through.ts +0 -229
- package/src/services/cohere_pass_through.ts +0 -227
- package/src/services/cursor_pass_through.ts +0 -227
- package/src/services/google_ai_studio_pass_through.ts +0 -227
- package/src/services/milvus_pass_through.ts +0 -227
- package/src/services/mistral_pass_through.ts +0 -229
- package/src/services/vertex_ai_pass_through.ts +0 -684
- package/src/services/vllm_pass_through.ts +0 -227
- 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.
|
|
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({
|
|
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({
|
|
531
|
-
T.
|
|
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 =
|
|
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 =
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
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.
|
|
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,
|