moflo 4.8.19 → 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 (241) 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/package.json +2 -2
  5. package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +1 -1
  6. package/src/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +5 -3
  7. package/src/@claude-flow/cli/package.json +1 -1
  8. package/src/@claude-flow/memory/dist/agent-memory-scope.d.ts +131 -0
  9. package/src/@claude-flow/memory/dist/agent-memory-scope.js +223 -0
  10. package/src/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +8 -0
  11. package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +466 -0
  12. package/src/@claude-flow/memory/dist/agentdb-adapter.d.ts +165 -0
  13. package/src/@claude-flow/memory/dist/agentdb-adapter.js +806 -0
  14. package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +212 -0
  15. package/src/@claude-flow/memory/dist/agentdb-backend.js +842 -0
  16. package/src/@claude-flow/memory/dist/agentdb-backend.test.d.ts +7 -0
  17. package/src/@claude-flow/memory/dist/agentdb-backend.test.js +258 -0
  18. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +65 -0
  19. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.js +129 -0
  20. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +48 -0
  21. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.js +72 -0
  22. package/src/@claude-flow/memory/dist/application/index.d.ts +12 -0
  23. package/src/@claude-flow/memory/dist/application/index.js +15 -0
  24. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +72 -0
  25. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.js +143 -0
  26. package/src/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +121 -0
  27. package/src/@claude-flow/memory/dist/application/services/memory-application-service.js +190 -0
  28. package/src/@claude-flow/memory/dist/auto-memory-bridge.d.ts +226 -0
  29. package/src/@claude-flow/memory/dist/auto-memory-bridge.js +709 -0
  30. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +8 -0
  31. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +757 -0
  32. package/src/@claude-flow/memory/dist/benchmark.test.d.ts +2 -0
  33. package/src/@claude-flow/memory/dist/benchmark.test.js +277 -0
  34. package/src/@claude-flow/memory/dist/cache-manager.d.ts +134 -0
  35. package/src/@claude-flow/memory/dist/cache-manager.js +407 -0
  36. package/src/@claude-flow/memory/dist/controller-registry.d.ts +216 -0
  37. package/src/@claude-flow/memory/dist/controller-registry.js +893 -0
  38. package/src/@claude-flow/memory/dist/controller-registry.test.d.ts +14 -0
  39. package/src/@claude-flow/memory/dist/controller-registry.test.js +593 -0
  40. package/src/@claude-flow/memory/dist/database-provider.d.ts +87 -0
  41. package/src/@claude-flow/memory/dist/database-provider.js +372 -0
  42. package/src/@claude-flow/memory/dist/database-provider.test.d.ts +7 -0
  43. package/src/@claude-flow/memory/dist/database-provider.test.js +287 -0
  44. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +143 -0
  45. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.js +226 -0
  46. package/src/@claude-flow/memory/dist/domain/index.d.ts +11 -0
  47. package/src/@claude-flow/memory/dist/domain/index.js +12 -0
  48. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +102 -0
  49. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.js +11 -0
  50. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +105 -0
  51. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.js +297 -0
  52. package/src/@claude-flow/memory/dist/hnsw-index.d.ts +111 -0
  53. package/src/@claude-flow/memory/dist/hnsw-index.js +781 -0
  54. package/src/@claude-flow/memory/dist/hnsw-lite.d.ts +23 -0
  55. package/src/@claude-flow/memory/dist/hnsw-lite.js +168 -0
  56. package/src/@claude-flow/memory/dist/index.d.ts +204 -0
  57. package/src/@claude-flow/memory/dist/index.js +358 -0
  58. package/src/@claude-flow/memory/dist/infrastructure/index.d.ts +17 -0
  59. package/src/@claude-flow/memory/dist/infrastructure/index.js +16 -0
  60. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +66 -0
  61. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +409 -0
  62. package/src/@claude-flow/memory/dist/learning-bridge.d.ts +137 -0
  63. package/src/@claude-flow/memory/dist/learning-bridge.js +335 -0
  64. package/src/@claude-flow/memory/dist/learning-bridge.test.d.ts +8 -0
  65. package/src/@claude-flow/memory/dist/learning-bridge.test.js +578 -0
  66. package/src/@claude-flow/memory/dist/memory-graph.d.ts +100 -0
  67. package/src/@claude-flow/memory/dist/memory-graph.js +333 -0
  68. package/src/@claude-flow/memory/dist/memory-graph.test.d.ts +8 -0
  69. package/src/@claude-flow/memory/dist/memory-graph.test.js +609 -0
  70. package/src/@claude-flow/memory/dist/migration.d.ts +68 -0
  71. package/src/@claude-flow/memory/dist/migration.js +513 -0
  72. package/src/@claude-flow/memory/dist/persistent-sona.d.ts +144 -0
  73. package/src/@claude-flow/memory/dist/persistent-sona.js +332 -0
  74. package/src/@claude-flow/memory/dist/query-builder.d.ts +211 -0
  75. package/src/@claude-flow/memory/dist/query-builder.js +438 -0
  76. package/src/@claude-flow/memory/dist/rvf-backend.d.ts +51 -0
  77. package/src/@claude-flow/memory/dist/rvf-backend.js +481 -0
  78. package/src/@claude-flow/memory/dist/rvf-learning-store.d.ts +139 -0
  79. package/src/@claude-flow/memory/dist/rvf-learning-store.js +295 -0
  80. package/src/@claude-flow/memory/dist/rvf-migration.d.ts +45 -0
  81. package/src/@claude-flow/memory/dist/rvf-migration.js +234 -0
  82. package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +127 -0
  83. package/src/@claude-flow/memory/dist/sqljs-backend.js +600 -0
  84. package/src/@claude-flow/memory/dist/types.d.ts +484 -0
  85. package/src/@claude-flow/memory/dist/types.js +58 -0
  86. package/src/@claude-flow/shared/dist/core/config/defaults.d.ts +41 -0
  87. package/src/@claude-flow/shared/dist/core/config/defaults.js +186 -0
  88. package/src/@claude-flow/shared/dist/core/config/index.d.ts +8 -0
  89. package/src/@claude-flow/shared/dist/core/config/index.js +12 -0
  90. package/src/@claude-flow/shared/dist/core/config/loader.d.ts +45 -0
  91. package/src/@claude-flow/shared/dist/core/config/loader.js +222 -0
  92. package/src/@claude-flow/shared/dist/core/config/schema.d.ts +1134 -0
  93. package/src/@claude-flow/shared/dist/core/config/schema.js +158 -0
  94. package/src/@claude-flow/shared/dist/core/config/validator.d.ts +92 -0
  95. package/src/@claude-flow/shared/dist/core/config/validator.js +147 -0
  96. package/src/@claude-flow/shared/dist/core/event-bus.d.ts +31 -0
  97. package/src/@claude-flow/shared/dist/core/event-bus.js +197 -0
  98. package/src/@claude-flow/shared/dist/core/index.d.ts +15 -0
  99. package/src/@claude-flow/shared/dist/core/index.js +19 -0
  100. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +200 -0
  101. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.js +6 -0
  102. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +310 -0
  103. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +7 -0
  104. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +224 -0
  105. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.js +46 -0
  106. package/src/@claude-flow/shared/dist/core/interfaces/index.d.ts +10 -0
  107. package/src/@claude-flow/shared/dist/core/interfaces/index.js +15 -0
  108. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +298 -0
  109. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.js +7 -0
  110. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +185 -0
  111. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.js +6 -0
  112. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +35 -0
  113. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +101 -0
  114. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +60 -0
  115. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +166 -0
  116. package/src/@claude-flow/shared/dist/core/orchestrator/index.d.ts +46 -0
  117. package/src/@claude-flow/shared/dist/core/orchestrator/index.js +64 -0
  118. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +56 -0
  119. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +195 -0
  120. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +83 -0
  121. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.js +193 -0
  122. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +49 -0
  123. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.js +253 -0
  124. package/src/@claude-flow/shared/dist/events/domain-events.d.ts +282 -0
  125. package/src/@claude-flow/shared/dist/events/domain-events.js +165 -0
  126. package/src/@claude-flow/shared/dist/events/event-store.d.ts +126 -0
  127. package/src/@claude-flow/shared/dist/events/event-store.js +432 -0
  128. package/src/@claude-flow/shared/dist/events/event-store.test.d.ts +8 -0
  129. package/src/@claude-flow/shared/dist/events/event-store.test.js +297 -0
  130. package/src/@claude-flow/shared/dist/events/example-usage.d.ts +10 -0
  131. package/src/@claude-flow/shared/dist/events/example-usage.js +193 -0
  132. package/src/@claude-flow/shared/dist/events/index.d.ts +21 -0
  133. package/src/@claude-flow/shared/dist/events/index.js +22 -0
  134. package/src/@claude-flow/shared/dist/events/projections.d.ts +177 -0
  135. package/src/@claude-flow/shared/dist/events/projections.js +421 -0
  136. package/src/@claude-flow/shared/dist/events/rvf-event-log.d.ts +82 -0
  137. package/src/@claude-flow/shared/dist/events/rvf-event-log.js +340 -0
  138. package/src/@claude-flow/shared/dist/events/state-reconstructor.d.ts +101 -0
  139. package/src/@claude-flow/shared/dist/events/state-reconstructor.js +263 -0
  140. package/src/@claude-flow/shared/dist/events.d.ts +80 -0
  141. package/src/@claude-flow/shared/dist/events.js +249 -0
  142. package/src/@claude-flow/shared/dist/hooks/example-usage.d.ts +42 -0
  143. package/src/@claude-flow/shared/dist/hooks/example-usage.js +351 -0
  144. package/src/@claude-flow/shared/dist/hooks/executor.d.ts +100 -0
  145. package/src/@claude-flow/shared/dist/hooks/executor.js +267 -0
  146. package/src/@claude-flow/shared/dist/hooks/hooks.test.d.ts +9 -0
  147. package/src/@claude-flow/shared/dist/hooks/hooks.test.js +322 -0
  148. package/src/@claude-flow/shared/dist/hooks/index.d.ts +52 -0
  149. package/src/@claude-flow/shared/dist/hooks/index.js +51 -0
  150. package/src/@claude-flow/shared/dist/hooks/registry.d.ts +133 -0
  151. package/src/@claude-flow/shared/dist/hooks/registry.js +277 -0
  152. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +105 -0
  153. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.js +481 -0
  154. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +144 -0
  155. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +328 -0
  156. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +158 -0
  157. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +450 -0
  158. package/src/@claude-flow/shared/dist/hooks/safety/index.d.ts +17 -0
  159. package/src/@claude-flow/shared/dist/hooks/safety/index.js +17 -0
  160. package/src/@claude-flow/shared/dist/hooks/session-hooks.d.ts +234 -0
  161. package/src/@claude-flow/shared/dist/hooks/session-hooks.js +334 -0
  162. package/src/@claude-flow/shared/dist/hooks/task-hooks.d.ts +163 -0
  163. package/src/@claude-flow/shared/dist/hooks/task-hooks.js +326 -0
  164. package/src/@claude-flow/shared/dist/hooks/types.d.ts +267 -0
  165. package/src/@claude-flow/shared/dist/hooks/types.js +62 -0
  166. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +9 -0
  167. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +93 -0
  168. package/src/@claude-flow/shared/dist/index.d.ts +20 -0
  169. package/src/@claude-flow/shared/dist/index.js +50 -0
  170. package/src/@claude-flow/shared/dist/mcp/connection-pool.d.ts +98 -0
  171. package/src/@claude-flow/shared/dist/mcp/connection-pool.js +364 -0
  172. package/src/@claude-flow/shared/dist/mcp/index.d.ts +69 -0
  173. package/src/@claude-flow/shared/dist/mcp/index.js +84 -0
  174. package/src/@claude-flow/shared/dist/mcp/server.d.ts +166 -0
  175. package/src/@claude-flow/shared/dist/mcp/server.js +593 -0
  176. package/src/@claude-flow/shared/dist/mcp/session-manager.d.ts +136 -0
  177. package/src/@claude-flow/shared/dist/mcp/session-manager.js +335 -0
  178. package/src/@claude-flow/shared/dist/mcp/tool-registry.d.ts +178 -0
  179. package/src/@claude-flow/shared/dist/mcp/tool-registry.js +439 -0
  180. package/src/@claude-flow/shared/dist/mcp/transport/http.d.ts +104 -0
  181. package/src/@claude-flow/shared/dist/mcp/transport/http.js +476 -0
  182. package/src/@claude-flow/shared/dist/mcp/transport/index.d.ts +102 -0
  183. package/src/@claude-flow/shared/dist/mcp/transport/index.js +238 -0
  184. package/src/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +104 -0
  185. package/src/@claude-flow/shared/dist/mcp/transport/stdio.js +263 -0
  186. package/src/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +133 -0
  187. package/src/@claude-flow/shared/dist/mcp/transport/websocket.js +396 -0
  188. package/src/@claude-flow/shared/dist/mcp/types.d.ts +438 -0
  189. package/src/@claude-flow/shared/dist/mcp/types.js +54 -0
  190. package/src/@claude-flow/shared/dist/plugin-interface.d.ts +544 -0
  191. package/src/@claude-flow/shared/dist/plugin-interface.js +23 -0
  192. package/src/@claude-flow/shared/dist/plugin-loader.d.ts +139 -0
  193. package/src/@claude-flow/shared/dist/plugin-loader.js +434 -0
  194. package/src/@claude-flow/shared/dist/plugin-registry.d.ts +183 -0
  195. package/src/@claude-flow/shared/dist/plugin-registry.js +457 -0
  196. package/src/@claude-flow/shared/dist/plugins/index.d.ts +10 -0
  197. package/src/@claude-flow/shared/dist/plugins/index.js +10 -0
  198. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +106 -0
  199. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +241 -0
  200. package/src/@claude-flow/shared/dist/plugins/official/index.d.ts +10 -0
  201. package/src/@claude-flow/shared/dist/plugins/official/index.js +10 -0
  202. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +121 -0
  203. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +355 -0
  204. package/src/@claude-flow/shared/dist/plugins/types.d.ts +93 -0
  205. package/src/@claude-flow/shared/dist/plugins/types.js +9 -0
  206. package/src/@claude-flow/shared/dist/resilience/bulkhead.d.ts +105 -0
  207. package/src/@claude-flow/shared/dist/resilience/bulkhead.js +206 -0
  208. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +132 -0
  209. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.js +233 -0
  210. package/src/@claude-flow/shared/dist/resilience/index.d.ts +19 -0
  211. package/src/@claude-flow/shared/dist/resilience/index.js +19 -0
  212. package/src/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +168 -0
  213. package/src/@claude-flow/shared/dist/resilience/rate-limiter.js +314 -0
  214. package/src/@claude-flow/shared/dist/resilience/retry.d.ts +91 -0
  215. package/src/@claude-flow/shared/dist/resilience/retry.js +159 -0
  216. package/src/@claude-flow/shared/dist/security/index.d.ts +10 -0
  217. package/src/@claude-flow/shared/dist/security/index.js +12 -0
  218. package/src/@claude-flow/shared/dist/security/input-validation.d.ts +73 -0
  219. package/src/@claude-flow/shared/dist/security/input-validation.js +201 -0
  220. package/src/@claude-flow/shared/dist/security/secure-random.d.ts +92 -0
  221. package/src/@claude-flow/shared/dist/security/secure-random.js +142 -0
  222. package/src/@claude-flow/shared/dist/services/index.d.ts +7 -0
  223. package/src/@claude-flow/shared/dist/services/index.js +7 -0
  224. package/src/@claude-flow/shared/dist/services/v3-progress.service.d.ts +124 -0
  225. package/src/@claude-flow/shared/dist/services/v3-progress.service.js +402 -0
  226. package/src/@claude-flow/shared/dist/types/agent.types.d.ts +137 -0
  227. package/src/@claude-flow/shared/dist/types/agent.types.js +6 -0
  228. package/src/@claude-flow/shared/dist/types/index.d.ts +11 -0
  229. package/src/@claude-flow/shared/dist/types/index.js +17 -0
  230. package/src/@claude-flow/shared/dist/types/mcp.types.d.ts +266 -0
  231. package/src/@claude-flow/shared/dist/types/mcp.types.js +7 -0
  232. package/src/@claude-flow/shared/dist/types/memory.types.d.ts +236 -0
  233. package/src/@claude-flow/shared/dist/types/memory.types.js +7 -0
  234. package/src/@claude-flow/shared/dist/types/swarm.types.d.ts +186 -0
  235. package/src/@claude-flow/shared/dist/types/swarm.types.js +65 -0
  236. package/src/@claude-flow/shared/dist/types/task.types.d.ts +178 -0
  237. package/src/@claude-flow/shared/dist/types/task.types.js +32 -0
  238. package/src/@claude-flow/shared/dist/types.d.ts +197 -0
  239. package/src/@claude-flow/shared/dist/types.js +21 -0
  240. package/src/@claude-flow/shared/dist/utils/secure-logger.d.ts +69 -0
  241. package/src/@claude-flow/shared/dist/utils/secure-logger.js +208 -0
