-- Generated by aether-data-schema from schema/logical/*.toml. -- Do not edit generated files directly; edit logical schema or explicit overrides instead. CREATE TABLE IF NOT EXISTS `usage` ( `request_id` VARCHAR(128) NOT NULL, `id` VARCHAR(128), `user_id` VARCHAR(64), `api_key_id` VARCHAR(64), `provider_name` VARCHAR(255) NOT NULL DEFAULT 'unknown', `model` VARCHAR(255) NOT NULL DEFAULT 'unknown', `target_model` VARCHAR(255), `provider_id` VARCHAR(64), `provider_endpoint_id` VARCHAR(64), `provider_api_key_id` VARCHAR(64), `request_type` VARCHAR(64), `api_format` VARCHAR(64), `api_family` VARCHAR(64), `endpoint_kind` VARCHAR(64), `endpoint_api_format` VARCHAR(64), `provider_api_family` VARCHAR(64), `provider_endpoint_kind` VARCHAR(64), `has_format_conversion` TINYINT(1) NOT NULL DEFAULT 0, `is_stream` TINYINT(1) NOT NULL DEFAULT 0, `upstream_is_stream` TINYINT(1), `input_tokens` BIGINT NOT NULL DEFAULT 0, `output_tokens` BIGINT NOT NULL DEFAULT 0, `input_output_total_tokens` BIGINT NOT NULL DEFAULT 0, `total_tokens` BIGINT NOT NULL DEFAULT 0, `cache_creation_input_tokens` BIGINT NOT NULL DEFAULT 0, `cache_creation_input_tokens_5m` BIGINT NOT NULL DEFAULT 0, `cache_creation_input_tokens_1h` BIGINT NOT NULL DEFAULT 0, `cache_creation_ephemeral_5m_input_tokens` BIGINT NOT NULL DEFAULT 0, `cache_creation_ephemeral_1h_input_tokens` BIGINT NOT NULL DEFAULT 0, `cache_read_input_tokens` BIGINT NOT NULL DEFAULT 0, `input_context_tokens` BIGINT NOT NULL DEFAULT 0, `input_cost_usd` DOUBLE NOT NULL DEFAULT 0, `output_cost_usd` DOUBLE NOT NULL DEFAULT 0, `cache_cost_usd` DOUBLE NOT NULL DEFAULT 0, `cache_creation_cost_usd` DOUBLE NOT NULL DEFAULT 0, `cache_creation_cost_usd_5m` DOUBLE NOT NULL DEFAULT 0, `cache_creation_cost_usd_1h` DOUBLE NOT NULL DEFAULT 0, `cache_read_cost_usd` DOUBLE NOT NULL DEFAULT 0, `request_cost_usd` DOUBLE NOT NULL DEFAULT 0, `actual_input_cost_usd` DOUBLE NOT NULL DEFAULT 0, `actual_output_cost_usd` DOUBLE NOT NULL DEFAULT 0, `actual_cache_cost_usd` DOUBLE NOT NULL DEFAULT 0, `actual_cache_creation_cost_usd` DOUBLE NOT NULL DEFAULT 0, `actual_cache_creation_cost_usd_5m` DOUBLE NOT NULL DEFAULT 0, `actual_cache_creation_cost_usd_1h` DOUBLE NOT NULL DEFAULT 0, `actual_cache_read_cost_usd` DOUBLE NOT NULL DEFAULT 0, `actual_request_cost_usd` DOUBLE NOT NULL DEFAULT 0, `rate_multiplier` DOUBLE NOT NULL DEFAULT 1, `input_price_per_1m` DOUBLE, `output_price_per_1m` DOUBLE, `cache_creation_price_per_1m` DOUBLE, `cache_creation_price_per_1m_5m` DOUBLE, `cache_creation_price_per_1m_1h` DOUBLE, `cache_read_price_per_1m` DOUBLE, `price_per_request` DOUBLE, `status_code` INT, `error_message` LONGTEXT, `error_category` VARCHAR(255), `response_time_ms` BIGINT, `first_byte_time_ms` BIGINT, `wallet_id` VARCHAR(64), `status` VARCHAR(64) NOT NULL DEFAULT 'completed', `billing_status` VARCHAR(64) NOT NULL DEFAULT 'pending', `total_cost_usd` DOUBLE NOT NULL DEFAULT 0, `actual_total_cost_usd` DOUBLE NOT NULL DEFAULT 0, `request_headers` JSON, `request_body` JSON, `provider_request_headers` JSON, `provider_request_body` JSON, `response_headers` JSON, `response_body` JSON, `client_response_headers` JSON, `client_response_body` JSON, `request_body_compressed` LONGBLOB, `provider_request_body_compressed` LONGBLOB, `response_body_compressed` LONGBLOB, `client_response_body_compressed` LONGBLOB, `request_metadata` JSON, `created_at` BIGINT, `candidate_id` VARCHAR(128), `candidate_index` BIGINT, `key_name` VARCHAR(255), `username` VARCHAR(255), `api_key_name` VARCHAR(255), `planner_kind` VARCHAR(64), `route_family` VARCHAR(128), `route_kind` VARCHAR(128), `execution_path` VARCHAR(128), `local_execution_runtime_miss_reason` VARCHAR(255), `wallet_balance_before` DOUBLE, `wallet_balance_after` DOUBLE, `wallet_recharge_balance_before` DOUBLE, `wallet_recharge_balance_after` DOUBLE, `wallet_gift_balance_before` DOUBLE, `wallet_gift_balance_after` DOUBLE, `finalized_at` BIGINT, `created_at_unix_ms` BIGINT NOT NULL DEFAULT 0, `updated_at_unix_secs` BIGINT NOT NULL DEFAULT 0, PRIMARY KEY (`request_id`), KEY usage_api_key_id_idx (`api_key_id`), KEY usage_billing_status_idx (`billing_status`), KEY usage_created_at_idx (`created_at_unix_ms`), KEY usage_provider_api_key_id_idx (`provider_api_key_id`), KEY usage_provider_id_idx (`provider_id`), KEY usage_request_id_idx (`request_id`), KEY usage_user_id_idx (`user_id`), KEY usage_wallet_id_idx (`wallet_id`) ); CREATE TABLE IF NOT EXISTS usage_counter_deltas ( `id` VARCHAR(36) NOT NULL, `request_id` VARCHAR(128) NOT NULL, `kind` VARCHAR(64) NOT NULL, `target_id` TEXT NOT NULL, `request_count_delta` BIGINT NOT NULL DEFAULT 0, `total_requests_delta` BIGINT NOT NULL DEFAULT 0, `success_count_delta` BIGINT NOT NULL DEFAULT 0, `error_count_delta` BIGINT NOT NULL DEFAULT 0, `dns_failures_delta` BIGINT NOT NULL DEFAULT 0, `stream_errors_delta` BIGINT NOT NULL DEFAULT 0, `total_tokens_delta` BIGINT NOT NULL DEFAULT 0, `total_cost_usd_delta` DOUBLE NOT NULL DEFAULT 0, `total_response_time_ms_delta` BIGINT NOT NULL DEFAULT 0, `last_used_at_unix_secs` BIGINT, `last_used_ip` TEXT, `candidate_last_used_at_unix_secs` BIGINT, `removed_last_used_at_unix_secs` BIGINT, `usage_created_at_unix_secs` BIGINT, `created_at` BIGINT NOT NULL, `processed_at` BIGINT, PRIMARY KEY (`id`), KEY ix_usage_counter_deltas_unprocessed (`created_at`, `id`), KEY ix_usage_counter_deltas_processed (`processed_at`, `created_at`, `id`), KEY ix_usage_counter_deltas_request_kind (`request_id`, `kind`, `target_id`) ); CREATE TABLE IF NOT EXISTS usage_settlement_snapshots ( `request_id` VARCHAR(128) NOT NULL, `billing_status` VARCHAR(64) NOT NULL, `wallet_id` VARCHAR(64), `wallet_balance_before` DOUBLE, `wallet_balance_after` DOUBLE, `wallet_recharge_balance_before` DOUBLE, `wallet_recharge_balance_after` DOUBLE, `wallet_gift_balance_before` DOUBLE, `wallet_gift_balance_after` DOUBLE, `provider_monthly_used_usd` DOUBLE, `finalized_at` BIGINT, `created_at` BIGINT NOT NULL, `updated_at` BIGINT NOT NULL, PRIMARY KEY (`request_id`), KEY usage_settlement_snapshots_billing_status_idx (`billing_status`), KEY usage_settlement_snapshots_wallet_id_idx (`wallet_id`) );