moflo 4.8.17 → 4.8.20

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 (244) hide show
  1. package/.claude/guidance/shipped/moflo.md +45 -0
  2. package/.claude/helpers/statusline.cjs +1 -1
  3. package/.claude/workflow-state.json +9 -0
  4. package/bin/generate-code-map.mjs +91 -12
  5. package/package.json +2 -2
  6. package/src/@claude-flow/cli/bin/cli.js +5 -0
  7. package/src/@claude-flow/cli/dist/src/init/moflo-init.js +9 -0
  8. package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +1 -1
  9. package/src/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +8 -0
  10. package/src/@claude-flow/cli/package.json +1 -1
  11. package/src/@claude-flow/memory/dist/agent-memory-scope.d.ts +131 -0
  12. package/src/@claude-flow/memory/dist/agent-memory-scope.js +223 -0
  13. package/src/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +8 -0
  14. package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +466 -0
  15. package/src/@claude-flow/memory/dist/agentdb-adapter.d.ts +165 -0
  16. package/src/@claude-flow/memory/dist/agentdb-adapter.js +806 -0
  17. package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +212 -0
  18. package/src/@claude-flow/memory/dist/agentdb-backend.js +842 -0
  19. package/src/@claude-flow/memory/dist/agentdb-backend.test.d.ts +7 -0
  20. package/src/@claude-flow/memory/dist/agentdb-backend.test.js +258 -0
  21. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +65 -0
  22. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.js +129 -0
  23. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +48 -0
  24. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.js +72 -0
  25. package/src/@claude-flow/memory/dist/application/index.d.ts +12 -0
  26. package/src/@claude-flow/memory/dist/application/index.js +15 -0
  27. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +72 -0
  28. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.js +143 -0
  29. package/src/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +121 -0
  30. package/src/@claude-flow/memory/dist/application/services/memory-application-service.js +190 -0
  31. package/src/@claude-flow/memory/dist/auto-memory-bridge.d.ts +226 -0
  32. package/src/@claude-flow/memory/dist/auto-memory-bridge.js +709 -0
  33. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +8 -0
  34. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +757 -0
  35. package/src/@claude-flow/memory/dist/benchmark.test.d.ts +2 -0
  36. package/src/@claude-flow/memory/dist/benchmark.test.js +277 -0
  37. package/src/@claude-flow/memory/dist/cache-manager.d.ts +134 -0
  38. package/src/@claude-flow/memory/dist/cache-manager.js +407 -0
  39. package/src/@claude-flow/memory/dist/controller-registry.d.ts +216 -0
  40. package/src/@claude-flow/memory/dist/controller-registry.js +893 -0
  41. package/src/@claude-flow/memory/dist/controller-registry.test.d.ts +14 -0
  42. package/src/@claude-flow/memory/dist/controller-registry.test.js +593 -0
  43. package/src/@claude-flow/memory/dist/database-provider.d.ts +87 -0
  44. package/src/@claude-flow/memory/dist/database-provider.js +372 -0
  45. package/src/@claude-flow/memory/dist/database-provider.test.d.ts +7 -0
  46. package/src/@claude-flow/memory/dist/database-provider.test.js +287 -0
  47. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +143 -0
  48. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.js +226 -0
  49. package/src/@claude-flow/memory/dist/domain/index.d.ts +11 -0
  50. package/src/@claude-flow/memory/dist/domain/index.js +12 -0
  51. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +102 -0
  52. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.js +11 -0
  53. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +105 -0
  54. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.js +297 -0
  55. package/src/@claude-flow/memory/dist/hnsw-index.d.ts +111 -0
  56. package/src/@claude-flow/memory/dist/hnsw-index.js +781 -0
  57. package/src/@claude-flow/memory/dist/hnsw-lite.d.ts +23 -0
  58. package/src/@claude-flow/memory/dist/hnsw-lite.js +168 -0
  59. package/src/@claude-flow/memory/dist/index.d.ts +204 -0
  60. package/src/@claude-flow/memory/dist/index.js +358 -0
  61. package/src/@claude-flow/memory/dist/infrastructure/index.d.ts +17 -0
  62. package/src/@claude-flow/memory/dist/infrastructure/index.js +16 -0
  63. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +66 -0
  64. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +409 -0
  65. package/src/@claude-flow/memory/dist/learning-bridge.d.ts +137 -0
  66. package/src/@claude-flow/memory/dist/learning-bridge.js +335 -0
  67. package/src/@claude-flow/memory/dist/learning-bridge.test.d.ts +8 -0
  68. package/src/@claude-flow/memory/dist/learning-bridge.test.js +578 -0
  69. package/src/@claude-flow/memory/dist/memory-graph.d.ts +100 -0
  70. package/src/@claude-flow/memory/dist/memory-graph.js +333 -0
  71. package/src/@claude-flow/memory/dist/memory-graph.test.d.ts +8 -0
  72. package/src/@claude-flow/memory/dist/memory-graph.test.js +609 -0
  73. package/src/@claude-flow/memory/dist/migration.d.ts +68 -0
  74. package/src/@claude-flow/memory/dist/migration.js +513 -0
  75. package/src/@claude-flow/memory/dist/persistent-sona.d.ts +144 -0
  76. package/src/@claude-flow/memory/dist/persistent-sona.js +332 -0
  77. package/src/@claude-flow/memory/dist/query-builder.d.ts +211 -0
  78. package/src/@claude-flow/memory/dist/query-builder.js +438 -0
  79. package/src/@claude-flow/memory/dist/rvf-backend.d.ts +51 -0
  80. package/src/@claude-flow/memory/dist/rvf-backend.js +481 -0
  81. package/src/@claude-flow/memory/dist/rvf-learning-store.d.ts +139 -0
  82. package/src/@claude-flow/memory/dist/rvf-learning-store.js +295 -0
  83. package/src/@claude-flow/memory/dist/rvf-migration.d.ts +45 -0
  84. package/src/@claude-flow/memory/dist/rvf-migration.js +234 -0
  85. package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +127 -0
  86. package/src/@claude-flow/memory/dist/sqljs-backend.js +600 -0
  87. package/src/@claude-flow/memory/dist/types.d.ts +484 -0
  88. package/src/@claude-flow/memory/dist/types.js +58 -0
  89. package/src/@claude-flow/shared/dist/core/config/defaults.d.ts +41 -0
  90. package/src/@claude-flow/shared/dist/core/config/defaults.js +186 -0
  91. package/src/@claude-flow/shared/dist/core/config/index.d.ts +8 -0
  92. package/src/@claude-flow/shared/dist/core/config/index.js +12 -0
  93. package/src/@claude-flow/shared/dist/core/config/loader.d.ts +45 -0
  94. package/src/@claude-flow/shared/dist/core/config/loader.js +222 -0
  95. package/src/@claude-flow/shared/dist/core/config/schema.d.ts +1134 -0
  96. package/src/@claude-flow/shared/dist/core/config/schema.js +158 -0
  97. package/src/@claude-flow/shared/dist/core/config/validator.d.ts +92 -0
  98. package/src/@claude-flow/shared/dist/core/config/validator.js +147 -0
  99. package/src/@claude-flow/shared/dist/core/event-bus.d.ts +31 -0
  100. package/src/@claude-flow/shared/dist/core/event-bus.js +197 -0
  101. package/src/@claude-flow/shared/dist/core/index.d.ts +15 -0
  102. package/src/@claude-flow/shared/dist/core/index.js +19 -0
  103. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +200 -0
  104. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.js +6 -0
  105. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +310 -0
  106. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +7 -0
  107. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +224 -0
  108. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.js +46 -0
  109. package/src/@claude-flow/shared/dist/core/interfaces/index.d.ts +10 -0
  110. package/src/@claude-flow/shared/dist/core/interfaces/index.js +15 -0
  111. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +298 -0
  112. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.js +7 -0
  113. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +185 -0
  114. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.js +6 -0
  115. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +35 -0
  116. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +101 -0
  117. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +60 -0
  118. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +166 -0
  119. package/src/@claude-flow/shared/dist/core/orchestrator/index.d.ts +46 -0
  120. package/src/@claude-flow/shared/dist/core/orchestrator/index.js +64 -0
  121. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +56 -0
  122. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +195 -0
  123. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +83 -0
  124. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.js +193 -0
  125. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +49 -0
  126. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.js +253 -0
  127. package/src/@claude-flow/shared/dist/events/domain-events.d.ts +282 -0
  128. package/src/@claude-flow/shared/dist/events/domain-events.js +165 -0
  129. package/src/@claude-flow/shared/dist/events/event-store.d.ts +126 -0
  130. package/src/@claude-flow/shared/dist/events/event-store.js +432 -0
  131. package/src/@claude-flow/shared/dist/events/event-store.test.d.ts +8 -0
  132. package/src/@claude-flow/shared/dist/events/event-store.test.js +297 -0
  133. package/src/@claude-flow/shared/dist/events/example-usage.d.ts +10 -0
  134. package/src/@claude-flow/shared/dist/events/example-usage.js +193 -0
  135. package/src/@claude-flow/shared/dist/events/index.d.ts +21 -0
  136. package/src/@claude-flow/shared/dist/events/index.js +22 -0
  137. package/src/@claude-flow/shared/dist/events/projections.d.ts +177 -0
  138. package/src/@claude-flow/shared/dist/events/projections.js +421 -0
  139. package/src/@claude-flow/shared/dist/events/rvf-event-log.d.ts +82 -0
  140. package/src/@claude-flow/shared/dist/events/rvf-event-log.js +340 -0
  141. package/src/@claude-flow/shared/dist/events/state-reconstructor.d.ts +101 -0
  142. package/src/@claude-flow/shared/dist/events/state-reconstructor.js +263 -0
  143. package/src/@claude-flow/shared/dist/events.d.ts +80 -0
  144. package/src/@claude-flow/shared/dist/events.js +249 -0
  145. package/src/@claude-flow/shared/dist/hooks/example-usage.d.ts +42 -0
  146. package/src/@claude-flow/shared/dist/hooks/example-usage.js +351 -0
  147. package/src/@claude-flow/shared/dist/hooks/executor.d.ts +100 -0
  148. package/src/@claude-flow/shared/dist/hooks/executor.js +267 -0
  149. package/src/@claude-flow/shared/dist/hooks/hooks.test.d.ts +9 -0
  150. package/src/@claude-flow/shared/dist/hooks/hooks.test.js +322 -0
  151. package/src/@claude-flow/shared/dist/hooks/index.d.ts +52 -0
  152. package/src/@claude-flow/shared/dist/hooks/index.js +51 -0
  153. package/src/@claude-flow/shared/dist/hooks/registry.d.ts +133 -0
  154. package/src/@claude-flow/shared/dist/hooks/registry.js +277 -0
  155. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +105 -0
  156. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.js +481 -0
  157. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +144 -0
  158. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +328 -0
  159. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +158 -0
  160. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +450 -0
  161. package/src/@claude-flow/shared/dist/hooks/safety/index.d.ts +17 -0
  162. package/src/@claude-flow/shared/dist/hooks/safety/index.js +17 -0
  163. package/src/@claude-flow/shared/dist/hooks/session-hooks.d.ts +234 -0
  164. package/src/@claude-flow/shared/dist/hooks/session-hooks.js +334 -0
  165. package/src/@claude-flow/shared/dist/hooks/task-hooks.d.ts +163 -0
  166. package/src/@claude-flow/shared/dist/hooks/task-hooks.js +326 -0
  167. package/src/@claude-flow/shared/dist/hooks/types.d.ts +267 -0
  168. package/src/@claude-flow/shared/dist/hooks/types.js +62 -0
  169. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +9 -0
  170. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +93 -0
  171. package/src/@claude-flow/shared/dist/index.d.ts +20 -0
  172. package/src/@claude-flow/shared/dist/index.js +50 -0
  173. package/src/@claude-flow/shared/dist/mcp/connection-pool.d.ts +98 -0
  174. package/src/@claude-flow/shared/dist/mcp/connection-pool.js +364 -0
  175. package/src/@claude-flow/shared/dist/mcp/index.d.ts +69 -0
  176. package/src/@claude-flow/shared/dist/mcp/index.js +84 -0
  177. package/src/@claude-flow/shared/dist/mcp/server.d.ts +166 -0
  178. package/src/@claude-flow/shared/dist/mcp/server.js +593 -0
  179. package/src/@claude-flow/shared/dist/mcp/session-manager.d.ts +136 -0
  180. package/src/@claude-flow/shared/dist/mcp/session-manager.js +335 -0
  181. package/src/@claude-flow/shared/dist/mcp/tool-registry.d.ts +178 -0
  182. package/src/@claude-flow/shared/dist/mcp/tool-registry.js +439 -0
  183. package/src/@claude-flow/shared/dist/mcp/transport/http.d.ts +104 -0
  184. package/src/@claude-flow/shared/dist/mcp/transport/http.js +476 -0
  185. package/src/@claude-flow/shared/dist/mcp/transport/index.d.ts +102 -0
  186. package/src/@claude-flow/shared/dist/mcp/transport/index.js +238 -0
  187. package/src/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +104 -0
  188. package/src/@claude-flow/shared/dist/mcp/transport/stdio.js +263 -0
  189. package/src/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +133 -0
  190. package/src/@claude-flow/shared/dist/mcp/transport/websocket.js +396 -0
  191. package/src/@claude-flow/shared/dist/mcp/types.d.ts +438 -0
  192. package/src/@claude-flow/shared/dist/mcp/types.js +54 -0
  193. package/src/@claude-flow/shared/dist/plugin-interface.d.ts +544 -0
  194. package/src/@claude-flow/shared/dist/plugin-interface.js +23 -0
  195. package/src/@claude-flow/shared/dist/plugin-loader.d.ts +139 -0
  196. package/src/@claude-flow/shared/dist/plugin-loader.js +434 -0
  197. package/src/@claude-flow/shared/dist/plugin-registry.d.ts +183 -0
  198. package/src/@claude-flow/shared/dist/plugin-registry.js +457 -0
  199. package/src/@claude-flow/shared/dist/plugins/index.d.ts +10 -0
  200. package/src/@claude-flow/shared/dist/plugins/index.js +10 -0
  201. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +106 -0
  202. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +241 -0
  203. package/src/@claude-flow/shared/dist/plugins/official/index.d.ts +10 -0
  204. package/src/@claude-flow/shared/dist/plugins/official/index.js +10 -0
  205. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +121 -0
  206. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +355 -0
  207. package/src/@claude-flow/shared/dist/plugins/types.d.ts +93 -0
  208. package/src/@claude-flow/shared/dist/plugins/types.js +9 -0
  209. package/src/@claude-flow/shared/dist/resilience/bulkhead.d.ts +105 -0
  210. package/src/@claude-flow/shared/dist/resilience/bulkhead.js +206 -0
  211. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +132 -0
  212. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.js +233 -0
  213. package/src/@claude-flow/shared/dist/resilience/index.d.ts +19 -0
  214. package/src/@claude-flow/shared/dist/resilience/index.js +19 -0
  215. package/src/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +168 -0
  216. package/src/@claude-flow/shared/dist/resilience/rate-limiter.js +314 -0
  217. package/src/@claude-flow/shared/dist/resilience/retry.d.ts +91 -0
  218. package/src/@claude-flow/shared/dist/resilience/retry.js +159 -0
  219. package/src/@claude-flow/shared/dist/security/index.d.ts +10 -0
  220. package/src/@claude-flow/shared/dist/security/index.js +12 -0
  221. package/src/@claude-flow/shared/dist/security/input-validation.d.ts +73 -0
  222. package/src/@claude-flow/shared/dist/security/input-validation.js +201 -0
  223. package/src/@claude-flow/shared/dist/security/secure-random.d.ts +92 -0
  224. package/src/@claude-flow/shared/dist/security/secure-random.js +142 -0
  225. package/src/@claude-flow/shared/dist/services/index.d.ts +7 -0
  226. package/src/@claude-flow/shared/dist/services/index.js +7 -0
  227. package/src/@claude-flow/shared/dist/services/v3-progress.service.d.ts +124 -0
  228. package/src/@claude-flow/shared/dist/services/v3-progress.service.js +402 -0
  229. package/src/@claude-flow/shared/dist/types/agent.types.d.ts +137 -0
  230. package/src/@claude-flow/shared/dist/types/agent.types.js +6 -0
  231. package/src/@claude-flow/shared/dist/types/index.d.ts +11 -0
  232. package/src/@claude-flow/shared/dist/types/index.js +17 -0
  233. package/src/@claude-flow/shared/dist/types/mcp.types.d.ts +266 -0
  234. package/src/@claude-flow/shared/dist/types/mcp.types.js +7 -0
  235. package/src/@claude-flow/shared/dist/types/memory.types.d.ts +236 -0
  236. package/src/@claude-flow/shared/dist/types/memory.types.js +7 -0
  237. package/src/@claude-flow/shared/dist/types/swarm.types.d.ts +186 -0
  238. package/src/@claude-flow/shared/dist/types/swarm.types.js +65 -0
  239. package/src/@claude-flow/shared/dist/types/task.types.d.ts +178 -0
  240. package/src/@claude-flow/shared/dist/types/task.types.js +32 -0
  241. package/src/@claude-flow/shared/dist/types.d.ts +197 -0
  242. package/src/@claude-flow/shared/dist/types.js +21 -0
  243. package/src/@claude-flow/shared/dist/utils/secure-logger.d.ts +69 -0
  244. package/src/@claude-flow/shared/dist/utils/secure-logger.js +208 -0
