bugfix
This commit is contained in:
parent
d70824198b
commit
a28cd7dedf
@ -1,166 +0,0 @@
|
|||||||
{
|
|
||||||
"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": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,138 +0,0 @@
|
|||||||
{
|
|
||||||
"summary": [
|
|
||||||
{
|
|
||||||
"name": "hermes_executions",
|
|
||||||
"title": "Hermes Agent Executions",
|
|
||||||
"primary": "id",
|
|
||||||
"catelog": "entity"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"title": "Execution ID",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Primary key - UUID format"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "user_id",
|
|
||||||
"title": "User ID",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Owner user ID for multi-user isolation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "workflow_id",
|
|
||||||
"title": "Workflow ID",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Parent workflow ID"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "task_id",
|
|
||||||
"title": "Task ID",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Executed task ID"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "execution_status",
|
|
||||||
"title": "Execution Status",
|
|
||||||
"type": "str",
|
|
||||||
"length": 16,
|
|
||||||
"nullable": "no",
|
|
||||||
"default": "pending",
|
|
||||||
"comments": "Status: pending, running, completed, failed, cancelled"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "start_time",
|
|
||||||
"title": "Start Time",
|
|
||||||
"type": "timestamp",
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "Execution start timestamp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "end_time",
|
|
||||||
"title": "End Time",
|
|
||||||
"type": "timestamp",
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "Execution end timestamp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "duration_seconds",
|
|
||||||
"title": "Duration Seconds",
|
|
||||||
"type": "long",
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "Total execution duration in seconds"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "result_json",
|
|
||||||
"title": "Result JSON",
|
|
||||||
"type": "text",
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "JSON result of task execution"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "error_message",
|
|
||||||
"title": "Error Message",
|
|
||||||
"type": "text",
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "Error message if execution failed"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "retry_count",
|
|
||||||
"title": "Retry Count",
|
|
||||||
"type": "short",
|
|
||||||
"length": 2,
|
|
||||||
"nullable": "no",
|
|
||||||
"default": "0",
|
|
||||||
"comments": "Number of retries attempted"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"title": "Created At",
|
|
||||||
"type": "timestamp",
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Creation timestamp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "updated_at",
|
|
||||||
"title": "Updated At",
|
|
||||||
"type": "timestamp",
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Last update timestamp"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"indexes": [
|
|
||||||
{
|
|
||||||
"name": "idx_executions_user_id",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["user_id"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "idx_executions_workflow_id",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["workflow_id"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "idx_executions_task_id",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["task_id"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "idx_executions_status",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["execution_status"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "idx_executions_created",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["created_at"]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
99
models/hermes_memory.json
Normal file
99
models/hermes_memory.json
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
{
|
||||||
|
"summary": [
|
||||||
|
{
|
||||||
|
"name": "hermes_memory",
|
||||||
|
"title": "Persistent memory storage with user isolation and intelligent filtering",
|
||||||
|
"primary": "id",
|
||||||
|
"catelog": "entity"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"title": "Memory ID",
|
||||||
|
"type": "str",
|
||||||
|
"length": 32,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Unique memory entry identifier"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "user_id",
|
||||||
|
"title": "User ID",
|
||||||
|
"type": "str",
|
||||||
|
"length": 32,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "User who owns this memory entry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "target",
|
||||||
|
"title": "Memory Target",
|
||||||
|
"type": "str",
|
||||||
|
"length": 20,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Target: memory or user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "content",
|
||||||
|
"title": "Memory Content",
|
||||||
|
"type": "text",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Actual memory content"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "priority",
|
||||||
|
"title": "Priority",
|
||||||
|
"type": "short",
|
||||||
|
"length": 3,
|
||||||
|
"nullable": "no",
|
||||||
|
"default": "50",
|
||||||
|
"comments": "Memory priority (0-100) for intelligent filtering"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "access_count",
|
||||||
|
"title": "Access Count",
|
||||||
|
"type": "long",
|
||||||
|
"nullable": "no",
|
||||||
|
"default": "0",
|
||||||
|
"comments": "Usage statistics for optimization"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "last_accessed",
|
||||||
|
"title": "Last Accessed",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "yes",
|
||||||
|
"comments": "Last access timestamp for relevance ranking"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "created_at",
|
||||||
|
"title": "Created At",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Creation timestamp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "updated_at",
|
||||||
|
"title": "Updated At",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Last update timestamp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"indexes": [
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_memory_user",
|
||||||
|
"idxtype": "index",
|
||||||
|
"idxfields": ["user_id", "priority"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_memory_target",
|
||||||
|
"idxtype": "index",
|
||||||
|
"idxfields": ["target"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_memory_priority",
|
||||||
|
"idxtype": "index",
|
||||||
|
"idxfields": ["priority", "last_accessed"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"codes": []
|
||||||
|
}
|
||||||
123
models/hermes_remote_skills.json
Normal file
123
models/hermes_remote_skills.json
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
{
|
||||||
|
"summary": [
|
||||||
|
{
|
||||||
|
"name": "hermes_remote_skills",
|
||||||
|
"title": "Remote skills SSH configuration with user isolation",
|
||||||
|
"primary": "id",
|
||||||
|
"catelog": "entity"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"title": "Remote Skill ID",
|
||||||
|
"type": "str",
|
||||||
|
"length": 32,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Unique remote skill identifier"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "user_id",
|
||||||
|
"title": "User ID",
|
||||||
|
"type": "str",
|
||||||
|
"length": 32,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "User who owns this remote skill configuration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "host",
|
||||||
|
"title": "SSH Host",
|
||||||
|
"type": "str",
|
||||||
|
"length": 255,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "SSH server hostname or IP address"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "port",
|
||||||
|
"title": "SSH Port",
|
||||||
|
"type": "long",
|
||||||
|
"nullable": "no",
|
||||||
|
"default": "22",
|
||||||
|
"comments": "SSH server port"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "username",
|
||||||
|
"title": "Username",
|
||||||
|
"type": "str",
|
||||||
|
"length": 100,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "SSH username"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "auth_method",
|
||||||
|
"title": "Authentication Method",
|
||||||
|
"type": "str",
|
||||||
|
"length": 20,
|
||||||
|
"nullable": "no",
|
||||||
|
"default": "key",
|
||||||
|
"comments": "Authentication method: key or password"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ssh_key_path",
|
||||||
|
"title": "SSH Key Path",
|
||||||
|
"type": "str",
|
||||||
|
"length": 255,
|
||||||
|
"nullable": "yes",
|
||||||
|
"comments": "Path to SSH private key file (for key auth)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "description",
|
||||||
|
"title": "Description",
|
||||||
|
"type": "text",
|
||||||
|
"nullable": "yes",
|
||||||
|
"comments": "Description of the remote host"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "is_active",
|
||||||
|
"title": "Is Active",
|
||||||
|
"type": "short",
|
||||||
|
"nullable": "no",
|
||||||
|
"default": "1",
|
||||||
|
"comments": "Whether configuration is active (1=true, 0=false)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "last_connected",
|
||||||
|
"title": "Last Connected",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "yes",
|
||||||
|
"comments": "Last successful connection timestamp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "created_at",
|
||||||
|
"title": "Created At",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Creation timestamp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "updated_at",
|
||||||
|
"title": "Updated At",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Last update timestamp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"indexes": [
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_remote_skills_user",
|
||||||
|
"idxtype": "index",
|
||||||
|
"idxfields": ["user_id", "host"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_remote_skills_host",
|
||||||
|
"idxtype": "unique",
|
||||||
|
"idxfields": ["user_id", "host", "port", "username"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_remote_skills_active",
|
||||||
|
"idxtype": "index",
|
||||||
|
"idxfields": ["is_active"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"codes": []
|
||||||
|
}
|
||||||
97
models/hermes_sessions.json
Normal file
97
models/hermes_sessions.json
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
{
|
||||||
|
"summary": [
|
||||||
|
{
|
||||||
|
"name": "hermes_sessions",
|
||||||
|
"title": "Session metadata with user isolation",
|
||||||
|
"primary": "id",
|
||||||
|
"catelog": "entity"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"title": "Session ID",
|
||||||
|
"type": "str",
|
||||||
|
"length": 32,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Unique session identifier"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "user_id",
|
||||||
|
"title": "User ID",
|
||||||
|
"type": "str",
|
||||||
|
"length": 32,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "User who owns this session"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "session_title",
|
||||||
|
"title": "Session Title",
|
||||||
|
"type": "str",
|
||||||
|
"length": 200,
|
||||||
|
"nullable": "yes",
|
||||||
|
"comments": "Human-readable session title"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "start_time",
|
||||||
|
"title": "Start Time",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Session start timestamp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "end_time",
|
||||||
|
"title": "End Time",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "yes",
|
||||||
|
"comments": "Session end timestamp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "is_active",
|
||||||
|
"title": "Is Active",
|
||||||
|
"type": "short",
|
||||||
|
"nullable": "no",
|
||||||
|
"default": "1",
|
||||||
|
"comments": "Whether session is active (1=true, 0=false)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "metadata",
|
||||||
|
"title": "Metadata",
|
||||||
|
"type": "text",
|
||||||
|
"nullable": "yes",
|
||||||
|
"comments": "JSON metadata about the session"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "created_at",
|
||||||
|
"title": "Created At",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Creation timestamp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "updated_at",
|
||||||
|
"title": "Updated At",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Last update timestamp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"indexes": [
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_sessions_user",
|
||||||
|
"idxtype": "index",
|
||||||
|
"idxfields": ["user_id", "start_time"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_sessions_active",
|
||||||
|
"idxtype": "index",
|
||||||
|
"idxfields": ["user_id", "is_active"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_sessions_time",
|
||||||
|
"idxtype": "index",
|
||||||
|
"idxfields": ["start_time", "end_time"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"codes": []
|
||||||
|
}
|
||||||
98
models/hermes_skills.json
Normal file
98
models/hermes_skills.json
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
{
|
||||||
|
"summary": [
|
||||||
|
{
|
||||||
|
"name": "hermes_skills",
|
||||||
|
"title": "Skills repository with user isolation",
|
||||||
|
"primary": "id",
|
||||||
|
"catelog": "entity"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"title": "Skill ID",
|
||||||
|
"type": "str",
|
||||||
|
"length": 32,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Unique skill identifier"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "user_id",
|
||||||
|
"title": "User ID",
|
||||||
|
"type": "str",
|
||||||
|
"length": 32,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "User who owns this skill"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"title": "Skill Name",
|
||||||
|
"type": "str",
|
||||||
|
"length": 100,
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Skill name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "description",
|
||||||
|
"title": "Description",
|
||||||
|
"type": "text",
|
||||||
|
"nullable": "yes",
|
||||||
|
"comments": "Skill description"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "content",
|
||||||
|
"title": "Skill Content",
|
||||||
|
"type": "text",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Full skill content (SKILL.md format)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "category",
|
||||||
|
"title": "Category",
|
||||||
|
"type": "str",
|
||||||
|
"length": 50,
|
||||||
|
"nullable": "yes",
|
||||||
|
"comments": "Skill category"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "is_active",
|
||||||
|
"title": "Is Active",
|
||||||
|
"type": "short",
|
||||||
|
"nullable": "no",
|
||||||
|
"default": "1",
|
||||||
|
"comments": "Whether skill is active (1=true, 0=false)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "created_at",
|
||||||
|
"title": "Created At",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Creation timestamp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "updated_at",
|
||||||
|
"title": "Updated At",
|
||||||
|
"type": "timestamp",
|
||||||
|
"nullable": "no",
|
||||||
|
"comments": "Last update timestamp"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"indexes": [
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_skills_user",
|
||||||
|
"idxtype": "index",
|
||||||
|
"idxfields": ["user_id", "name"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_skills_name",
|
||||||
|
"idxtype": "unique",
|
||||||
|
"idxfields": ["user_id", "name"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "idx_hermes_skills_category",
|
||||||
|
"idxtype": "index",
|
||||||
|
"idxfields": ["category"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"codes": []
|
||||||
|
}
|
||||||
@ -1,153 +0,0 @@
|
|||||||
{
|
|
||||||
"summary": [
|
|
||||||
{
|
|
||||||
"name": "hermes_tasks",
|
|
||||||
"title": "Hermes Agent Tasks",
|
|
||||||
"primary": "id",
|
|
||||||
"catelog": "entity"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"title": "Task ID",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Primary key - UUID format"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "user_id",
|
|
||||||
"title": "User ID",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Owner user ID for multi-user isolation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "workflow_id",
|
|
||||||
"title": "Workflow ID",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Parent workflow ID"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "task_name",
|
|
||||||
"title": "Task Name",
|
|
||||||
"type": "str",
|
|
||||||
"length": 128,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Human-readable task name"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "task_type",
|
|
||||||
"title": "Task Type",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Type: skill, tool, memory, session_search, custom"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "skill_name",
|
|
||||||
"title": "Skill Name",
|
|
||||||
"type": "str",
|
|
||||||
"length": 64,
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "Referenced skill name (for skill type tasks)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "tool_name",
|
|
||||||
"title": "Tool Name",
|
|
||||||
"type": "str",
|
|
||||||
"length": 64,
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "Referenced tool name (for tool type tasks)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "parameters_json",
|
|
||||||
"title": "Parameters JSON",
|
|
||||||
"type": "text",
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "JSON parameters for task execution"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "depends_on",
|
|
||||||
"title": "Depends On",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "Task ID this task depends on (for sequential workflows)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "parallel_group",
|
|
||||||
"title": "Parallel Group",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "Group ID for parallel execution"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "timeout_seconds",
|
|
||||||
"title": "Timeout Seconds",
|
|
||||||
"type": "long",
|
|
||||||
"nullable": "no",
|
|
||||||
"default": "300",
|
|
||||||
"comments": "Task timeout in seconds"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "retry_count",
|
|
||||||
"title": "Retry Count",
|
|
||||||
"type": "short",
|
|
||||||
"length": 2,
|
|
||||||
"nullable": "no",
|
|
||||||
"default": "2",
|
|
||||||
"comments": "Number of retries for failed task"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "order_index",
|
|
||||||
"title": "Order Index",
|
|
||||||
"type": "short",
|
|
||||||
"length": 4,
|
|
||||||
"nullable": "no",
|
|
||||||
"default": "0",
|
|
||||||
"comments": "Execution order index"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"title": "Created At",
|
|
||||||
"type": "timestamp",
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Creation timestamp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "updated_at",
|
|
||||||
"title": "Updated At",
|
|
||||||
"type": "timestamp",
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Last update timestamp"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"indexes": [
|
|
||||||
{
|
|
||||||
"name": "idx_tasks_user_id",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["user_id"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "idx_tasks_workflow_id",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["workflow_id"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "idx_tasks_task_type",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["task_type"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "idx_tasks_order",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["workflow_id", "order_index"]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@ -1,118 +0,0 @@
|
|||||||
{
|
|
||||||
"summary": [
|
|
||||||
{
|
|
||||||
"name": "hermes_workflows",
|
|
||||||
"title": "Hermes Agent Workflows",
|
|
||||||
"primary": "id",
|
|
||||||
"catelog": "entity"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "id",
|
|
||||||
"title": "Workflow ID",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Primary key - UUID format"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "user_id",
|
|
||||||
"title": "User ID",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Owner user ID for multi-user isolation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"title": "Workflow Name",
|
|
||||||
"type": "str",
|
|
||||||
"length": 128,
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Human-readable workflow name"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "description",
|
|
||||||
"title": "Description",
|
|
||||||
"type": "text",
|
|
||||||
"nullable": "yes",
|
|
||||||
"comments": "Workflow description"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "workflow_type",
|
|
||||||
"title": "Workflow Type",
|
|
||||||
"type": "str",
|
|
||||||
"length": 32,
|
|
||||||
"nullable": "no",
|
|
||||||
"default": "sequential",
|
|
||||||
"comments": "Type: sequential, parallel, or hybrid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "max_concurrent_tasks",
|
|
||||||
"title": "Max Concurrent Tasks",
|
|
||||||
"type": "short",
|
|
||||||
"length": 3,
|
|
||||||
"nullable": "no",
|
|
||||||
"default": "3",
|
|
||||||
"comments": "Maximum number of concurrent tasks (1-10)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "timeout_seconds",
|
|
||||||
"title": "Timeout Seconds",
|
|
||||||
"type": "long",
|
|
||||||
"nullable": "no",
|
|
||||||
"default": "1800",
|
|
||||||
"comments": "Total workflow timeout in seconds"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "retry_count",
|
|
||||||
"title": "Retry Count",
|
|
||||||
"type": "short",
|
|
||||||
"length": 2,
|
|
||||||
"nullable": "no",
|
|
||||||
"default": "2",
|
|
||||||
"comments": "Number of retries for failed tasks"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "status",
|
|
||||||
"title": "Status",
|
|
||||||
"type": "str",
|
|
||||||
"length": 16,
|
|
||||||
"nullable": "no",
|
|
||||||
"default": "active",
|
|
||||||
"comments": "Workflow status: active, inactive, archived"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "created_at",
|
|
||||||
"title": "Created At",
|
|
||||||
"type": "timestamp",
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Creation timestamp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "updated_at",
|
|
||||||
"title": "Updated At",
|
|
||||||
"type": "timestamp",
|
|
||||||
"nullable": "no",
|
|
||||||
"comments": "Last update timestamp"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"indexes": [
|
|
||||||
{
|
|
||||||
"name": "idx_workflows_user_id",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["user_id"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "idx_workflows_status",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["status"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "idx_workflows_name",
|
|
||||||
"idxtype": "index",
|
|
||||||
"idxfields": ["name"]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user