{"table_name":"atlasai_events","full_table_name":"wp_atlasai_events","description":"Stores atlasai events data created by this plugin.","detection_method":"static","confidence":"medium","create_sql":"CREATE TABLE IF NOT EXISTS wp_atlasai_events ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, visitor_hash varchar(64) NOT NULL, user_id bigint(20) unsigned DEFAULT 0, session_id varchar(64) NOT NULL, event_type varchar(50) NOT NULL, post_id bigint(20) unsigned NOT NULL DEFAULT 0, event_value float NOT NULL DEFAULT 0, weight float NOT NULL DEFAULT 1.0, meta text NULL, created_at datetime NOT NULL, PRIMARY KEY (id), KEY visitor_hash (visitor_hash), KEY user_id (user_id), KEY post_id (post_id), KEY event_type (event_type), KEY session_id (session_id), KEY created_at (created_at), KEY user_post (user_id, post_id), KEY user_signal (user_id, event_type) ) {$charset_collate};\"; $pf_profiles = \"CREATE TABLE IF NOT EXISTS wp_atlasai_user_profiles ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, visitor_hash varchar(64) NOT NULL, user_id bigint(20) unsigned NULL, taste_vector longtext NOT NULL, total_signals int unsigned DEFAULT 0, last_computed datetime, expires_at datetime NULL, PRIMARY KEY (id), UNIQUE KEY visitor_hash (visitor_hash), KEY user_id (user_id), KEY expires_at (expires_at) ) {$charset_collate};\"; $pf_cache = \"CREATE TABLE IF NOT EXISTS wp_atlasai_personalized_cache ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, visitor_hash varchar(64) NOT NULL, user_id bigint(20) unsigned NULL, recommendations longtext NOT NULL, computed_at datetime, expires_at datetime NOT NULL, PRIMARY KEY (id), UNIQUE KEY visitor_hash (visitor_hash), KEY user_id (user_id), KEY expires_at (expires_at) ) {$charset_collate};\"; /** * Filter PersonaFlow database tables. * * Pro add-on uses this to add the user_exclusions table. * * @param array $tables Array of SQL CREATE TABLE statements. */ $pf_tables = apply_filters( 'atlas_ai_personaflow_tables', array( $pf_events, $pf_profiles, $pf_cache ) );","columns":[{"name":"id","type":"bigint(20) unsigned","nullable":false,"primary_key":true},{"name":"visitor_hash","type":"varchar(64)","nullable":false,"primary_key":false},{"name":"user_id","type":"bigint(20) unsigned","nullable":true,"primary_key":false},{"name":"session_id","type":"varchar(64)","nullable":false,"primary_key":false},{"name":"event_type","type":"varchar(50)","nullable":false,"primary_key":false},{"name":"post_id","type":"bigint(20) unsigned","nullable":false,"primary_key":false},{"name":"event_value","type":"float","nullable":false,"primary_key":false},{"name":"weight","type":"float","nullable":false,"primary_key":false},{"name":"meta","type":"text","nullable":true,"primary_key":false},{"name":"created_at","type":"datetime","nullable":false,"primary_key":false},{"name":"visitor_hash","type":"varchar(64)","nullable":false,"primary_key":false},{"name":"user_id","type":"bigint(20) unsigned","nullable":true,"primary_key":false},{"name":"taste_vector","type":"longtext","nullable":false,"primary_key":false},{"name":"total_signals","type":"int unsigned","nullable":true,"primary_key":false},{"name":"last_computed","type":"datetime","nullable":true,"primary_key":false},{"name":"expires_at","type":"datetime","nullable":true,"primary_key":false},{"name":"visitor_hash","type":"varchar(64)","nullable":false,"primary_key":false},{"name":"user_id","type":"bigint(20) unsigned","nullable":true,"primary_key":false},{"name":"recommendations","type":"longtext","nullable":false,"primary_key":false},{"name":"computed_at","type":"datetime","nullable":true,"primary_key":false},{"name":"expires_at","type":"datetime","nullable":false,"primary_key":false}],"plugin":{"slug":"smart-local-ai","name":"Smart Local AI – Browser-Based Private AI Tools","active_installs":0,"version":"1.0.6","wp_org_url":"https://wordpress.org/plugins/smart-local-ai/"}}