@@ -0,0 +1,200 @@
1
+ /**
2
+ * V3 Agent Interfaces
3
+ * Domain-Driven Design - Agent Lifecycle Bounded Context
4
+ */
5
+ /**
6
+ * Agent status in the system
7
+ */
8
+ export type AgentStatus = 'spawning' | 'active' | 'idle' | 'busy' | 'error' | 'terminated';
9
+ /**
10
+ * Agent type classification
11
+ */
12
+ export type AgentType = 'coder' | 'reviewer' | 'tester' | 'researcher' | 'planner' | 'architect' | 'coordinator' | 'security' | 'performance' | 'custom';
13
+ /**
14
+ * Agent capability declaration
15
+ */
16
+ export interface IAgentCapability {
17
+ name: string;
18
+ level: 'basic' | 'intermediate' | 'advanced' | 'expert';
19
+ description?: string;
20
+ }
21
+ /**
22
+ * Agent configuration for spawning
23
+ */
24
+ export interface IAgentConfig {
25
+ readonly id: string;
26
+ readonly name: string;
27
+ readonly type: AgentType | string;
28
+ capabilities: string[];
29
+ maxConcurrentTasks: number;
30
+ priority: number;
31
+ timeout?: number;
32
+ retryPolicy?: {
33
+ maxRetries: number;
34
+ backoffMs: number;
35
+ backoffMultiplier: number;
36
+ };
37
+ resources?: {
38
+ maxMemoryMb?: number;
39
+ maxCpuPercent?: number;
40
+ };
41
+ metadata?: Record<string, unknown>;
42
+ }
43
+ /**
44
+ * Core agent entity
45
+ */
46
+ export interface IAgent {
47
+ readonly id: string;
48
+ readonly name: string;
49
+ readonly type: AgentType | string;
50
+ readonly config: IAgentConfig;
51
+ readonly createdAt: Date;
52
+ status: AgentStatus;
53
+ currentTaskCount: number;
54
+ lastActivity: Date;
55
+ sessionId?: string;
56
+ terminalId?: string;
57
+ memoryBankId?: string;
58
+ metrics?: {
59
+ tasksCompleted: number;
60
+ tasksFailed: number;
61
+ avgTaskDuration: number;
62
+ errorCount: number;
63
+ uptime: number;
64
+ };
65
+ health?: {
66
+ status: 'healthy' | 'degraded' | 'unhealthy';
67
+ lastCheck: Date;
68
+ issues?: string[];
69
+ };
70
+ }
71
+ /**
72
+ * Agent session for tracking active work
73
+ */
74
+ export interface IAgentSession {
75
+ readonly id: string;
76
+ readonly agentId: string;
77
+ readonly startTime: Date;
78
+ status: 'active' | 'idle' | 'terminated';
79
+ terminalId: string;
80
+ memoryBankId: string;
81
+ lastActivity: Date;
82
+ endTime?: Date;
83
+ metadata?: Record<string, unknown>;
84
+ }
85
+ /**
86
+ * Agent pool for managing multiple agents
87
+ */
88
+ export interface IAgentPool {
89
+ /**
90
+ * Add an agent to the pool
91
+ */
92
+ add(agent: IAgent): void;
93
+ /**
94
+ * Remove an agent from the pool
95
+ */
96
+ remove(agentId: string): boolean;
97
+ /**
98
+ * Get an agent by ID
99
+ */
100
+ get(agentId: string): IAgent | undefined;
101
+ /**
102
+ * Get all agents in the pool
103
+ */
104
+ getAll(): IAgent[];
105
+ /**
106
+ * Get agents by status
107
+ */
108
+ getByStatus(status: AgentStatus): IAgent[];
109
+ /**
110
+ * Get agents by type
111
+ */
112
+ getByType(type: AgentType | string): IAgent[];
113
+ /**
114
+ * Get available agents (can accept more tasks)
115
+ */
116
+ getAvailable(): IAgent[];
117
+ /**
118
+ * Get pool size
119
+ */
120
+ size(): number;
121
+ /**
122
+ * Check if pool has capacity
123
+ */
124
+ hasCapacity(maxSize: number): boolean;
125
+ /**
126
+ * Clear all agents
127
+ */
128
+ clear(): void;
129
+ }
130
+ /**
131
+ * Agent lifecycle manager interface
132
+ */
133
+ export interface IAgentLifecycleManager {
134
+ /**
135
+ * Spawn a new agent
136
+ */
137
+ spawn(config: IAgentConfig): Promise<IAgent>;
138
+ /**
139
+ * Spawn multiple agents in parallel
140
+ */
141
+ spawnBatch(configs: IAgentConfig[]): Promise<Map<string, IAgent>>;
142
+ /**
143
+ * Terminate an agent
144
+ */
145
+ terminate(agentId: string, reason?: string): Promise<void>;
146
+ /**
147
+ * Terminate all agents
148
+ */
149
+ terminateAll(reason?: string): Promise<void>;
150
+ /**
151
+ * Restart an agent
152
+ */
153
+ restart(agentId: string): Promise<IAgent>;
154
+ /**
155
+ * Update agent configuration
156
+ */
157
+ updateConfig(agentId: string, config: Partial<IAgentConfig>): Promise<void>;
158
+ /**
159
+ * Get agent by ID
160
+ */
161
+ getAgent(agentId: string): IAgent | undefined;
162
+ /**
163
+ * Get all agents
164
+ */
165
+ getAllAgents(): IAgent[];
166
+ /**
167
+ * Get active agents count
168
+ */
169
+ getActiveCount(): number;
170
+ /**
171
+ * Check agent health
172
+ */
173
+ checkHealth(agentId: string): Promise<IAgent['health']>;
174
+ }
175
+ /**
176
+ * Agent registry for type definitions
177
+ */
178
+ export interface IAgentRegistry {
179
+ /**
180
+ * Register an agent type with default config
181
+ */
182
+ register(type: string, defaultConfig: Partial<IAgentConfig>): void;
183
+ /**
184
+ * Unregister an agent type
185
+ */
186
+ unregister(type: string): boolean;
187
+ /**
188
+ * Get default config for a type
189
+ */
190
+ getDefaultConfig(type: string): Partial<IAgentConfig> | undefined;
191
+ /**
192
+ * Get all registered types
193
+ */
194
+ getRegisteredTypes(): string[];
195
+ /**
196
+ * Check if a type is registered
197
+ */
198
+ isRegistered(type: string): boolean;
199
+ }
200
+ //# sourceMappingURL=agent.interface.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * V3 Agent Interfaces
3
+ * Domain-Driven Design - Agent Lifecycle Bounded Context
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=agent.interface.js.map
@@ -0,0 +1,310 @@
1
+ /**
2
+ * V3 Coordinator Interfaces
3
+ * Domain-Driven Design - Coordination Bounded Context
4
+ * Aligned with ADR-003 (Single Coordination Engine)
5
+ */
6
+ import type { ITask, ITaskResult } from './task.interface.js';
7
+ import type { IAgent, IAgentConfig } from './agent.interface.js';
8
+ /**
9
+ * Swarm topology types
10
+ */
11
+ export type SwarmTopology = 'hierarchical' | 'mesh' | 'ring' | 'star' | 'adaptive' | 'hierarchical-mesh';
12
+ /**
13
+ * Coordination status
14
+ */
15
+ export type CoordinationStatus = 'initializing' | 'ready' | 'coordinating' | 'degraded' | 'error' | 'shutdown';
16
+ /**
17
+ * Swarm configuration
18
+ */
19
+ export interface ISwarmConfig {
20
+ topology: SwarmTopology;
21
+ maxAgents: number;
22
+ autoScale?: {
23
+ enabled: boolean;
24
+ minAgents: number;
25
+ maxAgents: number;
26
+ scaleUpThreshold: number;
27
+ scaleDownThreshold: number;
28
+ };
29
+ coordination?: {
30
+ consensusRequired: boolean;
31
+ timeoutMs: number;
32
+ retryPolicy: {
33
+ maxRetries: number;
34
+ backoffMs: number;
35
+ };
36
+ };
37
+ communication?: {
38
+ protocol: 'events' | 'messages' | 'shared-memory';
39
+ batchSize: number;
40
+ flushIntervalMs: number;
41
+ };
42
+ metadata?: Record<string, unknown>;
43
+ }
44
+ /**
45
+ * Swarm state
46
+ */
47
+ export interface ISwarmState {
48
+ readonly id: string;
49
+ readonly topology: SwarmTopology;
50
+ readonly createdAt: Date;
51
+ status: CoordinationStatus;
52
+ agentCount: number;
53
+ taskCount: number;
54
+ metrics?: {
55
+ throughput: number;
56
+ latencyMs: number;
57
+ successRate: number;
58
+ resourceUtilization: number;
59
+ };
60
+ }
61
+ /**
62
+ * Coordinator interface - unified coordination engine
63
+ */
64
+ export interface ICoordinator {
65
+ /**
66
+ * Initialize the coordinator
67
+ */
68
+ initialize(): Promise<void>;
69
+ /**
70
+ * Shutdown the coordinator
71
+ */
72
+ shutdown(): Promise<void>;
73
+ /**
74
+ * Initialize a swarm with configuration
75
+ */
76
+ initializeSwarm(config: ISwarmConfig): Promise<ISwarmState>;
77
+ /**
78
+ * Get swarm state
79
+ */
80
+ getSwarmState(): ISwarmState | undefined;
81
+ /**
82
+ * Assign a task to an agent
83
+ */
84
+ assignTask(task: ITask, agentId: string): Promise<void>;
85
+ /**
86
+ * Get tasks assigned to an agent
87
+ */
88
+ getAgentTasks(agentId: string): Promise<ITask[]>;
89
+ /**
90
+ * Get task count for an agent
91
+ */
92
+ getAgentTaskCount(agentId: string): Promise<number>;
93
+ /**
94
+ * Cancel a task
95
+ */
96
+ cancelTask(taskId: string): Promise<void>;
97
+ /**
98
+ * Report task completion
99
+ */
100
+ reportTaskComplete(taskId: string, result: ITaskResult): Promise<void>;
101
+ /**
102
+ * Get coordination health status
103
+ */
104
+ getHealthStatus(): Promise<{
105
+ healthy: boolean;
106
+ error?: string;
107
+ metrics?: Record<string, number>;
108
+ }>;
109
+ /**
110
+ * Perform maintenance tasks
111
+ */
112
+ performMaintenance(): Promise<void>;
113
+ }
114
+ /**
115
+ * Coordination manager interface - higher-level orchestration
116
+ */
117
+ export interface ICoordinationManager extends ICoordinator {
118
+ /**
119
+ * Register an agent with the coordinator
120
+ */
121
+ registerAgent(agent: IAgent): Promise<void>;
122
+ /**
123
+ * Unregister an agent
124
+ */
125
+ unregisterAgent(agentId: string): Promise<void>;
126
+ /**
127
+ * Get all registered agents
128
+ */
129
+ getRegisteredAgents(): IAgent[];
130
+ /**
131
+ * Request agent consensus on a decision
132
+ */
133
+ requestConsensus(topic: string, options: unknown[], timeout?: number): Promise<unknown>;
134
+ /**
135
+ * Broadcast message to all agents
136
+ */
137
+ broadcast(message: unknown): Promise<void>;
138
+ /**
139
+ * Send message to specific agent
140
+ */
141
+ sendToAgent(agentId: string, message: unknown): Promise<void>;
142
+ /**
143
+ * Acquire a distributed lock
144
+ */
145
+ acquireLock(resourceId: string, agentId: string, timeout?: number): Promise<boolean>;
146
+ /**
147
+ * Release a distributed lock
148
+ */
149
+ releaseLock(resourceId: string, agentId: string): Promise<void>;
150
+ /**
151
+ * Check for deadlocks
152
+ */
153
+ detectDeadlocks(): Promise<{
154
+ detected: boolean;
155
+ agents?: string[];
156
+ resources?: string[];
157
+ }>;
158
+ }
159
+ /**
160
+ * Health status for components
161
+ */
162
+ export interface IHealthStatus {
163
+ status: 'healthy' | 'degraded' | 'unhealthy';
164
+ components: Record<string, IComponentHealth>;
165
+ timestamp: Date;
166
+ }
167
+ /**
168
+ * Component health details
169
+ */
170
+ export interface IComponentHealth {
171
+ name: string;
172
+ status: 'healthy' | 'degraded' | 'unhealthy';
173
+ lastCheck: Date;
174
+ error?: string;
175
+ metrics?: Record<string, number>;
176
+ }
177
+ /**
178
+ * Health monitor interface
179
+ */
180
+ export interface IHealthMonitor {
181
+ /**
182
+ * Start health monitoring
183
+ */
184
+ start(): void;
185
+ /**
186
+ * Stop health monitoring
187
+ */
188
+ stop(): void;
189
+ /**
190
+ * Get current health status
191
+ */
192
+ getStatus(): Promise<IHealthStatus>;
193
+ /**
194
+ * Register a health check
195
+ */
196
+ registerCheck(name: string, check: () => Promise<{
197
+ healthy: boolean;
198
+ error?: string;
199
+ metrics?: Record<string, number>;
200
+ }>): void;
201
+ /**
202
+ * Unregister a health check
203
+ */
204
+ unregisterCheck(name: string): void;
205
+ /**
206
+ * Get health history
207
+ */
208
+ getHistory(limit?: number): IHealthStatus[];
209
+ /**
210
+ * Subscribe to health changes
211
+ */
212
+ onHealthChange(callback: (status: IHealthStatus) => void): () => void;
213
+ }
214
+ /**
215
+ * Metrics collector interface
216
+ */
217
+ export interface IMetricsCollector {
218
+ /**
219
+ * Start metrics collection
220
+ */
221
+ start(): void;
222
+ /**
223
+ * Stop metrics collection
224
+ */
225
+ stop(): void;
226
+ /**
227
+ * Record a metric value
228
+ */
229
+ record(name: string, value: number, tags?: Record<string, string>): void;
230
+ /**
231
+ * Increment a counter
232
+ */
233
+ increment(name: string, value?: number, tags?: Record<string, string>): void;
234
+ /**
235
+ * Record a timing
236
+ */
237
+ timing(name: string, durationMs: number, tags?: Record<string, string>): void;
238
+ /**
239
+ * Get current metrics
240
+ */
241
+ getMetrics(): Record<string, {
242
+ value: number;
243
+ count: number;
244
+ avg: number;
245
+ min: number;
246
+ max: number;
247
+ }>;
248
+ /**
249
+ * Reset all metrics
250
+ */
251
+ reset(): void;
252
+ }
253
+ /**
254
+ * Orchestrator metrics structure
255
+ */
256
+ export interface IOrchestratorMetrics {
257
+ uptime: number;
258
+ totalAgents: number;
259
+ activeAgents: number;
260
+ totalTasks: number;
261
+ completedTasks: number;
262
+ failedTasks: number;
263
+ queuedTasks: number;
264
+ avgTaskDuration: number;
265
+ memoryUsage: NodeJS.MemoryUsage;
266
+ cpuUsage: NodeJS.CpuUsage;
267
+ timestamp: Date;
268
+ }
269
+ /**
270
+ * Main orchestrator interface - facade for all orchestration capabilities
271
+ */
272
+ export interface IOrchestrator {
273
+ /**
274
+ * Initialize the orchestrator
275
+ */
276
+ initialize(): Promise<void>;
277
+ /**
278
+ * Shutdown the orchestrator
279
+ */
280
+ shutdown(): Promise<void>;
281
+ /**
282
+ * Get health status
283
+ */
284
+ getHealthStatus(): Promise<IHealthStatus>;
285
+ /**
286
+ * Get orchestrator metrics
287
+ */
288
+ getMetrics(): Promise<IOrchestratorMetrics>;
289
+ /**
290
+ * Spawn a new agent
291
+ */
292
+ spawnAgent(config: IAgentConfig): Promise<IAgent>;
293
+ /**
294
+ * Terminate an agent
295
+ */
296
+ terminateAgent(agentId: string, reason?: string): Promise<void>;
297
+ /**
298
+ * Submit a task
299
+ */
300
+ submitTask(task: ITask): Promise<ITaskResult>;
301
+ /**
302
+ * Get task by ID
303
+ */
304
+ getTask(taskId: string): Promise<ITask | undefined>;
305
+ /**
306
+ * Cancel a task
307
+ */
308
+ cancelTask(taskId: string): Promise<void>;
309
+ }
310
+ //# sourceMappingURL=coordinator.interface.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * V3 Coordinator Interfaces
3
+ * Domain-Driven Design - Coordination Bounded Context
4
+ * Aligned with ADR-003 (Single Coordination Engine)
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=coordinator.interface.js.map