{ "hermes_memory": { "summary": "Enhanced memory storage with intelligent filtering and user isolation", "fields": { "id": {"type": "string", "primary_key": true, "description": "Unique memory identifier"}, "user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"}, "target": {"type": "string", "required": true, "description": "Memory target: 'memory' or 'user'"}, "content": {"type": "text", "required": true, "description": "Memory content"}, "priority": {"type": "integer", "default": 50, "description": "Priority score (0-100) for intelligent filtering"}, "access_count": {"type": "integer", "default": 0, "description": "Number of times this memory has been accessed"}, "last_accessed": {"type": "datetime", "nullable": true, "description": "Last access timestamp for relevance ranking"}, "created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"}, "updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"} }, "indexes": [ ["user_id", "target"], ["user_id", "priority", "last_accessed"], ["user_id", "created_at"] ], "codes": {} }, "hermes_skills": { "summary": "User-isolated skills storage with full CRUD operations", "fields": { "id": {"type": "string", "primary_key": true, "description": "Unique skill identifier"}, "user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"}, "name": {"type": "string", "required": true, "description": "Skill name"}, "description": {"type": "text", "nullable": true, "description": "Skill description"}, "category": {"type": "string", "nullable": true, "description": "Skill category"}, "version": {"type": "string", "default": "1.0.0", "description": "Skill version"}, "content": {"type": "text", "required": true, "description": "Skill content (SKILL.md format)"}, "created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"}, "updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"} }, "indexes": [ ["user_id", "name"], ["user_id", "category"], ["user_id", "created_at"] ], "codes": {} }, "hermes_sessions": { "summary": "Session metadata with user isolation for conversation history", "fields": { "id": {"type": "string", "primary_key": true, "description": "Unique session identifier"}, "user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"}, "title": {"type": "string", "nullable": true, "description": "Session title"}, "preview": {"type": "text", "nullable": true, "description": "Session preview text"}, "tags": {"type": "string", "nullable": true, "description": "Comma-separated session tags"}, "started_at": {"type": "datetime", "required": true, "description": "Session start timestamp"}, "ended_at": {"type": "datetime", "nullable": true, "description": "Session end timestamp"}, "duration_seconds": {"type": "integer", "nullable": true, "description": "Session duration in seconds"} }, "indexes": [ ["user_id", "started_at"], ["user_id", "title"], ["user_id", "tags"] ], "codes": {} }, "hermes_remote_skills": { "summary": "SSH remote skills configuration with deployment tracking", "fields": { "id": {"type": "string", "primary_key": true, "description": "Unique remote skill identifier"}, "user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"}, "name": {"type": "string", "required": true, "description": "Remote skill name"}, "host": {"type": "string", "required": true, "description": "SSH host address"}, "port": {"type": "integer", "default": 22, "description": "SSH port"}, "username": {"type": "string", "required": true, "description": "SSH username"}, "remote_path": {"type": "string", "default": "~/.skills", "description": "Remote skills directory path"}, "auth_method": {"type": "string", "default": "key", "description": "Authentication method: 'key' or 'password'"}, "ssh_key_path": {"type": "string", "nullable": true, "description": "Path to SSH private key file"}, "description": {"type": "text", "nullable": true, "description": "Remote skill description"}, "category": {"type": "string", "nullable": true, "description": "Remote skill category"}, "version": {"type": "string", "default": "1.0.0", "description": "Remote skill version"}, "enabled": {"type": "boolean", "default": true, "description": "Whether the remote skill is enabled"}, "last_deployed": {"type": "datetime", "nullable": true, "description": "Last deployment timestamp"}, "last_executed": {"type": "datetime", "nullable": true, "description": "Last execution timestamp"}, "created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"}, "updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"} }, "indexes": [ ["user_id", "name"], ["user_id", "host", "username"], ["user_id", "enabled"], ["user_id", "created_at"] ], "codes": {} }, "hermes_workflows": { "summary": "Workflow definitions with orchestration parameters", "fields": { "id": {"type": "string", "primary_key": true, "description": "Unique workflow identifier"}, "user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"}, "name": {"type": "string", "required": true, "description": "Workflow name"}, "description": {"type": "text", "nullable": true, "description": "Workflow description"}, "workflow_type": {"type": "string", "default": "sequential", "description": "Workflow type: sequential, parallel, or hybrid"}, "max_concurrent_tasks": {"type": "integer", "default": 3, "description": "Maximum concurrent tasks for parallel workflows"}, "timeout_seconds": {"type": "integer", "default": 1800, "description": "Workflow timeout in seconds"}, "retry_count": {"type": "integer", "default": 2, "description": "Default retry count for tasks"}, "status": {"type": "string", "default": "active", "description": "Workflow status: active, inactive, archived"}, "created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"}, "updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"} }, "indexes": [ ["user_id", "name"], ["user_id", "workflow_type"], ["user_id", "status"], ["user_id", "created_at"] ], "codes": {} }, "hermes_tasks": { "summary": "Task definitions with dependencies and execution parameters", "fields": { "id": {"type": "string", "primary_key": true, "description": "Unique task identifier"}, "user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"}, "workflow_id": {"type": "string", "required": true, "description": "Associated workflow ID"}, "task_name": {"type": "string", "required": true, "description": "Task name"}, "task_type": {"type": "string", "required": true, "description": "Task type: skill, tool, memory, session_search, custom"}, "skill_name": {"type": "string", "nullable": true, "description": "Skill name (for skill tasks)"}, "tool_name": {"type": "string", "nullable": true, "description": "Tool name (for tool tasks)"}, "parameters_json": {"type": "text", "nullable": true, "description": "JSON-encoded task parameters"}, "depends_on": {"type": "string", "nullable": true, "description": "ID of task this depends on"}, "parallel_group": {"type": "string", "nullable": true, "description": "Parallel group identifier for hybrid workflows"}, "timeout_seconds": {"type": "integer", "default": 300, "description": "Task timeout in seconds"}, "retry_count": {"type": "integer", "default": 2, "description": "Task-specific retry count"}, "order_index": {"type": "integer", "default": 0, "description": "Execution order index"}, "created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"}, "updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"} }, "indexes": [ ["user_id", "workflow_id"], ["user_id", "task_type"], ["user_id", "parallel_group"], ["user_id", "order_index"], ["depends_on"] ], "codes": {} }, "hermes_executions": { "summary": "Execution records with status tracking and results", "fields": { "id": {"type": "string", "primary_key": true, "description": "Unique execution identifier"}, "user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"}, "workflow_id": {"type": "string", "required": true, "description": "Associated workflow ID"}, "task_id": {"type": "string", "nullable": true, "description": "Associated task ID (null for workflow executions)"}, "execution_status": {"type": "string", "default": "pending", "description": "Execution status: pending, running, completed, failed, cancelled"}, "start_time": {"type": "datetime", "nullable": true, "description": "Execution start timestamp"}, "end_time": {"type": "datetime", "nullable": true, "description": "Execution end timestamp"}, "duration_seconds": {"type": "integer", "nullable": true, "description": "Execution duration in seconds"}, "result_json": {"type": "text", "nullable": true, "description": "JSON-encoded execution result"}, "error_message": {"type": "text", "nullable": true, "description": "Error message if execution failed"}, "retry_count": {"type": "integer", "default": 0, "description": "Number of retries attempted"}, "created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"}, "updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"} }, "indexes": [ ["user_id", "workflow_id"], ["user_id", "execution_status"], ["user_id", "start_time"], ["user_id", "created_at"] ], "codes": {} } }