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,186 @@
1
+ /**
2
+ * V3 Default Configuration Values
3
+ */
4
+ /**
5
+ * Default agent configuration
6
+ */
7
+ export const defaultAgentConfig = {
8
+ capabilities: [],
9
+ maxConcurrentTasks: 5,
10
+ priority: 50,
11
+ retryPolicy: {
12
+ maxRetries: 3,
13
+ backoffMs: 1000,
14
+ backoffMultiplier: 2,
15
+ },
16
+ };
17
+ /**
18
+ * Default task configuration
19
+ */
20
+ export const defaultTaskConfig = {
21
+ priority: 50,
22
+ metadata: {
23
+ maxRetries: 3,
24
+ },
25
+ };
26
+ /**
27
+ * Default swarm configuration (core version)
28
+ */
29
+ export const defaultSwarmConfigCore = {
30
+ topology: 'hierarchical-mesh',
31
+ maxAgents: 20,
32
+ autoScale: {
33
+ enabled: false,
34
+ minAgents: 1,
35
+ maxAgents: 20,
36
+ scaleUpThreshold: 0.8,
37
+ scaleDownThreshold: 0.3,
38
+ },
39
+ coordination: {
40
+ consensusRequired: false,
41
+ timeoutMs: 10000,
42
+ retryPolicy: {
43
+ maxRetries: 3,
44
+ backoffMs: 500,
45
+ },
46
+ },
47
+ communication: {
48
+ protocol: 'events',
49
+ batchSize: 10,
50
+ flushIntervalMs: 100,
51
+ },
52
+ };
53
+ /**
54
+ * Default memory configuration (hybrid backend - ADR-009)
55
+ */
56
+ export const defaultMemoryConfig = {
57
+ type: 'hybrid',
58
+ path: './data/memory',
59
+ sqlite: {
60
+ inMemory: false,
61
+ wal: true,
62
+ },
63
+ agentdb: {
64
+ dimensions: 1536,
65
+ indexType: 'hnsw',
66
+ efConstruction: 200,
67
+ m: 16,
68
+ quantization: 'none',
69
+ },
70
+ hybrid: {
71
+ vectorThreshold: 100,
72
+ },
73
+ };
74
+ /**
75
+ * Default MCP server configuration
76
+ */
77
+ export const defaultMCPServerConfig = {
78
+ name: 'moflo',
79
+ version: '3.0.0',
80
+ transport: {
81
+ type: 'stdio',
82
+ },
83
+ capabilities: {
84
+ tools: true,
85
+ resources: true,
86
+ prompts: true,
87
+ logging: true,
88
+ },
89
+ };
90
+ /**
91
+ * Default orchestrator configuration
92
+ */
93
+ export const defaultOrchestratorConfig = {
94
+ session: {
95
+ persistSessions: true,
96
+ dataDir: './data',
97
+ sessionRetentionMs: 3600000, // 1 hour
98
+ },
99
+ health: {
100
+ checkInterval: 30000, // 30 seconds
101
+ historyLimit: 100,
102
+ degradedThreshold: 1,
103
+ unhealthyThreshold: 2,
104
+ },
105
+ lifecycle: {
106
+ maxConcurrentAgents: 20,
107
+ spawnTimeout: 30000, // 30 seconds
108
+ terminateTimeout: 10000, // 10 seconds
109
+ maxSpawnRetries: 3,
110
+ },
111
+ };
112
+ /**
113
+ * Default full system configuration
114
+ */
115
+ export const defaultSystemConfig = {
116
+ orchestrator: defaultOrchestratorConfig,
117
+ memory: defaultMemoryConfig,
118
+ mcp: defaultMCPServerConfig,
119
+ swarm: defaultSwarmConfigCore,
120
+ };
121
+ /**
122
+ * Agent type presets
123
+ */
124
+ export const agentTypePresets = {
125
+ coder: {
126
+ type: 'coder',
127
+ capabilities: ['code', 'debug', 'refactor', 'test'],
128
+ maxConcurrentTasks: 3,
129
+ priority: 70,
130
+ },
131
+ reviewer: {
132
+ type: 'reviewer',
133
+ capabilities: ['review', 'analyze', 'suggest'],
134
+ maxConcurrentTasks: 5,
135
+ priority: 60,
136
+ },
137
+ tester: {
138
+ type: 'tester',
139
+ capabilities: ['test', 'validate', 'benchmark'],
140
+ maxConcurrentTasks: 4,
141
+ priority: 65,
142
+ },
143
+ researcher: {
144
+ type: 'researcher',
145
+ capabilities: ['research', 'analyze', 'summarize'],
146
+ maxConcurrentTasks: 3,
147
+ priority: 50,
148
+ },
149
+ planner: {
150
+ type: 'planner',
151
+ capabilities: ['plan', 'organize', 'decompose'],
152
+ maxConcurrentTasks: 2,
153
+ priority: 80,
154
+ },
155
+ architect: {
156
+ type: 'architect',
157
+ capabilities: ['design', 'architecture', 'patterns'],
158
+ maxConcurrentTasks: 2,
159
+ priority: 85,
160
+ },
161
+ coordinator: {
162
+ type: 'coordinator',
163
+ capabilities: ['coordinate', 'delegate', 'monitor'],
164
+ maxConcurrentTasks: 10,
165
+ priority: 90,
166
+ },
167
+ security: {
168
+ type: 'security',
169
+ capabilities: ['audit', 'scan', 'validate', 'secure'],
170
+ maxConcurrentTasks: 3,
171
+ priority: 95,
172
+ },
173
+ performance: {
174
+ type: 'performance',
175
+ capabilities: ['benchmark', 'optimize', 'profile'],
176
+ maxConcurrentTasks: 2,
177
+ priority: 70,
178
+ },
179
+ };
180
+ /**
181
+ * Get merged configuration with defaults
182
+ */
183
+ export function mergeWithDefaults(config, defaults) {
184
+ return { ...defaults, ...config };
185
+ }
186
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1,8 @@
1
+ /**
2
+ * V3 Configuration - Public API
3
+ */
4
+ export * from './schema.js';
5
+ export * from './validator.js';
6
+ export * from './defaults.js';
7
+ export * from './loader.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,12 @@
1
+ /**
2
+ * V3 Configuration - Public API
3
+ */
4
+ // Schemas
5
+ export * from './schema.js';
6
+ // Validation
7
+ export * from './validator.js';
8
+ // Defaults
9
+ export * from './defaults.js';
10
+ // Loader
11
+ export * from './loader.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,45 @@
1
+ /**
2
+ * V3 Configuration Loader
3
+ * Load configuration from various sources
4
+ */
5
+ import type { SystemConfig } from './schema.js';
6
+ /**
7
+ * Configuration source type
8
+ */
9
+ export type ConfigSource = 'file' | 'env' | 'default' | 'merged';
10
+ /**
11
+ * Loaded configuration with metadata
12
+ */
13
+ export interface LoadedConfig {
14
+ config: SystemConfig;
15
+ source: ConfigSource;
16
+ path?: string;
17
+ warnings?: string[];
18
+ }
19
+ /**
20
+ * Configuration loader class
21
+ */
22
+ export declare class ConfigLoader {
23
+ private searchPaths;
24
+ constructor(additionalPaths?: string[]);
25
+ /**
26
+ * Load configuration from all sources
27
+ */
28
+ load(): Promise<LoadedConfig>;
29
+ /**
30
+ * Load configuration from specific file
31
+ */
32
+ loadFromFile(filePath: string): Promise<LoadedConfig>;
33
+ /**
34
+ * Deep merge objects
35
+ */
36
+ private deepMerge;
37
+ }
38
+ /**
39
+ * Load configuration (convenience function)
40
+ */
41
+ export declare function loadConfig(options?: {
42
+ paths?: string[];
43
+ file?: string;
44
+ }): Promise<LoadedConfig>;
45
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1,222 @@
1
+ /**
2
+ * V3 Configuration Loader
3
+ * Load configuration from various sources
4
+ */
5
+ import { readFile } from 'fs/promises';
6
+ import { join, resolve } from 'path';
7
+ import { existsSync } from 'fs';
8
+ import { validateSystemConfig } from './validator.js';
9
+ import { defaultSystemConfig, mergeWithDefaults } from './defaults.js';
10
+ /**
11
+ * Configuration file names to search for
12
+ */
13
+ const CONFIG_FILE_NAMES = [
14
+ 'claude-flow.config.json',
15
+ 'claude-flow.config.js',
16
+ 'claude-flow.json',
17
+ '.claude-flow.json',
18
+ ];
19
+ /**
20
+ * Find configuration file in directory
21
+ */
22
+ async function findConfigFile(directory) {
23
+ for (const name of CONFIG_FILE_NAMES) {
24
+ const path = join(directory, name);
25
+ if (existsSync(path)) {
26
+ return path;
27
+ }
28
+ }
29
+ return null;
30
+ }
31
+ /**
32
+ * Load configuration from JSON file
33
+ */
34
+ async function loadJsonConfig(path) {
35
+ const content = await readFile(path, 'utf8');
36
+ return JSON.parse(content);
37
+ }
38
+ /**
39
+ * Load configuration from environment variables
40
+ */
41
+ function loadEnvConfig() {
42
+ const config = {};
43
+ // Orchestrator settings
44
+ if (process.env.CLAUDE_FLOW_MAX_AGENTS) {
45
+ config.orchestrator = {
46
+ ...defaultSystemConfig.orchestrator,
47
+ lifecycle: {
48
+ ...defaultSystemConfig.orchestrator.lifecycle,
49
+ maxConcurrentAgents: parseInt(process.env.CLAUDE_FLOW_MAX_AGENTS, 10),
50
+ },
51
+ };
52
+ }
53
+ // Data directory
54
+ if (process.env.CLAUDE_FLOW_DATA_DIR) {
55
+ config.orchestrator = {
56
+ ...config.orchestrator,
57
+ ...defaultSystemConfig.orchestrator,
58
+ session: {
59
+ ...defaultSystemConfig.orchestrator.session,
60
+ dataDir: process.env.CLAUDE_FLOW_DATA_DIR,
61
+ },
62
+ };
63
+ }
64
+ // Memory type
65
+ if (process.env.CLAUDE_FLOW_MEMORY_TYPE) {
66
+ const memoryType = process.env.CLAUDE_FLOW_MEMORY_TYPE;
67
+ if (['sqlite', 'agentdb', 'hybrid', 'redis', 'memory'].includes(memoryType)) {
68
+ config.memory = {
69
+ ...(defaultSystemConfig.memory ?? { type: 'hybrid' }),
70
+ type: memoryType,
71
+ };
72
+ }
73
+ }
74
+ // MCP transport
75
+ const defaultMcp = defaultSystemConfig.mcp ?? { name: 'moflo', version: '3.0.0', transport: { type: 'stdio' } };
76
+ if (process.env.CLAUDE_FLOW_MCP_TRANSPORT) {
77
+ const transport = process.env.CLAUDE_FLOW_MCP_TRANSPORT;
78
+ if (['stdio', 'http', 'websocket'].includes(transport)) {
79
+ config.mcp = {
80
+ ...defaultMcp,
81
+ transport: {
82
+ ...defaultMcp.transport,
83
+ type: transport,
84
+ },
85
+ };
86
+ }
87
+ }
88
+ if (process.env.CLAUDE_FLOW_MCP_PORT) {
89
+ config.mcp = {
90
+ ...config.mcp,
91
+ ...defaultMcp,
92
+ transport: {
93
+ ...config.mcp?.transport,
94
+ ...defaultMcp.transport,
95
+ port: parseInt(process.env.CLAUDE_FLOW_MCP_PORT, 10),
96
+ },
97
+ };
98
+ }
99
+ // Swarm topology
100
+ const defaultSwarm = defaultSystemConfig.swarm ?? { topology: 'hierarchical-mesh', maxAgents: 20 };
101
+ if (process.env.CLAUDE_FLOW_SWARM_TOPOLOGY) {
102
+ const topology = process.env.CLAUDE_FLOW_SWARM_TOPOLOGY;
103
+ if (['hierarchical', 'mesh', 'ring', 'star', 'adaptive', 'hierarchical-mesh'].includes(topology)) {
104
+ config.swarm = {
105
+ ...defaultSwarm,
106
+ topology,
107
+ };
108
+ }
109
+ }
110
+ return config;
111
+ }
112
+ /**
113
+ * Configuration loader class
114
+ */
115
+ export class ConfigLoader {
116
+ searchPaths = [];
117
+ constructor(additionalPaths) {
118
+ // Default search paths
119
+ this.searchPaths = [
120
+ process.cwd(),
121
+ resolve(process.cwd(), '..'),
122
+ resolve(process.env.HOME ?? '', '.claude-flow'),
123
+ ];
124
+ if (additionalPaths) {
125
+ this.searchPaths.push(...additionalPaths);
126
+ }
127
+ }
128
+ /**
129
+ * Load configuration from all sources
130
+ */
131
+ async load() {
132
+ const warnings = [];
133
+ // Start with defaults
134
+ let config = { ...defaultSystemConfig };
135
+ let source = 'default';
136
+ let path;
137
+ // Try to load from file
138
+ for (const searchPath of this.searchPaths) {
139
+ const configPath = await findConfigFile(searchPath);
140
+ if (configPath) {
141
+ try {
142
+ const fileConfig = await loadJsonConfig(configPath);
143
+ const validation = validateSystemConfig(fileConfig);
144
+ if (validation.success) {
145
+ config = mergeWithDefaults(validation.data, defaultSystemConfig);
146
+ source = 'file';
147
+ path = configPath;
148
+ break;
149
+ }
150
+ else {
151
+ warnings.push(`Invalid config at ${configPath}: ${validation.errors?.map(e => e.message).join(', ')}`);
152
+ }
153
+ }
154
+ catch (error) {
155
+ warnings.push(`Failed to load config from ${configPath}: ${error.message}`);
156
+ }
157
+ }
158
+ }
159
+ // Merge with environment variables
160
+ const envConfig = loadEnvConfig();
161
+ if (Object.keys(envConfig).length > 0) {
162
+ config = this.deepMerge(config, envConfig);
163
+ source = source === 'default' ? 'env' : 'merged';
164
+ }
165
+ return {
166
+ config,
167
+ source,
168
+ path,
169
+ warnings: warnings.length > 0 ? warnings : undefined,
170
+ };
171
+ }
172
+ /**
173
+ * Load configuration from specific file
174
+ */
175
+ async loadFromFile(filePath) {
176
+ const absolutePath = resolve(filePath);
177
+ const fileConfig = await loadJsonConfig(absolutePath);
178
+ const validation = validateSystemConfig(fileConfig);
179
+ if (!validation.success) {
180
+ throw new Error(`Invalid configuration: ${validation.errors?.map(e => e.message).join(', ')}`);
181
+ }
182
+ const config = mergeWithDefaults(validation.data, defaultSystemConfig);
183
+ return {
184
+ config,
185
+ source: 'file',
186
+ path: absolutePath,
187
+ };
188
+ }
189
+ /**
190
+ * Deep merge objects
191
+ */
192
+ deepMerge(target, source) {
193
+ const result = { ...target };
194
+ for (const key of Object.keys(source)) {
195
+ const sourceValue = source[key];
196
+ const targetValue = target[key];
197
+ if (sourceValue &&
198
+ typeof sourceValue === 'object' &&
199
+ !Array.isArray(sourceValue) &&
200
+ targetValue &&
201
+ typeof targetValue === 'object' &&
202
+ !Array.isArray(targetValue)) {
203
+ result[key] = this.deepMerge(targetValue, sourceValue);
204
+ }
205
+ else if (sourceValue !== undefined) {
206
+ result[key] = sourceValue;
207
+ }
208
+ }
209
+ return result;
210
+ }
211
+ }
212
+ /**
213
+ * Load configuration (convenience function)
214
+ */
215
+ export async function loadConfig(options) {
216
+ const loader = new ConfigLoader(options?.paths);
217
+ if (options?.file) {
218
+ return loader.loadFromFile(options.file);
219
+ }
220
+ return loader.load();
221
+ }
222
+ //# sourceMappingURL=loader.js.map