claude-flow 2.0.0-alpha.99 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/MIGRATION_SUMMARY.md +7 -0
- package/.claude/agents/README.md +7 -0
- package/.claude/agents/consensus/README.md +7 -0
- package/.claude/agents/flow-nexus/app-store.md +88 -0
- package/.claude/agents/flow-nexus/authentication.md +69 -0
- package/.claude/agents/flow-nexus/challenges.md +81 -0
- package/.claude/agents/flow-nexus/neural-network.md +88 -0
- package/.claude/agents/flow-nexus/payments.md +83 -0
- package/.claude/agents/flow-nexus/sandbox.md +76 -0
- package/.claude/agents/flow-nexus/swarm.md +76 -0
- package/.claude/agents/flow-nexus/user-tools.md +96 -0
- package/.claude/agents/flow-nexus/workflow.md +84 -0
- package/.claude/agents/optimization/README.md +7 -0
- package/.claude/agents/optimization/benchmark-suite.md +7 -0
- package/.claude/agents/optimization/load-balancer.md +7 -0
- package/.claude/agents/optimization/performance-monitor.md +7 -0
- package/.claude/agents/optimization/resource-allocator.md +7 -0
- package/.claude/agents/optimization/topology-optimizer.md +7 -0
- package/.claude/agents/swarm/README.md +7 -0
- package/.claude/checkpoints/1756227652.json +1 -0
- package/.claude/checkpoints/1756227653.json +1 -0
- package/.claude/checkpoints/1756227666.json +1 -0
- package/.claude/checkpoints/1756227668.json +1 -0
- package/.claude/checkpoints/1756227723.json +1 -0
- package/.claude/checkpoints/1756227725.json +1 -0
- package/.claude/checkpoints/1756227731.json +1 -0
- package/.claude/checkpoints/1756227733.json +1 -0
- package/.claude/checkpoints/1756231330.json +1 -0
- package/.claude/checkpoints/1756231331.json +1 -0
- package/.claude/checkpoints/1756231342.json +1 -0
- package/.claude/checkpoints/1756231344.json +1 -0
- package/.claude/checkpoints/1756231355.json +1 -0
- package/.claude/checkpoints/1756231357.json +1 -0
- package/.claude/checkpoints/1756231367.json +1 -0
- package/.claude/checkpoints/1756231368.json +1 -0
- package/.claude/checkpoints/1756231458.json +1 -0
- package/.claude/checkpoints/1756231459.json +1 -0
- package/.claude/checkpoints/1756231477.json +1 -0
- package/.claude/checkpoints/1756231479.json +1 -0
- package/.claude/checkpoints/1756233026.json +1 -0
- package/.claude/checkpoints/1756233028.json +1 -0
- package/.claude/checkpoints/1756233040.json +1 -0
- package/.claude/checkpoints/1756233041.json +1 -0
- package/.claude/checkpoints/1756233057.json +1 -0
- package/.claude/checkpoints/1756233059.json +1 -0
- package/.claude/checkpoints/1756233090.json +1 -0
- package/.claude/checkpoints/1756233092.json +1 -0
- package/.claude/checkpoints/1756233141.json +1 -0
- package/.claude/checkpoints/1756233143.json +1 -0
- package/.claude/checkpoints/1756475935.json +1 -0
- package/.claude/checkpoints/1756475936.json +1 -0
- package/.claude/checkpoints/1756475996.json +1 -0
- package/.claude/checkpoints/1756475998.json +1 -0
- package/.claude/checkpoints/1756476093.json +1 -0
- package/.claude/checkpoints/1756476098.json +1 -0
- package/.claude/checkpoints/1756476100.json +1 -0
- package/.claude/checkpoints/1756476101.json +1 -0
- package/.claude/checkpoints/1756476161.json +1 -0
- package/.claude/checkpoints/1756476163.json +1 -0
- package/.claude/checkpoints/1756476183.json +1 -0
- package/.claude/checkpoints/1756476184.json +1 -0
- package/.claude/checkpoints/1756476193.json +1 -0
- package/.claude/checkpoints/1756476194.json +1 -0
- package/.claude/checkpoints/1756476202.json +1 -0
- package/.claude/checkpoints/1756476204.json +1 -0
- package/.claude/checkpoints/1756476268.json +1 -0
- package/.claude/checkpoints/1756476269.json +1 -0
- package/.claude/checkpoints/1756476287.json +1 -0
- package/.claude/checkpoints/1756476288.json +1 -0
- package/.claude/checkpoints/1756997935.json +1 -0
- package/.claude/checkpoints/1756997937.json +1 -0
- package/.claude/checkpoints/1756997938.json +1 -0
- package/.claude/checkpoints/1756997940.json +1 -0
- package/.claude/checkpoints/1756997942.json +1 -0
- package/.claude/checkpoints/1756997944.json +1 -0
- package/.claude/checkpoints/1756997945.json +1 -0
- package/.claude/checkpoints/1756997947.json +1 -0
- package/.claude/checkpoints/1756997949.json +1 -0
- package/.claude/checkpoints/1756997951.json +1 -0
- package/.claude/checkpoints/1756997953.json +1 -0
- package/.claude/checkpoints/1756997955.json +1 -0
- package/.claude/checkpoints/1756997956.json +1 -0
- package/.claude/checkpoints/1756997958.json +1 -0
- package/.claude/checkpoints/1756997960.json +1 -0
- package/.claude/checkpoints/1756997962.json +1 -0
- package/.claude/checkpoints/1756997964.json +1 -0
- package/.claude/checkpoints/1756997966.json +1 -0
- package/.claude/checkpoints/1756997968.json +1 -0
- package/.claude/checkpoints/1756997970.json +1 -0
- package/.claude/checkpoints/1757190213.json +1 -0
- package/.claude/checkpoints/1757190215.json +1 -0
- package/.claude/checkpoints/1757190217.json +1 -0
- package/.claude/checkpoints/1757190219.json +1 -0
- package/.claude/checkpoints/1757190220.json +1 -0
- package/.claude/checkpoints/1757190222.json +1 -0
- package/.claude/checkpoints/1757190224.json +1 -0
- package/.claude/checkpoints/1757190225.json +1 -0
- package/.claude/checkpoints/1757190227.json +1 -0
- package/.claude/checkpoints/1757190229.json +1 -0
- package/.claude/checkpoints/1757190231.json +1 -0
- package/.claude/checkpoints/1757190232.json +1 -0
- package/.claude/checkpoints/1757190234.json +1 -0
- package/.claude/checkpoints/1757190236.json +1 -0
- package/.claude/checkpoints/1757190238.json +1 -0
- package/.claude/checkpoints/1757190240.json +1 -0
- package/.claude/checkpoints/1757190241.json +1 -0
- package/.claude/checkpoints/1757190243.json +1 -0
- package/.claude/checkpoints/1757190245.json +1 -0
- package/.claude/checkpoints/1757190247.json +1 -0
- package/.claude/checkpoints/1757190608.json +1 -0
- package/.claude/checkpoints/1757190610.json +1 -0
- package/.claude/checkpoints/1757190626.json +1 -0
- package/.claude/checkpoints/1757190628.json +1 -0
- package/.claude/checkpoints/1757190993.json +1 -0
- package/.claude/checkpoints/1757190997.json +1 -0
- package/.claude/checkpoints/1757191001.json +1 -0
- package/.claude/checkpoints/1757191004.json +1 -0
- package/.claude/checkpoints/1757191007.json +1 -0
- package/.claude/checkpoints/1757191009.json +1 -0
- package/.claude/checkpoints/1757191012.json +1 -0
- package/.claude/checkpoints/1757191014.json +1 -0
- package/.claude/checkpoints/1757191016.json +1 -0
- package/.claude/checkpoints/1757191019.json +1 -0
- package/.claude/checkpoints/1757191022.json +1 -0
- package/.claude/checkpoints/1757191024.json +1 -0
- package/.claude/checkpoints/1757191027.json +1 -0
- package/.claude/checkpoints/1757191029.json +1 -0
- package/.claude/checkpoints/1757191032.json +1 -0
- package/.claude/checkpoints/1757191034.json +1 -0
- package/.claude/checkpoints/1757191037.json +1 -0
- package/.claude/checkpoints/1757191040.json +1 -0
- package/.claude/checkpoints/1757191061.json +1 -0
- package/.claude/checkpoints/1757191063.json +1 -0
- package/.claude/checkpoints/1757191084.json +1 -0
- package/.claude/checkpoints/1757191086.json +1 -0
- package/.claude/checkpoints/1757192316.json +1 -0
- package/.claude/checkpoints/1757192318.json +1 -0
- package/.claude/checkpoints/1757192389.json +1 -0
- package/.claude/checkpoints/1757192391.json +1 -0
- package/.claude/checkpoints/1757192489.json +1 -0
- package/.claude/checkpoints/1757192491.json +1 -0
- package/.claude/checkpoints/1757192521.json +1 -0
- package/.claude/checkpoints/1757192523.json +1 -0
- package/.claude/checkpoints/1757192541.json +1 -0
- package/.claude/checkpoints/1757192543.json +1 -0
- package/.claude/checkpoints/1757193796.json +1 -0
- package/.claude/checkpoints/1757194415.json +1 -0
- package/.claude/checkpoints/1757194416.json +1 -0
- package/.claude/checkpoints/1757194435.json +1 -0
- package/.claude/checkpoints/1757194437.json +1 -0
- package/.claude/checkpoints/1757194468.json +1 -0
- package/.claude/checkpoints/1757194469.json +1 -0
- package/.claude/checkpoints/1757194554.json +1 -0
- package/.claude/checkpoints/1757194555.json +1 -0
- package/.claude/checkpoints/1757194606.json +1 -0
- package/.claude/checkpoints/1757194608.json +1 -0
- package/.claude/checkpoints/1757194817.json +1 -0
- package/.claude/checkpoints/1757194818.json +1 -0
- package/.claude/checkpoints/summary-session-20250826-165852.md +1351 -0
- package/.claude/checkpoints/summary-session-20250826-170402.md +1367 -0
- package/.claude/checkpoints/summary-session-20250826-175112.md +1327 -0
- package/.claude/checkpoints/summary-session-20250826-175609.md +1324 -0
- package/.claude/checkpoints/summary-session-20250826-175743.md +1327 -0
- package/.claude/checkpoints/summary-session-20250826-180554.md +1340 -0
- package/.claude/checkpoints/summary-session-20250826-181530.md +1344 -0
- package/.claude/checkpoints/summary-session-20250826-181633.md +1347 -0
- package/.claude/checkpoints/summary-session-20250826-182235.md +1350 -0
- package/.claude/checkpoints/summary-session-20250826-182618.md +1353 -0
- package/.claude/checkpoints/summary-session-20250826-183200.md +1372 -0
- package/.claude/checkpoints/summary-session-20250826-183232.md +1379 -0
- package/.claude/checkpoints/summary-session-20250829-133605.md +38 -0
- package/.claude/checkpoints/summary-session-20250829-134121.md +41 -0
- package/.claude/checkpoints/summary-session-20250829-134400.md +46 -0
- package/.claude/checkpoints/summary-session-20250829-134858.md +49 -0
- package/.claude/checkpoints/summary-session-20250829-135402.md +52 -0
- package/.claude/checkpoints/summary-session-20250829-135640.md +58 -0
- package/.claude/checkpoints/summary-session-20250829-135754.md +65 -0
- package/.claude/checkpoints/summary-session-20250829-135902.md +71 -0
- package/.claude/checkpoints/summary-session-20250829-140629.md +119 -0
- package/.claude/checkpoints/summary-session-20250829-140733.md +121 -0
- package/.claude/checkpoints/summary-session-20250902-190126.md +38 -0
- package/.claude/checkpoints/summary-session-20250904-150003.md +87 -0
- package/.claude/checkpoints/summary-session-20250906-202218.md +2757 -0
- package/.claude/checkpoints/summary-session-20250906-202622.md +2814 -0
- package/.claude/checkpoints/summary-session-20250906-203037.md +2826 -0
- package/.claude/checkpoints/task-1756227619.json +1 -0
- package/.claude/checkpoints/task-1756230633.json +1 -0
- package/.claude/checkpoints/task-1756230902.json +1 -0
- package/.claude/checkpoints/task-1756230993.json +1 -0
- package/.claude/checkpoints/task-1756231253.json +1 -0
- package/.claude/checkpoints/task-1756232070.json +1 -0
- package/.claude/checkpoints/task-1756232144.json +1 -0
- package/.claude/checkpoints/task-1756232251.json +1 -0
- package/.claude/checkpoints/task-1756232564.json +1 -0
- package/.claude/checkpoints/task-1756232982.json +1 -0
- package/.claude/checkpoints/task-1756233131.json +1 -0
- package/.claude/checkpoints/task-1756474562.json +1 -0
- package/.claude/checkpoints/task-1756474754.json +1 -0
- package/.claude/checkpoints/task-1756474922.json +1 -0
- package/.claude/checkpoints/task-1756475028.json +1 -0
- package/.claude/checkpoints/task-1756475307.json +1 -0
- package/.claude/checkpoints/task-1756475349.json +1 -0
- package/.claude/checkpoints/task-1756475699.json +1 -0
- package/.claude/checkpoints/task-1756475719.json +1 -0
- package/.claude/checkpoints/task-1756475828.json +1 -0
- package/.claude/checkpoints/task-1756475858.json +1 -0
- package/.claude/checkpoints/task-1756475868.json +1 -0
- package/.claude/checkpoints/task-1756476373.json +1 -0
- package/.claude/checkpoints/task-1756839595.json +1 -0
- package/.claude/checkpoints/task-1756997821.json +1 -0
- package/.claude/checkpoints/task-1757189936.json +1 -0
- package/.claude/checkpoints/task-1757190154.json +1 -0
- package/.claude/checkpoints/task-1757190301.json +1 -0
- package/.claude/checkpoints/task-1757190369.json +1 -0
- package/.claude/checkpoints/task-1757190483.json +1 -0
- package/.claude/checkpoints/task-1757190841.json +1 -0
- package/.claude/checkpoints/task-1757191219.json +1 -0
- package/.claude/checkpoints/task-1757192639.json +1 -0
- package/.claude/checkpoints/task-1757194091.json +1 -0
- package/.claude/checkpoints/task-1757194691.json +1 -0
- package/.claude/checkpoints/task-1757194856.json +1 -0
- package/.claude/commands/flow-nexus/app-store.md +124 -0
- package/.claude/commands/flow-nexus/challenges.md +120 -0
- package/.claude/commands/flow-nexus/login-registration.md +65 -0
- package/.claude/commands/flow-nexus/neural-network.md +134 -0
- package/.claude/commands/flow-nexus/payments.md +116 -0
- package/.claude/commands/flow-nexus/sandbox.md +83 -0
- package/.claude/commands/flow-nexus/swarm.md +87 -0
- package/.claude/commands/flow-nexus/user-tools.md +152 -0
- package/.claude/commands/flow-nexus/workflow.md +115 -0
- package/README.md +29 -1
- package/bin/claude-flow +1 -1
- package/package.json +1 -1
- package/src/api/auth-service.ts +644 -0
- package/src/api/database-schema.sql +366 -0
- package/src/api/database-service.ts +788 -0
- package/src/api/swarm-api.ts +741 -0
- package/src/cli/commands/index.ts +40 -1
- package/src/cli/simple-commands/hive-mind/session-manager.js +12 -0
- package/src/cli/simple-commands/init/agent-copier.js +129 -1
- package/src/cli/simple-commands/init/index.js +116 -1
- package/src/cli/simple-commands/init/templates/claude-md.js +295 -1
- package/src/core/version.js +1 -1
- package/src/ui/console/index.html +4 -0
- package/src/ui/console/js/real-time-dashboard.js +715 -0
- package/src/ui/console/js/swarm-integration.js +485 -0
- package/src/ui/console/js/swarm-visualizer.js +879 -0
- package/src/ui/console/styles/swarm-visualizer.css +487 -0
- package/src/cli/simple-commands/init/.claude-flow/metrics/agent-metrics.json +0 -1
- package/src/cli/simple-commands/init/.claude-flow/metrics/performance.json +0 -9
- package/src/cli/simple-commands/init/.claude-flow/metrics/task-metrics.json +0 -10
- package/src/cli/simple-commands/init/.swarm/memory.db +0 -0
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
-- Database schema for Claude Flow swarm coordination system
|
|
2
|
+
-- Supports PostgreSQL, MySQL, and SQLite
|
|
3
|
+
|
|
4
|
+
-- Swarms table - stores swarm configurations and metadata
|
|
5
|
+
CREATE TABLE IF NOT EXISTS swarms (
|
|
6
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
7
|
+
name VARCHAR(255) NOT NULL,
|
|
8
|
+
topology ENUM('hierarchical', 'mesh', 'ring', 'star') NOT NULL,
|
|
9
|
+
max_agents INTEGER DEFAULT 8,
|
|
10
|
+
strategy ENUM('balanced', 'specialized', 'adaptive') DEFAULT 'balanced',
|
|
11
|
+
status ENUM('initializing', 'active', 'paused', 'destroyed') DEFAULT 'initializing',
|
|
12
|
+
config JSON,
|
|
13
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
14
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
15
|
+
destroyed_at TIMESTAMP NULL,
|
|
16
|
+
INDEX idx_swarms_status (status),
|
|
17
|
+
INDEX idx_swarms_created_at (created_at)
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
-- Agents table - stores individual agent information
|
|
21
|
+
CREATE TABLE IF NOT EXISTS agents (
|
|
22
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
23
|
+
swarm_id VARCHAR(255) NOT NULL,
|
|
24
|
+
type VARCHAR(100) NOT NULL,
|
|
25
|
+
name VARCHAR(255),
|
|
26
|
+
status ENUM('spawning', 'idle', 'busy', 'error', 'terminated') DEFAULT 'spawning',
|
|
27
|
+
capabilities JSON,
|
|
28
|
+
config JSON,
|
|
29
|
+
metadata JSON,
|
|
30
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
31
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
32
|
+
terminated_at TIMESTAMP NULL,
|
|
33
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id) ON DELETE CASCADE,
|
|
34
|
+
INDEX idx_agents_swarm (swarm_id),
|
|
35
|
+
INDEX idx_agents_status (status),
|
|
36
|
+
INDEX idx_agents_type (type)
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
-- Tasks table - stores task definitions and state
|
|
40
|
+
CREATE TABLE IF NOT EXISTS tasks (
|
|
41
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
42
|
+
swarm_id VARCHAR(255) NOT NULL,
|
|
43
|
+
description TEXT NOT NULL,
|
|
44
|
+
priority ENUM('low', 'medium', 'high', 'critical') DEFAULT 'medium',
|
|
45
|
+
strategy ENUM('parallel', 'sequential', 'adaptive') DEFAULT 'adaptive',
|
|
46
|
+
status ENUM('pending', 'assigned', 'running', 'completed', 'failed', 'cancelled') DEFAULT 'pending',
|
|
47
|
+
max_agents INTEGER,
|
|
48
|
+
requirements JSON,
|
|
49
|
+
metadata JSON,
|
|
50
|
+
result JSON,
|
|
51
|
+
error_message TEXT,
|
|
52
|
+
assigned_to VARCHAR(255),
|
|
53
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
54
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
55
|
+
started_at TIMESTAMP NULL,
|
|
56
|
+
completed_at TIMESTAMP NULL,
|
|
57
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id) ON DELETE CASCADE,
|
|
58
|
+
FOREIGN KEY (assigned_to) REFERENCES agents(id) ON DELETE SET NULL,
|
|
59
|
+
INDEX idx_tasks_swarm (swarm_id),
|
|
60
|
+
INDEX idx_tasks_status (status),
|
|
61
|
+
INDEX idx_tasks_priority (priority),
|
|
62
|
+
INDEX idx_tasks_created_at (created_at)
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
-- Task assignments table - many-to-many relationship between tasks and agents
|
|
66
|
+
CREATE TABLE IF NOT EXISTS task_assignments (
|
|
67
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
68
|
+
task_id VARCHAR(255) NOT NULL,
|
|
69
|
+
agent_id VARCHAR(255) NOT NULL,
|
|
70
|
+
status ENUM('assigned', 'active', 'completed', 'failed', 'cancelled') DEFAULT 'assigned',
|
|
71
|
+
started_at TIMESTAMP NULL,
|
|
72
|
+
completed_at TIMESTAMP NULL,
|
|
73
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
74
|
+
FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE,
|
|
75
|
+
FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE,
|
|
76
|
+
UNIQUE KEY unique_task_agent (task_id, agent_id),
|
|
77
|
+
INDEX idx_assignments_task (task_id),
|
|
78
|
+
INDEX idx_assignments_agent (agent_id),
|
|
79
|
+
INDEX idx_assignments_status (status)
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
-- Resources table - tracks system resources and their allocation
|
|
83
|
+
CREATE TABLE IF NOT EXISTS resources (
|
|
84
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
85
|
+
name VARCHAR(255) NOT NULL,
|
|
86
|
+
type VARCHAR(100) NOT NULL,
|
|
87
|
+
capacity INTEGER DEFAULT 1,
|
|
88
|
+
status ENUM('available', 'allocated', 'locked', 'error') DEFAULT 'available',
|
|
89
|
+
metadata JSON,
|
|
90
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
91
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
92
|
+
INDEX idx_resources_type (type),
|
|
93
|
+
INDEX idx_resources_status (status)
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
-- Resource allocations table - tracks which agents have which resources
|
|
97
|
+
CREATE TABLE IF NOT EXISTS resource_allocations (
|
|
98
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
99
|
+
resource_id VARCHAR(255) NOT NULL,
|
|
100
|
+
agent_id VARCHAR(255) NOT NULL,
|
|
101
|
+
allocated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
102
|
+
released_at TIMESTAMP NULL,
|
|
103
|
+
FOREIGN KEY (resource_id) REFERENCES resources(id) ON DELETE CASCADE,
|
|
104
|
+
FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE,
|
|
105
|
+
INDEX idx_allocations_resource (resource_id),
|
|
106
|
+
INDEX idx_allocations_agent (agent_id),
|
|
107
|
+
INDEX idx_allocations_active (released_at)
|
|
108
|
+
);
|
|
109
|
+
|
|
110
|
+
-- Messages table - inter-agent communication log
|
|
111
|
+
CREATE TABLE IF NOT EXISTS messages (
|
|
112
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
113
|
+
from_agent_id VARCHAR(255) NOT NULL,
|
|
114
|
+
to_agent_id VARCHAR(255) NOT NULL,
|
|
115
|
+
message_type VARCHAR(100) NOT NULL,
|
|
116
|
+
content JSON NOT NULL,
|
|
117
|
+
status ENUM('sent', 'delivered', 'failed') DEFAULT 'sent',
|
|
118
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
119
|
+
delivered_at TIMESTAMP NULL,
|
|
120
|
+
FOREIGN KEY (from_agent_id) REFERENCES agents(id) ON DELETE CASCADE,
|
|
121
|
+
FOREIGN KEY (to_agent_id) REFERENCES agents(id) ON DELETE CASCADE,
|
|
122
|
+
INDEX idx_messages_from (from_agent_id),
|
|
123
|
+
INDEX idx_messages_to (to_agent_id),
|
|
124
|
+
INDEX idx_messages_type (message_type),
|
|
125
|
+
INDEX idx_messages_created_at (created_at)
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
-- Performance metrics table - system and swarm performance data
|
|
129
|
+
CREATE TABLE IF NOT EXISTS performance_metrics (
|
|
130
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
131
|
+
swarm_id VARCHAR(255),
|
|
132
|
+
agent_id VARCHAR(255),
|
|
133
|
+
metric_type VARCHAR(100) NOT NULL,
|
|
134
|
+
metric_name VARCHAR(255) NOT NULL,
|
|
135
|
+
metric_value DECIMAL(15,4) NOT NULL,
|
|
136
|
+
unit VARCHAR(50),
|
|
137
|
+
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
138
|
+
metadata JSON,
|
|
139
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id) ON DELETE CASCADE,
|
|
140
|
+
FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE,
|
|
141
|
+
INDEX idx_metrics_swarm (swarm_id),
|
|
142
|
+
INDEX idx_metrics_agent (agent_id),
|
|
143
|
+
INDEX idx_metrics_type (metric_type),
|
|
144
|
+
INDEX idx_metrics_timestamp (timestamp)
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
-- Events table - system events and audit log
|
|
148
|
+
CREATE TABLE IF NOT EXISTS events (
|
|
149
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
150
|
+
swarm_id VARCHAR(255),
|
|
151
|
+
agent_id VARCHAR(255),
|
|
152
|
+
event_type VARCHAR(100) NOT NULL,
|
|
153
|
+
event_name VARCHAR(255) NOT NULL,
|
|
154
|
+
event_data JSON,
|
|
155
|
+
severity ENUM('debug', 'info', 'warning', 'error', 'critical') DEFAULT 'info',
|
|
156
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
157
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id) ON DELETE SET NULL,
|
|
158
|
+
FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE SET NULL,
|
|
159
|
+
INDEX idx_events_swarm (swarm_id),
|
|
160
|
+
INDEX idx_events_agent (agent_id),
|
|
161
|
+
INDEX idx_events_type (event_type),
|
|
162
|
+
INDEX idx_events_severity (severity),
|
|
163
|
+
INDEX idx_events_created_at (created_at)
|
|
164
|
+
);
|
|
165
|
+
|
|
166
|
+
-- Sessions table - tracks MCP and API sessions
|
|
167
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
168
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
169
|
+
session_type ENUM('mcp', 'api', 'websocket') NOT NULL,
|
|
170
|
+
user_id VARCHAR(255),
|
|
171
|
+
client_info JSON,
|
|
172
|
+
status ENUM('active', 'expired', 'terminated') DEFAULT 'active',
|
|
173
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
174
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
175
|
+
expires_at TIMESTAMP,
|
|
176
|
+
terminated_at TIMESTAMP NULL,
|
|
177
|
+
INDEX idx_sessions_type (session_type),
|
|
178
|
+
INDEX idx_sessions_status (status),
|
|
179
|
+
INDEX idx_sessions_user (user_id),
|
|
180
|
+
INDEX idx_sessions_created_at (created_at)
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
-- Configuration table - dynamic system configuration
|
|
184
|
+
CREATE TABLE IF NOT EXISTS configuration (
|
|
185
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
186
|
+
category VARCHAR(100) NOT NULL,
|
|
187
|
+
key_name VARCHAR(255) NOT NULL,
|
|
188
|
+
key_value JSON NOT NULL,
|
|
189
|
+
description TEXT,
|
|
190
|
+
is_encrypted BOOLEAN DEFAULT FALSE,
|
|
191
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
192
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
193
|
+
UNIQUE KEY unique_category_key (category, key_name),
|
|
194
|
+
INDEX idx_config_category (category)
|
|
195
|
+
);
|
|
196
|
+
|
|
197
|
+
-- Memory store table - persistent key-value storage for agents and swarms
|
|
198
|
+
CREATE TABLE IF NOT EXISTS memory_store (
|
|
199
|
+
id VARCHAR(255) PRIMARY KEY,
|
|
200
|
+
namespace VARCHAR(255) NOT NULL DEFAULT 'default',
|
|
201
|
+
key_name VARCHAR(255) NOT NULL,
|
|
202
|
+
value JSON NOT NULL,
|
|
203
|
+
ttl INTEGER, -- Time to live in seconds
|
|
204
|
+
metadata JSON,
|
|
205
|
+
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
206
|
+
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
207
|
+
expires_at TIMESTAMP NULL,
|
|
208
|
+
UNIQUE KEY unique_namespace_key (namespace, key_name),
|
|
209
|
+
INDEX idx_memory_namespace (namespace),
|
|
210
|
+
INDEX idx_memory_expires_at (expires_at)
|
|
211
|
+
);
|
|
212
|
+
|
|
213
|
+
-- Triggers for automatic timestamp updates (MySQL/PostgreSQL)
|
|
214
|
+
DELIMITER //
|
|
215
|
+
CREATE TRIGGER update_swarms_timestamp
|
|
216
|
+
BEFORE UPDATE ON swarms
|
|
217
|
+
FOR EACH ROW
|
|
218
|
+
BEGIN
|
|
219
|
+
SET NEW.updated_at = CURRENT_TIMESTAMP;
|
|
220
|
+
END//
|
|
221
|
+
|
|
222
|
+
CREATE TRIGGER update_agents_timestamp
|
|
223
|
+
BEFORE UPDATE ON agents
|
|
224
|
+
FOR EACH ROW
|
|
225
|
+
BEGIN
|
|
226
|
+
SET NEW.updated_at = CURRENT_TIMESTAMP;
|
|
227
|
+
END//
|
|
228
|
+
|
|
229
|
+
CREATE TRIGGER update_tasks_timestamp
|
|
230
|
+
BEFORE UPDATE ON tasks
|
|
231
|
+
FOR EACH ROW
|
|
232
|
+
BEGIN
|
|
233
|
+
SET NEW.updated_at = CURRENT_TIMESTAMP;
|
|
234
|
+
END//
|
|
235
|
+
|
|
236
|
+
CREATE TRIGGER update_resources_timestamp
|
|
237
|
+
BEFORE UPDATE ON resources
|
|
238
|
+
FOR EACH ROW
|
|
239
|
+
BEGIN
|
|
240
|
+
SET NEW.updated_at = CURRENT_TIMESTAMP;
|
|
241
|
+
END//
|
|
242
|
+
|
|
243
|
+
CREATE TRIGGER update_sessions_timestamp
|
|
244
|
+
BEFORE UPDATE ON sessions
|
|
245
|
+
FOR EACH ROW
|
|
246
|
+
BEGIN
|
|
247
|
+
SET NEW.updated_at = CURRENT_TIMESTAMP;
|
|
248
|
+
END//
|
|
249
|
+
|
|
250
|
+
CREATE TRIGGER update_configuration_timestamp
|
|
251
|
+
BEFORE UPDATE ON configuration
|
|
252
|
+
FOR EACH ROW
|
|
253
|
+
BEGIN
|
|
254
|
+
SET NEW.updated_at = CURRENT_TIMESTAMP;
|
|
255
|
+
END//
|
|
256
|
+
|
|
257
|
+
CREATE TRIGGER update_memory_store_timestamp
|
|
258
|
+
BEFORE UPDATE ON memory_store
|
|
259
|
+
FOR EACH ROW
|
|
260
|
+
BEGIN
|
|
261
|
+
SET NEW.updated_at = CURRENT_TIMESTAMP;
|
|
262
|
+
END//
|
|
263
|
+
DELIMITER ;
|
|
264
|
+
|
|
265
|
+
-- Views for common queries
|
|
266
|
+
CREATE VIEW active_swarms AS
|
|
267
|
+
SELECT s.*, COUNT(a.id) as agent_count
|
|
268
|
+
FROM swarms s
|
|
269
|
+
LEFT JOIN agents a ON s.id = a.swarm_id AND a.status != 'terminated'
|
|
270
|
+
WHERE s.status = 'active'
|
|
271
|
+
GROUP BY s.id;
|
|
272
|
+
|
|
273
|
+
CREATE VIEW swarm_metrics AS
|
|
274
|
+
SELECT
|
|
275
|
+
s.id as swarm_id,
|
|
276
|
+
s.name,
|
|
277
|
+
s.status,
|
|
278
|
+
COUNT(DISTINCT a.id) as total_agents,
|
|
279
|
+
COUNT(DISTINCT CASE WHEN a.status IN ('idle', 'busy') THEN a.id END) as active_agents,
|
|
280
|
+
COUNT(DISTINCT t.id) as total_tasks,
|
|
281
|
+
COUNT(DISTINCT CASE WHEN t.status = 'completed' THEN t.id END) as completed_tasks,
|
|
282
|
+
COUNT(DISTINCT CASE WHEN t.status = 'failed' THEN t.id END) as failed_tasks,
|
|
283
|
+
COUNT(DISTINCT CASE WHEN t.status IN ('pending', 'assigned', 'running') THEN t.id END) as active_tasks,
|
|
284
|
+
AVG(CASE WHEN t.completed_at IS NOT NULL AND t.started_at IS NOT NULL
|
|
285
|
+
THEN TIMESTAMPDIFF(SECOND, t.started_at, t.completed_at) END) as avg_task_duration_seconds
|
|
286
|
+
FROM swarms s
|
|
287
|
+
LEFT JOIN agents a ON s.id = a.swarm_id
|
|
288
|
+
LEFT JOIN tasks t ON s.id = t.swarm_id
|
|
289
|
+
WHERE s.status != 'destroyed'
|
|
290
|
+
GROUP BY s.id, s.name, s.status;
|
|
291
|
+
|
|
292
|
+
CREATE VIEW resource_utilization AS
|
|
293
|
+
SELECT
|
|
294
|
+
r.id,
|
|
295
|
+
r.name,
|
|
296
|
+
r.type,
|
|
297
|
+
r.capacity,
|
|
298
|
+
COUNT(ra.id) as allocated_count,
|
|
299
|
+
ROUND((COUNT(ra.id) / r.capacity) * 100, 2) as utilization_percentage
|
|
300
|
+
FROM resources r
|
|
301
|
+
LEFT JOIN resource_allocations ra ON r.id = ra.resource_id AND ra.released_at IS NULL
|
|
302
|
+
WHERE r.status = 'available'
|
|
303
|
+
GROUP BY r.id, r.name, r.type, r.capacity;
|
|
304
|
+
|
|
305
|
+
-- Cleanup procedures for maintenance
|
|
306
|
+
DELIMITER //
|
|
307
|
+
CREATE PROCEDURE CleanupExpiredSessions()
|
|
308
|
+
BEGIN
|
|
309
|
+
DELETE FROM sessions
|
|
310
|
+
WHERE status = 'expired'
|
|
311
|
+
AND terminated_at < DATE_SUB(NOW(), INTERVAL 7 DAY);
|
|
312
|
+
END//
|
|
313
|
+
|
|
314
|
+
CREATE PROCEDURE CleanupExpiredMemory()
|
|
315
|
+
BEGIN
|
|
316
|
+
DELETE FROM memory_store
|
|
317
|
+
WHERE expires_at IS NOT NULL
|
|
318
|
+
AND expires_at < NOW();
|
|
319
|
+
END//
|
|
320
|
+
|
|
321
|
+
CREATE PROCEDURE CleanupOldEvents()
|
|
322
|
+
BEGIN
|
|
323
|
+
DELETE FROM events
|
|
324
|
+
WHERE severity IN ('debug', 'info')
|
|
325
|
+
AND created_at < DATE_SUB(NOW(), INTERVAL 30 DAY);
|
|
326
|
+
|
|
327
|
+
DELETE FROM events
|
|
328
|
+
WHERE severity = 'warning'
|
|
329
|
+
AND created_at < DATE_SUB(NOW(), INTERVAL 90 DAY);
|
|
330
|
+
END//
|
|
331
|
+
|
|
332
|
+
CREATE PROCEDURE CleanupOldMetrics()
|
|
333
|
+
BEGIN
|
|
334
|
+
DELETE FROM performance_metrics
|
|
335
|
+
WHERE timestamp < DATE_SUB(NOW(), INTERVAL 90 DAY);
|
|
336
|
+
END//
|
|
337
|
+
DELIMITER ;
|
|
338
|
+
|
|
339
|
+
-- Sample data for testing (optional)
|
|
340
|
+
-- INSERT INTO swarms (id, name, topology, status) VALUES
|
|
341
|
+
-- ('swarm-001', 'Development Swarm', 'hierarchical', 'active'),
|
|
342
|
+
-- ('swarm-002', 'Production Swarm', 'mesh', 'active');
|
|
343
|
+
|
|
344
|
+
-- INSERT INTO agents (id, swarm_id, type, name, status, capabilities) VALUES
|
|
345
|
+
-- ('agent-001', 'swarm-001', 'coordinator', 'Main Coordinator', 'idle', '["task-management", "resource-allocation"]'),
|
|
346
|
+
-- ('agent-002', 'swarm-001', 'worker', 'Worker 1', 'idle', '["data-processing", "file-io"]'),
|
|
347
|
+
-- ('agent-003', 'swarm-001', 'worker', 'Worker 2', 'idle', '["api-calls", "data-validation"]');
|
|
348
|
+
|
|
349
|
+
-- INSERT INTO resources (id, name, type, capacity, status) VALUES
|
|
350
|
+
-- ('cpu-001', 'CPU Core 1', 'compute', 1, 'available'),
|
|
351
|
+
-- ('cpu-002', 'CPU Core 2', 'compute', 1, 'available'),
|
|
352
|
+
-- ('memory-001', 'Memory Pool 1', 'memory', 4, 'available'),
|
|
353
|
+
-- ('storage-001', 'Temp Storage', 'storage', 10, 'available');
|
|
354
|
+
|
|
355
|
+
-- Comments and documentation
|
|
356
|
+
-- This schema supports:
|
|
357
|
+
-- 1. Multi-swarm environments with different topologies
|
|
358
|
+
-- 2. Dynamic agent spawning and management
|
|
359
|
+
-- 3. Task orchestration with priorities and strategies
|
|
360
|
+
-- 4. Resource allocation and conflict resolution
|
|
361
|
+
-- 5. Inter-agent messaging and coordination
|
|
362
|
+
-- 6. Performance monitoring and metrics collection
|
|
363
|
+
-- 7. Event logging and audit trails
|
|
364
|
+
-- 8. Session management for MCP and API clients
|
|
365
|
+
-- 9. Dynamic configuration management
|
|
366
|
+
-- 10. Persistent memory with TTL support
|