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,267 @@
1
+ /**
2
+ * V3 Hooks System - Type Definitions
3
+ *
4
+ * Provides extensible hook points for tool execution, file operations,
5
+ * and session lifecycle events. Integrates with event bus for coordination.
6
+ *
7
+ * @module v3/shared/hooks/types
8
+ */
9
+ /**
10
+ * Hook event types
11
+ */
12
+ export declare enum HookEvent {
13
+ PreToolUse = "hook:pre-tool-use",
14
+ PostToolUse = "hook:post-tool-use",
15
+ PreEdit = "hook:pre-edit",
16
+ PostEdit = "hook:post-edit",
17
+ PreRead = "hook:pre-read",
18
+ PostRead = "hook:post-read",
19
+ PreWrite = "hook:pre-write",
20
+ PostWrite = "hook:post-write",
21
+ PreCommand = "hook:pre-command",
22
+ PostCommand = "hook:post-command",
23
+ SessionStart = "hook:session-start",
24
+ SessionEnd = "hook:session-end",
25
+ SessionPause = "hook:session-pause",
26
+ SessionResume = "hook:session-resume",
27
+ PreAgentSpawn = "hook:pre-agent-spawn",
28
+ PostAgentSpawn = "hook:post-agent-spawn",
29
+ PreAgentTerminate = "hook:pre-agent-terminate",
30
+ PostAgentTerminate = "hook:post-agent-terminate",
31
+ PreTaskExecute = "hook:pre-task-execute",
32
+ PostTaskExecute = "hook:post-task-execute",
33
+ PreTaskComplete = "hook:pre-task-complete",
34
+ PostTaskComplete = "hook:post-task-complete",
35
+ PreMemoryStore = "hook:pre-memory-store",
36
+ PostMemoryStore = "hook:post-memory-store",
37
+ PreMemoryRetrieve = "hook:pre-memory-retrieve",
38
+ PostMemoryRetrieve = "hook:post-memory-retrieve",
39
+ OnError = "hook:on-error",
40
+ OnWarning = "hook:on-warning"
41
+ }
42
+ /**
43
+ * Hook priority levels (higher = earlier execution)
44
+ */
45
+ export declare enum HookPriority {
46
+ Critical = 1000,
47
+ High = 500,
48
+ Normal = 0,
49
+ Low = -500,
50
+ Lowest = -1000
51
+ }
52
+ /**
53
+ * Tool information for tool-related hooks
54
+ */
55
+ export interface ToolInfo {
56
+ /** Tool name (e.g., 'Read', 'Write', 'Bash') */
57
+ name: string;
58
+ /** Tool parameters */
59
+ parameters: Record<string, unknown>;
60
+ /** Estimated execution time in ms */
61
+ estimatedDuration?: number;
62
+ /** Tool category */
63
+ category?: 'file' | 'bash' | 'search' | 'edit' | 'git' | 'other';
64
+ }
65
+ /**
66
+ * Command information for command-related hooks
67
+ */
68
+ export interface CommandInfo {
69
+ /** Command string */
70
+ command: string;
71
+ /** Working directory */
72
+ cwd?: string;
73
+ /** Environment variables */
74
+ env?: Record<string, string>;
75
+ /** Command timeout in ms */
76
+ timeout?: number;
77
+ /** Whether command is destructive */
78
+ isDestructive?: boolean;
79
+ }
80
+ /**
81
+ * File operation information
82
+ */
83
+ export interface FileOperationInfo {
84
+ /** File path */
85
+ path: string;
86
+ /** Operation type */
87
+ operation: 'read' | 'write' | 'edit' | 'delete';
88
+ /** File content (for write/edit operations) */
89
+ content?: string;
90
+ /** Previous content (for edit operations) */
91
+ previousContent?: string;
92
+ /** File size in bytes */
93
+ size?: number;
94
+ }
95
+ /**
96
+ * Session information
97
+ */
98
+ export interface SessionInfo {
99
+ /** Session ID */
100
+ id: string;
101
+ /** Session start time */
102
+ startTime: Date;
103
+ /** Session end time */
104
+ endTime?: Date;
105
+ /** Session metadata */
106
+ metadata?: Record<string, unknown>;
107
+ /** User ID (if available) */
108
+ userId?: string;
109
+ }
110
+ /**
111
+ * Agent information
112
+ */
113
+ export interface AgentInfo {
114
+ /** Agent ID */
115
+ id: string;
116
+ /** Agent type/role */
117
+ type: string;
118
+ /** Agent configuration */
119
+ config?: Record<string, unknown>;
120
+ /** Parent agent ID */
121
+ parentId?: string;
122
+ }
123
+ /**
124
+ * Task information
125
+ */
126
+ export interface TaskInfo {
127
+ /** Task ID */
128
+ id: string;
129
+ /** Task description */
130
+ description: string;
131
+ /** Task priority */
132
+ priority?: number;
133
+ /** Assigned agent ID */
134
+ agentId?: string;
135
+ /** Task metadata */
136
+ metadata?: Record<string, unknown>;
137
+ }
138
+ /**
139
+ * Memory operation information
140
+ */
141
+ export interface MemoryInfo {
142
+ /** Memory key */
143
+ key: string;
144
+ /** Memory value */
145
+ value?: unknown;
146
+ /** Memory namespace */
147
+ namespace?: string;
148
+ /** TTL in seconds */
149
+ ttl?: number;
150
+ }
151
+ /**
152
+ * Error information
153
+ */
154
+ export interface ErrorInfo {
155
+ /** Error object */
156
+ error: Error;
157
+ /** Error context */
158
+ context?: string;
159
+ /** Error severity */
160
+ severity: 'warning' | 'error' | 'fatal';
161
+ /** Recoverable flag */
162
+ recoverable: boolean;
163
+ }
164
+ /**
165
+ * Hook context - contains information about the event being hooked
166
+ */
167
+ export interface HookContext {
168
+ /** Event type */
169
+ event: HookEvent;
170
+ /** Timestamp when hook was triggered */
171
+ timestamp: Date;
172
+ /** Correlation ID for tracking related events */
173
+ correlationId?: string;
174
+ /** Tool information (for tool hooks) */
175
+ tool?: ToolInfo;
176
+ /** Command information (for command hooks) */
177
+ command?: CommandInfo;
178
+ /** File operation information (for file hooks) */
179
+ file?: FileOperationInfo;
180
+ /** Session information (for session hooks) */
181
+ session?: SessionInfo;
182
+ /** Agent information (for agent hooks) */
183
+ agent?: AgentInfo;
184
+ /** Task information (for task hooks) */
185
+ task?: TaskInfo;
186
+ /** Memory information (for memory hooks) */
187
+ memory?: MemoryInfo;
188
+ /** Error information (for error hooks) */
189
+ error?: ErrorInfo;
190
+ /** Additional metadata */
191
+ metadata?: Record<string, unknown>;
192
+ }
193
+ /**
194
+ * Hook result - returned by hook handlers
195
+ */
196
+ export interface HookResult {
197
+ /** Whether the hook succeeded */
198
+ success: boolean;
199
+ /** Result data (can modify context) */
200
+ data?: Partial<HookContext>;
201
+ /** Error if hook failed */
202
+ error?: Error;
203
+ /** Whether to continue executing other hooks */
204
+ continueChain?: boolean;
205
+ /** Whether to abort the operation */
206
+ abort?: boolean;
207
+ /** Hook execution time in ms */
208
+ executionTime?: number;
209
+ /** Additional metadata */
210
+ metadata?: Record<string, unknown>;
211
+ }
212
+ /**
213
+ * Hook handler function type
214
+ */
215
+ export type HookHandler = (context: HookContext) => Promise<HookResult> | HookResult;
216
+ /**
217
+ * Hook definition with metadata
218
+ */
219
+ export interface HookDefinition {
220
+ /** Unique hook ID */
221
+ id: string;
222
+ /** Hook event type */
223
+ event: HookEvent;
224
+ /** Hook handler function */
225
+ handler: HookHandler;
226
+ /** Hook priority */
227
+ priority: HookPriority;
228
+ /** Hook name/description */
229
+ name?: string;
230
+ /** Whether hook is enabled */
231
+ enabled: boolean;
232
+ /** Hook timeout in ms */
233
+ timeout?: number;
234
+ /** Hook metadata */
235
+ metadata?: Record<string, unknown>;
236
+ }
237
+ /**
238
+ * Hook statistics
239
+ */
240
+ export interface HookStats {
241
+ /** Total hooks registered */
242
+ totalHooks: number;
243
+ /** Hooks by event type */
244
+ byEvent: Record<HookEvent, number>;
245
+ /** Total executions */
246
+ totalExecutions: number;
247
+ /** Total failures */
248
+ totalFailures: number;
249
+ /** Average execution time in ms */
250
+ avgExecutionTime: number;
251
+ /** Total execution time in ms */
252
+ totalExecutionTime: number;
253
+ }
254
+ /**
255
+ * Hook execution options
256
+ */
257
+ export interface HookExecutionOptions {
258
+ /** Timeout in ms (overrides hook-specific timeout) */
259
+ timeout?: number;
260
+ /** Whether to continue on error */
261
+ continueOnError?: boolean;
262
+ /** Maximum parallel executions */
263
+ maxParallel?: number;
264
+ /** Whether to collect results from all hooks */
265
+ collectResults?: boolean;
266
+ }
267
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,62 @@
1
+ /**
2
+ * V3 Hooks System - Type Definitions
3
+ *
4
+ * Provides extensible hook points for tool execution, file operations,
5
+ * and session lifecycle events. Integrates with event bus for coordination.
6
+ *
7
+ * @module v3/shared/hooks/types
8
+ */
9
+ /**
10
+ * Hook event types
11
+ */
12
+ export var HookEvent;
13
+ (function (HookEvent) {
14
+ // Tool execution hooks
15
+ HookEvent["PreToolUse"] = "hook:pre-tool-use";
16
+ HookEvent["PostToolUse"] = "hook:post-tool-use";
17
+ // File operation hooks
18
+ HookEvent["PreEdit"] = "hook:pre-edit";
19
+ HookEvent["PostEdit"] = "hook:post-edit";
20
+ HookEvent["PreRead"] = "hook:pre-read";
21
+ HookEvent["PostRead"] = "hook:post-read";
22
+ HookEvent["PreWrite"] = "hook:pre-write";
23
+ HookEvent["PostWrite"] = "hook:post-write";
24
+ // Command execution hooks
25
+ HookEvent["PreCommand"] = "hook:pre-command";
26
+ HookEvent["PostCommand"] = "hook:post-command";
27
+ // Session lifecycle hooks
28
+ HookEvent["SessionStart"] = "hook:session-start";
29
+ HookEvent["SessionEnd"] = "hook:session-end";
30
+ HookEvent["SessionPause"] = "hook:session-pause";
31
+ HookEvent["SessionResume"] = "hook:session-resume";
32
+ // Agent lifecycle hooks
33
+ HookEvent["PreAgentSpawn"] = "hook:pre-agent-spawn";
34
+ HookEvent["PostAgentSpawn"] = "hook:post-agent-spawn";
35
+ HookEvent["PreAgentTerminate"] = "hook:pre-agent-terminate";
36
+ HookEvent["PostAgentTerminate"] = "hook:post-agent-terminate";
37
+ // Task lifecycle hooks
38
+ HookEvent["PreTaskExecute"] = "hook:pre-task-execute";
39
+ HookEvent["PostTaskExecute"] = "hook:post-task-execute";
40
+ HookEvent["PreTaskComplete"] = "hook:pre-task-complete";
41
+ HookEvent["PostTaskComplete"] = "hook:post-task-complete";
42
+ // Memory hooks
43
+ HookEvent["PreMemoryStore"] = "hook:pre-memory-store";
44
+ HookEvent["PostMemoryStore"] = "hook:post-memory-store";
45
+ HookEvent["PreMemoryRetrieve"] = "hook:pre-memory-retrieve";
46
+ HookEvent["PostMemoryRetrieve"] = "hook:post-memory-retrieve";
47
+ // Error hooks
48
+ HookEvent["OnError"] = "hook:on-error";
49
+ HookEvent["OnWarning"] = "hook:on-warning";
50
+ })(HookEvent || (HookEvent = {}));
51
+ /**
52
+ * Hook priority levels (higher = earlier execution)
53
+ */
54
+ export var HookPriority;
55
+ (function (HookPriority) {
56
+ HookPriority[HookPriority["Critical"] = 1000] = "Critical";
57
+ HookPriority[HookPriority["High"] = 500] = "High";
58
+ HookPriority[HookPriority["Normal"] = 0] = "Normal";
59
+ HookPriority[HookPriority["Low"] = -500] = "Low";
60
+ HookPriority[HookPriority["Lowest"] = -1000] = "Lowest";
61
+ })(HookPriority || (HookPriority = {}));
62
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * V3 Hooks System - Export Verification
3
+ *
4
+ * Verifies that all exports are accessible through the public API.
5
+ *
6
+ * @module v3/shared/hooks/verify-exports.test
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=verify-exports.test.d.ts.map
@@ -0,0 +1,93 @@
1
+ /**
2
+ * V3 Hooks System - Export Verification
3
+ *
4
+ * Verifies that all exports are accessible through the public API.
5
+ *
6
+ * @module v3/shared/hooks/verify-exports.test
7
+ */
8
+ import { describe, it, expect } from 'vitest';
9
+ describe('Hooks Module Exports', () => {
10
+ it('should export all types from main module', async () => {
11
+ const module = await import('./index.js');
12
+ // Enums
13
+ expect(module.HookEvent).toBeDefined();
14
+ expect(module.HookPriority).toBeDefined();
15
+ // Classes
16
+ expect(module.HookRegistry).toBeDefined();
17
+ expect(module.HookExecutor).toBeDefined();
18
+ // Factory functions
19
+ expect(module.createHookRegistry).toBeDefined();
20
+ expect(module.createHookExecutor).toBeDefined();
21
+ });
22
+ it('should export types (type-only imports)', () => {
23
+ expect(true).toBe(true);
24
+ });
25
+ it('should create instances from exported factories', async () => {
26
+ const { createHookRegistry, createHookExecutor } = await import('./index.js');
27
+ const registry = createHookRegistry();
28
+ expect(registry).toBeDefined();
29
+ expect(typeof registry.register).toBe('function');
30
+ expect(typeof registry.unregister).toBe('function');
31
+ const executor = createHookExecutor(registry);
32
+ expect(executor).toBeDefined();
33
+ expect(typeof executor.execute).toBe('function');
34
+ });
35
+ it('should have all 26 hook events defined', async () => {
36
+ const { HookEvent } = await import('./index.js');
37
+ const expectedEvents = [
38
+ 'PreToolUse',
39
+ 'PostToolUse',
40
+ 'PreEdit',
41
+ 'PostEdit',
42
+ 'PreRead',
43
+ 'PostRead',
44
+ 'PreWrite',
45
+ 'PostWrite',
46
+ 'PreCommand',
47
+ 'PostCommand',
48
+ 'SessionStart',
49
+ 'SessionEnd',
50
+ 'SessionPause',
51
+ 'SessionResume',
52
+ 'PreAgentSpawn',
53
+ 'PostAgentSpawn',
54
+ 'PreAgentTerminate',
55
+ 'PostAgentTerminate',
56
+ 'PreTaskExecute',
57
+ 'PostTaskExecute',
58
+ 'PreTaskComplete',
59
+ 'PostTaskComplete',
60
+ 'PreMemoryStore',
61
+ 'PostMemoryStore',
62
+ 'PreMemoryRetrieve',
63
+ 'PostMemoryRetrieve',
64
+ 'OnError',
65
+ 'OnWarning',
66
+ ];
67
+ for (const event of expectedEvents) {
68
+ expect(HookEvent[event]).toBeDefined();
69
+ }
70
+ });
71
+ it('should have all 5 priority levels defined', async () => {
72
+ const { HookPriority } = await import('./index.js');
73
+ expect(HookPriority.Critical).toBe(1000);
74
+ expect(HookPriority.High).toBe(500);
75
+ expect(HookPriority.Normal).toBe(0);
76
+ expect(HookPriority.Low).toBe(-500);
77
+ expect(HookPriority.Lowest).toBe(-1000);
78
+ });
79
+ });
80
+ describe('Hooks Integration with Shared Module', () => {
81
+ it('should be importable from @claude-flow/shared', async () => {
82
+ // This would be the actual import path in production
83
+ const module = await import('../index.js');
84
+ // Verify hooks are exported from main shared module
85
+ expect(module.HookEvent).toBeDefined();
86
+ expect(module.HookPriority).toBeDefined();
87
+ expect(module.HookRegistry).toBeDefined();
88
+ expect(module.HookExecutor).toBeDefined();
89
+ expect(module.createHookRegistry).toBeDefined();
90
+ expect(module.createHookExecutor).toBeDefined();
91
+ });
92
+ });
93
+ //# sourceMappingURL=verify-exports.test.js.map
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @claude-flow/shared - Shared Module
3
+ * Common types, events, utilities, and core interfaces for V3 Claude-Flow
4
+ *
5
+ * Based on ADR-002 (DDD) and ADR-006 (Unified Memory Service)
6
+ */
7
+ export * from './types.js';
8
+ export { EventBus } from './events.js';
9
+ export type { IEventBus, EventFilter } from './events.js';
10
+ export type { DomainEvent, AllDomainEvents, AgentSpawnedEvent, AgentStartedEvent, AgentStoppedEvent, AgentFailedEvent, AgentStatusChangedEvent, AgentTaskAssignedEvent, AgentTaskCompletedEvent, TaskCreatedEvent, TaskStartedEvent, TaskCompletedEvent, TaskFailedEvent, TaskBlockedEvent, TaskQueuedEvent, MemoryStoredEvent, MemoryRetrievedEvent, MemoryDeletedEvent, MemoryExpiredEvent, SwarmInitializedEvent, SwarmScaledEvent, SwarmTerminatedEvent, SwarmPhaseChangedEvent, SwarmMilestoneReachedEvent, SwarmErrorEvent, EventStoreConfig, EventSnapshot, EventStoreStats, AgentProjectionState, TaskProjectionState, MemoryProjectionState, AggregateRoot, ReconstructorOptions, } from './events/index.js';
11
+ export { createAgentSpawnedEvent, createAgentStartedEvent, createAgentStoppedEvent, createAgentFailedEvent, createTaskCreatedEvent, createTaskStartedEvent, createTaskCompletedEvent, createTaskFailedEvent, createMemoryStoredEvent, createMemoryRetrievedEvent, createMemoryDeletedEvent, createSwarmInitializedEvent, createSwarmScaledEvent, createSwarmTerminatedEvent, EventStore, Projection, AgentStateProjection, TaskHistoryProjection, MemoryIndexProjection, StateReconstructor, createStateReconstructor, AgentAggregate, TaskAggregate, } from './events/index.js';
12
+ export * from './plugin-loader.js';
13
+ export * from './plugin-registry.js';
14
+ export { createEventBus, createOrchestrator, TaskManager, SessionManager, HealthMonitor, LifecycleManager, EventCoordinator, ConfigLoader, loadConfig, ConfigValidator, validateAgentConfig, validateTaskConfig, validateSwarmConfig, validateMemoryConfig, validateMCPServerConfig, validateOrchestratorConfig, validateSystemConfig, defaultAgentConfig, defaultTaskConfig, defaultSwarmConfigCore, defaultMemoryConfig, defaultMCPServerConfig, defaultOrchestratorConfig, defaultSystemConfig, agentTypePresets, mergeWithDefaults, } from './core/index.js';
15
+ export type { LoadedConfig, ConfigSource, ValidationResult, ValidationError, OrchestratorFacadeConfig, OrchestratorComponents, SessionManagerConfig, HealthMonitorConfig, LifecycleManagerConfig, AgentConfig, TaskConfig, SwarmConfig as SwarmConfigSchema, MemoryConfig, MCPServerConfig, OrchestratorConfig, SystemConfig, AgentConfigInput, TaskConfigInput, SwarmConfigInput, MemoryConfigInput, MCPServerConfigInput, OrchestratorConfigInput, SystemConfigInput, ITask, ITaskCreate, ITaskResult, IAgent, IAgentConfig, IEventBus as ICoreEventBus, IMemoryBackend as ICoreMemoryBackend, ISwarmConfig, ISwarmState, ICoordinator, ICoordinationManager, IHealthStatus, IComponentHealth, IHealthMonitor, IMetricsCollector, IOrchestratorMetrics, IOrchestrator, SwarmTopology, CoordinationStatus, } from './core/index.js';
16
+ export * from './hooks/index.js';
17
+ export * from './security/index.js';
18
+ export * from './resilience/index.js';
19
+ export * from './services/index.js';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @claude-flow/shared - Shared Module
3
+ * Common types, events, utilities, and core interfaces for V3 Claude-Flow
4
+ *
5
+ * Based on ADR-002 (DDD) and ADR-006 (Unified Memory Service)
6
+ */
7
+ // =============================================================================
8
+ // Types - Primary type definitions (from ./types.js)
9
+ // =============================================================================
10
+ export * from './types.js';
11
+ // =============================================================================
12
+ // Events - Event bus and basic event interfaces (from ./events.js)
13
+ // =============================================================================
14
+ export { EventBus } from './events.js';
15
+ export { createAgentSpawnedEvent, createAgentStartedEvent, createAgentStoppedEvent, createAgentFailedEvent, createTaskCreatedEvent, createTaskStartedEvent, createTaskCompletedEvent, createTaskFailedEvent, createMemoryStoredEvent, createMemoryRetrievedEvent, createMemoryDeletedEvent, createSwarmInitializedEvent, createSwarmScaledEvent, createSwarmTerminatedEvent, EventStore, Projection, AgentStateProjection, TaskHistoryProjection, MemoryIndexProjection, StateReconstructor, createStateReconstructor, AgentAggregate, TaskAggregate, } from './events/index.js';
16
+ // =============================================================================
17
+ // Plugin System - ADR-004
18
+ // =============================================================================
19
+ export * from './plugin-loader.js';
20
+ export * from './plugin-registry.js';
21
+ // =============================================================================
22
+ // Core - DDD interfaces, config, orchestrator
23
+ // Note: Only export non-overlapping items from core to avoid duplicates with types.js
24
+ // =============================================================================
25
+ export {
26
+ // Event Bus
27
+ createEventBus,
28
+ // Orchestrator
29
+ createOrchestrator, TaskManager, SessionManager, HealthMonitor, LifecycleManager, EventCoordinator,
30
+ // Config validation/loading
31
+ ConfigLoader, loadConfig, ConfigValidator, validateAgentConfig, validateTaskConfig, validateSwarmConfig, validateMemoryConfig, validateMCPServerConfig, validateOrchestratorConfig, validateSystemConfig,
32
+ // Defaults
33
+ defaultAgentConfig, defaultTaskConfig, defaultSwarmConfigCore, defaultMemoryConfig, defaultMCPServerConfig, defaultOrchestratorConfig, defaultSystemConfig, agentTypePresets, mergeWithDefaults, } from './core/index.js';
34
+ // =============================================================================
35
+ // Hooks System
36
+ // =============================================================================
37
+ export * from './hooks/index.js';
38
+ // =============================================================================
39
+ // Security Utilities
40
+ // =============================================================================
41
+ export * from './security/index.js';
42
+ // =============================================================================
43
+ // Resilience Patterns
44
+ // =============================================================================
45
+ export * from './resilience/index.js';
46
+ // =============================================================================
47
+ // Services
48
+ // =============================================================================
49
+ export * from './services/index.js';
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,98 @@
1
+ /**
2
+ * V3 MCP Connection Pool Manager
3
+ *
4
+ * High-performance connection pooling for MCP server:
5
+ * - Reusable connections to reduce overhead
6
+ * - Max connections: 10 (configurable)
7
+ * - Idle timeout handling with automatic eviction
8
+ * - Connection health monitoring
9
+ * - Graceful shutdown support
10
+ *
11
+ * Performance Targets:
12
+ * - Connection acquire: <5ms
13
+ * - Connection release: <1ms
14
+ */
15
+ import { EventEmitter } from 'events';
16
+ import { PooledConnection, ConnectionPoolStats, ConnectionPoolConfig, IConnectionPool, ILogger, TransportType } from './types.js';
17
+ /**
18
+ * Connection Pool Manager
19
+ *
20
+ * Manages a pool of reusable connections for optimal performance
21
+ */
22
+ export declare class ConnectionPool extends EventEmitter implements IConnectionPool {
23
+ private readonly logger;
24
+ private readonly transportType;
25
+ private readonly config;
26
+ private readonly connections;
27
+ private readonly waitingClients;
28
+ private evictionTimer?;
29
+ private connectionCounter;
30
+ private isShuttingDown;
31
+ private stats;
32
+ constructor(config: Partial<ConnectionPoolConfig> | undefined, logger: ILogger, transportType?: TransportType);
33
+ /**
34
+ * Initialize minimum number of connections
35
+ */
36
+ private initializeMinConnections;
37
+ /**
38
+ * Create a new connection
39
+ */
40
+ private createConnection;
41
+ /**
42
+ * Acquire a connection from the pool
43
+ */
44
+ acquire(): Promise<PooledConnection>;
45
+ /**
46
+ * Wait for a connection to become available
47
+ */
48
+ private waitForConnection;
49
+ /**
50
+ * Release a connection back to the pool
51
+ */
52
+ release(connection: PooledConnection): void;
53
+ /**
54
+ * Destroy a connection (remove from pool)
55
+ */
56
+ destroy(connection: PooledConnection): void;
57
+ /**
58
+ * Get pool statistics
59
+ */
60
+ getStats(): ConnectionPoolStats;
61
+ /**
62
+ * Drain the pool (wait for all connections to be released)
63
+ */
64
+ drain(): Promise<void>;
65
+ /**
66
+ * Clear all connections from the pool
67
+ */
68
+ clear(): Promise<void>;
69
+ /**
70
+ * Start the eviction timer
71
+ */
72
+ private startEvictionTimer;
73
+ /**
74
+ * Stop the eviction timer
75
+ */
76
+ private stopEvictionTimer;
77
+ /**
78
+ * Evict idle connections that have exceeded the timeout
79
+ */
80
+ private evictIdleConnections;
81
+ /**
82
+ * Record acquire time for statistics
83
+ */
84
+ private recordAcquireTime;
85
+ /**
86
+ * Get all connections (for debugging/monitoring)
87
+ */
88
+ getConnections(): PooledConnection[];
89
+ /**
90
+ * Check if pool is healthy
91
+ */
92
+ isHealthy(): boolean;
93
+ }
94
+ /**
95
+ * Create a connection pool with default settings
96
+ */
97
+ export declare function createConnectionPool(config: Partial<ConnectionPoolConfig> | undefined, logger: ILogger, transportType?: TransportType): ConnectionPool;
98
+ //# sourceMappingURL=connection-pool.d.ts.map