SCHEMA_SQL = """ CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, telegram_id TEXT UNIQUE NOT NULL, preferred_language TEXT DEFAULT 'en' ); CREATE TABLE IF NOT EXISTS messages ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL, input_type TEXT NOT NULL, transcript_text TEXT, response_text TEXT, created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY(user_id) REFERENCES users(id) ); CREATE TABLE IF NOT EXISTS orders ( id INTEGER PRIMARY KEY AUTOINCREMENT, order_id TEXT UNIQUE NOT NULL, amount REAL NOT NULL, status TEXT NOT NULL, created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS payments ( id INTEGER PRIMARY KEY AUTOINCREMENT, txn_id TEXT UNIQUE NOT NULL, order_id TEXT NOT NULL, mode TEXT NOT NULL, status TEXT NOT NULL, gateway TEXT NOT NULL, amount REAL NOT NULL ); CREATE TABLE IF NOT EXISTS payment_links ( id INTEGER PRIMARY KEY AUTOINCREMENT, link_id TEXT UNIQUE NOT NULL, amount REAL NOT NULL, customer_name TEXT, status TEXT NOT NULL DEFAULT 'ACTIVE', created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS refunds ( id INTEGER PRIMARY KEY AUTOINCREMENT, refund_id TEXT UNIQUE NOT NULL, txn_id TEXT NOT NULL, amount REAL NOT NULL, status TEXT NOT NULL, created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS settlements ( id INTEGER PRIMARY KEY AUTOINCREMENT, payout_id TEXT UNIQUE NOT NULL, payout_date TEXT NOT NULL, gross REAL NOT NULL, fee REAL NOT NULL, net REAL NOT NULL ); CREATE TABLE IF NOT EXISTS tool_audit ( id INTEGER PRIMARY KEY AUTOINCREMENT, tool_name TEXT NOT NULL, args_json TEXT NOT NULL, result_json TEXT NOT NULL, created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS pending_actions ( id INTEGER PRIMARY KEY AUTOINCREMENT, telegram_id TEXT UNIQUE NOT NULL, action_type TEXT NOT NULL, payload_json TEXT NOT NULL, created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP ); """