-- 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, `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_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`) );