[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.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"]