/*M!999999\- enable the sandbox mode */ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; DROP TABLE IF EXISTS `agent_commands`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `agent_commands` ( `id` int(11) NOT NULL AUTO_INCREMENT, `agent_id` varchar(128) NOT NULL, `command_type` varchar(64) NOT NULL, `command_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`command_data`)), `status` enum('pending','delivered','executed','failed') NOT NULL DEFAULT 'pending', `created_at` datetime DEFAULT current_timestamp(), `delivered_at` datetime DEFAULT NULL, `executed_at` datetime DEFAULT NULL, `result` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`result`)), PRIMARY KEY (`id`), KEY `idx_agent_pending` (`agent_id`,`status`), KEY `idx_created` (`created_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `agent_metrics`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `agent_metrics` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `agent_id` varchar(128) NOT NULL, `metric_type` varchar(64) NOT NULL, `metric_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`metric_data`)), `recorded_at` datetime DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `idx_agent_time` (`agent_id`,`recorded_at`), KEY `idx_recorded` (`recorded_at`) ) ENGINE=InnoDB AUTO_INCREMENT=28329 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `alerts`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `alerts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `alert_type` varchar(50) NOT NULL, `title` varchar(255) NOT NULL, `message` text DEFAULT NULL, `severity` enum('info','warning','critical') DEFAULT 'info', `resolved` tinyint(1) DEFAULT 0, `created_at` timestamp NULL DEFAULT current_timestamp(), `resolved_at` timestamp NULL DEFAULT NULL, `source_key` varchar(100) DEFAULT NULL, `auto_resolve` tinyint(1) DEFAULT 0, PRIMARY KEY (`id`), KEY `idx_source_key` (`source_key`) ) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `api_cache`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `api_cache` ( `cache_key` varchar(100) NOT NULL, `data` mediumtext NOT NULL, `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`cache_key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `conversations`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `conversations` ( `id` int(11) NOT NULL AUTO_INCREMENT, `session_id` varchar(64) NOT NULL, `role` enum('user','assistant','system') NOT NULL, `content` text NOT NULL, `tokens_used` int(11) DEFAULT 0, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `idx_session` (`session_id`), KEY `idx_created` (`created_at`) ) ENGINE=InnoDB AUTO_INCREMENT=325 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `ha_entities`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ha_entities` ( `id` int(11) NOT NULL AUTO_INCREMENT, `agent_id` varchar(128) NOT NULL, `entity_id` varchar(255) NOT NULL, `entity_name` varchar(255) DEFAULT NULL, `domain` varchar(64) DEFAULT NULL, `state` varchar(255) DEFAULT NULL, `attributes` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`attributes`)), `last_changed` datetime DEFAULT NULL, `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `uk_agent_entity` (`agent_id`,`entity_id`), KEY `idx_domain` (`domain`), KEY `idx_updated` (`updated_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `kb_facts`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `kb_facts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category` varchar(64) NOT NULL COMMENT 'e.g. system, network, proxmox, ha, weather', `fact_key` varchar(128) NOT NULL, `fact_value` text NOT NULL, `host` varchar(64) DEFAULT 'local', `expires_at` datetime DEFAULT NULL, `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `unique_fact` (`category`,`fact_key`,`host`) ) ENGINE=InnoDB AUTO_INCREMENT=26088 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `kb_intents`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `kb_intents` ( `id` int(11) NOT NULL AUTO_INCREMENT, `intent_name` varchar(64) NOT NULL, `pattern` varchar(512) NOT NULL COMMENT 'regex pattern to match user input', `response_template` text NOT NULL COMMENT 'template with {fact_key} placeholders', `fact_category` varchar(64) DEFAULT NULL, `action_type` varchar(32) DEFAULT 'response' COMMENT 'response, action, ollama, claude', `priority` int(11) DEFAULT 5, `active` tinyint(1) DEFAULT 1, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `kb_ollama_models`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `kb_ollama_models` ( `id` int(11) NOT NULL AUTO_INCREMENT, `model_name` varchar(128) NOT NULL, `size_gb` decimal(6,1) DEFAULT NULL, `context_length` int(11) DEFAULT 4096, `is_active` tinyint(1) DEFAULT 0, `pulled_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `model_name` (`model_name`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `kb_preferences`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `kb_preferences` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pref_key` varchar(128) NOT NULL, `pref_value` text NOT NULL, `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `pref_key` (`pref_key`) ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `known_commands`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `known_commands` ( `id` int(11) NOT NULL AUTO_INCREMENT, `phrase` varchar(255) NOT NULL, `action` varchar(100) NOT NULL, `params` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`params`)), `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `metrics_history`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `metrics_history` ( `id` int(11) NOT NULL AUTO_INCREMENT, `metric_name` varchar(100) NOT NULL, `metric_value` float NOT NULL, `host` varchar(100) DEFAULT 'jarvis', `recorded_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), KEY `idx_metric_time` (`metric_name`,`recorded_at`) ) ENGINE=InnoDB AUTO_INCREMENT=33415 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `network_devices`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `network_devices` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ip` varchar(45) NOT NULL, `mac` varchar(17) DEFAULT NULL, `hostname` varchar(255) DEFAULT NULL, `alias` varchar(100) DEFAULT NULL, `device_type` varchar(50) DEFAULT NULL, `last_seen` timestamp NULL DEFAULT NULL, `status` enum('online','offline','unknown') DEFAULT 'unknown', `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `uk_ip` (`ip`) ) ENGINE=InnoDB AUTO_INCREMENT=409 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `registered_agents`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `registered_agents` ( `id` int(11) NOT NULL AUTO_INCREMENT, `agent_id` varchar(128) NOT NULL, `hostname` varchar(255) NOT NULL, `agent_type` enum('linux','homeassistant','proxmox') NOT NULL DEFAULT 'linux', `ip_address` varchar(45) DEFAULT NULL, `api_key` varchar(64) NOT NULL, `capabilities` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`capabilities`)), `last_seen` datetime DEFAULT NULL, `status` enum('online','offline','unknown') NOT NULL DEFAULT 'unknown', `created_at` datetime DEFAULT current_timestamp(), `updated_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `uk_agent_id` (`agent_id`), KEY `idx_status` (`status`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `users`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password_hash` varchar(255) NOT NULL, `display_name` varchar(100) DEFAULT 'Mr. Blair', `preferences` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`preferences`)), `last_seen` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;