@@ -0,0 +1,158 @@
1
+ /**
2
+ * V3 Configuration Schemas
3
+ * Zod schemas for all configuration types
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Agent configuration schema
8
+ */
9
+ export const AgentConfigSchema = z.object({
10
+ id: z.string().min(1),
11
+ name: z.string().min(1),
12
+ type: z.string().min(1),
13
+ capabilities: z.array(z.string()).default([]),
14
+ maxConcurrentTasks: z.number().int().min(1).default(5),
15
+ priority: z.number().int().min(0).max(100).default(50),
16
+ timeout: z.number().int().positive().optional(),
17
+ retryPolicy: z.object({
18
+ maxRetries: z.number().int().min(0).default(3),
19
+ backoffMs: z.number().int().positive().default(1000),
20
+ backoffMultiplier: z.number().positive().default(2),
21
+ }).optional(),
22
+ resources: z.object({
23
+ maxMemoryMb: z.number().int().positive().optional(),
24
+ maxCpuPercent: z.number().min(0).max(100).optional(),
25
+ }).optional(),
26
+ metadata: z.record(z.unknown()).optional(),
27
+ });
28
+ /**
29
+ * Task configuration schema
30
+ */
31
+ export const TaskConfigSchema = z.object({
32
+ type: z.string().min(1),
33
+ description: z.string().min(1),
34
+ priority: z.number().int().min(0).max(100).default(50),
35
+ timeout: z.number().int().positive().optional(),
36
+ assignedAgent: z.string().optional(),
37
+ input: z.record(z.unknown()).optional(),
38
+ metadata: z.object({
39
+ requiredCapabilities: z.array(z.string()).optional(),
40
+ retryCount: z.number().int().min(0).optional(),
41
+ maxRetries: z.number().int().min(0).optional(),
42
+ critical: z.boolean().optional(),
43
+ parentTaskId: z.string().optional(),
44
+ childTaskIds: z.array(z.string()).optional(),
45
+ tags: z.array(z.string()).optional(),
46
+ }).optional(),
47
+ });
48
+ /**
49
+ * Swarm configuration schema
50
+ */
51
+ export const SwarmConfigSchema = z.object({
52
+ topology: z.enum(['hierarchical', 'mesh', 'ring', 'star', 'adaptive', 'hierarchical-mesh']),
53
+ maxAgents: z.number().int().positive().default(20),
54
+ autoScale: z.object({
55
+ enabled: z.boolean().default(false),
56
+ minAgents: z.number().int().min(0).default(1),
57
+ maxAgents: z.number().int().positive().default(20),
58
+ scaleUpThreshold: z.number().min(0).max(1).default(0.8),
59
+ scaleDownThreshold: z.number().min(0).max(1).default(0.3),
60
+ }).optional(),
61
+ coordination: z.object({
62
+ consensusRequired: z.boolean().default(false),
63
+ timeoutMs: z.number().int().positive().default(10000),
64
+ retryPolicy: z.object({
65
+ maxRetries: z.number().int().min(0).default(3),
66
+ backoffMs: z.number().int().positive().default(500),
67
+ }),
68
+ }).optional(),
69
+ communication: z.object({
70
+ protocol: z.enum(['events', 'messages', 'shared-memory']).default('events'),
71
+ batchSize: z.number().int().positive().default(10),
72
+ flushIntervalMs: z.number().int().positive().default(100),
73
+ }).optional(),
74
+ metadata: z.record(z.unknown()).optional(),
75
+ });
76
+ /**
77
+ * Memory configuration schema
78
+ */
79
+ export const MemoryConfigSchema = z.object({
80
+ type: z.enum(['sqlite', 'agentdb', 'hybrid', 'redis', 'memory']).default('hybrid'),
81
+ path: z.string().optional(),
82
+ maxSize: z.number().int().positive().optional(),
83
+ ttlMs: z.number().int().positive().optional(),
84
+ sqlite: z.object({
85
+ filename: z.string().optional(),
86
+ inMemory: z.boolean().default(false),
87
+ wal: z.boolean().default(true),
88
+ }).optional(),
89
+ agentdb: z.object({
90
+ dimensions: z.number().int().positive().default(1536),
91
+ indexType: z.enum(['hnsw', 'flat', 'ivf']).default('hnsw'),
92
+ efConstruction: z.number().int().positive().default(200),
93
+ m: z.number().int().positive().default(16),
94
+ quantization: z.enum(['none', 'scalar', 'product']).default('none'),
95
+ }).optional(),
96
+ redis: z.object({
97
+ host: z.string().default('localhost'),
98
+ port: z.number().int().positive().default(6379),
99
+ password: z.string().optional(),
100
+ db: z.number().int().min(0).default(0),
101
+ keyPrefix: z.string().default('claude-flow:'),
102
+ }).optional(),
103
+ hybrid: z.object({
104
+ vectorThreshold: z.number().int().positive().default(100),
105
+ }).optional(),
106
+ });
107
+ /**
108
+ * MCP server configuration schema
109
+ */
110
+ export const MCPServerConfigSchema = z.object({
111
+ name: z.string().min(1).default('moflo'),
112
+ version: z.string().min(1).default('3.0.0'),
113
+ transport: z.object({
114
+ type: z.enum(['stdio', 'http', 'websocket']).default('stdio'),
115
+ port: z.number().int().positive().optional(),
116
+ host: z.string().optional(),
117
+ path: z.string().optional(),
118
+ }),
119
+ capabilities: z.object({
120
+ tools: z.boolean().default(true),
121
+ resources: z.boolean().default(true),
122
+ prompts: z.boolean().default(true),
123
+ logging: z.boolean().default(true),
124
+ experimental: z.record(z.boolean()).optional(),
125
+ }).optional(),
126
+ });
127
+ /**
128
+ * Orchestrator configuration schema
129
+ */
130
+ export const OrchestratorConfigSchema = z.object({
131
+ session: z.object({
132
+ persistSessions: z.boolean().default(true),
133
+ dataDir: z.string().default('./data'),
134
+ sessionRetentionMs: z.number().int().positive().default(3600000),
135
+ }),
136
+ health: z.object({
137
+ checkInterval: z.number().int().positive().default(30000),
138
+ historyLimit: z.number().int().positive().default(100),
139
+ degradedThreshold: z.number().int().min(0).default(1),
140
+ unhealthyThreshold: z.number().int().min(0).default(2),
141
+ }),
142
+ lifecycle: z.object({
143
+ maxConcurrentAgents: z.number().int().positive().default(20),
144
+ spawnTimeout: z.number().int().positive().default(30000),
145
+ terminateTimeout: z.number().int().positive().default(10000),
146
+ maxSpawnRetries: z.number().int().min(0).default(3),
147
+ }),
148
+ });
149
+ /**
150
+ * Full system configuration schema
151
+ */
152
+ export const SystemConfigSchema = z.object({
153
+ orchestrator: OrchestratorConfigSchema,
154
+ memory: MemoryConfigSchema.optional(),
155
+ mcp: MCPServerConfigSchema.optional(),
156
+ swarm: SwarmConfigSchema.optional(),
157
+ });
158
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1,92 @@
1
+ /**
2
+ * V3 Configuration Validator
3
+ * Validation logic using Zod schemas
4
+ */
5
+ import { z } from 'zod';
6
+ import { type AgentConfig, type TaskConfig, type SwarmConfig, type MemoryConfig, type MCPServerConfig, type OrchestratorConfig, type SystemConfig } from './schema.js';
7
+ /**
8
+ * Validation result
9
+ */
10
+ export interface ValidationResult<T> {
11
+ success: boolean;
12
+ data?: T;
13
+ errors?: ValidationError[];
14
+ }
15
+ /**
16
+ * Validation error
17
+ */
18
+ export interface ValidationError {
19
+ path: string;
20
+ message: string;
21
+ code: string;
22
+ }
23
+ /**
24
+ * Validate agent configuration
25
+ */
26
+ export declare function validateAgentConfig(data: unknown): ValidationResult<AgentConfig>;
27
+ /**
28
+ * Validate task configuration
29
+ */
30
+ export declare function validateTaskConfig(data: unknown): ValidationResult<TaskConfig>;
31
+ /**
32
+ * Validate swarm configuration
33
+ */
34
+ export declare function validateSwarmConfig(data: unknown): ValidationResult<SwarmConfig>;
35
+ /**
36
+ * Validate memory configuration
37
+ */
38
+ export declare function validateMemoryConfig(data: unknown): ValidationResult<MemoryConfig>;
39
+ /**
40
+ * Validate MCP server configuration
41
+ */
42
+ export declare function validateMCPServerConfig(data: unknown): ValidationResult<MCPServerConfig>;
43
+ /**
44
+ * Validate orchestrator configuration
45
+ */
46
+ export declare function validateOrchestratorConfig(data: unknown): ValidationResult<OrchestratorConfig>;
47
+ /**
48
+ * Validate full system configuration
49
+ */
50
+ export declare function validateSystemConfig(data: unknown): ValidationResult<SystemConfig>;
51
+ /**
52
+ * Configuration validator class
53
+ */
54
+ export declare class ConfigValidator {
55
+ /**
56
+ * Validate and throw on error
57
+ */
58
+ static validateOrThrow<TInput, TOutput>(schema: z.ZodType<TOutput, z.ZodTypeDef, TInput>, data: unknown, configName: string): TOutput;
59
+ /**
60
+ * Validate agent config or throw
61
+ */
62
+ static validateAgentOrThrow(data: unknown): AgentConfig;
63
+ /**
64
+ * Validate task config or throw
65
+ */
66
+ static validateTaskOrThrow(data: unknown): TaskConfig;
67
+ /**
68
+ * Validate swarm config or throw
69
+ */
70
+ static validateSwarmOrThrow(data: unknown): SwarmConfig;
71
+ /**
72
+ * Validate memory config or throw
73
+ */
74
+ static validateMemoryOrThrow(data: unknown): MemoryConfig;
75
+ /**
76
+ * Validate MCP server config or throw
77
+ */
78
+ static validateMCPServerOrThrow(data: unknown): MCPServerConfig;
79
+ /**
80
+ * Validate orchestrator config or throw
81
+ */
82
+ static validateOrchestratorOrThrow(data: unknown): OrchestratorConfig;
83
+ /**
84
+ * Validate system config or throw
85
+ */
86
+ static validateSystemOrThrow(data: unknown): SystemConfig;
87
+ /**
88
+ * Check if data matches schema
89
+ */
90
+ static isValid<TInput, TOutput>(schema: z.ZodType<TOutput, z.ZodTypeDef, TInput>, data: unknown): boolean;
91
+ }
92
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1,147 @@
1
+ /**
2
+ * V3 Configuration Validator
3
+ * Validation logic using Zod schemas
4
+ */
5
+ import { z } from 'zod';
6
+ import { AgentConfigSchema, TaskConfigSchema, SwarmConfigSchema, MemoryConfigSchema, MCPServerConfigSchema, OrchestratorConfigSchema, SystemConfigSchema, } from './schema.js';
7
+ /**
8
+ * Convert Zod error to validation errors
9
+ */
10
+ function zodErrorToValidationErrors(error) {
11
+ return error.errors.map((e) => ({
12
+ path: e.path.join('.'),
13
+ message: e.message,
14
+ code: e.code,
15
+ }));
16
+ }
17
+ /**
18
+ * Generic validation function
19
+ * Uses parse + try/catch to get output types with defaults applied
20
+ */
21
+ function validate(schema, data) {
22
+ try {
23
+ const parsed = schema.parse(data);
24
+ return {
25
+ success: true,
26
+ data: parsed,
27
+ };
28
+ }
29
+ catch (error) {
30
+ if (error instanceof z.ZodError) {
31
+ return {
32
+ success: false,
33
+ errors: zodErrorToValidationErrors(error),
34
+ };
35
+ }
36
+ throw error;
37
+ }
38
+ }
39
+ /**
40
+ * Validate agent configuration
41
+ */
42
+ export function validateAgentConfig(data) {
43
+ return validate(AgentConfigSchema, data);
44
+ }
45
+ /**
46
+ * Validate task configuration
47
+ */
48
+ export function validateTaskConfig(data) {
49
+ return validate(TaskConfigSchema, data);
50
+ }
51
+ /**
52
+ * Validate swarm configuration
53
+ */
54
+ export function validateSwarmConfig(data) {
55
+ return validate(SwarmConfigSchema, data);
56
+ }
57
+ /**
58
+ * Validate memory configuration
59
+ */
60
+ export function validateMemoryConfig(data) {
61
+ return validate(MemoryConfigSchema, data);
62
+ }
63
+ /**
64
+ * Validate MCP server configuration
65
+ */
66
+ export function validateMCPServerConfig(data) {
67
+ return validate(MCPServerConfigSchema, data);
68
+ }
69
+ /**
70
+ * Validate orchestrator configuration
71
+ */
72
+ export function validateOrchestratorConfig(data) {
73
+ return validate(OrchestratorConfigSchema, data);
74
+ }
75
+ /**
76
+ * Validate full system configuration
77
+ */
78
+ export function validateSystemConfig(data) {
79
+ return validate(SystemConfigSchema, data);
80
+ }
81
+ /**
82
+ * Configuration validator class
83
+ */
84
+ export class ConfigValidator {
85
+ /**
86
+ * Validate and throw on error
87
+ */
88
+ static validateOrThrow(schema, data, configName) {
89
+ const result = validate(schema, data);
90
+ if (!result.success) {
91
+ const errorMessages = result.errors
92
+ ?.map((e) => ` - ${e.path}: ${e.message}`)
93
+ .join('\n');
94
+ throw new Error(`Invalid ${configName} configuration:\n${errorMessages}`);
95
+ }
96
+ return result.data;
97
+ }
98
+ /**
99
+ * Validate agent config or throw
100
+ */
101
+ static validateAgentOrThrow(data) {
102
+ return this.validateOrThrow(AgentConfigSchema, data, 'agent');
103
+ }
104
+ /**
105
+ * Validate task config or throw
106
+ */
107
+ static validateTaskOrThrow(data) {
108
+ return this.validateOrThrow(TaskConfigSchema, data, 'task');
109
+ }
110
+ /**
111
+ * Validate swarm config or throw
112
+ */
113
+ static validateSwarmOrThrow(data) {
114
+ return this.validateOrThrow(SwarmConfigSchema, data, 'swarm');
115
+ }
116
+ /**
117
+ * Validate memory config or throw
118
+ */
119
+ static validateMemoryOrThrow(data) {
120
+ return this.validateOrThrow(MemoryConfigSchema, data, 'memory');
121
+ }
122
+ /**
123
+ * Validate MCP server config or throw
124
+ */
125
+ static validateMCPServerOrThrow(data) {
126
+ return this.validateOrThrow(MCPServerConfigSchema, data, 'MCP server');
127
+ }
128
+ /**
129
+ * Validate orchestrator config or throw
130
+ */
131
+ static validateOrchestratorOrThrow(data) {
132
+ return this.validateOrThrow(OrchestratorConfigSchema, data, 'orchestrator');
133
+ }
134
+ /**
135
+ * Validate system config or throw
136
+ */
137
+ static validateSystemOrThrow(data) {
138
+ return this.validateOrThrow(SystemConfigSchema, data, 'system');
139
+ }
140
+ /**
141
+ * Check if data matches schema
142
+ */
143
+ static isValid(schema, data) {
144
+ return validate(schema, data).success;
145
+ }
146
+ }
147
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1,31 @@
1
+ /**
2
+ * V3 Event Bus
3
+ * Core event pub/sub implementation
4
+ */
5
+ import type { IEventBus, IEventCreate, IEventHandler, IEventSubscription, IEventFilter } from './interfaces/event.interface.js';
6
+ /**
7
+ * Event bus implementation
8
+ */
9
+ export declare class EventBus implements IEventBus {
10
+ private handlers;
11
+ private subscriptions;
12
+ private subscriptionId;
13
+ emit<T = unknown>(type: string, payload: T, options?: Partial<IEventCreate<T>>): void;
14
+ emitAsync<T = unknown>(type: string, payload: T, options?: Partial<IEventCreate<T>>): Promise<void>;
15
+ on<T = unknown>(type: string, handler: IEventHandler<T>): IEventSubscription;
16
+ subscribe<T = unknown>(filter: IEventFilter, handler: IEventHandler<T>): IEventSubscription;
17
+ once<T = unknown>(type: string, handler: IEventHandler<T>): IEventSubscription;
18
+ off(type: string, handler: IEventHandler): void;
19
+ removeAllListeners(type?: string): void;
20
+ listenerCount(type: string): number;
21
+ eventNames(): string[];
22
+ private createEvent;
23
+ private dispatchEvent;
24
+ private dispatchEventAsync;
25
+ private removeSubscription;
26
+ }
27
+ /**
28
+ * Create a new event bus instance
29
+ */
30
+ export declare function createEventBus(): IEventBus;
31
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1,197 @@
1
+ /**
2
+ * V3 Event Bus
3
+ * Core event pub/sub implementation
4
+ */
5
+ import { randomBytes } from 'crypto';
6
+ // Secure event ID generation
7
+ function generateSecureEventId() {
8
+ const timestamp = Date.now().toString(36);
9
+ const random = randomBytes(12).toString('hex');
10
+ return `evt_${timestamp}_${random}`;
11
+ }
12
+ /**
13
+ * Event subscription implementation
14
+ */
15
+ class EventSubscription {
16
+ id;
17
+ filter;
18
+ removeCallback;
19
+ active = true;
20
+ paused = false;
21
+ constructor(id, filter, removeCallback) {
22
+ this.id = id;
23
+ this.filter = filter;
24
+ this.removeCallback = removeCallback;
25
+ }
26
+ unsubscribe() {
27
+ this.active = false;
28
+ this.removeCallback();
29
+ }
30
+ pause() {
31
+ this.paused = true;
32
+ }
33
+ resume() {
34
+ this.paused = false;
35
+ }
36
+ isActive() {
37
+ return this.active && !this.paused;
38
+ }
39
+ }
40
+ /**
41
+ * Event bus implementation
42
+ */
43
+ export class EventBus {
44
+ handlers = new Map();
45
+ subscriptions = new Map();
46
+ subscriptionId = 0;
47
+ emit(type, payload, options) {
48
+ const event = this.createEvent(type, payload, options);
49
+ this.dispatchEvent(event);
50
+ }
51
+ async emitAsync(type, payload, options) {
52
+ const event = this.createEvent(type, payload, options);
53
+ await this.dispatchEventAsync(event);
54
+ }
55
+ on(type, handler) {
56
+ return this.subscribe({ types: [type] }, handler);
57
+ }
58
+ subscribe(filter, handler) {
59
+ const id = `sub_${++this.subscriptionId}`;
60
+ // Register for all matching types
61
+ const types = filter.types ?? ['*'];
62
+ for (const type of types) {
63
+ let handlers = this.handlers.get(type);
64
+ if (!handlers) {
65
+ handlers = new Set();
66
+ this.handlers.set(type, handlers);
67
+ }
68
+ handlers.add(handler);
69
+ }
70
+ const subscription = new EventSubscription(id, filter, () => {
71
+ this.removeSubscription(id);
72
+ });
73
+ this.subscriptions.set(id, { filter, handler: handler, subscription });
74
+ return subscription;
75
+ }
76
+ once(type, handler) {
77
+ const wrappedHandler = async (event) => {
78
+ subscription.unsubscribe();
79
+ await handler(event);
80
+ };
81
+ const subscription = this.on(type, wrappedHandler);
82
+ return subscription;
83
+ }
84
+ off(type, handler) {
85
+ const handlers = this.handlers.get(type);
86
+ if (handlers) {
87
+ handlers.delete(handler);
88
+ if (handlers.size === 0) {
89
+ this.handlers.delete(type);
90
+ }
91
+ }
92
+ }
93
+ removeAllListeners(type) {
94
+ if (type) {
95
+ this.handlers.delete(type);
96
+ }
97
+ else {
98
+ this.handlers.clear();
99
+ }
100
+ }
101
+ listenerCount(type) {
102
+ return this.handlers.get(type)?.size ?? 0;
103
+ }
104
+ eventNames() {
105
+ return Array.from(this.handlers.keys());
106
+ }
107
+ createEvent(type, payload, options) {
108
+ return {
109
+ id: generateSecureEventId(),
110
+ type,
111
+ timestamp: new Date(),
112
+ source: options?.source ?? 'event-bus',
113
+ payload,
114
+ priority: options?.priority,
115
+ correlationId: options?.correlationId,
116
+ causationId: options?.causationId,
117
+ metadata: options?.metadata,
118
+ };
119
+ }
120
+ dispatchEvent(event) {
121
+ // Get handlers for specific type
122
+ const typeHandlers = this.handlers.get(event.type);
123
+ // Get wildcard handlers
124
+ const wildcardHandlers = this.handlers.get('*');
125
+ const allHandlers = new Set();
126
+ if (typeHandlers) {
127
+ for (const handler of typeHandlers) {
128
+ allHandlers.add(handler);
129
+ }
130
+ }
131
+ if (wildcardHandlers) {
132
+ for (const handler of wildcardHandlers) {
133
+ allHandlers.add(handler);
134
+ }
135
+ }
136
+ for (const handler of allHandlers) {
137
+ try {
138
+ const result = handler(event);
139
+ if (result instanceof Promise) {
140
+ result.catch((error) => {
141
+ console.error(`Error in async event handler for ${event.type}:`, error);
142
+ });
143
+ }
144
+ }
145
+ catch (error) {
146
+ console.error(`Error in event handler for ${event.type}:`, error);
147
+ }
148
+ }
149
+ }
150
+ async dispatchEventAsync(event) {
151
+ const typeHandlers = this.handlers.get(event.type);
152
+ const wildcardHandlers = this.handlers.get('*');
153
+ const allHandlers = new Set();
154
+ if (typeHandlers) {
155
+ for (const handler of typeHandlers) {
156
+ allHandlers.add(handler);
157
+ }
158
+ }
159
+ if (wildcardHandlers) {
160
+ for (const handler of wildcardHandlers) {
161
+ allHandlers.add(handler);
162
+ }
163
+ }
164
+ const promises = Array.from(allHandlers).map(async (handler) => {
165
+ try {
166
+ await handler(event);
167
+ }
168
+ catch (error) {
169
+ console.error(`Error in event handler for ${event.type}:`, error);
170
+ }
171
+ });
172
+ await Promise.allSettled(promises);
173
+ }
174
+ removeSubscription(id) {
175
+ const sub = this.subscriptions.get(id);
176
+ if (sub) {
177
+ const types = sub.filter.types ?? ['*'];
178
+ for (const type of types) {
179
+ const handlers = this.handlers.get(type);
180
+ if (handlers) {
181
+ handlers.delete(sub.handler);
182
+ if (handlers.size === 0) {
183
+ this.handlers.delete(type);
184
+ }
185
+ }
186
+ }
187
+ this.subscriptions.delete(id);
188
+ }
189
+ }
190
+ }
191
+ /**
192
+ * Create a new event bus instance
193
+ */
194
+ export function createEventBus() {
195
+ return new EventBus();
196
+ }
197
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * V3 Core Module - Public API
3
+ * Domain-Driven Design with Clean Architecture
4
+ *
5
+ * This module provides the core architecture for claude-flow v3:
6
+ * - Decomposed orchestrator (task, session, health, lifecycle management)
7
+ * - Event-driven architecture with event bus and coordinator
8
+ * - Type-safe configuration with Zod validation
9
+ * - Clean interfaces following DDD principles
10
+ */
11
+ export * from './interfaces/index.js';
12
+ export { EventBus, createEventBus } from './event-bus.js';
13
+ export * from './orchestrator/index.js';
14
+ export * from './config/index.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * V3 Core Module - Public API
3
+ * Domain-Driven Design with Clean Architecture
4
+ *
5
+ * This module provides the core architecture for claude-flow v3:
6
+ * - Decomposed orchestrator (task, session, health, lifecycle management)
7
+ * - Event-driven architecture with event bus and coordinator
8
+ * - Type-safe configuration with Zod validation
9
+ * - Clean interfaces following DDD principles
10
+ */
11
+ // Interfaces (Domain contracts)
12
+ export * from './interfaces/index.js';
13
+ // Event system
14
+ export { EventBus, createEventBus } from './event-bus.js';
15
+ // Orchestrator components (decomposed)
16
+ export * from './orchestrator/index.js';
17
+ // Configuration
18
+ export * from './config/index.js';
19
+ //# sourceMappingURL=index.js.map