Files
Aether/crates/aether-data/schema/logical/002_provider_catalog.toml

1697 lines
31 KiB
TOML

[table.billing_rules]
domain = "provider_catalog"
order = 10
primary_key = ["id"]
[[table.billing_rules.columns]]
name = "id"
type = "text_id"
length = 64
[[table.billing_rules.columns]]
name = "global_model_id"
type = "text_id"
length = 64
nullable = true
[[table.billing_rules.columns]]
name = "model_id"
type = "text_id"
length = 64
nullable = true
[[table.billing_rules.columns]]
name = "name"
type = "text"
length = 255
[[table.billing_rules.columns]]
name = "task_type"
type = "text"
length = 64
default = "chat"
[[table.billing_rules.columns]]
name = "expression"
type = "long_text"
[[table.billing_rules.columns]]
name = "variables"
type = "json"
[[table.billing_rules.columns]]
name = "dimension_mappings"
type = "json"
[[table.billing_rules.columns]]
name = "is_enabled"
type = "bool"
default = true
[[table.billing_rules.columns]]
name = "created_at"
type = "unix_seconds"
[[table.billing_rules.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.billing_rules.indexes]]
name = "billing_rules_global_model_task_idx"
columns = ["global_model_id", "task_type", "is_enabled"]
[[table.billing_rules.indexes]]
name = "billing_rules_model_task_idx"
columns = ["model_id", "task_type", "is_enabled"]
[table.dimension_collectors]
domain = "provider_catalog"
order = 20
primary_key = ["id"]
[[table.dimension_collectors.columns]]
name = "id"
type = "text_id"
length = 64
[[table.dimension_collectors.columns]]
name = "api_format"
type = "text"
length = 64
[[table.dimension_collectors.columns]]
name = "task_type"
type = "text"
length = 64
[[table.dimension_collectors.columns]]
name = "dimension_name"
type = "text"
length = 128
[[table.dimension_collectors.columns]]
name = "source_type"
type = "text"
length = 64
[[table.dimension_collectors.columns]]
name = "source_path"
type = "text"
length = 255
nullable = true
[[table.dimension_collectors.columns]]
name = "value_type"
type = "text"
length = 64
default = "float"
[[table.dimension_collectors.columns]]
name = "transform_expression"
type = "long_text"
nullable = true
[[table.dimension_collectors.columns]]
name = "default_value"
type = "text"
length = 255
nullable = true
[[table.dimension_collectors.columns]]
name = "priority"
type = "int32"
default = 0
[[table.dimension_collectors.columns]]
name = "is_enabled"
type = "bool"
default = true
[[table.dimension_collectors.columns]]
name = "created_at"
type = "unix_seconds"
[[table.dimension_collectors.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.dimension_collectors.indexes]]
name = "dimension_collectors_enabled_idx"
columns = ["api_format", "task_type", "dimension_name", "priority", "is_enabled"]
[table.providers]
domain = "provider_catalog"
order = 30
primary_key = ["id"]
[[table.providers.columns]]
name = "id"
type = "text_id"
length = 64
[[table.providers.columns]]
name = "name"
type = "text"
length = 255
[[table.providers.columns]]
name = "description"
type = "long_text"
nullable = true
[[table.providers.columns]]
name = "website"
type = "text"
length = 500
nullable = true
[[table.providers.columns]]
name = "provider_type"
type = "text"
length = 64
[[table.providers.columns]]
name = "billing_type"
type = "text"
length = 64
nullable = true
[[table.providers.columns]]
name = "monthly_quota_usd"
type = "float64"
nullable = true
[[table.providers.columns]]
name = "monthly_used_usd"
type = "float64"
nullable = true
[[table.providers.columns]]
name = "quota_reset_day"
type = "int32"
nullable = true
[[table.providers.columns]]
name = "quota_last_reset_at"
type = "unix_seconds"
nullable = true
[[table.providers.columns]]
name = "quota_expires_at"
type = "unix_seconds"
nullable = true
[[table.providers.columns]]
name = "enabled"
type = "bool"
default = true
[[table.providers.columns]]
name = "is_active"
type = "bool"
default = true
[[table.providers.columns]]
name = "priority"
type = "int64"
default = 0
[[table.providers.columns]]
name = "provider_priority"
type = "int32"
default = 100
[[table.providers.columns]]
name = "keep_priority_on_conversion"
type = "bool"
default = false
[[table.providers.columns]]
name = "enable_format_conversion"
type = "bool"
default = true
[[table.providers.columns]]
name = "concurrent_limit"
type = "int32"
nullable = true
[[table.providers.columns]]
name = "max_retries"
type = "int32"
nullable = true
[[table.providers.columns]]
name = "proxy"
type = "json"
nullable = true
[[table.providers.columns]]
name = "request_timeout"
type = "float64"
nullable = true
[[table.providers.columns]]
name = "stream_first_byte_timeout"
type = "float64"
nullable = true
[[table.providers.columns]]
name = "config"
type = "json"
nullable = true
[[table.providers.columns]]
name = "created_at"
type = "unix_seconds"
[[table.providers.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.providers.uniques]]
name = "providers_name_key"
columns = ["name"]
[table.provider_api_keys]
domain = "provider_catalog"
order = 40
primary_key = ["id"]
[[table.provider_api_keys.columns]]
name = "id"
type = "text_id"
length = 64
[[table.provider_api_keys.columns]]
name = "provider_id"
type = "text_id"
length = 64
[[table.provider_api_keys.columns]]
name = "name"
type = "text"
length = 255
[[table.provider_api_keys.columns]]
name = "api_key"
type = "long_text"
nullable = true
[[table.provider_api_keys.columns]]
name = "encrypted_key"
type = "long_text"
nullable = true
[[table.provider_api_keys.columns]]
name = "auth_type"
type = "text"
length = 32
default = "api_key"
[[table.provider_api_keys.columns]]
name = "auth_config"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "note"
type = "long_text"
nullable = true
[[table.provider_api_keys.columns]]
name = "internal_priority"
type = "int32"
default = 50
[[table.provider_api_keys.columns]]
name = "capabilities"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "api_formats"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "auth_type_by_format"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "allow_auth_channel_mismatch_formats"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "rate_multipliers"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "global_priority_by_format"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "allowed_models"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "expires_at"
type = "unix_seconds"
nullable = true
[[table.provider_api_keys.columns]]
name = "cache_ttl_minutes"
type = "int32"
default = 5
[[table.provider_api_keys.columns]]
name = "max_probe_interval_minutes"
type = "int32"
default = 32
[[table.provider_api_keys.columns]]
name = "proxy"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "fingerprint"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "concurrent_limit"
type = "int32"
nullable = true
[[table.provider_api_keys.columns]]
name = "learned_rpm_limit"
type = "int32"
nullable = true
[[table.provider_api_keys.columns]]
name = "concurrent_429_count"
type = "int32"
default = 0
[[table.provider_api_keys.columns]]
name = "rpm_429_count"
type = "int32"
default = 0
[[table.provider_api_keys.columns]]
name = "last_429_at"
type = "unix_seconds"
nullable = true
[[table.provider_api_keys.columns]]
name = "last_429_type"
type = "text"
length = 64
nullable = true
[[table.provider_api_keys.columns]]
name = "adjustment_history"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "utilization_samples"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "last_probe_increase_at"
type = "unix_seconds"
nullable = true
[[table.provider_api_keys.columns]]
name = "last_rpm_peak"
type = "int32"
nullable = true
[[table.provider_api_keys.columns]]
name = "request_count"
type = "int64"
default = 0
[[table.provider_api_keys.columns]]
name = "total_tokens"
type = "int64"
default = 0
[[table.provider_api_keys.columns]]
name = "total_cost_usd"
type = "float64"
default = 0
[[table.provider_api_keys.columns]]
name = "success_count"
type = "int64"
default = 0
[[table.provider_api_keys.columns]]
name = "error_count"
type = "int64"
default = 0
[[table.provider_api_keys.columns]]
name = "total_response_time_ms"
type = "int64"
default = 0
[[table.provider_api_keys.columns]]
name = "last_used_at"
type = "unix_seconds"
nullable = true
[[table.provider_api_keys.columns]]
name = "last_error_at"
type = "unix_seconds"
nullable = true
[[table.provider_api_keys.columns]]
name = "last_error_msg"
type = "long_text"
nullable = true
[[table.provider_api_keys.columns]]
name = "auto_fetch_models"
type = "bool"
default = false
[[table.provider_api_keys.columns]]
name = "last_models_fetch_at"
type = "unix_seconds"
nullable = true
[[table.provider_api_keys.columns]]
name = "last_models_fetch_error"
type = "long_text"
nullable = true
[[table.provider_api_keys.columns]]
name = "locked_models"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "model_include_patterns"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "model_exclude_patterns"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "upstream_metadata"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "oauth_invalid_at"
type = "unix_seconds"
nullable = true
[[table.provider_api_keys.columns]]
name = "oauth_invalid_reason"
type = "text"
length = 255
nullable = true
[[table.provider_api_keys.columns]]
name = "status_snapshot"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "health_by_format"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "circuit_breaker_by_format"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "status"
type = "text"
length = 64
default = "active"
[[table.provider_api_keys.columns]]
name = "is_active"
type = "bool"
default = true
[[table.provider_api_keys.columns]]
name = "weight"
type = "int64"
default = 1
[[table.provider_api_keys.columns]]
name = "rpm_limit"
type = "int64"
nullable = true
[[table.provider_api_keys.columns]]
name = "metadata"
type = "json"
nullable = true
[[table.provider_api_keys.columns]]
name = "created_at"
type = "unix_seconds"
[[table.provider_api_keys.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.provider_api_keys.indexes]]
name = "provider_api_keys_provider_id_idx"
columns = ["provider_id"]
[table.pool_member_scores]
domain = "provider_catalog"
order = 44
primary_key = ["id"]
[[table.pool_member_scores.columns]]
name = "id"
type = "text_id"
length = 192
[[table.pool_member_scores.columns]]
name = "pool_kind"
type = "text"
length = 64
[[table.pool_member_scores.columns]]
name = "pool_id"
type = "text_id"
length = 64
[[table.pool_member_scores.columns]]
name = "member_kind"
type = "text"
length = 64
[[table.pool_member_scores.columns]]
name = "member_id"
type = "text_id"
length = 64
[[table.pool_member_scores.columns]]
name = "capability"
type = "text"
length = 64
[[table.pool_member_scores.columns]]
name = "scope_kind"
type = "text"
length = 64
[[table.pool_member_scores.columns]]
name = "scope_id"
type = "text_id"
length = 128
nullable = true
[[table.pool_member_scores.columns]]
name = "score"
type = "float64"
default = 0
[[table.pool_member_scores.columns]]
name = "hard_state"
type = "text"
length = 64
default = "unknown"
[[table.pool_member_scores.columns]]
name = "score_version"
type = "int64"
default = 1
[[table.pool_member_scores.columns]]
name = "score_reason"
type = "json"
[[table.pool_member_scores.columns]]
name = "last_ranked_at"
type = "unix_seconds"
nullable = true
[[table.pool_member_scores.columns]]
name = "last_scheduled_at"
type = "unix_seconds"
nullable = true
[[table.pool_member_scores.columns]]
name = "last_success_at"
type = "unix_seconds"
nullable = true
[[table.pool_member_scores.columns]]
name = "last_failure_at"
type = "unix_seconds"
nullable = true
[[table.pool_member_scores.columns]]
name = "failure_count"
type = "int64"
default = 0
[[table.pool_member_scores.columns]]
name = "last_probe_attempt_at"
type = "unix_seconds"
nullable = true
[[table.pool_member_scores.columns]]
name = "last_probe_success_at"
type = "unix_seconds"
nullable = true
[[table.pool_member_scores.columns]]
name = "last_probe_failure_at"
type = "unix_seconds"
nullable = true
[[table.pool_member_scores.columns]]
name = "probe_failure_count"
type = "int64"
default = 0
[[table.pool_member_scores.columns]]
name = "probe_status"
type = "text"
length = 64
default = "never"
[[table.pool_member_scores.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.pool_member_scores.indexes]]
name = "pool_member_scores_rank_idx"
columns = ["pool_kind", "pool_id", "capability", "scope_kind", "scope_id", "hard_state", "score"]
[[table.pool_member_scores.indexes]]
name = "pool_member_scores_member_idx"
columns = ["pool_kind", "pool_id", "member_kind", "member_id"]
[[table.pool_member_scores.indexes]]
name = "pool_member_scores_probe_idx"
columns = ["pool_kind", "pool_id", "probe_status", "last_probe_success_at"]
[[table.pool_member_scores.indexes]]
name = "pool_member_scores_updated_at_idx"
columns = ["updated_at"]
[table.api_key_provider_mappings]
domain = "provider_catalog"
order = 45
primary_key = ["id"]
[[table.api_key_provider_mappings.columns]]
name = "id"
type = "text_id"
length = 64
[[table.api_key_provider_mappings.columns]]
name = "api_key_id"
type = "text_id"
length = 64
[[table.api_key_provider_mappings.columns]]
name = "provider_id"
type = "text_id"
length = 64
[[table.api_key_provider_mappings.columns]]
name = "priority_adjustment"
type = "int32"
default = 0
[[table.api_key_provider_mappings.columns]]
name = "weight_multiplier"
type = "float64"
default = 1
[[table.api_key_provider_mappings.columns]]
name = "is_enabled"
type = "bool"
default = true
[[table.api_key_provider_mappings.columns]]
name = "created_at"
type = "unix_seconds"
[[table.api_key_provider_mappings.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.api_key_provider_mappings.uniques]]
name = "uq_apikey_provider"
columns = ["api_key_id", "provider_id"]
[[table.api_key_provider_mappings.indexes]]
name = "api_key_provider_mappings_api_key_id_idx"
columns = ["api_key_id"]
[[table.api_key_provider_mappings.indexes]]
name = "api_key_provider_mappings_provider_id_idx"
columns = ["provider_id"]
[[table.api_key_provider_mappings.indexes]]
name = "idx_apikey_provider_enabled"
columns = ["api_key_id", "is_enabled"]
[table.gemini_file_mappings]
domain = "provider_catalog"
order = 50
primary_key = ["id"]
[[table.gemini_file_mappings.columns]]
name = "id"
type = "text_id"
length = 64
[[table.gemini_file_mappings.columns]]
name = "file_name"
type = "text"
length = 512
[[table.gemini_file_mappings.columns]]
name = "key_id"
type = "text_id"
length = 64
[[table.gemini_file_mappings.columns]]
name = "user_id"
type = "text_id"
length = 64
nullable = true
[[table.gemini_file_mappings.columns]]
name = "display_name"
type = "text"
length = 512
nullable = true
[[table.gemini_file_mappings.columns]]
name = "mime_type"
type = "text"
length = 255
nullable = true
[[table.gemini_file_mappings.columns]]
name = "source_hash"
type = "text"
length = 128
nullable = true
[[table.gemini_file_mappings.columns]]
name = "created_at"
type = "unix_seconds"
[[table.gemini_file_mappings.columns]]
name = "expires_at"
type = "unix_seconds"
[[table.gemini_file_mappings.uniques]]
name = "gemini_file_mappings_file_name_key"
columns = ["file_name"]
[[table.gemini_file_mappings.indexes]]
name = "gemini_file_mappings_key_id_idx"
columns = ["key_id"]
[[table.gemini_file_mappings.indexes]]
name = "gemini_file_mappings_user_id_idx"
columns = ["user_id"]
[[table.gemini_file_mappings.indexes]]
name = "gemini_file_mappings_expires_at_idx"
columns = ["expires_at"]
[[table.gemini_file_mappings.indexes]]
name = "gemini_file_mappings_source_hash_idx"
columns = ["source_hash"]
[table.request_candidates]
domain = "provider_catalog"
order = 60
primary_key = ["id"]
[[table.request_candidates.columns]]
name = "id"
type = "text_id"
length = 64
[[table.request_candidates.columns]]
name = "request_id"
type = "text"
length = 128
[[table.request_candidates.columns]]
name = "user_id"
type = "text_id"
length = 64
nullable = true
[[table.request_candidates.columns]]
name = "api_key_id"
type = "text_id"
length = 64
nullable = true
[[table.request_candidates.columns]]
name = "username"
type = "text"
length = 255
nullable = true
[[table.request_candidates.columns]]
name = "api_key_name"
type = "text"
length = 255
nullable = true
[[table.request_candidates.columns]]
name = "candidate_index"
type = "int32"
[[table.request_candidates.columns]]
name = "retry_index"
type = "int32"
default = 0
[[table.request_candidates.columns]]
name = "provider_id"
type = "text_id"
length = 64
nullable = true
[[table.request_candidates.columns]]
name = "endpoint_id"
type = "text_id"
length = 64
nullable = true
[[table.request_candidates.columns]]
name = "key_id"
type = "text_id"
length = 64
nullable = true
[[table.request_candidates.columns]]
name = "status"
type = "text"
length = 32
[[table.request_candidates.columns]]
name = "skip_reason"
type = "long_text"
nullable = true
[[table.request_candidates.columns]]
name = "is_cached"
type = "bool"
default = false
[[table.request_candidates.columns]]
name = "status_code"
type = "int32"
nullable = true
[[table.request_candidates.columns]]
name = "error_type"
type = "text"
length = 128
nullable = true
[[table.request_candidates.columns]]
name = "error_message"
type = "long_text"
nullable = true
[[table.request_candidates.columns]]
name = "latency_ms"
type = "int32"
nullable = true
[[table.request_candidates.columns]]
name = "concurrent_requests"
type = "int32"
nullable = true
[[table.request_candidates.columns]]
name = "extra_data"
type = "json"
nullable = true
[[table.request_candidates.columns]]
name = "required_capabilities"
type = "json"
nullable = true
[[table.request_candidates.columns]]
name = "created_at"
type = "unix_seconds"
[[table.request_candidates.columns]]
name = "started_at"
type = "unix_seconds"
nullable = true
[[table.request_candidates.columns]]
name = "finished_at"
type = "unix_seconds"
nullable = true
[[table.request_candidates.uniques]]
name = "uq_request_candidate_with_retry"
columns = ["request_id", "candidate_index", "retry_index"]
[[table.request_candidates.indexes]]
name = "request_candidates_request_id_idx"
columns = ["request_id"]
[[table.request_candidates.indexes]]
name = "request_candidates_provider_id_idx"
columns = ["provider_id"]
[[table.request_candidates.indexes]]
name = "request_candidates_endpoint_id_idx"
columns = ["endpoint_id"]
[[table.request_candidates.indexes]]
name = "request_candidates_status_idx"
columns = ["status"]
[[table.request_candidates.indexes]]
name = "request_candidates_created_at_idx"
columns = ["created_at"]
[[table.request_candidates.indexes]]
name = "request_candidates_endpoint_status_created_idx"
columns = ["endpoint_id", "status", "created_at"]
[table.video_tasks]
domain = "provider_catalog"
order = 70
primary_key = ["id"]
[[table.video_tasks.columns]]
name = "id"
type = "text_id"
length = 64
[[table.video_tasks.columns]]
name = "short_id"
type = "text"
length = 32
nullable = true
[[table.video_tasks.columns]]
name = "request_id"
type = "text"
length = 128
[[table.video_tasks.columns]]
name = "user_id"
type = "text_id"
length = 64
nullable = true
[[table.video_tasks.columns]]
name = "api_key_id"
type = "text_id"
length = 64
nullable = true
[[table.video_tasks.columns]]
name = "username"
type = "text"
length = 255
nullable = true
[[table.video_tasks.columns]]
name = "api_key_name"
type = "text"
length = 255
nullable = true
[[table.video_tasks.columns]]
name = "external_task_id"
type = "text"
length = 255
nullable = true
[[table.video_tasks.columns]]
name = "provider_id"
type = "text_id"
length = 64
nullable = true
[[table.video_tasks.columns]]
name = "endpoint_id"
type = "text_id"
length = 64
nullable = true
[[table.video_tasks.columns]]
name = "key_id"
type = "text_id"
length = 64
nullable = true
[[table.video_tasks.columns]]
name = "client_api_format"
type = "text"
length = 128
nullable = true
[[table.video_tasks.columns]]
name = "provider_api_format"
type = "text"
length = 128
nullable = true
[[table.video_tasks.columns]]
name = "format_converted"
type = "bool"
default = false
[[table.video_tasks.columns]]
name = "model"
type = "text"
length = 255
nullable = true
[[table.video_tasks.columns]]
name = "prompt"
type = "long_text"
nullable = true
[[table.video_tasks.columns]]
name = "original_request_body"
type = "json"
nullable = true
[[table.video_tasks.columns]]
name = "converted_request_body"
type = "json"
nullable = true
[[table.video_tasks.columns]]
name = "duration_seconds"
type = "int32"
nullable = true
[[table.video_tasks.columns]]
name = "resolution"
type = "text"
length = 64
nullable = true
[[table.video_tasks.columns]]
name = "aspect_ratio"
type = "text"
length = 32
nullable = true
[[table.video_tasks.columns]]
name = "size"
type = "text"
length = 64
nullable = true
[[table.video_tasks.columns]]
name = "status"
type = "text"
length = 32
default = "pending"
[[table.video_tasks.columns]]
name = "progress_percent"
type = "int32"
default = 0
[[table.video_tasks.columns]]
name = "progress_message"
type = "long_text"
nullable = true
[[table.video_tasks.columns]]
name = "retry_count"
type = "int32"
default = 0
[[table.video_tasks.columns]]
name = "max_retries"
type = "int32"
default = 3
[[table.video_tasks.columns]]
name = "poll_interval_seconds"
type = "int32"
default = 10
[[table.video_tasks.columns]]
name = "next_poll_at"
type = "unix_seconds"
nullable = true
[[table.video_tasks.columns]]
name = "poll_count"
type = "int32"
default = 0
[[table.video_tasks.columns]]
name = "max_poll_count"
type = "int32"
default = 360
[[table.video_tasks.columns]]
name = "created_at"
type = "unix_seconds"
[[table.video_tasks.columns]]
name = "submitted_at"
type = "unix_seconds"
nullable = true
[[table.video_tasks.columns]]
name = "completed_at"
type = "unix_seconds"
nullable = true
[[table.video_tasks.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.video_tasks.columns]]
name = "error_code"
type = "text"
length = 128
nullable = true
[[table.video_tasks.columns]]
name = "error_message"
type = "long_text"
nullable = true
[[table.video_tasks.columns]]
name = "video_url"
type = "long_text"
nullable = true
[[table.video_tasks.columns]]
name = "video_urls"
type = "json"
nullable = true
[[table.video_tasks.columns]]
name = "thumbnail_url"
type = "long_text"
nullable = true
[[table.video_tasks.columns]]
name = "video_size_bytes"
type = "int64"
nullable = true
[[table.video_tasks.columns]]
name = "video_expires_at"
type = "unix_seconds"
nullable = true
[[table.video_tasks.columns]]
name = "stored_video_path"
type = "text"
length = 500
nullable = true
[[table.video_tasks.columns]]
name = "storage_provider"
type = "text"
length = 50
nullable = true
[[table.video_tasks.columns]]
name = "remixed_from_task_id"
type = "text_id"
length = 64
nullable = true
[[table.video_tasks.columns]]
name = "webhook_url"
type = "text"
length = 500
nullable = true
[[table.video_tasks.columns]]
name = "webhook_sent"
type = "bool"
default = false
[[table.video_tasks.columns]]
name = "webhook_sent_at"
type = "unix_seconds"
nullable = true
[[table.video_tasks.columns]]
name = "request_metadata"
type = "json"
nullable = true
[[table.video_tasks.columns]]
name = "video_duration_seconds"
type = "float64"
nullable = true
[[table.video_tasks.uniques]]
name = "video_tasks_short_id_key"
columns = ["short_id"]
[[table.video_tasks.uniques]]
name = "video_tasks_request_id_key"
columns = ["request_id"]
[[table.video_tasks.indexes]]
name = "video_tasks_external_id_idx"
columns = ["external_task_id"]
[[table.video_tasks.indexes]]
name = "video_tasks_next_poll_idx"
columns = ["next_poll_at"]
[[table.video_tasks.indexes]]
name = "video_tasks_user_status_idx"
columns = ["user_id", "status"]
[[table.video_tasks.indexes]]
name = "video_tasks_api_key_id_idx"
columns = ["api_key_id"]
[[table.video_tasks.indexes]]
name = "video_tasks_provider_id_idx"
columns = ["provider_id"]
[[table.video_tasks.indexes]]
name = "video_tasks_endpoint_id_idx"
columns = ["endpoint_id"]
[[table.video_tasks.indexes]]
name = "video_tasks_key_id_idx"
columns = ["key_id"]
[table.provider_endpoints]
domain = "provider_catalog"
order = 80
primary_key = ["id"]
[[table.provider_endpoints.columns]]
name = "id"
type = "text_id"
length = 64
[[table.provider_endpoints.columns]]
name = "provider_id"
type = "text_id"
length = 64
[[table.provider_endpoints.columns]]
name = "name"
type = "text"
length = 255
[[table.provider_endpoints.columns]]
name = "base_url"
type = "long_text"
[[table.provider_endpoints.columns]]
name = "api_format"
type = "text"
length = 128
nullable = true
[[table.provider_endpoints.columns]]
name = "api_family"
type = "text"
length = 128
nullable = true
[[table.provider_endpoints.columns]]
name = "endpoint_kind"
type = "text"
length = 128
nullable = true
[[table.provider_endpoints.columns]]
name = "enabled"
type = "bool"
default = true
[[table.provider_endpoints.columns]]
name = "is_active"
type = "bool"
default = true
[[table.provider_endpoints.columns]]
name = "health_score"
type = "float64"
default = { raw = "1.0" }
[[table.provider_endpoints.columns]]
name = "weight"
type = "int64"
default = 1
[[table.provider_endpoints.columns]]
name = "header_rules"
type = "json"
nullable = true
[[table.provider_endpoints.columns]]
name = "body_rules"
type = "json"
nullable = true
[[table.provider_endpoints.columns]]
name = "max_retries"
type = "int32"
nullable = true
[[table.provider_endpoints.columns]]
name = "custom_path"
type = "long_text"
nullable = true
[[table.provider_endpoints.columns]]
name = "metadata"
type = "json"
nullable = true
[[table.provider_endpoints.columns]]
name = "config"
type = "json"
nullable = true
[[table.provider_endpoints.columns]]
name = "format_acceptance_config"
type = "json"
nullable = true
[[table.provider_endpoints.columns]]
name = "proxy"
type = "json"
nullable = true
[[table.provider_endpoints.columns]]
name = "created_at"
type = "unix_seconds"
[[table.provider_endpoints.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.provider_endpoints.indexes]]
name = "provider_endpoints_provider_id_idx"
columns = ["provider_id"]
[table.provider_usage_tracking]
domain = "provider_catalog"
order = 85
primary_key = ["id"]
[[table.provider_usage_tracking.columns]]
name = "id"
type = "text_id"
length = 64
[[table.provider_usage_tracking.columns]]
name = "provider_id"
type = "text_id"
length = 64
[[table.provider_usage_tracking.columns]]
name = "window_start"
type = "unix_seconds"
[[table.provider_usage_tracking.columns]]
name = "window_end"
type = "unix_seconds"
[[table.provider_usage_tracking.columns]]
name = "total_requests"
type = "int32"
default = 0
[[table.provider_usage_tracking.columns]]
name = "successful_requests"
type = "int32"
default = 0
[[table.provider_usage_tracking.columns]]
name = "failed_requests"
type = "int32"
default = 0
[[table.provider_usage_tracking.columns]]
name = "avg_response_time_ms"
type = "float64"
default = 0
[[table.provider_usage_tracking.columns]]
name = "total_response_time_ms"
type = "float64"
default = 0
[[table.provider_usage_tracking.columns]]
name = "total_cost_usd"
type = "float64"
default = 0
[[table.provider_usage_tracking.columns]]
name = "created_at"
type = "unix_seconds"
[[table.provider_usage_tracking.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.provider_usage_tracking.indexes]]
name = "provider_usage_tracking_provider_id_idx"
columns = ["provider_id"]
[[table.provider_usage_tracking.indexes]]
name = "provider_usage_tracking_window_start_idx"
columns = ["window_start"]
[[table.provider_usage_tracking.indexes]]
name = "idx_provider_window"
columns = ["provider_id", "window_start"]
[[table.provider_usage_tracking.indexes]]
name = "idx_window_time"
columns = ["window_start", "window_end"]
[table.models]
domain = "provider_catalog"
order = 90
primary_key = ["id"]
[[table.models.columns]]
name = "id"
type = "text_id"
length = 64
[[table.models.columns]]
name = "provider_id"
type = "text_id"
length = 64
[[table.models.columns]]
name = "global_model_id"
type = "text_id"
length = 64
nullable = true
[[table.models.columns]]
name = "provider_model_name"
type = "text"
length = 255
[[table.models.columns]]
name = "global_model_name"
type = "text"
length = 255
nullable = true
[[table.models.columns]]
name = "api_format"
type = "text"
length = 128
nullable = true
[[table.models.columns]]
name = "enabled"
type = "bool"
default = true
[[table.models.columns]]
name = "is_active"
type = "bool"
default = true
[[table.models.columns]]
name = "is_available"
type = "bool"
default = true
[[table.models.columns]]
name = "price_per_request"
type = "float64"
nullable = true
[[table.models.columns]]
name = "tiered_pricing"
type = "json"
nullable = true
[[table.models.columns]]
name = "supports_vision"
type = "bool"
nullable = true
[[table.models.columns]]
name = "supports_function_calling"
type = "bool"
nullable = true
[[table.models.columns]]
name = "supports_streaming"
type = "bool"
nullable = true
[[table.models.columns]]
name = "supports_extended_thinking"
type = "bool"
nullable = true
[[table.models.columns]]
name = "supports_image_generation"
type = "bool"
nullable = true
[[table.models.columns]]
name = "provider_model_mappings"
type = "json"
nullable = true
[[table.models.columns]]
name = "config"
type = "json"
nullable = true
[[table.models.columns]]
name = "metadata"
type = "json"
nullable = true
[[table.models.columns]]
name = "created_at"
type = "unix_seconds"
[[table.models.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.models.indexes]]
name = "models_provider_id_idx"
columns = ["provider_id"]
[table.global_models]
domain = "provider_catalog"
order = 100
primary_key = ["id"]
[[table.global_models.columns]]
name = "id"
type = "text_id"
length = 64
[[table.global_models.columns]]
name = "name"
type = "text"
length = 255
[[table.global_models.columns]]
name = "display_name"
type = "text"
length = 255
nullable = true
[[table.global_models.columns]]
name = "enabled"
type = "bool"
default = true
[[table.global_models.columns]]
name = "is_active"
type = "bool"
default = true
[[table.global_models.columns]]
name = "default_price_per_request"
type = "float64"
nullable = true
[[table.global_models.columns]]
name = "default_tiered_pricing"
type = "json"
nullable = true
[[table.global_models.columns]]
name = "supported_capabilities"
type = "json"
nullable = true
[[table.global_models.columns]]
name = "usage_count"
type = "int64"
default = 0
[[table.global_models.columns]]
name = "config"
type = "json"
nullable = true
[[table.global_models.columns]]
name = "metadata"
type = "json"
nullable = true
[[table.global_models.columns]]
name = "created_at"
type = "unix_seconds"
[[table.global_models.columns]]
name = "updated_at"
type = "unix_seconds"
[[table.global_models.uniques]]
name = "global_models_name_key"
columns = ["name"]