sitellm-proxy-extras 0.0.1__py3-none-any.whl
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.
- sitellm_proxy_extras/__init__.py +0 -0
- sitellm_proxy_extras/_logging.py +40 -0
- sitellm_proxy_extras/migrations/20250326162113_baseline/migration.sql +430 -0
- sitellm_proxy_extras/migrations/20250326171002_add_daily_user_table/migration.sql +33 -0
- sitellm_proxy_extras/migrations/20250327180120_add_api_requests_to_daily_user_table/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20250329084805_new_cron_job_table/migration.sql +14 -0
- sitellm_proxy_extras/migrations/20250331215456_track_success_and_failed_requests_daily_agg_table/migration.sql +4 -0
- sitellm_proxy_extras/migrations/20250411215431_add_managed_file_table/migration.sql +18 -0
- sitellm_proxy_extras/migrations/20250412081753_team_member_permissions/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20250415151647_add_cache_read_write_tokens_daily_spend_transactions/migration.sql +4 -0
- sitellm_proxy_extras/migrations/20250415191926_add_daily_team_table/migration.sql +36 -0
- sitellm_proxy_extras/migrations/20250416115320_add_tag_table_to_db/migration.sql +45 -0
- sitellm_proxy_extras/migrations/20250416151339_drop_tag_uniqueness_requirement/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20250416185146_add_allowed_routes_litellm_verification_token/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20250425182129_add_session_id/migration.sql +4 -0
- sitellm_proxy_extras/migrations/20250430193429_add_managed_vector_stores/migration.sql +14 -0
- sitellm_proxy_extras/migrations/20250507161526_add_mcp_table_to_db/migration.sql +17 -0
- sitellm_proxy_extras/migrations/20250507161527_add_health_check_fields_to_mcp_servers/migration.sql +4 -0
- sitellm_proxy_extras/migrations/20250507184818_add_mcp_key_team_permission_mgmt/migration.sql +52 -0
- sitellm_proxy_extras/migrations/20250508072103_add_status_to_spendlogs/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20250509141545_use_big_int_for_daily_spend_tables/migration.sql +27 -0
- sitellm_proxy_extras/migrations/20250510142544_add_session_id_index_spend_logs/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20250514142245_add_guardrails_table/migration.sql +15 -0
- sitellm_proxy_extras/migrations/20250522223020_managed_object_table/migration.sql +32 -0
- sitellm_proxy_extras/migrations/20250526154401_allow_null_entity_id/migration.sql +9 -0
- sitellm_proxy_extras/migrations/20250528185438_add_vector_stores_to_object_permissions/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20250603210143_cascade_budget_changes/migration.sql +16 -0
- sitellm_proxy_extras/migrations/20250618225828_add_health_check_table/migration.sql +28 -0
- sitellm_proxy_extras/migrations/20250625145206_cascade_budget_and_loosen_managed_file_json/migration.sql +19 -0
- sitellm_proxy_extras/migrations/20250625213625_add_status_to_managed_object_table/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20250707212517_add_mcp_info_column_mcp_servers/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20250707230009_add_mcp_namespaced_tool_name/migration.sql +42 -0
- sitellm_proxy_extras/migrations/20250711220620_add_stdio_mcp/migration.sql +10 -0
- sitellm_proxy_extras/migrations/20250718125714_add_litellm_params_to_vector_stores/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20250802162330_prompt_table/migration.sql +15 -0
- sitellm_proxy_extras/migrations/20250806095134_rename_alias_to_server_name_mcp_table/migration.sql +10 -0
- sitellm_proxy_extras/migrations/20250918083359_drop_spec_version_column_from_mcp_table/migration.sql +8 -0
- sitellm_proxy_extras/migrations/20250926194702_unnamed_migration/migration.sql +7 -0
- sitellm_proxy_extras/migrations/20251003165142_add_allowed_tools_to_mcp/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20251003190954_extra_headers_to_mcp_table/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20251006143948_add_mcp_tool_permissions/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20251011084309_add_tag_table/migration.sql +23 -0
- sitellm_proxy_extras/migrations/20251023141814_add_search_tool_table/migration.sql +15 -0
- sitellm_proxy_extras/migrations/20251031181430_add_cache_config_table/migration.sql +20 -0
- sitellm_proxy_extras/migrations/20251101131415_add_managed_vector_store_index_table/migration.sql +17 -0
- sitellm_proxy_extras/migrations/20251103072422_add_static_headers/migration.sql +2 -0
- sitellm_proxy_extras/migrations/20251104220043_add_credentials_to_mcp_servers/migration.sql +2 -0
- sitellm_proxy_extras/migrations/20251113000000_add_project_table/migration.sql +55 -0
- sitellm_proxy_extras/migrations/20251113000001_add_project_fields/migration.sql +5 -0
- sitellm_proxy_extras/migrations/20251114173537_add_request_id_to_daily_tag_spend/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20251114180624_Add_org_usage_table/migration.sql +42 -0
- sitellm_proxy_extras/migrations/20251114182247_agents_table/migration.sql +17 -0
- sitellm_proxy_extras/migrations/20251119131227_add_prompt_versioning/migration.sql +12 -0
- sitellm_proxy_extras/migrations/20251122125322_Add organization_id to spend logs/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20251204124859_add_end_user_spend_table/migration.sql +42 -0
- sitellm_proxy_extras/migrations/20251204142718_add_agent_permissions/migration.sql +7 -0
- sitellm_proxy_extras/migrations/20251209112246_add_ui_settings_table/migration.sql +10 -0
- sitellm_proxy_extras/migrations/20251210125210_add_storage_backend_to_managed_files/migration.sql +4 -0
- sitellm_proxy_extras/migrations/20251210205007_add_daily_agent_spend_table/migration.sql +45 -0
- sitellm_proxy_extras/migrations/20251211100212_schema_sync/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20251219110931_add_deleted_keys_and_deleted_teams_tables/migration.sql +117 -0
- sitellm_proxy_extras/migrations/20251220144550_schema_update/migration.sql +20 -0
- sitellm_proxy_extras/migrations/20260102131258_add_metadata_urls_to_mcp_servers/migration.sql +5 -0
- sitellm_proxy_extras/migrations/20260105151539_add_allow_all_keys_to_mcp_servers/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260106155622_add_endpoint_to_daily_activity_tables/migration.sql +72 -0
- sitellm_proxy_extras/migrations/20260107111013_add_router_settings_to_keys_teams/migration.sql +6 -0
- sitellm_proxy_extras/migrations/20260108_add_user_email_lower_idx/migration.sql +9 -0
- sitellm_proxy_extras/migrations/20260116142756_update_deleted_keys_teams_table_routing_settings/migration.sql +6 -0
- sitellm_proxy_extras/migrations/20260123131407_add_policy_tables_and_policies_field/migration.sql +51 -0
- sitellm_proxy_extras/migrations/20260131150814_add_team_user_to_vector_stores/migration.sql +13 -0
- sitellm_proxy_extras/migrations/20260203120000_add_deprecated_verification_token_table/migration.sql +19 -0
- sitellm_proxy_extras/migrations/20260205091235_allow_team_guardrail_config/migration.sql +6 -0
- sitellm_proxy_extras/migrations/20260205144610_add_soft_budget_to_team_table/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260207093506_add_available_on_public_internet_to_mcp_servers/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260207110613_add_soft_budget_to_deleted_teams_table/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260209085821_add_verificationtoken_indexes/migration.sql +8 -0
- sitellm_proxy_extras/migrations/20260212103349_adjust_tags_policy_table/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260212143306_add_access_group_table/migration.sql +33 -0
- sitellm_proxy_extras/migrations/20260213105436_add_managed_vector_store_table/migration.sql +22 -0
- sitellm_proxy_extras/migrations/20260213170952_access_group_change_to_model_name/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260214094754_schema_sync/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260214163027_add_pipeline_to_policy_table/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260214185341_object_permissions_for_end_users/migration.sql +11 -0
- sitellm_proxy_extras/migrations/20260218231534_add_last_active_to_key_table/migration.sql +6 -0
- sitellm_proxy_extras/migrations/20260219105005_add_project_id_to_deleted_keys/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260219181415_baseline_diff/migration.sql +60 -0
- sitellm_proxy_extras/migrations/20260220124742_add_spec_path_to_mcp_servers/migration.sql +2 -0
- sitellm_proxy_extras/migrations/20260220153844_add_composite_index_aggregate_tables/migration.sql +36 -0
- sitellm_proxy_extras/migrations/20260221000000_ensure_project_id_verification_token/migration.sql +5 -0
- sitellm_proxy_extras/migrations/20260221183800_add_policy_versioning/migration.sql +17 -0
- sitellm_proxy_extras/migrations/20260222000000_add_batch_processed_to_managed_object_table/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260224201417_spend_logs_request_duration/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260224203854_add_agent_object_permissions_table/migration.sql +45 -0
- sitellm_proxy_extras/migrations/20260226000000_add_blocked_tools_to_object_permission/migration.sql +2 -0
- sitellm_proxy_extras/migrations/20260226120000_add_spend_log_tool_index/migration.sql +11 -0
- sitellm_proxy_extras/migrations/20260226202727_add_agent_id_to_delete_keys/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260228000000_add_claude_code_plugin_table/migration.sql +18 -0
- sitellm_proxy_extras/migrations/20260228100000_add_spend_logs_composite_index/migration.sql +2 -0
- sitellm_proxy_extras/migrations/20260228110000_mcp_default_public_internet_true/migration.sql +2 -0
- sitellm_proxy_extras/migrations/20260228170127_support_team_based_guardrails/migration.sql +8 -0
- sitellm_proxy_extras/migrations/20260303000000_update_tool_table_policies/migration.sql +25 -0
- sitellm_proxy_extras/migrations/20260304175016_add_spend_to_agent_table/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260305000000_add_agent_headers/migration.sql +5 -0
- sitellm_proxy_extras/migrations/20260305000000_add_rate_limits_to_agents/migration.sql +5 -0
- sitellm_proxy_extras/migrations/20260306175056_add_configs_override_table/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260306233848_schema_sync/migration.sql +62 -0
- sitellm_proxy_extras/migrations/20260309000000_add_mcp_approval_status/migration.sql +11 -0
- sitellm_proxy_extras/migrations/20260309000001_add_mcp_source_url/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260312124619_schema_sync/migration.sql +3 -0
- sitellm_proxy_extras/migrations/20260318140652_add_index_to_team_table/migration.sql +9 -0
- sitellm_proxy_extras/migrations/20260319000000_restore_mcp_approval_fields/migration.sql +13 -0
- sitellm_proxy_extras/migrations/20260321000000_add_mcp_toolsets/migration.sql +19 -0
- sitellm_proxy_extras/migrations/20260331000000_add_prompt_environment_and_created_by/migration.sql +12 -0
- sitellm_proxy_extras/migrations/migration_lock.toml +1 -0
- sitellm_proxy_extras/schema.prisma +1219 -0
- sitellm_proxy_extras/utils.py +586 -0
- sitellm_proxy_extras-0.0.1.dist-info/METADATA +44 -0
- sitellm_proxy_extras-0.0.1.dist-info/RECORD +120 -0
- sitellm_proxy_extras-0.0.1.dist-info/WHEEL +4 -0
- sitellm_proxy_extras-0.0.1.dist-info/licenses/LICENSE +26 -0
|
File without changes
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import json
|
|
2
|
+
import logging
|
|
3
|
+
import os
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class JsonFormatter(logging.Formatter):
|
|
8
|
+
def formatTime(self, record, datefmt=None):
|
|
9
|
+
dt = datetime.fromtimestamp(record.created)
|
|
10
|
+
return dt.isoformat()
|
|
11
|
+
|
|
12
|
+
def format(self, record):
|
|
13
|
+
json_record = {
|
|
14
|
+
"message": record.getMessage(),
|
|
15
|
+
"level": record.levelname,
|
|
16
|
+
"timestamp": self.formatTime(record),
|
|
17
|
+
}
|
|
18
|
+
if record.exc_info:
|
|
19
|
+
json_record["stacktrace"] = self.formatException(record.exc_info)
|
|
20
|
+
return json.dumps(json_record)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def _is_json_enabled():
|
|
24
|
+
try:
|
|
25
|
+
import sitellm
|
|
26
|
+
return getattr(sitellm, 'json_logs', False)
|
|
27
|
+
except (ImportError, AttributeError):
|
|
28
|
+
return os.getenv("JSON_LOGS", "false").lower() == "true"
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
logger = logging.getLogger("litellm_proxy_extras")
|
|
32
|
+
|
|
33
|
+
if not logger.handlers:
|
|
34
|
+
handler = logging.StreamHandler()
|
|
35
|
+
if _is_json_enabled():
|
|
36
|
+
handler.setFormatter(JsonFormatter())
|
|
37
|
+
else:
|
|
38
|
+
handler.setFormatter(logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s"))
|
|
39
|
+
logger.addHandler(handler)
|
|
40
|
+
logger.setLevel(logging.INFO)
|
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_BudgetTable" (
|
|
3
|
+
"budget_id" TEXT NOT NULL,
|
|
4
|
+
"max_budget" DOUBLE PRECISION,
|
|
5
|
+
"soft_budget" DOUBLE PRECISION,
|
|
6
|
+
"max_parallel_requests" INTEGER,
|
|
7
|
+
"tpm_limit" BIGINT,
|
|
8
|
+
"rpm_limit" BIGINT,
|
|
9
|
+
"model_max_budget" JSONB,
|
|
10
|
+
"budget_duration" TEXT,
|
|
11
|
+
"budget_reset_at" TIMESTAMP(3),
|
|
12
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
13
|
+
"created_by" TEXT NOT NULL,
|
|
14
|
+
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
15
|
+
"updated_by" TEXT NOT NULL,
|
|
16
|
+
|
|
17
|
+
CONSTRAINT "LiteLLM_BudgetTable_pkey" PRIMARY KEY ("budget_id")
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
-- CreateTable
|
|
21
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_CredentialsTable" (
|
|
22
|
+
"credential_id" TEXT NOT NULL,
|
|
23
|
+
"credential_name" TEXT NOT NULL,
|
|
24
|
+
"credential_values" JSONB NOT NULL,
|
|
25
|
+
"credential_info" JSONB,
|
|
26
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
27
|
+
"created_by" TEXT NOT NULL,
|
|
28
|
+
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
29
|
+
"updated_by" TEXT NOT NULL,
|
|
30
|
+
|
|
31
|
+
CONSTRAINT "LiteLLM_CredentialsTable_pkey" PRIMARY KEY ("credential_id")
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
-- CreateTable
|
|
35
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_ProxyModelTable" (
|
|
36
|
+
"model_id" TEXT NOT NULL,
|
|
37
|
+
"model_name" TEXT NOT NULL,
|
|
38
|
+
"litellm_params" JSONB NOT NULL,
|
|
39
|
+
"model_info" JSONB,
|
|
40
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
41
|
+
"created_by" TEXT NOT NULL,
|
|
42
|
+
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
43
|
+
"updated_by" TEXT NOT NULL,
|
|
44
|
+
|
|
45
|
+
CONSTRAINT "LiteLLM_ProxyModelTable_pkey" PRIMARY KEY ("model_id")
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
-- CreateTable
|
|
49
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_OrganizationTable" (
|
|
50
|
+
"organization_id" TEXT NOT NULL,
|
|
51
|
+
"organization_alias" TEXT NOT NULL,
|
|
52
|
+
"budget_id" TEXT NOT NULL,
|
|
53
|
+
"metadata" JSONB NOT NULL DEFAULT '{}',
|
|
54
|
+
"models" TEXT[],
|
|
55
|
+
"spend" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
56
|
+
"model_spend" JSONB NOT NULL DEFAULT '{}',
|
|
57
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
58
|
+
"created_by" TEXT NOT NULL,
|
|
59
|
+
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
60
|
+
"updated_by" TEXT NOT NULL,
|
|
61
|
+
|
|
62
|
+
CONSTRAINT "LiteLLM_OrganizationTable_pkey" PRIMARY KEY ("organization_id")
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
-- CreateTable
|
|
66
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_ModelTable" (
|
|
67
|
+
"id" SERIAL NOT NULL,
|
|
68
|
+
"aliases" JSONB,
|
|
69
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
70
|
+
"created_by" TEXT NOT NULL,
|
|
71
|
+
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
72
|
+
"updated_by" TEXT NOT NULL,
|
|
73
|
+
|
|
74
|
+
CONSTRAINT "LiteLLM_ModelTable_pkey" PRIMARY KEY ("id")
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
-- CreateTable
|
|
78
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_TeamTable" (
|
|
79
|
+
"team_id" TEXT NOT NULL,
|
|
80
|
+
"team_alias" TEXT,
|
|
81
|
+
"organization_id" TEXT,
|
|
82
|
+
"admins" TEXT[],
|
|
83
|
+
"members" TEXT[],
|
|
84
|
+
"members_with_roles" JSONB NOT NULL DEFAULT '{}',
|
|
85
|
+
"metadata" JSONB NOT NULL DEFAULT '{}',
|
|
86
|
+
"max_budget" DOUBLE PRECISION,
|
|
87
|
+
"spend" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
88
|
+
"models" TEXT[],
|
|
89
|
+
"max_parallel_requests" INTEGER,
|
|
90
|
+
"tpm_limit" BIGINT,
|
|
91
|
+
"rpm_limit" BIGINT,
|
|
92
|
+
"budget_duration" TEXT,
|
|
93
|
+
"budget_reset_at" TIMESTAMP(3),
|
|
94
|
+
"blocked" BOOLEAN NOT NULL DEFAULT false,
|
|
95
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
96
|
+
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
97
|
+
"model_spend" JSONB NOT NULL DEFAULT '{}',
|
|
98
|
+
"model_max_budget" JSONB NOT NULL DEFAULT '{}',
|
|
99
|
+
"model_id" INTEGER,
|
|
100
|
+
|
|
101
|
+
CONSTRAINT "LiteLLM_TeamTable_pkey" PRIMARY KEY ("team_id")
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
-- CreateTable
|
|
105
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_UserTable" (
|
|
106
|
+
"user_id" TEXT NOT NULL,
|
|
107
|
+
"user_alias" TEXT,
|
|
108
|
+
"team_id" TEXT,
|
|
109
|
+
"sso_user_id" TEXT,
|
|
110
|
+
"organization_id" TEXT,
|
|
111
|
+
"password" TEXT,
|
|
112
|
+
"teams" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
113
|
+
"user_role" TEXT,
|
|
114
|
+
"max_budget" DOUBLE PRECISION,
|
|
115
|
+
"spend" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
116
|
+
"user_email" TEXT,
|
|
117
|
+
"models" TEXT[],
|
|
118
|
+
"metadata" JSONB NOT NULL DEFAULT '{}',
|
|
119
|
+
"max_parallel_requests" INTEGER,
|
|
120
|
+
"tpm_limit" BIGINT,
|
|
121
|
+
"rpm_limit" BIGINT,
|
|
122
|
+
"budget_duration" TEXT,
|
|
123
|
+
"budget_reset_at" TIMESTAMP(3),
|
|
124
|
+
"allowed_cache_controls" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
125
|
+
"model_spend" JSONB NOT NULL DEFAULT '{}',
|
|
126
|
+
"model_max_budget" JSONB NOT NULL DEFAULT '{}',
|
|
127
|
+
"created_at" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
|
|
128
|
+
"updated_at" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
|
|
129
|
+
|
|
130
|
+
CONSTRAINT "LiteLLM_UserTable_pkey" PRIMARY KEY ("user_id")
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
-- CreateTable
|
|
134
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_VerificationToken" (
|
|
135
|
+
"token" TEXT NOT NULL,
|
|
136
|
+
"key_name" TEXT,
|
|
137
|
+
"key_alias" TEXT,
|
|
138
|
+
"soft_budget_cooldown" BOOLEAN NOT NULL DEFAULT false,
|
|
139
|
+
"spend" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
140
|
+
"expires" TIMESTAMP(3),
|
|
141
|
+
"models" TEXT[],
|
|
142
|
+
"aliases" JSONB NOT NULL DEFAULT '{}',
|
|
143
|
+
"config" JSONB NOT NULL DEFAULT '{}',
|
|
144
|
+
"user_id" TEXT,
|
|
145
|
+
"team_id" TEXT,
|
|
146
|
+
"permissions" JSONB NOT NULL DEFAULT '{}',
|
|
147
|
+
"max_parallel_requests" INTEGER,
|
|
148
|
+
"metadata" JSONB NOT NULL DEFAULT '{}',
|
|
149
|
+
"blocked" BOOLEAN,
|
|
150
|
+
"tpm_limit" BIGINT,
|
|
151
|
+
"rpm_limit" BIGINT,
|
|
152
|
+
"max_budget" DOUBLE PRECISION,
|
|
153
|
+
"budget_duration" TEXT,
|
|
154
|
+
"budget_reset_at" TIMESTAMP(3),
|
|
155
|
+
"allowed_cache_controls" TEXT[] DEFAULT ARRAY[]::TEXT[],
|
|
156
|
+
"model_spend" JSONB NOT NULL DEFAULT '{}',
|
|
157
|
+
"model_max_budget" JSONB NOT NULL DEFAULT '{}',
|
|
158
|
+
"budget_id" TEXT,
|
|
159
|
+
"organization_id" TEXT,
|
|
160
|
+
"created_at" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
|
|
161
|
+
"created_by" TEXT,
|
|
162
|
+
"updated_at" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
|
|
163
|
+
"updated_by" TEXT,
|
|
164
|
+
|
|
165
|
+
CONSTRAINT "LiteLLM_VerificationToken_pkey" PRIMARY KEY ("token")
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
-- CreateTable
|
|
169
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_EndUserTable" (
|
|
170
|
+
"user_id" TEXT NOT NULL,
|
|
171
|
+
"alias" TEXT,
|
|
172
|
+
"spend" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
173
|
+
"allowed_model_region" TEXT,
|
|
174
|
+
"default_model" TEXT,
|
|
175
|
+
"budget_id" TEXT,
|
|
176
|
+
"blocked" BOOLEAN NOT NULL DEFAULT false,
|
|
177
|
+
|
|
178
|
+
CONSTRAINT "LiteLLM_EndUserTable_pkey" PRIMARY KEY ("user_id")
|
|
179
|
+
);
|
|
180
|
+
|
|
181
|
+
-- CreateTable
|
|
182
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_Config" (
|
|
183
|
+
"param_name" TEXT NOT NULL,
|
|
184
|
+
"param_value" JSONB,
|
|
185
|
+
|
|
186
|
+
CONSTRAINT "LiteLLM_Config_pkey" PRIMARY KEY ("param_name")
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
-- CreateTable
|
|
190
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_SpendLogs" (
|
|
191
|
+
"request_id" TEXT NOT NULL,
|
|
192
|
+
"call_type" TEXT NOT NULL,
|
|
193
|
+
"api_key" TEXT NOT NULL DEFAULT '',
|
|
194
|
+
"spend" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
195
|
+
"total_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
196
|
+
"prompt_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
197
|
+
"completion_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
198
|
+
"startTime" TIMESTAMP(3) NOT NULL,
|
|
199
|
+
"endTime" TIMESTAMP(3) NOT NULL,
|
|
200
|
+
"completionStartTime" TIMESTAMP(3),
|
|
201
|
+
"model" TEXT NOT NULL DEFAULT '',
|
|
202
|
+
"model_id" TEXT DEFAULT '',
|
|
203
|
+
"model_group" TEXT DEFAULT '',
|
|
204
|
+
"custom_llm_provider" TEXT DEFAULT '',
|
|
205
|
+
"api_base" TEXT DEFAULT '',
|
|
206
|
+
"user" TEXT DEFAULT '',
|
|
207
|
+
"metadata" JSONB DEFAULT '{}',
|
|
208
|
+
"cache_hit" TEXT DEFAULT '',
|
|
209
|
+
"cache_key" TEXT DEFAULT '',
|
|
210
|
+
"request_tags" JSONB DEFAULT '[]',
|
|
211
|
+
"team_id" TEXT,
|
|
212
|
+
"end_user" TEXT,
|
|
213
|
+
"requester_ip_address" TEXT,
|
|
214
|
+
"messages" JSONB DEFAULT '{}',
|
|
215
|
+
"response" JSONB DEFAULT '{}',
|
|
216
|
+
|
|
217
|
+
CONSTRAINT "LiteLLM_SpendLogs_pkey" PRIMARY KEY ("request_id")
|
|
218
|
+
);
|
|
219
|
+
|
|
220
|
+
-- CreateTable
|
|
221
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_ErrorLogs" (
|
|
222
|
+
"request_id" TEXT NOT NULL,
|
|
223
|
+
"startTime" TIMESTAMP(3) NOT NULL,
|
|
224
|
+
"endTime" TIMESTAMP(3) NOT NULL,
|
|
225
|
+
"api_base" TEXT NOT NULL DEFAULT '',
|
|
226
|
+
"model_group" TEXT NOT NULL DEFAULT '',
|
|
227
|
+
"litellm_model_name" TEXT NOT NULL DEFAULT '',
|
|
228
|
+
"model_id" TEXT NOT NULL DEFAULT '',
|
|
229
|
+
"request_kwargs" JSONB NOT NULL DEFAULT '{}',
|
|
230
|
+
"exception_type" TEXT NOT NULL DEFAULT '',
|
|
231
|
+
"exception_string" TEXT NOT NULL DEFAULT '',
|
|
232
|
+
"status_code" TEXT NOT NULL DEFAULT '',
|
|
233
|
+
|
|
234
|
+
CONSTRAINT "LiteLLM_ErrorLogs_pkey" PRIMARY KEY ("request_id")
|
|
235
|
+
);
|
|
236
|
+
|
|
237
|
+
-- CreateTable
|
|
238
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_UserNotifications" (
|
|
239
|
+
"request_id" TEXT NOT NULL,
|
|
240
|
+
"user_id" TEXT NOT NULL,
|
|
241
|
+
"models" TEXT[],
|
|
242
|
+
"justification" TEXT NOT NULL,
|
|
243
|
+
"status" TEXT NOT NULL,
|
|
244
|
+
|
|
245
|
+
CONSTRAINT "LiteLLM_UserNotifications_pkey" PRIMARY KEY ("request_id")
|
|
246
|
+
);
|
|
247
|
+
|
|
248
|
+
-- CreateTable
|
|
249
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_TeamMembership" (
|
|
250
|
+
"user_id" TEXT NOT NULL,
|
|
251
|
+
"team_id" TEXT NOT NULL,
|
|
252
|
+
"spend" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
253
|
+
"budget_id" TEXT,
|
|
254
|
+
|
|
255
|
+
CONSTRAINT "LiteLLM_TeamMembership_pkey" PRIMARY KEY ("user_id","team_id")
|
|
256
|
+
);
|
|
257
|
+
|
|
258
|
+
-- CreateTable
|
|
259
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_OrganizationMembership" (
|
|
260
|
+
"user_id" TEXT NOT NULL,
|
|
261
|
+
"organization_id" TEXT NOT NULL,
|
|
262
|
+
"user_role" TEXT,
|
|
263
|
+
"spend" DOUBLE PRECISION DEFAULT 0.0,
|
|
264
|
+
"budget_id" TEXT,
|
|
265
|
+
"created_at" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
|
|
266
|
+
"updated_at" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
|
|
267
|
+
|
|
268
|
+
CONSTRAINT "LiteLLM_OrganizationMembership_pkey" PRIMARY KEY ("user_id","organization_id")
|
|
269
|
+
);
|
|
270
|
+
|
|
271
|
+
-- CreateTable
|
|
272
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_InvitationLink" (
|
|
273
|
+
"id" TEXT NOT NULL,
|
|
274
|
+
"user_id" TEXT NOT NULL,
|
|
275
|
+
"is_accepted" BOOLEAN NOT NULL DEFAULT false,
|
|
276
|
+
"accepted_at" TIMESTAMP(3),
|
|
277
|
+
"expires_at" TIMESTAMP(3) NOT NULL,
|
|
278
|
+
"created_at" TIMESTAMP(3) NOT NULL,
|
|
279
|
+
"created_by" TEXT NOT NULL,
|
|
280
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
281
|
+
"updated_by" TEXT NOT NULL,
|
|
282
|
+
|
|
283
|
+
CONSTRAINT "LiteLLM_InvitationLink_pkey" PRIMARY KEY ("id")
|
|
284
|
+
);
|
|
285
|
+
|
|
286
|
+
-- CreateTable
|
|
287
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_AuditLog" (
|
|
288
|
+
"id" TEXT NOT NULL,
|
|
289
|
+
"updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
290
|
+
"changed_by" TEXT NOT NULL DEFAULT '',
|
|
291
|
+
"changed_by_api_key" TEXT NOT NULL DEFAULT '',
|
|
292
|
+
"action" TEXT NOT NULL,
|
|
293
|
+
"table_name" TEXT NOT NULL,
|
|
294
|
+
"object_id" TEXT NOT NULL,
|
|
295
|
+
"before_value" JSONB,
|
|
296
|
+
"updated_values" JSONB,
|
|
297
|
+
|
|
298
|
+
CONSTRAINT "LiteLLM_AuditLog_pkey" PRIMARY KEY ("id")
|
|
299
|
+
);
|
|
300
|
+
|
|
301
|
+
-- CreateIndex
|
|
302
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "LiteLLM_CredentialsTable_credential_name_key" ON "LiteLLM_CredentialsTable"("credential_name");
|
|
303
|
+
|
|
304
|
+
-- CreateIndex
|
|
305
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "LiteLLM_TeamTable_model_id_key" ON "LiteLLM_TeamTable"("model_id");
|
|
306
|
+
|
|
307
|
+
-- CreateIndex
|
|
308
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "LiteLLM_UserTable_sso_user_id_key" ON "LiteLLM_UserTable"("sso_user_id");
|
|
309
|
+
|
|
310
|
+
-- CreateIndex
|
|
311
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_SpendLogs_startTime_idx" ON "LiteLLM_SpendLogs"("startTime");
|
|
312
|
+
|
|
313
|
+
-- CreateIndex
|
|
314
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_SpendLogs_end_user_idx" ON "LiteLLM_SpendLogs"("end_user");
|
|
315
|
+
|
|
316
|
+
-- CreateIndex
|
|
317
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "LiteLLM_OrganizationMembership_user_id_organization_id_key" ON "LiteLLM_OrganizationMembership"("user_id", "organization_id");
|
|
318
|
+
|
|
319
|
+
-- AddForeignKey
|
|
320
|
+
DO $$
|
|
321
|
+
BEGIN
|
|
322
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_OrganizationTable_budget_id_fkey') THEN
|
|
323
|
+
ALTER TABLE "LiteLLM_OrganizationTable" ADD CONSTRAINT "LiteLLM_OrganizationTable_budget_id_fkey" FOREIGN KEY ("budget_id") REFERENCES "LiteLLM_BudgetTable"("budget_id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
324
|
+
END IF;
|
|
325
|
+
END $$;
|
|
326
|
+
|
|
327
|
+
-- AddForeignKey
|
|
328
|
+
DO $$
|
|
329
|
+
BEGIN
|
|
330
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_TeamTable_organization_id_fkey') THEN
|
|
331
|
+
ALTER TABLE "LiteLLM_TeamTable" ADD CONSTRAINT "LiteLLM_TeamTable_organization_id_fkey" FOREIGN KEY ("organization_id") REFERENCES "LiteLLM_OrganizationTable"("organization_id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
332
|
+
END IF;
|
|
333
|
+
END $$;
|
|
334
|
+
|
|
335
|
+
-- AddForeignKey
|
|
336
|
+
DO $$
|
|
337
|
+
BEGIN
|
|
338
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_TeamTable_model_id_fkey') THEN
|
|
339
|
+
ALTER TABLE "LiteLLM_TeamTable" ADD CONSTRAINT "LiteLLM_TeamTable_model_id_fkey" FOREIGN KEY ("model_id") REFERENCES "LiteLLM_ModelTable"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
340
|
+
END IF;
|
|
341
|
+
END $$;
|
|
342
|
+
|
|
343
|
+
-- AddForeignKey
|
|
344
|
+
DO $$
|
|
345
|
+
BEGIN
|
|
346
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_UserTable_organization_id_fkey') THEN
|
|
347
|
+
ALTER TABLE "LiteLLM_UserTable" ADD CONSTRAINT "LiteLLM_UserTable_organization_id_fkey" FOREIGN KEY ("organization_id") REFERENCES "LiteLLM_OrganizationTable"("organization_id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
348
|
+
END IF;
|
|
349
|
+
END $$;
|
|
350
|
+
|
|
351
|
+
-- AddForeignKey
|
|
352
|
+
DO $$
|
|
353
|
+
BEGIN
|
|
354
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_VerificationToken_budget_id_fkey') THEN
|
|
355
|
+
ALTER TABLE "LiteLLM_VerificationToken" ADD CONSTRAINT "LiteLLM_VerificationToken_budget_id_fkey" FOREIGN KEY ("budget_id") REFERENCES "LiteLLM_BudgetTable"("budget_id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
356
|
+
END IF;
|
|
357
|
+
END $$;
|
|
358
|
+
|
|
359
|
+
-- AddForeignKey
|
|
360
|
+
DO $$
|
|
361
|
+
BEGIN
|
|
362
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_VerificationToken_organization_id_fkey') THEN
|
|
363
|
+
ALTER TABLE "LiteLLM_VerificationToken" ADD CONSTRAINT "LiteLLM_VerificationToken_organization_id_fkey" FOREIGN KEY ("organization_id") REFERENCES "LiteLLM_OrganizationTable"("organization_id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
364
|
+
END IF;
|
|
365
|
+
END $$;
|
|
366
|
+
|
|
367
|
+
-- AddForeignKey
|
|
368
|
+
DO $$
|
|
369
|
+
BEGIN
|
|
370
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_EndUserTable_budget_id_fkey') THEN
|
|
371
|
+
ALTER TABLE "LiteLLM_EndUserTable" ADD CONSTRAINT "LiteLLM_EndUserTable_budget_id_fkey" FOREIGN KEY ("budget_id") REFERENCES "LiteLLM_BudgetTable"("budget_id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
372
|
+
END IF;
|
|
373
|
+
END $$;
|
|
374
|
+
|
|
375
|
+
-- AddForeignKey
|
|
376
|
+
DO $$
|
|
377
|
+
BEGIN
|
|
378
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_TeamMembership_budget_id_fkey') THEN
|
|
379
|
+
ALTER TABLE "LiteLLM_TeamMembership" ADD CONSTRAINT "LiteLLM_TeamMembership_budget_id_fkey" FOREIGN KEY ("budget_id") REFERENCES "LiteLLM_BudgetTable"("budget_id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
380
|
+
END IF;
|
|
381
|
+
END $$;
|
|
382
|
+
|
|
383
|
+
-- AddForeignKey
|
|
384
|
+
DO $$
|
|
385
|
+
BEGIN
|
|
386
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_OrganizationMembership_user_id_fkey') THEN
|
|
387
|
+
ALTER TABLE "LiteLLM_OrganizationMembership" ADD CONSTRAINT "LiteLLM_OrganizationMembership_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "LiteLLM_UserTable"("user_id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
388
|
+
END IF;
|
|
389
|
+
END $$;
|
|
390
|
+
|
|
391
|
+
-- AddForeignKey
|
|
392
|
+
DO $$
|
|
393
|
+
BEGIN
|
|
394
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_OrganizationMembership_organization_id_fkey') THEN
|
|
395
|
+
ALTER TABLE "LiteLLM_OrganizationMembership" ADD CONSTRAINT "LiteLLM_OrganizationMembership_organization_id_fkey" FOREIGN KEY ("organization_id") REFERENCES "LiteLLM_OrganizationTable"("organization_id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
396
|
+
END IF;
|
|
397
|
+
END $$;
|
|
398
|
+
|
|
399
|
+
-- AddForeignKey
|
|
400
|
+
DO $$
|
|
401
|
+
BEGIN
|
|
402
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_OrganizationMembership_budget_id_fkey') THEN
|
|
403
|
+
ALTER TABLE "LiteLLM_OrganizationMembership" ADD CONSTRAINT "LiteLLM_OrganizationMembership_budget_id_fkey" FOREIGN KEY ("budget_id") REFERENCES "LiteLLM_BudgetTable"("budget_id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
404
|
+
END IF;
|
|
405
|
+
END $$;
|
|
406
|
+
|
|
407
|
+
-- AddForeignKey
|
|
408
|
+
DO $$
|
|
409
|
+
BEGIN
|
|
410
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_InvitationLink_user_id_fkey') THEN
|
|
411
|
+
ALTER TABLE "LiteLLM_InvitationLink" ADD CONSTRAINT "LiteLLM_InvitationLink_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "LiteLLM_UserTable"("user_id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
412
|
+
END IF;
|
|
413
|
+
END $$;
|
|
414
|
+
|
|
415
|
+
-- AddForeignKey
|
|
416
|
+
DO $$
|
|
417
|
+
BEGIN
|
|
418
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_InvitationLink_created_by_fkey') THEN
|
|
419
|
+
ALTER TABLE "LiteLLM_InvitationLink" ADD CONSTRAINT "LiteLLM_InvitationLink_created_by_fkey" FOREIGN KEY ("created_by") REFERENCES "LiteLLM_UserTable"("user_id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
420
|
+
END IF;
|
|
421
|
+
END $$;
|
|
422
|
+
|
|
423
|
+
-- AddForeignKey
|
|
424
|
+
DO $$
|
|
425
|
+
BEGIN
|
|
426
|
+
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'LiteLLM_InvitationLink_updated_by_fkey') THEN
|
|
427
|
+
ALTER TABLE "LiteLLM_InvitationLink" ADD CONSTRAINT "LiteLLM_InvitationLink_updated_by_fkey" FOREIGN KEY ("updated_by") REFERENCES "LiteLLM_UserTable"("user_id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
428
|
+
END IF;
|
|
429
|
+
END $$;
|
|
430
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_DailyUserSpend" (
|
|
3
|
+
"id" TEXT NOT NULL,
|
|
4
|
+
"user_id" TEXT NOT NULL,
|
|
5
|
+
"date" TEXT NOT NULL,
|
|
6
|
+
"api_key" TEXT NOT NULL,
|
|
7
|
+
"model" TEXT NOT NULL,
|
|
8
|
+
"model_group" TEXT,
|
|
9
|
+
"custom_llm_provider" TEXT,
|
|
10
|
+
"prompt_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
11
|
+
"completion_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
12
|
+
"spend" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
13
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
14
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
15
|
+
|
|
16
|
+
CONSTRAINT "LiteLLM_DailyUserSpend_pkey" PRIMARY KEY ("id")
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
-- CreateIndex
|
|
20
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyUserSpend_date_idx" ON "LiteLLM_DailyUserSpend"("date");
|
|
21
|
+
|
|
22
|
+
-- CreateIndex
|
|
23
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyUserSpend_user_id_idx" ON "LiteLLM_DailyUserSpend"("user_id");
|
|
24
|
+
|
|
25
|
+
-- CreateIndex
|
|
26
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyUserSpend_api_key_idx" ON "LiteLLM_DailyUserSpend"("api_key");
|
|
27
|
+
|
|
28
|
+
-- CreateIndex
|
|
29
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyUserSpend_model_idx" ON "LiteLLM_DailyUserSpend"("model");
|
|
30
|
+
|
|
31
|
+
-- CreateIndex
|
|
32
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "LiteLLM_DailyUserSpend_user_id_date_api_key_model_custom_ll_key" ON "LiteLLM_DailyUserSpend"("user_id", "date", "api_key", "model", "custom_llm_provider");
|
|
33
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
-- CreateEnum
|
|
2
|
+
CREATE TYPE "JobStatus" AS ENUM ('ACTIVE', 'INACTIVE');
|
|
3
|
+
|
|
4
|
+
-- CreateTable
|
|
5
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_CronJob" (
|
|
6
|
+
"cronjob_id" TEXT NOT NULL,
|
|
7
|
+
"pod_id" TEXT NOT NULL,
|
|
8
|
+
"status" "JobStatus" NOT NULL DEFAULT 'INACTIVE',
|
|
9
|
+
"last_updated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
10
|
+
"ttl" TIMESTAMP(3) NOT NULL,
|
|
11
|
+
|
|
12
|
+
CONSTRAINT "LiteLLM_CronJob_pkey" PRIMARY KEY ("cronjob_id")
|
|
13
|
+
);
|
|
14
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_ManagedFileTable" (
|
|
3
|
+
"id" TEXT NOT NULL,
|
|
4
|
+
"unified_file_id" TEXT NOT NULL,
|
|
5
|
+
"file_object" JSONB NOT NULL,
|
|
6
|
+
"model_mappings" JSONB NOT NULL,
|
|
7
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
8
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
9
|
+
|
|
10
|
+
CONSTRAINT "LiteLLM_ManagedFileTable_pkey" PRIMARY KEY ("id")
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
-- CreateIndex
|
|
14
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "LiteLLM_ManagedFileTable_unified_file_id_key" ON "LiteLLM_ManagedFileTable"("unified_file_id");
|
|
15
|
+
|
|
16
|
+
-- CreateIndex
|
|
17
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_ManagedFileTable_unified_file_id_idx" ON "LiteLLM_ManagedFileTable"("unified_file_id");
|
|
18
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_DailyTeamSpend" (
|
|
3
|
+
"id" TEXT NOT NULL,
|
|
4
|
+
"team_id" TEXT NOT NULL,
|
|
5
|
+
"date" TEXT NOT NULL,
|
|
6
|
+
"api_key" TEXT NOT NULL,
|
|
7
|
+
"model" TEXT NOT NULL,
|
|
8
|
+
"model_group" TEXT,
|
|
9
|
+
"custom_llm_provider" TEXT,
|
|
10
|
+
"prompt_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
11
|
+
"completion_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
12
|
+
"spend" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
13
|
+
"api_requests" INTEGER NOT NULL DEFAULT 0,
|
|
14
|
+
"successful_requests" INTEGER NOT NULL DEFAULT 0,
|
|
15
|
+
"failed_requests" INTEGER NOT NULL DEFAULT 0,
|
|
16
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
17
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
18
|
+
|
|
19
|
+
CONSTRAINT "LiteLLM_DailyTeamSpend_pkey" PRIMARY KEY ("id")
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
-- CreateIndex
|
|
23
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyTeamSpend_date_idx" ON "LiteLLM_DailyTeamSpend"("date");
|
|
24
|
+
|
|
25
|
+
-- CreateIndex
|
|
26
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyTeamSpend_team_id_idx" ON "LiteLLM_DailyTeamSpend"("team_id");
|
|
27
|
+
|
|
28
|
+
-- CreateIndex
|
|
29
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyTeamSpend_api_key_idx" ON "LiteLLM_DailyTeamSpend"("api_key");
|
|
30
|
+
|
|
31
|
+
-- CreateIndex
|
|
32
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyTeamSpend_model_idx" ON "LiteLLM_DailyTeamSpend"("model");
|
|
33
|
+
|
|
34
|
+
-- CreateIndex
|
|
35
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "LiteLLM_DailyTeamSpend_team_id_date_api_key_model_custom_ll_key" ON "LiteLLM_DailyTeamSpend"("team_id", "date", "api_key", "model", "custom_llm_provider");
|
|
36
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
-- AlterTable
|
|
2
|
+
ALTER TABLE "LiteLLM_DailyTeamSpend" ADD COLUMN IF NOT EXISTS "cache_creation_input_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
3
|
+
ADD COLUMN IF NOT EXISTS "cache_read_input_tokens" INTEGER NOT NULL DEFAULT 0;
|
|
4
|
+
|
|
5
|
+
-- CreateTable
|
|
6
|
+
CREATE TABLE IF NOT EXISTS "LiteLLM_DailyTagSpend" (
|
|
7
|
+
"id" TEXT NOT NULL,
|
|
8
|
+
"tag" TEXT NOT NULL,
|
|
9
|
+
"date" TEXT NOT NULL,
|
|
10
|
+
"api_key" TEXT NOT NULL,
|
|
11
|
+
"model" TEXT NOT NULL,
|
|
12
|
+
"model_group" TEXT,
|
|
13
|
+
"custom_llm_provider" TEXT,
|
|
14
|
+
"prompt_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
15
|
+
"completion_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
16
|
+
"cache_read_input_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
17
|
+
"cache_creation_input_tokens" INTEGER NOT NULL DEFAULT 0,
|
|
18
|
+
"spend" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
|
|
19
|
+
"api_requests" INTEGER NOT NULL DEFAULT 0,
|
|
20
|
+
"successful_requests" INTEGER NOT NULL DEFAULT 0,
|
|
21
|
+
"failed_requests" INTEGER NOT NULL DEFAULT 0,
|
|
22
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
23
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
24
|
+
|
|
25
|
+
CONSTRAINT "LiteLLM_DailyTagSpend_pkey" PRIMARY KEY ("id")
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
-- CreateIndex
|
|
29
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "LiteLLM_DailyTagSpend_tag_key" ON "LiteLLM_DailyTagSpend"("tag");
|
|
30
|
+
|
|
31
|
+
-- CreateIndex
|
|
32
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyTagSpend_date_idx" ON "LiteLLM_DailyTagSpend"("date");
|
|
33
|
+
|
|
34
|
+
-- CreateIndex
|
|
35
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyTagSpend_tag_idx" ON "LiteLLM_DailyTagSpend"("tag");
|
|
36
|
+
|
|
37
|
+
-- CreateIndex
|
|
38
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyTagSpend_api_key_idx" ON "LiteLLM_DailyTagSpend"("api_key");
|
|
39
|
+
|
|
40
|
+
-- CreateIndex
|
|
41
|
+
CREATE INDEX IF NOT EXISTS "LiteLLM_DailyTagSpend_model_idx" ON "LiteLLM_DailyTagSpend"("model");
|
|
42
|
+
|
|
43
|
+
-- CreateIndex
|
|
44
|
+
CREATE UNIQUE INDEX IF NOT EXISTS "LiteLLM_DailyTagSpend_tag_date_api_key_model_custom_llm_pro_key" ON "LiteLLM_DailyTagSpend"("tag", "date", "api_key", "model", "custom_llm_provider");
|
|
45
|
+
|