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.
Files changed (252) hide show
  1. package/.claude/agents/MIGRATION_SUMMARY.md +7 -0
  2. package/.claude/agents/README.md +7 -0
  3. package/.claude/agents/consensus/README.md +7 -0
  4. package/.claude/agents/flow-nexus/app-store.md +88 -0
  5. package/.claude/agents/flow-nexus/authentication.md +69 -0
  6. package/.claude/agents/flow-nexus/challenges.md +81 -0
  7. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  8. package/.claude/agents/flow-nexus/payments.md +83 -0
  9. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  10. package/.claude/agents/flow-nexus/swarm.md +76 -0
  11. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  12. package/.claude/agents/flow-nexus/workflow.md +84 -0
  13. package/.claude/agents/optimization/README.md +7 -0
  14. package/.claude/agents/optimization/benchmark-suite.md +7 -0
  15. package/.claude/agents/optimization/load-balancer.md +7 -0
  16. package/.claude/agents/optimization/performance-monitor.md +7 -0
  17. package/.claude/agents/optimization/resource-allocator.md +7 -0
  18. package/.claude/agents/optimization/topology-optimizer.md +7 -0
  19. package/.claude/agents/swarm/README.md +7 -0
  20. package/.claude/checkpoints/1756227652.json +1 -0
  21. package/.claude/checkpoints/1756227653.json +1 -0
  22. package/.claude/checkpoints/1756227666.json +1 -0
  23. package/.claude/checkpoints/1756227668.json +1 -0
  24. package/.claude/checkpoints/1756227723.json +1 -0
  25. package/.claude/checkpoints/1756227725.json +1 -0
  26. package/.claude/checkpoints/1756227731.json +1 -0
  27. package/.claude/checkpoints/1756227733.json +1 -0
  28. package/.claude/checkpoints/1756231330.json +1 -0
  29. package/.claude/checkpoints/1756231331.json +1 -0
  30. package/.claude/checkpoints/1756231342.json +1 -0
  31. package/.claude/checkpoints/1756231344.json +1 -0
  32. package/.claude/checkpoints/1756231355.json +1 -0
  33. package/.claude/checkpoints/1756231357.json +1 -0
  34. package/.claude/checkpoints/1756231367.json +1 -0
  35. package/.claude/checkpoints/1756231368.json +1 -0
  36. package/.claude/checkpoints/1756231458.json +1 -0
  37. package/.claude/checkpoints/1756231459.json +1 -0
  38. package/.claude/checkpoints/1756231477.json +1 -0
  39. package/.claude/checkpoints/1756231479.json +1 -0
  40. package/.claude/checkpoints/1756233026.json +1 -0
  41. package/.claude/checkpoints/1756233028.json +1 -0
  42. package/.claude/checkpoints/1756233040.json +1 -0
  43. package/.claude/checkpoints/1756233041.json +1 -0
  44. package/.claude/checkpoints/1756233057.json +1 -0
  45. package/.claude/checkpoints/1756233059.json +1 -0
  46. package/.claude/checkpoints/1756233090.json +1 -0
  47. package/.claude/checkpoints/1756233092.json +1 -0
  48. package/.claude/checkpoints/1756233141.json +1 -0
  49. package/.claude/checkpoints/1756233143.json +1 -0
  50. package/.claude/checkpoints/1756475935.json +1 -0
  51. package/.claude/checkpoints/1756475936.json +1 -0
  52. package/.claude/checkpoints/1756475996.json +1 -0
  53. package/.claude/checkpoints/1756475998.json +1 -0
  54. package/.claude/checkpoints/1756476093.json +1 -0
  55. package/.claude/checkpoints/1756476098.json +1 -0
  56. package/.claude/checkpoints/1756476100.json +1 -0
  57. package/.claude/checkpoints/1756476101.json +1 -0
  58. package/.claude/checkpoints/1756476161.json +1 -0
  59. package/.claude/checkpoints/1756476163.json +1 -0
  60. package/.claude/checkpoints/1756476183.json +1 -0
  61. package/.claude/checkpoints/1756476184.json +1 -0
  62. package/.claude/checkpoints/1756476193.json +1 -0
  63. package/.claude/checkpoints/1756476194.json +1 -0
  64. package/.claude/checkpoints/1756476202.json +1 -0
  65. package/.claude/checkpoints/1756476204.json +1 -0
  66. package/.claude/checkpoints/1756476268.json +1 -0
  67. package/.claude/checkpoints/1756476269.json +1 -0
  68. package/.claude/checkpoints/1756476287.json +1 -0
  69. package/.claude/checkpoints/1756476288.json +1 -0
  70. package/.claude/checkpoints/1756997935.json +1 -0
  71. package/.claude/checkpoints/1756997937.json +1 -0
  72. package/.claude/checkpoints/1756997938.json +1 -0
  73. package/.claude/checkpoints/1756997940.json +1 -0
  74. package/.claude/checkpoints/1756997942.json +1 -0
  75. package/.claude/checkpoints/1756997944.json +1 -0
  76. package/.claude/checkpoints/1756997945.json +1 -0
  77. package/.claude/checkpoints/1756997947.json +1 -0
  78. package/.claude/checkpoints/1756997949.json +1 -0
  79. package/.claude/checkpoints/1756997951.json +1 -0
  80. package/.claude/checkpoints/1756997953.json +1 -0
  81. package/.claude/checkpoints/1756997955.json +1 -0
  82. package/.claude/checkpoints/1756997956.json +1 -0
  83. package/.claude/checkpoints/1756997958.json +1 -0
  84. package/.claude/checkpoints/1756997960.json +1 -0
  85. package/.claude/checkpoints/1756997962.json +1 -0
  86. package/.claude/checkpoints/1756997964.json +1 -0
  87. package/.claude/checkpoints/1756997966.json +1 -0
  88. package/.claude/checkpoints/1756997968.json +1 -0
  89. package/.claude/checkpoints/1756997970.json +1 -0
  90. package/.claude/checkpoints/1757190213.json +1 -0
  91. package/.claude/checkpoints/1757190215.json +1 -0
  92. package/.claude/checkpoints/1757190217.json +1 -0
  93. package/.claude/checkpoints/1757190219.json +1 -0
  94. package/.claude/checkpoints/1757190220.json +1 -0
  95. package/.claude/checkpoints/1757190222.json +1 -0
  96. package/.claude/checkpoints/1757190224.json +1 -0
  97. package/.claude/checkpoints/1757190225.json +1 -0
  98. package/.claude/checkpoints/1757190227.json +1 -0
  99. package/.claude/checkpoints/1757190229.json +1 -0
  100. package/.claude/checkpoints/1757190231.json +1 -0
  101. package/.claude/checkpoints/1757190232.json +1 -0
  102. package/.claude/checkpoints/1757190234.json +1 -0
  103. package/.claude/checkpoints/1757190236.json +1 -0
  104. package/.claude/checkpoints/1757190238.json +1 -0
  105. package/.claude/checkpoints/1757190240.json +1 -0
  106. package/.claude/checkpoints/1757190241.json +1 -0
  107. package/.claude/checkpoints/1757190243.json +1 -0
  108. package/.claude/checkpoints/1757190245.json +1 -0
  109. package/.claude/checkpoints/1757190247.json +1 -0
  110. package/.claude/checkpoints/1757190608.json +1 -0
  111. package/.claude/checkpoints/1757190610.json +1 -0
  112. package/.claude/checkpoints/1757190626.json +1 -0
  113. package/.claude/checkpoints/1757190628.json +1 -0
  114. package/.claude/checkpoints/1757190993.json +1 -0
  115. package/.claude/checkpoints/1757190997.json +1 -0
  116. package/.claude/checkpoints/1757191001.json +1 -0
  117. package/.claude/checkpoints/1757191004.json +1 -0
  118. package/.claude/checkpoints/1757191007.json +1 -0
  119. package/.claude/checkpoints/1757191009.json +1 -0
  120. package/.claude/checkpoints/1757191012.json +1 -0
  121. package/.claude/checkpoints/1757191014.json +1 -0
  122. package/.claude/checkpoints/1757191016.json +1 -0
  123. package/.claude/checkpoints/1757191019.json +1 -0
  124. package/.claude/checkpoints/1757191022.json +1 -0
  125. package/.claude/checkpoints/1757191024.json +1 -0
  126. package/.claude/checkpoints/1757191027.json +1 -0
  127. package/.claude/checkpoints/1757191029.json +1 -0
  128. package/.claude/checkpoints/1757191032.json +1 -0
  129. package/.claude/checkpoints/1757191034.json +1 -0
  130. package/.claude/checkpoints/1757191037.json +1 -0
  131. package/.claude/checkpoints/1757191040.json +1 -0
  132. package/.claude/checkpoints/1757191061.json +1 -0
  133. package/.claude/checkpoints/1757191063.json +1 -0
  134. package/.claude/checkpoints/1757191084.json +1 -0
  135. package/.claude/checkpoints/1757191086.json +1 -0
  136. package/.claude/checkpoints/1757192316.json +1 -0
  137. package/.claude/checkpoints/1757192318.json +1 -0
  138. package/.claude/checkpoints/1757192389.json +1 -0
  139. package/.claude/checkpoints/1757192391.json +1 -0
  140. package/.claude/checkpoints/1757192489.json +1 -0
  141. package/.claude/checkpoints/1757192491.json +1 -0
  142. package/.claude/checkpoints/1757192521.json +1 -0
  143. package/.claude/checkpoints/1757192523.json +1 -0
  144. package/.claude/checkpoints/1757192541.json +1 -0
  145. package/.claude/checkpoints/1757192543.json +1 -0
  146. package/.claude/checkpoints/1757193796.json +1 -0
  147. package/.claude/checkpoints/1757194415.json +1 -0
  148. package/.claude/checkpoints/1757194416.json +1 -0
  149. package/.claude/checkpoints/1757194435.json +1 -0
  150. package/.claude/checkpoints/1757194437.json +1 -0
  151. package/.claude/checkpoints/1757194468.json +1 -0
  152. package/.claude/checkpoints/1757194469.json +1 -0
  153. package/.claude/checkpoints/1757194554.json +1 -0
  154. package/.claude/checkpoints/1757194555.json +1 -0
  155. package/.claude/checkpoints/1757194606.json +1 -0
  156. package/.claude/checkpoints/1757194608.json +1 -0
  157. package/.claude/checkpoints/1757194817.json +1 -0
  158. package/.claude/checkpoints/1757194818.json +1 -0
  159. package/.claude/checkpoints/summary-session-20250826-165852.md +1351 -0
  160. package/.claude/checkpoints/summary-session-20250826-170402.md +1367 -0
  161. package/.claude/checkpoints/summary-session-20250826-175112.md +1327 -0
  162. package/.claude/checkpoints/summary-session-20250826-175609.md +1324 -0
  163. package/.claude/checkpoints/summary-session-20250826-175743.md +1327 -0
  164. package/.claude/checkpoints/summary-session-20250826-180554.md +1340 -0
  165. package/.claude/checkpoints/summary-session-20250826-181530.md +1344 -0
  166. package/.claude/checkpoints/summary-session-20250826-181633.md +1347 -0
  167. package/.claude/checkpoints/summary-session-20250826-182235.md +1350 -0
  168. package/.claude/checkpoints/summary-session-20250826-182618.md +1353 -0
  169. package/.claude/checkpoints/summary-session-20250826-183200.md +1372 -0
  170. package/.claude/checkpoints/summary-session-20250826-183232.md +1379 -0
  171. package/.claude/checkpoints/summary-session-20250829-133605.md +38 -0
  172. package/.claude/checkpoints/summary-session-20250829-134121.md +41 -0
  173. package/.claude/checkpoints/summary-session-20250829-134400.md +46 -0
  174. package/.claude/checkpoints/summary-session-20250829-134858.md +49 -0
  175. package/.claude/checkpoints/summary-session-20250829-135402.md +52 -0
  176. package/.claude/checkpoints/summary-session-20250829-135640.md +58 -0
  177. package/.claude/checkpoints/summary-session-20250829-135754.md +65 -0
  178. package/.claude/checkpoints/summary-session-20250829-135902.md +71 -0
  179. package/.claude/checkpoints/summary-session-20250829-140629.md +119 -0
  180. package/.claude/checkpoints/summary-session-20250829-140733.md +121 -0
  181. package/.claude/checkpoints/summary-session-20250902-190126.md +38 -0
  182. package/.claude/checkpoints/summary-session-20250904-150003.md +87 -0
  183. package/.claude/checkpoints/summary-session-20250906-202218.md +2757 -0
  184. package/.claude/checkpoints/summary-session-20250906-202622.md +2814 -0
  185. package/.claude/checkpoints/summary-session-20250906-203037.md +2826 -0
  186. package/.claude/checkpoints/task-1756227619.json +1 -0
  187. package/.claude/checkpoints/task-1756230633.json +1 -0
  188. package/.claude/checkpoints/task-1756230902.json +1 -0
  189. package/.claude/checkpoints/task-1756230993.json +1 -0
  190. package/.claude/checkpoints/task-1756231253.json +1 -0
  191. package/.claude/checkpoints/task-1756232070.json +1 -0
  192. package/.claude/checkpoints/task-1756232144.json +1 -0
  193. package/.claude/checkpoints/task-1756232251.json +1 -0
  194. package/.claude/checkpoints/task-1756232564.json +1 -0
  195. package/.claude/checkpoints/task-1756232982.json +1 -0
  196. package/.claude/checkpoints/task-1756233131.json +1 -0
  197. package/.claude/checkpoints/task-1756474562.json +1 -0
  198. package/.claude/checkpoints/task-1756474754.json +1 -0
  199. package/.claude/checkpoints/task-1756474922.json +1 -0
  200. package/.claude/checkpoints/task-1756475028.json +1 -0
  201. package/.claude/checkpoints/task-1756475307.json +1 -0
  202. package/.claude/checkpoints/task-1756475349.json +1 -0
  203. package/.claude/checkpoints/task-1756475699.json +1 -0
  204. package/.claude/checkpoints/task-1756475719.json +1 -0
  205. package/.claude/checkpoints/task-1756475828.json +1 -0
  206. package/.claude/checkpoints/task-1756475858.json +1 -0
  207. package/.claude/checkpoints/task-1756475868.json +1 -0
  208. package/.claude/checkpoints/task-1756476373.json +1 -0
  209. package/.claude/checkpoints/task-1756839595.json +1 -0
  210. package/.claude/checkpoints/task-1756997821.json +1 -0
  211. package/.claude/checkpoints/task-1757189936.json +1 -0
  212. package/.claude/checkpoints/task-1757190154.json +1 -0
  213. package/.claude/checkpoints/task-1757190301.json +1 -0
  214. package/.claude/checkpoints/task-1757190369.json +1 -0
  215. package/.claude/checkpoints/task-1757190483.json +1 -0
  216. package/.claude/checkpoints/task-1757190841.json +1 -0
  217. package/.claude/checkpoints/task-1757191219.json +1 -0
  218. package/.claude/checkpoints/task-1757192639.json +1 -0
  219. package/.claude/checkpoints/task-1757194091.json +1 -0
  220. package/.claude/checkpoints/task-1757194691.json +1 -0
  221. package/.claude/checkpoints/task-1757194856.json +1 -0
  222. package/.claude/commands/flow-nexus/app-store.md +124 -0
  223. package/.claude/commands/flow-nexus/challenges.md +120 -0
  224. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  225. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  226. package/.claude/commands/flow-nexus/payments.md +116 -0
  227. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  228. package/.claude/commands/flow-nexus/swarm.md +87 -0
  229. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  230. package/.claude/commands/flow-nexus/workflow.md +115 -0
  231. package/README.md +29 -1
  232. package/bin/claude-flow +1 -1
  233. package/package.json +1 -1
  234. package/src/api/auth-service.ts +644 -0
  235. package/src/api/database-schema.sql +366 -0
  236. package/src/api/database-service.ts +788 -0
  237. package/src/api/swarm-api.ts +741 -0
  238. package/src/cli/commands/index.ts +40 -1
  239. package/src/cli/simple-commands/hive-mind/session-manager.js +12 -0
  240. package/src/cli/simple-commands/init/agent-copier.js +129 -1
  241. package/src/cli/simple-commands/init/index.js +116 -1
  242. package/src/cli/simple-commands/init/templates/claude-md.js +295 -1
  243. package/src/core/version.js +1 -1
  244. package/src/ui/console/index.html +4 -0
  245. package/src/ui/console/js/real-time-dashboard.js +715 -0
  246. package/src/ui/console/js/swarm-integration.js +485 -0
  247. package/src/ui/console/js/swarm-visualizer.js +879 -0
  248. package/src/ui/console/styles/swarm-visualizer.css +487 -0
  249. package/src/cli/simple-commands/init/.claude-flow/metrics/agent-metrics.json +0 -1
  250. package/src/cli/simple-commands/init/.claude-flow/metrics/performance.json +0 -9
  251. package/src/cli/simple-commands/init/.claude-flow/metrics/task-metrics.json +0 -10
  252. 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