CREATE TABLE hosts ( id INTEGER PRIMARY KEY AUTOINCREMENT, host_id TEXT NOT NULL UNIQUE, base_url TEXT NOT NULL, host_version TEXT NOT NULL, capability_probe_json TEXT NOT NULL DEFAULT '{}', created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE packs ( id INTEGER PRIMARY KEY AUTOINCREMENT, pack_id TEXT NOT NULL UNIQUE, version TEXT NOT NULL, checksum TEXT NOT NULL, installed_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE providers ( id INTEGER PRIMARY KEY AUTOINCREMENT, pack_id INTEGER NOT NULL, provider_id TEXT NOT NULL, display_name TEXT NOT NULL, base_url TEXT NOT NULL, platform TEXT NOT NULL, created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT fk_providers_pack FOREIGN KEY (pack_id) REFERENCES packs(id) ON DELETE CASCADE, CONSTRAINT uq_providers_pack_provider UNIQUE (pack_id, provider_id) );